[发明专利]一种PLC编译执行方法无效
申请号: | 200910033421.3 | 申请日: | 2009-06-19 |
公开(公告)号: | CN101587445A | 公开(公告)日: | 2009-11-25 |
发明(设计)人: | 张红芳;王亦宁;缪延安 | 申请(专利权)人: | 国网电力科学研究院;南京南瑞集团公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G05B19/05 |
代理公司: | 南京知识律师事务所 | 代理人: | 汪旭东 |
地址: | 210003江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 plc 编译 执行 方法 | ||
技术领域
本发明涉及一种编译执行方法,尤其是涉及一种可编程逻辑控制器编译执行方法。
背景技术
随着自动控制技术的发展和自动化水平的提高,可编程逻辑控制器(PLC)已经越来越多的应用在包括水电站在内的各个领域中。可编程控制器一般分高、中、低三个档次,中、低档次的PLC的CPU模件一般采用解释执行的方式执行PLC应用程序,解释执行是指直接将应用程序下载至CPU,CPU逐个读入程序,并逐个执行。高档的PLC亦可采用解释执行的方式执行PLC应用程序,但是,高档的PLC一般用于复杂的控制场合,除执行应用程序外,还负责采集数量众多的IO模件的数据、实现对外通讯以及双CPU冗余等高级功能,如何提高PLC的CPU模件的梯形执行效率从而提高CPU的整体工作性能是PLC研发和生产厂家必须考虑和解决的课题。
发明内容
目前国内、国外可编程控制器的CPU都采用解释执行的方式执行应用程序,本发明的目的在于提供一种提高PLC执行效率的PLC编译执行方法。
为了实现上述目的,本发明采用如下技术方案,先将PLC应用程序转换成标准的中间语言,然后再转换成标准的高级编程语言,经过特定的编译技术最终生成一个可直接执行的应用模块。
具体的包括以下步骤:
将采用各种编程语言(包括ST、LD、FBD等IEC61131-3支持的编程语言)编程的PLC应用程序都转换成用标准的IL语言表示的中间语言描述,
然后将该中间语言描述转换成标准的高级编程语言描述,至此一个由IEC61131-3支持的编程语言编写的PLC应用程序就已转换为由标准的C语言所描述。
最后一步,经过编译技术将标准的C语言描述文件编译生成一个PLC可直接执行的应用程序模块,这个应用程序模块在PLC的CPU中可以直接执行,不再需要边解释边执行程序。
本发明的有益效果在于,能使CPU中运行PLC应用程序的速度提高5-10倍。
附图说明
图1是本发明各功能模块示意图
图2是本发明控制调用模块调用流程图
具体实施方式
以下结合附图对本发明作进一步描述。
本发明各功能模块示意图如附图1所示,其中包括5个模块,分别为控制调用模块,PLC程序转化模块,中间语言程序转化模块,编译模块,下载模块。控制调用模块负责调度各模块之间的关系,PLC程序转化模块负责将PLC编程语言编成的应用程序转换成中间语言,中间语言程序转化模块负责将中间语言转换成标准的高级编程语言,编译模块负责编译生成可直接执行的应用模块,下载模块负责将应用模块下载到PLC的CPU中。
控制调用模块:该模块主要完成的工作是对各模块进行调用,协调各模块之间的工作,该模块的工作流程如图:首先调用PLC程序转化模块,读取源文件信息,并将此文件转换为类汇编的中间语言;然后,调用中间语言程序转化模块,将类汇编的中间语言转换为高级语言(例如C);再接着调用编译模块,完成对c语言程序的编译工作,生成可执行文件;最后调用下载模块,将可执行程序下载至PLC。
控制调用模块调用流程如图2。
PLC程序转化模块:完成源程序的读取与由源程序到类汇编的中间语言的转换。
中间语言的定义:
中间语言格式:操作符/功能 操作数
其中操作符/功能代表的是操作类型或功能类型,操作符/功能不能为空;操作数可以是零个、一个或多个,类型可以是常数或变量,也可以是功能的输入参数,由逗号分隔。
如:LD M1
ST R5
ADD R1,R2,R3
中间语言组成:中间语言由两种类型的指令组成,一种是标准的指令,一种是功能性指令。
标准指令如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网电力科学研究院;南京南瑞集团公司,未经国网电力科学研究院;南京南瑞集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910033421.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:发动机用阀头外位移燃油喷射器
- 下一篇:一种防止窗户在施工中受损的方法