李驰骎 王庭有 李应春 杨安园

关键词:可编程控制器;梯形图;QT;存储结构;图元管理

DOI:10. 11907/rjdk. 181943

中图分类 :TP319文献标识码:A文章编 :1672-7800(2019)002-0072-04

Abstract: In order to explore the design method of PLC ladder diagram (LAD) editor system, we start with the overall requirements of LAD editor system, analyze the shortcomings of the traditional LAD network, and use a high-degree-of-freedom network topology to describe LAD network. According to the network topology, a distributed storage scheme is proposed to implement the storage of connection relationships between LAD primitives. The object-oriented software method based on the QT graphics framework is used to realize the functions of creating ladder diagram standard primitives, establishing connection relationships and deleting primitives. After completing the design of the ladder diagram editing system, we tested the management of graphic elements and various instructions. No problems were found during the process. The results shows that the method of designing the ladder diagram editing system proposed in this paper is feasible.

Key Words: programmable logic controller; ladder diagram; QT; storage scheme; primitive management

0 引言

国外PLC发展相当成熟,PLC编程软件技术研究较多:Milik A[4]提出了一种多线程执行技术,利用数据流图识别程序的并行性,完成编程语言的编译;Prahofer等[5]采用程序上的模式匹配、控制流、数据流等分析方法,开发静态代码分析工具;Deveza等[6]将指令表作为Matlab/Simulink翻译软件包的输入,实现PLC在Matlab中的仿真;Kim H S等[7]采用二叉逻辑树方法实现梯形图程序的解释;Moonga等[8-10]通过将梯形图映射为AOV图的方法,把梯形图转换为AOV图,且使用双堆栈深度优先搜索算法(TSDFS)实现梯形图到指令表的转换;Asensio等[11]提出了基于IEC61131-3标准和PLCOpen TC6架构的完整工业自动化程序开发环境。

国内PLC编程软件研究主要有:李慧亮等[12]使用FLEC、BISON对指令表进行词法分析和语法分析,进一步完成了中间代码结构设计、目标代码生成器设计,但文中的中间代码结构和目标代码生成器考虑过少,不具备通用性;韩江等[13]将梯形图映射为AOV图,建立梯形图到以邻接矩阵方式存储的AOV图的映射,但由于梯形图串并联关系的复杂性,使用该算法会导致转换不稳定;吴盼盼等[14]采用XML文件描述梯形图图元及其连接方式的存储结构,以类C的脚本语言作为中间语言实现梯形图到指令表的转换,但存储方式和转换方式稍显复杂,支持的指令不多;黄健[15]基于MFC实现图元的数据结构设计,用分层方法存储图元位置关系;杨观赐等[16]提出了以链表与双向二维链表结合的梯形图 络存储结构。

1 系统总体设计

1.1 系统功能

1.2 梯形图 络拓扑结构设计

1.3 程序结构设计

2 图元数据结构设计

2.1 图元存储结构设计

根据 络拓扑结构提出一种分布式图元存储结构,该存储结构设计如下:①每个图元存储每个输入/输出点对应的连接线集合;②连接线存储起点图元及终点图元。

由于梯形图图元管理系统由Qt图形/视图框架中的场景类QGraphicsScene提供,所以这种分布式存储结构仅仅需要存储图元之间的连接关系,并不需要考虑图元本身的存储,从而降低了存储结构的复杂度,图4为该存储结构的方法示例。

2.2 图元类设计

3 图元管理

3.1 图元创建

3.2 图元连接关系建立

创建连接关系的实质是确定图元之间的存储关系。起始连接、结束连接信 都是从图元中输入(输出)连接捕捉点发出的,为了区分这两个信 ,设计一个公有的bool变量flag作为标记:当flag的值为false时,发射开始连接信 ;当flag的值为true时,发射结束连接信 。此外为保证正确的位置绘制连接线起点、终点且实现连接线起始图元的正确存储,在请求连接/结束时需要传递“请求连接位置”及“请求连接捕捉点类型”。

