[发明专利]一种可编程语言编译装载系统及方法在审
| 申请号: | 201611243395.3 | 申请日: | 2016-12-29 |
| 公开(公告)号: | CN106648681A | 公开(公告)日: | 2017-05-10 |
| 发明(设计)人: | 祖利辉;陈闯;杭哲 | 申请(专利权)人: | 南京科远自动化集团股份有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
| 代理公司: | 南京汇盛专利商标事务所(普通合伙)32238 | 代理人: | 陈扬,聂占涛 |
| 地址: | 211100 江苏省南京*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 可编程 语言 编译 装载 系统 方法 | ||
技术领域
本发明涉及一种可编程语言编译装载系统及方法,特别适用于各种工业可编程控制应用场合,能有效提高程序的执行效率。
背景技术
传统的工业现场使用的可编程控制器(PLC)以及分散控制系统(DCS)中的分散处理单元,均可通过组态软件进行用户编程,用户编程软件通过对高级语言源文件进行编译,生成虚拟指令,通过通讯接口下载到控制器中,控制器通过解释虚拟指令运行组态程序。这种方法的优点是可移植性强,能够在不同硬件平台进行移植,缺点是运行效率不高,相同的计算功能,虚拟指令的运行比机器指令运行至少慢20倍。另一种编译方式是通过对高级语言直接编译为目标平台的机器指令,把编译完成的机器指令下载到目标机的处理器中运行,这种方式的优点是执行效率高,缺点是可移植性差,程序的任何改动要重新编译整个工程,同时对目标平台依赖太强,可用性较低。
发明内容
本发明的目的是为了解决现有技术中存在的缺陷,提供一种可编程语言编译装载系统,该可编程语言编译装载系统包括编译系统和执行系统;编译系统和执行系统通过通讯线缆相连;
其中,编译系统包括:
编辑器,对高级语言源文件进行编辑后,发送至编译器;
编译器,接收编辑后的源文件,进行编译生成虚拟指令程序;
虚拟机,执行虚拟指令程序;
汇编器,将虚拟指令程序进一步编译为机器指令,生成目标程序;
执行系统包括:
加载器,通过通讯线缆下载目标程序,加载形成目标代码;
执行器,执行目标代码。
上述执行系统装载于目标机内;编译系统装载于宿主机内。
加载器加载形成目标代码的方式为:加载器提供代码段加载基地址、数据段加载基地址、BSS段加载基地址和系统函数调用基地址,以函数指针形式调用加载目标程序。
本发明还提供了一种可编程语言编译装载方法,可编程语言编译装载方法将高级语言源文件先转换成虚拟指令程序,运行虚拟指令程序进行程序逻辑正确性的验证后,再将虚拟指令程序转换成机器指令程序,进行执行。
虚拟指令程序通过汇编器逐条翻译转换成机器指令程序。
可编程语言编译装载方法包括以下步骤:
(1)通过编辑器对高级语言源文件进行编辑;
(2)采用编译器对编辑后的源文件进行编译,生成虚拟指令程序,虚拟指令程序以文件形式保存;
(3)虚拟机执行虚拟指令程序,验证编辑程序的正确性;如果不正确,进行步骤(1),如果正确,则进行步骤(4);
(4)选择目标平台,汇编器将虚拟指令程序进一步编译为目标平台的机器指令,生成目标程序,以文件形式保存;
(5)把目标程序通过通讯线缆下载到目标机内;
(6)目标机内的加载器提供代码段加载基地址、数据段加载基地址、BSS段加载基地址和系统函数调用基地址,以函数指针形式调用加载目标程序,形成目标代码;
(7)执行器执行目标代码。
本发明相比现有技术具有以下优点:
1、最终编译后进行执行的目标指令是机器指令,运行效率高,比传统虚拟指令效率提高至少10倍,非常适合应用在对运行效率要求较高的场合。
2、对源文件首先编译生成的虚拟指令,具有较强的可移植特性,相同的高级语言源程序无需修改,即可根据不同的硬件平台逐条编译成不同目标平台下的机器指令。
3、且编译的目标程序的执行与内存地址无关,只需要加载器提供代码段加载基地址、数据段加载基地址、BSS段加载基地址和函数调用基地址即可,程序加载执行与目标平台耦合性低,可即时编译即时运行。
4、本发明通过对高级语言源文件进行虚拟指令转换后再生成机器指令,进行执行,既具有虚拟指令可移植的特性,能够方便在各个平台移植运行,又具有机器指令的运行速度,解决虚拟指令运行效率低的问题。
附图说明
图1为本发明可编程语言编译装载系统的结构框图;
图2为本发明可编程语言编译装载方法的流程图。
图中,101-编译系统,102-执行系统,103-通讯线缆,104-编辑器,105-编译器,106-虚拟指令,107-汇编器,108-虚拟机,109-目标程序,110-加载器,111-执行器。
具体实施方式
下面结合附图对本发明进行详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京科远自动化集团股份有限公司,未经南京科远自动化集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611243395.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:织带(多排线织珠链)
- 下一篇:织带(1)





