新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 电气测控系统的改进——软PLC

电气测控系统的改进——软PLC

作者: 时间:2012-07-17 来源:网络 收藏

  图2 运行系统的结构组成
  运行系统可在多种支持平台上运行,它通过将数据区和代码区分离,实现程序的动态更新和代码的高效率动态下载。
  (1)在μClinux平台上实现软虚拟机实现步骤
  将梯形图的指令翻译成宏汇编并建立一个宏库;
  把用户编写的梯形图程序编译成中间代码形式的PLM文件;
  将PLM文件转变为汇编程序;
  用汇编器汇编变成功的汇编程序,将解释执行内部指令(PLM文件)转换为程序,汇编成机器码执行,实现指令机器码执行方案,大大地提高了执行速度控制工程网版权所有,同时大大节约了内存空间;
  将指令对应的机器码移植到嵌入式操作系统中执行。
  (2)运行系统的两大模块
  运行系统主要由两大模块组成:1)梯形图到机器码程序的转换;2)执行机器码文件。每个模块的功能如下:
  1)梯形图到机器码程序的转换。首先把用户编写的梯形图程序编译成中间代码形式的PLM文件,然后将PLM文件转变为汇编程序,最后用汇编器汇编转变成功的汇编程序CONTROL ENGINEERING China版权所有,产生机器码从而生成可执行的PLE文件。
  2)执行机器码文件。将PLE文件嵌入配置好的执行环境中并执行,通过工控机的面版指示灯监测程序的正确性。
  (3)虚拟机总体设计
  根据虚拟机的原理和执行机制,对虚拟机的机器码执行方案进行了总体设计,如图3所示。PLC文件是梯形图程序的保存文件,通过对PLC文件进行词法分析、语法分析和语义分析编译产生PLM文件,然后调用宏汇编库,并进行一系列的转换生成机器码,产生PLE文件;最后创建机器运行环境来执行机器码,宏汇编库中是每个梯形图指令对应的宏汇编段。

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

  与之对应的动作如下:



评论


相关推荐

技术专区

关闭