[发明专利]一种PLC编程语言的编译方法在审
申请号: | 201410354614.X | 申请日: | 2014-07-24 |
公开(公告)号: | CN104239115A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 叶生红;赵永杰 | 申请(专利权)人: | 汕头大学;汕头轻工装备研究院 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 温旭 |
地址: | 515063 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 plc 编程 语言 编译 方法 | ||
技术领域
本发明涉及工业控制领域,尤其涉及一种PLC编程语言的编译方法。
背景技术
长期以来,计算机控制和传统PLC控制一直是工业控制领域的两种主要控制方法。PLC自1969年问世以来,以其功能强、可靠性高、使用方便、体积小等优点在工业自动化领域得到迅速推广,成为工业自动化领域中极具竞争力的控制工具。伴随着计算机技术的迅速发展和广泛应用,人们逐渐认识到硬件PLC的种种弊端。首先由于生产厂商众多,各种机型互不兼容,没有统一的标准,在编程元件的种类、数目、编程语言等方面各不相同;其次,产品的功能实现依赖于硬件,数据结构相对封闭,用户难以自由改变或增添PLC的功能;第三,现行的PLC产品,其编程方式要求使用者对PLC的硬件结构、PLC的电气原理、编程指令均要有相当的了解,这就不利于PLC的进一步推广和使用;第四,当PLC出现故障时,需由专业人员用专用工具检测硬件,再维修,可维护性差;同时,其昂贵的价格也严重制约其发展。
软PLC是一种基于PC机的软逻辑控制软件,它具有硬PLC在功能、可靠性、速度、故障查找等方面的特点,利用软件技术可以将标准的工业PC转换成全功能的PLC过程控制器。软件PLC综合了计算机和PLC的开关量控制、模拟量控制、数学运算、数值处理、网络通信、PID调节等功能,通过一个多任务控制内核,提供强大的指令集、快速而准确的扫描周期、可靠的操作和可连接各种I/O系统及网络的开放式结构。它遵循IEC61131-3标准,支持多语言编程,所以,软件PLC提供了与硬PLC同样的功能,同时又提供了PC环境如PC机容量大、处理速度快、网络互联方便等PLC不具备的优点,是PC技术和PLC技术的结晶。研究软PLC技术可以消除硬PLC本身具有的诸多不足之处,提高产品开发效率,使PLC性价比提高。应用于实际工程中后,将会极大提升企业的自动化水平和生产效率。基于PC的软PLC,既有良好的人机交互功能,又有极快的数据处理能力和强大的网络功能。研究基于PC的软PLC控制系统,对降低成本、加强系统的开放性和推广软PLC在工业中的应用等具有很大的经济意义。
如果能够提出一个可以适用于多种硬件平台的软PLC控制方案,开发一个能够对多种运行系统硬件平台均适用的开发系统,这样当用户在使用不同厂商的硬件平台作为软PLC的运行系统时,使用该开发工具,则无需重新学习新硬件平台的编程,省去了重新学习编程耗费的大量时间,因此具有十分重要的现实意义。而其中的问题,就在于如何将PLC程序编译为软PLC运行系统可以识别执行的代码。
发明内容
本发明的目的在于提供一种PLC编程语言的编译方法,解决背景技术提到的将PLC 程序编译为软PLC 目标代码的问题。
为了实现上述的目的,采用如下的技术方案。一种PLC编程语言的编译方法,包括指令表转换、指令分析、中间代码生成和目标代码生成,所述指令表转换是将PLC编程语言转换成指令表源程序,所述指令分析是对指令表源程序进行词法分析、语法分析和语义分析的综合,它分析指令表源程序中某条指令是否正确,包括分析指令的操作码是否存在,操作数代码是否符合操作码的要求和操作数是否超过操作数代码的允许范围,所述中间代码生成是将指令表源程序翻译成中间代码,所述目标代码生成是把中间代码变换为特定机器上的绝对指令代码或可以重定位的指令代码。
上述方案中,所述词法分析是读入指令表源程序,对构成指令表源程序的字符串进行扫描和分解,识别出指令表语言源程序中任何合法的单词。所述词法分析还可以完成预处理工作,所述预处理工作包括删除注释。
上述方案中,所述语法分析是在词法分析的基础上根据指令表源程序的语法规则,把单词符号串分解成各类语法单位。所述语法单位包括程序、字句、语句、程序段、表达式。
上述方案中,所述语义分析审查指令表源程序中有无语义错误,为代码生成阶段收集类型信息。
上述方案中,还包括代码优化,所述代码优化是对中间代码进行变换或改造,使生成的目标代码更为高效。
上述方案中,还包括表格管理,所述表格管理用来建立变量、常量和过程标识符的说明与引用之间的信息联系。
上述方案中,还包括出错处理,所述出错处理用来对指令分析遇到的错误给出在指令表源程序中出错的位置和错误性质。
上述方案中,所述目标代码生成是在指令表源程序和目标代码之间建立一个指令和地址的目标代码查询表,逐行扫描编写的指令表源程序,查表将指令表源程序中的指令翻译成其对应的代码,并将代码按照规律组合起来形成可执行的目标代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汕头大学;汕头轻工装备研究院,未经汕头大学;汕头轻工装备研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410354614.X/2.html,转载请声明来源钻瓜专利网。