论文部分内容阅读
随着工业应用实现难度的提高以及控制系统规模的增大,传统可编程逻辑控制器(Programmable Logic Controller,简称PLC)数据处理、网络通信能力有限的问题愈发明显。软PLC技术基于PC实现PLC控制功能,综合了PLC稳定可靠、开发便捷以及PC数据处理快、网络通信强的优点。近年来人工智能、机器人、物联网等技术蓬勃发展,软PLC技术相较于以往有着更好的应用场景和发展趋势。本文的研究目标是设计一套完整的、遵循IEC61131-3国际标准的、面向工业机器人的软PLC系统。本文首先分析了软PLC系统的研究意义,调研了国内外软PLC技术的研究现状。简单介绍IEC61131-3标准后,对软PLC系统进行总体设计。软PLC系统由集成开发环境IDE、编译器和运行器三个子系统组成。(1)集成开发环境基于Web开发,采用RESTful架构,使用数据库管理用户项目信息,引用Ace和MxGraph实现文本语言和图形语言编辑,支持ST、LD、FBD、SFC、C++五种编程语言。(2)编译器遵循标准编写语法规则文件,借助ANTLR对PLC程序中的文本进行语法分析;为标准中各语言元素设计领域模型,定制语义分析和翻译规则;将PLC程序转换为嵌套结构的模型对象,递归性的进行语义检查;若无误则翻译为C++程序,最终使用G++将其编译为动态库。(3)运行器基于多线程、信号量等技术,以标准规定的软件模型调度程序,辅以I/O设备的读写,实现软PLC系统应用的整体功能,并提供变量监控WebSocket服务。为进一步适应工业机器人应用开发需求,对软PLC系统进行拓展,设计实现了请求响应、发布订阅两种节点间通信适配接口,支持C++作为PLC应用的编程语言进而支持外部功能库导入,与现有的机器人操作系统BAOS系统相结合,提高软PLC系统的适应性和灵活性。最终搭建了工业机器人物体抓取应用,验证了系统设计的有效性。上述软PLC系统实现了PLC程序开发、运行的基础功能,提高了IEC61131-3标准的支持程度,并且对软PLC与工业机器人的结合进行了探索,通过对软PLC系统拓展实现了复杂工业机器人应用的逻辑控制。