论文部分内容阅读
随着现代工业控制技术的不断发展,可编程逻辑控制器(Programmable LogicController,以下简称PLC)应用的日益广泛,市场对于PLC的要求也越来越高,尤其在连续过程控制能力和系统网络开放性等方面有了进一步的要求,这就需要有一个功能更加齐全的开放性PLC编程工具与之相匹配。本课题正是顺应了这种发展趋势,针对基于ARM-FPGA的新型PLC系统的并行逻辑运算和流水线执行指令的机制设计了一款与之相配套的编程软件,用以实现用户程序的编辑以及与新型PLC硬件系统进行通信。在设计的过程中针对以往编译算法的不足提出了一种新的深度优先递归扫描算法,使得其在空间性和时间性上都有所优化,从而提高了PLC程序的编译速度,优化了编程软件的性能。在系统的开发过程中,首先按照软件工程的设计思想对新型PLC编程软件开发平台进行了需求分析和系统结构设计,得出编程软件相应的功能需求,然后在此基础上利用面向对象和模块化的设计方法,把新型PLC编程软件分化成程序编辑模块、程序编译模块和CAN通信模块等。在对编程软件进行模块化之后,分别实现了每个模块的功能作用。在程序编辑模块中,根据梯形图的特点并基于面向对象的设计思想建立梯形图的类层次结构以及元件库模型对象,派生出各类指令的图符来实现以图形输入的方式绘制梯形图。在程序编译模块中,为了实现梯形图到指令表的转换,首先通过对梯形图结构特点的分析,使用深度优先的递归扫描算法来实现逻辑树结构的构造,之后使用递归遍历算法遍历逻辑树,得到相应的指令表程序。然后基于新型PLC系统的指令编码规则将指令表程序转换为可以在PLC硬件中运行的通信代码。在CAN通信模块中,基于CAN的总线技术实现了编程软件和PLC硬件平台的通信,先自定义CAN通信协议,然后按照一定的协议格式将上位机最终生成的目标代码传递到下位机以实现控制功能。通过联机调试实验,结果表明该新型PLC编程软件平台能够正确的实现用户程序和通信代码进行相互转换,验证了本编程软件的正确可行性。最后对全文工作进行了总结,并针对后续研究工作进行了展望。希望本课题的研究能够对国内PLC编程软件乃至PLC系统的发展起到一些促进作用。