电气测控系统的改进――软PLC
(4)交叉开发调试算法研究
非嵌入式通常采用本机开发、本机调试、本机运行的开发方式;而嵌入式开发需要交叉开发,绝大多数采用宿主机开发、宿主机和目标机之间交叉调试、目标机运行的方式开发。
交叉开发调试算法:
在宿主机平台上编写程序代码;
固化监控器至目标机上;
连接宿主机和目标机;
编译链接应用程序,生成可执行代码;
将可执行代码下载到目标机;
使用交叉调试器进行调试;
如果程序调试没有发现异常,转至11);
调试程序时发生错误,利用交叉调试器定位错误;
修改错误代码;
重复4)-10);
将目标机程序固化在目标机上。
以测试继电器TV5实验为例。其要求如下:每次测试5个继电器,每个继电器的动作频率是5s开,5s关。根据要求,试验最好的结果是每个继电器用6个TV负载,即每个TV负载是5s开,55s管。输入点有:开关,检出,复位M个,停止次数设定量N次,动作频率设定L个,常开/触点转换。其中,M=测试产品个数,N、L个数由实际需要确定。其算法如下:
设定一个循环周期,使累积误差最小;
在循环周期内设计动作时间和动作频率,以及动作次数;
设计相关联动、互锁、紧急停车和复位等功能;
执行动作与反馈根据产品相关标准进行比较,判定结果和设定中断程序。
采用模块化程序设计编程,各模块均由主程序调用,且为了程序不出误动作,还要考虑电流谐波和冲击对高电源的要求。用了算法优化设计,5个继电器每隔2s一个动作,5个刚好10s。其中一个动作频率程序如下:
与之对应的动作如下:
评论