3.4 图元删除

4 软件测试

5 结语

参考文献:

[1] 欧阳三泰,周琴,欧阳希. 软PLC控制技术综述[J]. 电气传动,2005(9):52-54.

[2] GREGOR K,GIOVANNI G,STANKO S. A new approach to PLC software design[J]. ISA Transactions,2003,42(2):167-171.

[3] 赵雨生,高美凤. 一种梯形图编程系统的研究与实现方法[J]. 工业控制计算机,2008(6):34-35.

[4] MILIK A. Multiple-core PLC CPU implementation and programming[J]. Journal of Circuits, Systems and Computers,2018,27(10): 162-185.

[5] PRAHOFER H, ANGERER F, RAMLER R, et al. Static code analysis of iec 61131-3 programs: comprehensive tool support and experiences from large-scale industrial application[J]. IEEE Transactions on Industrial Informatics, 2017, 13(1): 37-47.

[6] DEVEZA T, MARTINS J F. PLC control and Matlab/Simulink simulations: a translation approach[C]. Mallorca, Spain: Emerging Technologies & Factory Automation, 2009.

[7] KIM H S, KWON W H, CHANG N. A translation method for ladder diagram with application to a manufacturing process[C]. Detroit, MI, USA: International Conference on Robotics and Automation, 1999.

[8] MOONGA K H, LINRU Y, SHAOJUN L. Algorithm for compiling unrestricted ladder diagram to IEC 61131-3 compliant instruction list[J]. Lecture Notes in Engineering and Computer Science, 2011, 2191(1): 949-954.

[9] FEN G,NING W. A transformation algorithm of ladder diagram into instruction list based on AOV digraph and binary tree[C]. Hong Kong: IEEE Region 10 Conference, 2006.

[10] YAN Y, ZHANG H. Compiling ladder diagram into instruction list to comply with IEC 61131-3[J]. Computers in Industry, 2010,61(5): 448-462.

[11] ASENSIO J, ORTUF, DAMAS M, et al. Industrial automation programming environment with a new translation algorithm among IEC 61131-3 languages based on the TC6-XML scheme[J]. International Journal of Automation and Control Engineering, 2013(2): 47-55.

[12] 李慧亮. 基于IEC61131-3標准的IL语言编译器的设计与实现[D]. 西安:西安电子科技大学,2014.

[13] 韩江,段少磊,夏链,等. PLC梯形图向指令表转化的算法研究与实现[J]. 组合机床与自动化加工技术,2013(11):61-63

[14] 吴盼盼. 梯形图与脚本语言互换方法的研究[D]. 杭州:杭州电子科技大学,2013.

[15] 黄健. 基于ARM与FPGA的PLC及其梯形图编程系统设计[D]. 广州:华南理工大学,2016.

[16] 杨观赐,陈占杰,李少波,等. 面向智能控制的软PLC中梯形图的动态解析方法[J]. 贵州大学学 :自然科学版,2016,33(6):43-47.

[17] 韩兵兵. PLC梯形图编程系统研究与实现[D].广州: 华南理工大学,2013.

[18] 吴玉香,郭建勋,周建香. 嵌入式软PLC编程系统的设计[J]. 控制工程,2010,17(3):363-366.

[20] 徐德刚,黄江波,刘育峰,等. 基于能流的梯形图到指令表转换方法研究[J]. 控制工程,2017,24(2):243-249.

[21] BLANCHETTE J, SUMMERFIELD M. C++GUIQt4编程[M]. 第2版. 北京:电子工业出版 ,2008.

[22] 苏淑芝. 软PLC梯形图编程系统的研究与实现[D]. 广州:华南理工大学,2012.

[23] SUMMERFIELD M. Qt高级编程[M]. 北京:电子工业出版 ,2011.

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月16日
下一篇 2020年11月16日

相关推荐