PLC梯形图在线编译和下载的方法、PLC及存储介质与流程

文档序号:25599378发布日期:2021-06-22 17:19阅读:974来源:国知局
PLC梯形图在线编译和下载的方法、PLC及存储介质与流程

本发明涉及plc技术领域,尤其是涉及一种plc梯形图在线编译和下载的方法、plc及存储介质。



背景技术:

plc(可编程逻辑控制器)执行梯形图语言(ladderlogicprogramminglanguage)一般有两种方式,分别为解释执行和编译执行。解释执行的方式没有将用户的源代码直接生成目标文件,而是将梯形图逻辑转换为中间码,边翻译边执行,每一条用户指令在下位机的运行软件中都对应着一个相应的函数,当扫描到一条指令时,就跳转到其对应的函数上;而编译执行的方式则是将用户编写的源代码通过编译器直接编译为可执行的二进制文件,执行梯形图的时候省掉了中间译码的环节,直接运行逻辑。

对于解释执行的方式而言,在梯形图发生更新时,只需更新中间码,而不需要改变主程序,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梯形图在线编译和下载的方法。

在本说明书的描述中,参考术语“一个实施例”、“进一步实施例”、“一些具体实施例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1