时间:2024-09-03
苏两河
●(福建电力职业技术学院,福建泉州 362000)
软PLC控制系统研究与实现
苏两河
●(福建电力职业技术学院,福建泉州 362000)
随着近年来计算机技术的发展以及IEC6113-3标准的制定,软PLC的技术得到了长足发展。较之传统的硬PLC而言,软PLC控制系统具有强大的数据处理能力、网络通信能力、开放的体系结构等优势,可满足当下工业自动化领域中控制系统柔性及开放性的要求。本文从软PLC的总体设计入手,论述了系统结构与软件实施方案及软件的实现。
软PLC;控制系统;研究;实现
PLC作为继电器与计算机的结合产物,具有维护方便、稳定可靠和功能齐全的优势。软PLC技术就是在PC的硬件支撑下借助于软件实现PLC的基本功能。这样的系统能在具有PLC功能的同时兼具更强的网络通讯、数据处理等能力。
软PLC系统的体系结构可以简单地划分为两部分:运行系统与编程系统。其中编程系统主要是在 Windows环境下开展编程,得到的软件程序安装在普通的PC机上。编程系统是一个与运行系统相互独立的两个系统,主要完成PLC的编程、编译以及仿真功能。最终编程系统可产生一份满足控制要求的目标代码,这些代码在运行系统启动后就会自动加载并对其进行解释执行,从而实现输入或者输出的工作任务,以此实现控制功能[1]。
编程软件系统在运行中主要完成以下几项功能:
1)首先是仿真及编程功能,仿真功能主要指模拟脱机运行功能、模拟开关控制;编程功能主要包括程序的录入、修改以及语法检查、文件存取。
2)进行PLC用户程序检测,包括逻辑关系、语法以及原件使用的正确性。
3)操作方式多样化,编程软件具有工具栏及菜单两种操作方式,同时具有直观的输入及输出方式,这方便了用户进行梯形图程序的编辑。
4)此系统可进行PLC内部编程原件以及PLC指令解释器的仿真。
5)编程软件系统与Windows界面一致,可实现中英文随机帮助以及进行程序注释。
6)除此之外编程软件还具有顺序控制、数据控制、逻辑控制以及定时计数功能等,从而丰富了该程序的开发使用。
软PLC系统再设计时采用模块化思想,为此可根据需求分析进行模块化设计。软PLC系统软件的主要模块有:支持模块、输入模块、主模块以及通信模块与仿真模块。这些模块是为了满足不同的需求,功能各不相同。其中主模块主要负责进行参数初始化设置,同时也涉及到其余模块的调用控制的协调性、程序的保存、打开及显示等。支持模块的功能较为单一,主要是负责对象、类及结构的定义;仿真模块顾名思义就是实现对寄存器、相关I/O变量以及PLC继电器的模拟,从而可以直观的描述各个继电器之间的关系以及对通断状态的监控;输入模块主要是通过具体的指令实现对象的调用、数据成员的修改及赋值等相关操作;通信模块在主要是实现运行系统与编辑系统的之间的信息沟通,将经过脱机调试以及编译的相关代码文件存储在系统中。
软件实施使用的开发工具为Visual C++6.0,可实现对于梯形图模型的抽象,同时按照面向对象的方法进行数据结构搭建;双向链表作为有力的工具,被用于梯形图的编辑环节,实现数据结构的初步描述,同时对原有梯形图附带的信息完整保存;进行过一次抽象的梯形图在算法部分会进行一次抽象,主要是从有向图的角度研发算法的实现。最后的环节是对语句语言进行编译,根据形式的特殊性选用逆波兰式中间代码实现转换操作[2]。
梯形图的编辑是一个动态存储过程,在整个编辑过程中行数、每行的元素数以及类别都没有确定,而是用双向链这种动态的数据结构就无疑的方便了梯形图的表达。
梯形图可简单地看作是符号化的表达形式,也可视为一种由连接符号以及图符共同构成的有向图,梯形图在计算机中主要由位图实现。构造梯形图的过程中可以将梯形图中的连接符视为有向图的弧,而视图符为有向图的顶点,然后寻找它们之间的联系并最终搭建出完善的AOV网络。这里值得指出的是在AOV网中要通过相关的计算对每个顶点的优先关系进行排序,排序的算法为[3]:首先选择没有前趋的顶点并将其输出,然后在图中将找到的符合条件的顶点及与之相连的弧删除。重复上面两步操作直到剩下顶点中再也找不出没有前驱的顶点为止,此时认为所有的顶点均输出。在AOV网中的每个实顶点对应一个执行语句,但是由于块与块现象的存在会影响转换算法的实现。为此要在梯形图向语句表转换的过程中根据各个顶点的出度及入度的不同而使用不同的转换算法,以避免转换操作受到影响。
通过使用软PLC控制系统,梯形图转换为了语句表形式,而这一形式可方便地实现向“逆波兰”的转换,其原因在于语句表的顺序与逆波兰的后缀表达式一致[4]。为此实际操作中使用逆波兰作为中间代码,同时为得到符合规范的表达式文件还要对中间代码进行计算。最后,可执行的 C程序代码再经逻辑表达文件的优化以及解释后就可以得到。
这里要构建电梯控制系统:原有的系统是一个64点的PLC,电梯为5层。现在使用软PLC代替原油的控制核心,I/O板使用PCL-720,具有32点输入与输出的开关量。首先设计控制梯形图,在编译后生成目标C代码,然后将目标代码嵌入中断服务模块,最后由Input与Out负责实现I/O板卡的读写操作。
较之传统的PLC,软PLC具有开放式构架,实现了系统硬件与软件开发的分离,从而解除了设备对软件的制约。由于软PLC满足了控制系统柔性及开放性的需求,方便了从业自动化的开展,并将通信、控制融为一身,为此得到了广泛的认可,并具有极大的发展、应用空间。
[1]启槟, 周晓旭, 杨小帆, 等. 基于骑士巡游的图像像素置乱算法[C]//中国科学院自动化与信息技术学术年会文集, 北京: 2003.
[2]陆卫忠, 刘文亮. C++Builder6 程序设计教程[M]. 第2版. 北京: 科学出版社, 2009.
[3] 章德宾, 胡斌, 张金隆. 多线程技术与分布式并发离散事件仿真[J]. 计算机仿真, 2007, 24(1): 97-100.
[4] 王纪森, 王俊, 周宇. 基于多线程的电液伺服加载系统测控软件设计[J]. 机床与液压, 2009, 37(10): 159-160.
Research and Achievement of Soft PLC Control System
SU Liang-he
(Science and Technology Fund of Fujian Electric Vocational and Technical College, Fujian Quanzhou 362000, China)
With the development of computer technology and establishment of IEC6113-3 standard, the development of soft PLC technology is strongly developed. Compared with the traditional hard PLC, soft PLC provides the advantage of powerful ability of data process, net communication and open system structure, which can meet the demands of the flexibility and open design of control system in the industry automation field. With the main design of soft PLC, the system structure and the implementation program and achievement of the software are analyzed.
soft PLC; controlling system; research; achievement
U664.14
A
福建电力职业技术学院院级科研基金支持(2010KY008)
苏两河(1985-),男,讲师,硕士研究生。研究方向为自动控制。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!