CN113009873A - Plc梯形图在线编译和下载的方法、plc及存储介质 - Google Patents
Plc梯形图在线编译和下载的方法、plc及存储介质 Download PDFInfo
- Publication number
- CN113009873A CN113009873A CN202110147868.4A CN202110147868A CN113009873A CN 113009873 A CN113009873 A CN 113009873A CN 202110147868 A CN202110147868 A CN 202110147868A CN 113009873 A CN113009873 A CN 113009873A
- Authority
- CN
- China
- Prior art keywords
- plc
- ladder diagram
- compiling
- ladder
- downloading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种PLC梯形图在线编译和下载的方法、PLC及存储介质,PLC梯形图在线编译和下载的方法包括:修改链接脚本,将PLC的固件存放在存储器上的第一固定区域,将梯形图编译后所生成的目标文件存放在存储器上的第二固定区域;在第二固定区域上划分出至少两个不同的存储区域,更新前后的梯形图所生成的目标文件分别存放在不同的存储区域上;当梯形图发生更新时,PLC能够一边运行更新前的梯形图的程序,一边下载更新后的梯形图的程序。根据本发明的PLC梯形图在线编译和下载的方法,既保留了编译执行方式的执行效率高的优点,又能够实现PLC梯形图的在线编译和下载的功能。
Description
技术领域
本发明涉及PLC技术领域,尤其是涉及一种PLC梯形图在线编译和下载的方法、PLC及存储介质。
背景技术
PLC(可编程逻辑控制器)执行梯形图语言(LadderLogic Programming Language)一般有两种方式,分别为解释执行和编译执行。解释执行的方式没有将用户的源代码直接生成目标文件,而是将梯形图逻辑转换为中间码,边翻译边执行,每一条用户指令在下位机的运行软件中都对应着一个相应的函数,当扫描到一条指令时,就跳转到其对应的函数上;而编译执行的方式则是将用户编写的源代码通过编译器直接编译为可执行的二进制文件,执行梯形图的时候省掉了中间译码的环节,直接运行逻辑。
对于解释执行的方式而言,在梯形图发生更新时,只需更新中间码,而不需要改变主程序,PLC很容易实现在线下载程序的功能,即PLC可以一边运行更新前的梯形图的程序,一边下载更新后的梯形图的程序,中途无需停止PLC的运行;但是由于解释执行是边翻译边执行的方式,所以执行效率较低。而对于编译执行的方式而言,虽然执行效率很高,但是由于梯形图是和主程序一起编译的,所以当梯形图发生更新时,需要整体进行更新,不容易实现梯形图的在线下载,在下载新的梯形图的程序时,必须先停止PLC的运行,待程序下载完成后才能重启恢复运行,而且下载过程耗时较长。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出了一种PLC梯形图在线编译和下载的方法,梯形图的执行效率高,且在下载新的程序的过程中无需停止PLC的运行,能够实现在线下载。
本发明还提出一种PLC。
本发明还提出一种计算机可读存储介质。
根据本发明第一方面实施例的PLC梯形图在线编译和下载的方法,包括:修改链接脚本,将PLC的固件存放在存储器上的第一固定区域,将梯形图编译后所生成的目标文件存放在所述存储器上的第二固定区域;在所述第二固定区域上划分出至少两个不同的存储区域;更新前的梯形图编译生成的第一目标文件存放在其中一个所述存储区域,并能够与所述PLC的固件链接成第一可执行文件,供PLC下载并运行;当梯形图发生更新时,则将更新后的梯形图编译生成的第二目标文件存放在另一个所述存储区域,所述第二目标文件能够与所述PLC的固件链接成第二可执行文件,所述PLC能够下载所述第二可执行文件所形成的新的程序,待新的程序下载完毕后,所述PLC能够跳转并运行新的程序。
根据本发明实施例的PLC梯形图在线编译和下载的方法,至少具有如下有益效果:通过在存储器上划分出两个不同的固定区域,分别用于存放PLC的固件和梯形图编译后生成的目标文件,这样当用户对梯形图进行修改或更新时,第一固定区域中的内容并不会发生改变,只有第二固定区域中的内容会进行更新;假设此时PLC正在运行更新前的梯形图所形成的程序,则用户修改梯形图后,PLC会一边运行更新前的梯形图的程序,一边对更新后的梯形图进行编译,并对更新后的梯形图所形成的新的程序进行下载,待新的程序下载完毕后,PLC便直接跳转到新的程序进行运行;这样既保留了编译执行的执行效率高的优点,又能够实现PLC梯形图的在线编译和下载的功能,且程序下载的效率较高。
根据本发明的一些实施例,所述PLC的固件被打包为静态链接库,并存放在所述第一固定区域。
根据本发明的一些实施例,所述存储区域的数量大于两个,每次对梯形图进行更新后,便将更新后的梯形图所生成的目标文件存放在下一个所述存储区域;当更新前的梯形图的目标文件存放在最后一个所述存储区域时,便将更新后的梯形图的目标文件存放在第一个所述存储区域。
根据本发明的一些实施例,还包括校验步骤:所述PLC开机时对最后一次更新的梯形图的程序进行校验,如果运行失败,则运行前一次更新的梯形图的程序。
根据本发明的一些实施例,所述第一固定区域与所述第二固定区域的划分、若干个所述存储区域的划分,均是通过GNU工具链实现的。
根据本发明的一些实施例,所述第一固定区域在所述存储器上的位置位于所述第二固定区域之前。
根据本发明的一些实施例,所述存储器为FLASH存储器。
根据本发明第二方面实施例的PLC,可以执行本发明上述第一方面实施例的PLC梯形图在线编译和下载的方法。
根据本发明实施例的PLC,至少具有如下有益效果:梯形图的执行效率较高,且当梯形图发生更新时,PLC能够一边运行更新前的梯形图的程序,一边下载更新后的梯形图的程序,待更新后的梯形图的程序下载完成后,即可跳转并运行该程序,程序的更新和下载更为方便,耗时也较短。
根据本发明第三方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明上述第一方面实施例所述的PLC梯形图在线编译和下载的方法。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的中的PLC梯形图在线下载的流程示意图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,根据本发明实施例的PLC梯形图在线编译和下载的方法,包括以下步骤:
S100:修改链接脚本,将PLC的固件存放在存储器上的第一固定区域,将梯形图编译后所生成的目标文件存放在存储器上的第二固定区域;
S200:在第二固定区域上划分出至少两个不同的存储区域;
S300:更新前的梯形图编译生成的第一目标文件存放在其中一个存储区域,并能够与PLC的固件链接成第一可执行文件,供PLC下载并运行;当梯形图发生更新时,则将更新后的梯形图编译生成的第二目标文件存放在另一个存储区域,并能够与PLC的固件链接成第二可执行文件,PLC能够下载第二可执行文件所形成的新的程序,待新的程序下载完毕后,PLC能够跳转并运行新的程序。
具体地,在本发明中,采用了GNU工具链来修改链接脚本,实现了区域的划分,将PLC的固件和梯形图所编译形成的目标文件分别存放在存储器上的不同的固定区域;其中,PLC的固件包括PLC固有的功能模块和常用的函数库。通过这样的设置,当用户对梯形图进行修改或更新时,第一固定区域中的内容并不会发生改变,只有第二固定区域中的内容会进行更新。为了便于描述,下面将更新前的梯形图称为梯形图1,更新后的梯形图称为梯形图2。在本示例中,在存储器的第二固定区域上划分出两个存储区域,其中一个存储区域用于存放梯形图1编译形成的第一目标文件,另一个存储区域用于存放梯形图2编译形成的第二目标文件。假设此时PLC正在运行梯形图1所形成的程序,用户修改梯形图后,梯形图1变为梯形图2;PLC一边运行梯形图1所形成的程序,一边对梯形图2进行编译,并将第二目标文件存放在与第一目标文件不同的存储区域,编译完成后对梯形图2形成的新的程序进行下载,待新的程序下载完毕后,PLC便可以直接跳转到新的程序运行。
通过这样的设置,既保留了编译执行方式的执行效率高的优点,又可以在PLC运行的过程中更新梯形图,并进行新的程序的下载,而不需停止PLC的运行,更为方便实用。
本发明所指的存储器为FLASH存储器,第一固定区域位于FLASH存储器上靠前的区域,第二固定区域位于FLASH存储器上靠后的区域,FLASH的存储布局最终如下面的表1所示。需要说明的是,表1只是其中一种示例,具体存储位置可以根据实际需要进行调整。
表1
在本发明中,修改后的链接脚本会将梯形图编译生成的目标文件存放在靠后的内存区域,而PLC的固件则被打包为静态链接库,PLC会将梯形图1的第一目标文件与静态链接库链接成第一可执行文件,并进行第一可执行文件的程序的下载和运行;而当梯形图发生更新时,梯形图1变为梯形图2,将梯形图2编译为第二目标文件,第二目标文件与静态链接库链接成第二可执行文件后,PLC下载第二可执行文件所形成的新的程序,待新的程序下载完毕后,PLC便开始运行新的程序。通过这样的设置,使得在梯形图发生更新时,静态链接库并不会发生改变,PLC可以一边运行梯形图1的程序,一边编译、下载梯形图2的程序,待梯形图2的程序下载完成后,即可跳转并运行梯形图2的程序,实现了PLC的在线编译和下载功能,且梯形图的执行效率较高。
需要说明的是,也可以将第二固定区域划分为更多的存储区域,每次对梯形图进行更新后,便将更新后的梯形图编译生成的目标文件存放在下一个存储区域中;当更新前的梯形图的目标文件存放在最后一个存储区域中时,便将更新后的梯形图的目标文件存放在第一个存储区域。多个梯形图的好处在于,可以有更多的备份的程序,开机前可以对其中一个梯形图的内容进行校验,如果运行失败,便可以运行另一个备份的程序。
第二方面,本发明还包括一种PLC,该PLC能够实现本发明上述第一方面实施例的PLC梯形图在线编译和下载的方法,从而具有执行效率高、能够实现在线编译和下载程序等优点。
第三方面,本发明还包括一种计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令用于使计算机执行本发明上述第一方面实施例的PLC梯形图在线编译和下载的方法。
在本说明书的描述中,参考术语“一个实施例”、“进一步实施例”、“一些具体实施例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种PLC梯形图在线编译和下载的方法,其特征在于,包括:
修改链接脚本,将PLC的固件存放在存储器上的第一固定区域,将梯形图编译后所生成的目标文件存放在所述存储器上的第二固定区域;
在所述第二固定区域上划分出至少两个不同的存储区域;
更新前的梯形图编译生成的第一目标文件存放在其中一个所述存储区域,并能够与所述PLC的固件链接成第一可执行文件,供PLC下载并运行;当梯形图发生更新时,则将更新后的梯形图编译生成的第二目标文件存放在另一个所述存储区域,所述第二目标文件能够与所述PLC的固件链接成第二可执行文件,所述PLC能够下载所述第二可执行文件所形成的新的程序,待新的程序下载完毕后,所述PLC能够跳转并运行新的程序。
2.根据权利要求1所述的PLC梯形图在线编译和下载的方法,其特征在于,所述PLC的固件被打包为静态链接库,并存放在所述第一固定区域。
3.根据权利要求1或2所述的PLC梯形图在线编译和下载的方法,其特征在于,所述存储区域的数量大于两个,每次对梯形图进行更新后,便将更新后的梯形图所编译生成的目标文件存放在下一个所述存储区域;当更新前的梯形图的目标文件存放在最后一个所述存储区域时,便将更新后的梯形图的目标文件存放在第一个所述存储区域。
4.根据权利要求3所述的PLC梯形图在线编译和下载的方法,其特征在于,还包括校验步骤:所述PLC开机时对最后一次更新的梯形图的程序进行校验,如果运行失败,则运行前一次更新的梯形图的程序。
5.根据权利要求1所述的PLC梯形图在线编译和下载的方法,其特征在于,所述第一固定区域与所述第二固定区域的划分、若干个所述存储区域的划分,均是通过GNU工具链实现的。
6.根据权利要求1所述的PLC梯形图在线编译和下载的方法,其特征在于,所述存储器为FLASH存储器。
7.根据权利要求1或6所述的PLC梯形图在线编译和下载的方法,其特征在于,所述第一固定区域在所述存储器上的位置位于所述第二固定区域之前。
8.一种PLC,其特征在于,可以执行如权利要求1至7任一项所述的PLC梯形图在线编译和下载的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一项所述的PLC梯形图在线编译和下载的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110147868.4A CN113009873A (zh) | 2021-02-03 | 2021-02-03 | Plc梯形图在线编译和下载的方法、plc及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110147868.4A CN113009873A (zh) | 2021-02-03 | 2021-02-03 | Plc梯形图在线编译和下载的方法、plc及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113009873A true CN113009873A (zh) | 2021-06-22 |
Family
ID=76385000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110147868.4A Pending CN113009873A (zh) | 2021-02-03 | 2021-02-03 | Plc梯形图在线编译和下载的方法、plc及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113009873A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066320A1 (en) * | 2003-08-01 | 2005-03-24 | Kw-Software Gmbh | Online modification of CIL code programs for industrial automation |
CN101162391A (zh) * | 2006-10-12 | 2008-04-16 | 欧姆龙株式会社 | 可编程控制器 |
CN101763280A (zh) * | 2008-09-30 | 2010-06-30 | Ics三重自动化软件有限公司 | 编译模型 |
CN103529749A (zh) * | 2013-10-29 | 2014-01-22 | 威海麦科电气技术有限公司 | 一种plc可编程控制器的梯形图程序开发系统及方法 |
CN105653313A (zh) * | 2015-12-14 | 2016-06-08 | 重庆川仪自动化股份有限公司 | 一种程序更新方法及装置 |
US20190102500A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Methods and apparatus for profile-guided optimization of integrated circuits |
CN111124459A (zh) * | 2018-10-31 | 2020-05-08 | 阿里巴巴集团控股有限公司 | 一种fpga云服务器服务逻辑的更新方法及装置 |
CN111638999A (zh) * | 2020-05-29 | 2020-09-08 | 安徽江淮汽车集团股份有限公司 | 汽车组合仪表的回滚启动方法、装置、设备及存储介质 |
CN112204479A (zh) * | 2018-05-29 | 2021-01-08 | 三菱电机株式会社 | 程序管理系统、编程辅助装置、程序管理方法及编程辅助程序 |
-
2021
- 2021-02-03 CN CN202110147868.4A patent/CN113009873A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066320A1 (en) * | 2003-08-01 | 2005-03-24 | Kw-Software Gmbh | Online modification of CIL code programs for industrial automation |
CN101162391A (zh) * | 2006-10-12 | 2008-04-16 | 欧姆龙株式会社 | 可编程控制器 |
CN101763280A (zh) * | 2008-09-30 | 2010-06-30 | Ics三重自动化软件有限公司 | 编译模型 |
CN103529749A (zh) * | 2013-10-29 | 2014-01-22 | 威海麦科电气技术有限公司 | 一种plc可编程控制器的梯形图程序开发系统及方法 |
CN105653313A (zh) * | 2015-12-14 | 2016-06-08 | 重庆川仪自动化股份有限公司 | 一种程序更新方法及装置 |
US20190102500A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Methods and apparatus for profile-guided optimization of integrated circuits |
CN112204479A (zh) * | 2018-05-29 | 2021-01-08 | 三菱电机株式会社 | 程序管理系统、编程辅助装置、程序管理方法及编程辅助程序 |
CN111124459A (zh) * | 2018-10-31 | 2020-05-08 | 阿里巴巴集团控股有限公司 | 一种fpga云服务器服务逻辑的更新方法及装置 |
CN111638999A (zh) * | 2020-05-29 | 2020-09-08 | 安徽江淮汽车集团股份有限公司 | 汽车组合仪表的回滚启动方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902556B (zh) | 一种嵌入式设备的多级引导加载方法 | |
US8954939B2 (en) | Extending a development environment | |
US8806436B2 (en) | Systems and methods for debugging applications using dual code generation | |
CN105159732B (zh) | 在移动终端安装或更新应用程序的方法和移动终端 | |
US20170286076A1 (en) | Auto-vectorization in just-in-time compilers for dynamically typed programming languages | |
WO2015176492A1 (en) | A system and method thereof for creating dynamically attachable and detachable binary files | |
JP2006092544A (ja) | プリオペレーティングシステム環境におけるモジュールの動的リンク | |
CN111176625B (zh) | 一种在浏览器端高效编译Solidity智能合约的方法 | |
CN112882718B (zh) | 编译处理方法、装置、设备及存储介质 | |
CN102364433B (zh) | 在ARM处理器上实现Wine构建工具移植的方法 | |
WO2022111262A1 (zh) | 热补丁的生成方法、装置、服务器和机器可读存储介质 | |
CN105260184B (zh) | 一种恢复镜像文件的调试方法及装置 | |
CN113009873A (zh) | Plc梯形图在线编译和下载的方法、plc及存储介质 | |
KR100532467B1 (ko) | 서로 다른 버전에서 생성된 디버깅 정보 파일들을 이용한소스 코드 레벨 디버깅을 제공하는 엠시유 응용프로그램검증 시스템 및 그 방법 | |
CN111061486B (zh) | 一种安卓应用程序增量方法 | |
CN108415737B (zh) | 一种在虚拟机中加载插件的方法及电子终端 | |
JP5906609B2 (ja) | デバッグ支援プログラム、デバッグ支援方法及びデバッグ支援システム | |
CN115373707A (zh) | 航天器实时系统内存受限条件下任务在线更新系统及方法 | |
CN104281443B (zh) | 利用tcm实现代码、数据替换的方法 | |
CN113849181A (zh) | 交叉编译工具链构建方法、装置、电子设备及存储介质 | |
CN114237572B (zh) | 原生工程集成开发框架的方法、装置、设备及存储介质 | |
Novillo | GCC internals | |
CN113986321A (zh) | 一种plc设备的升级方法、装置、设备及存储介质 | |
JP2002259121A (ja) | ソースラインデバッグ装置 | |
CN117270922A (zh) | 一种基于分区交替式存储运行于单片机的app升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210622 |