论文部分内容阅读
软PLC技术是目前工业自动化领域研究的热点之一,相对于传统的硬PLC而言,软PLC具有开放的体系结构、更强的网络通讯能力和数据处理能力,能更好地满足现代工业自动化的要求。软PLC将所有原来由硬件PLC完成的程序运行、计算及数据处理等功能交给普通PC或嵌入式计算机等来完成,而数据采集和输出则通过外部I/O板卡来完成。在此过程中,如何使传统PLC语言(梯形图和语句表)为普通PC或其他硬件平台可识别并正确执行成为该系统的一个关键。因此,有必要开发一套能够正确、高效的执行用户程序的编译系统。编译系统从其性质上可划分为翻译型编译和解释型编译两大类,本文通过对这两类编译系统的优缺点进行深入比较,选择解释型编译,即将用户编辑的PLC程序由预编译器进行排错处理后转化为较为简单的中间代码程序,再交给解释系统解释运行。文章通过对IEC61131-3标准PLC语句表语言各指令的语义的深入理解和分析,开发了通过对用户程序逐条拾取并进行循环解释和执行的解释型编译器,得到与传统硬件PLC相同的运行结果。与将源语言代码直接编译为机器代码并由硬件执行的编译过程(翻译型编译器)比较,可以很容易的实现不同硬件平台上的移植和在线程序修改。本文以VC++6.0为开发工具结合IEC61131-3标准构建了软PLC系统,该系统在遵循IEC61131-3标准的基础上,提供了梯形图/语句表程序编制、梯形图程序与语句表之间的相互转换、程序编译运行等相关的功能。本文主要内容如下:(1).简要对软PLC与传统硬件PLC的优缺点进行了比较,论述了开发基于PC的软PLC系统的必要性;对用户编辑系统的梯形图编辑器、指令表编辑器、梯形图向语句表转换等的实现进行了简要阐述;并分析研究了软PLC在满足通用性及方便的可移植性方面的需求;(2).在对翻译型编译与解释型编译两种编译方式优缺点进行了比较后,选择了解释型编译方式开发软PLC编译系统;(3).以VC++6.0为开发平台开发了软PLC的解释运行系统;描述了预编译器的语法分析、语义分析和中间代码生成等过程;并描述了软PL系统对外部I/O设备的访问方法。(4).给出了PLC指令集中部分逻辑运算指令的具体实现方法。本文所完成的软PLC编译系统经实际测试达到了本课题的要求,成功的实现了软PLC对用户程序编译、执行以及与I/O设备进行数据交换。