CN102096390B - 可编程逻辑控制器、组态程序编译器及方法 - Google Patents
可编程逻辑控制器、组态程序编译器及方法 Download PDFInfo
- Publication number
- CN102096390B CN102096390B CN201110031786.XA CN201110031786A CN102096390B CN 102096390 B CN102096390 B CN 102096390B CN 201110031786 A CN201110031786 A CN 201110031786A CN 102096390 B CN102096390 B CN 102096390B
- Authority
- CN
- China
- Prior art keywords
- processing module
- core processing
- module
- program
- programmable logic
- 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.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明实施例公开了一种可编程逻辑控制器、组态软件程序编译器、编译系统及方法,其中所述可编程逻辑控制器包括多核微处理器和存储模块,所述多核微处理器进一步包括一主核处理模块和至少一个加速核处理模块;其中:所述主核处理模块,用于执行分配给所述主核处理模块的程序网络段,所述程序网络段由与该可编程逻辑控制器相连的组态软件程序编译器将需所述可编程逻辑控制器运行的编译程序进行分段而成;所述加速核处理模块,用于执行分配给所述加速核处理模块的程序网络段;存储模块,用于通过多个数据分区分别存储分配给所述主核处理模块和所述至少一个加速核处理模块的程序网络段。实施本发明,可并行执行可编程逻辑控制器上编译的编程语言。
Description
技术领域
本发明涉及可编程逻辑控制器领域,尤其涉及一种可编程逻辑控制器、组态程序编译器及方法。
背景技术
可编程逻辑控制器(Programmable Logic Controller,PLC),是一种用于自动化实时控制的数位逻辑控制器,广泛应用于目前的工业控制领域。在可编程逻辑控制器出现之前,一般要使用成百上千的继电器以及计数器才能组成具有相同功能的自动化系统,而现在,经过编程的简单的可编程逻辑控制器模块基本上已经代替了这些大型装置。可编程逻辑控制器的系统程序一般在出厂前已经初始化完毕,用户可以根据自己的需要自行编辑相应的用户程序来满足不用的自动化生产要求。PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。
PLC以周期扫描和集中处理为主要工作方式。所谓集中处理是指的PLC对输入部分的采样和输出部分的执行是集中进行的。周期扫描就是PLC上电后,在系统程序的监控下,周而复始地按照固定顺序对PLC系统内部的各种任务进行查询、判断和执行。
目前PLC多采用单核处理器,图1所示为单核处理器PLC进行一次周期扫描的大体流程示意图。如图1所示,进行一次PLC周期扫描通常包括输入扫描、内部控制处理以及输出扫描。读取现场输入到输入镜像区的过程称之为输入扫描,把输出镜像区的输出值输出到现场输出的过程称之为输出扫描。在输入扫描和输出扫描之间的时段,微处理器对输入信号进行内部控制处理,并将结果设定到输出镜像区。进一步,内部控制处理包括了周期逻辑控制处理任务,异步事件触发的任务和现场通信任务等。通常在进行逻辑控制处理时,PLC运行编译的逻辑编程语言来实现相应的逻辑控制,目前,PLC支持的编程语言包括梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)以及结构化文本语言(ST)。由于目前的PLC均是单核处理器,因此,其在执行上述编程语言时耗时长,效率低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种可编程逻辑控制器和一种可编程逻辑控制器的控制方法。可并行执行可编程逻辑控制器上编译的编程语言。
为解决上述技术问题,本发明提供一种可编程逻辑控制器,其包括多核微处理器和存储模块,所述多核微处理器进一步包括一主核处理模块和至少一个加速核处理模块;其中:
所述主核处理模块,用于执行分配给所述主核处理模块的程序网络段,所述程序网络段由与该可编程逻辑控制器相连的组态软件程序编译器将需所述可编程逻辑控制器运行的编译程序进行分段而成;
所述加速核处理模块,用于执行分配给所述加速核处理模块的程序网络段;
存储模块,用于通过多个数据分区分别存储分配给所述主核处理模块和所述至少一个加速核处理模块的程序网络段;
其中,所述主核处理模块和所述加速核处理模块分别包括:
执行模块,用于从所述存储模块中的数据分区中读取分配给所属核处理模块的程序网络段,并执行所述程序网络段以处理现场输入数据,并输出执行结果;
扫描监控模块,用于根据设置周期启动标志和周期完成标志控制所述执行模块在扫描周期内执行所述程序网络段。
较佳的,
所述主核处理模块还包括一时钟同步处理模块,用于当所述主核处理模块和所述加速核处理模块的周期启动标志均表现为扫描周期启动时,控制所述主核处理模块的执行模块和所述加速核处理模块执行模块同步开始执行网络段,以及当所述主核处理模块和所述加速核处理模块的周期完成标志均表现为扫描周期完成时,控制所述主核处理模块的执行模块和所述加速核处理模块的执行模块同步输出执行结果。
较佳的,所述主核处理模块还包括:
输入扫描模块,用于读入现场输入数据,并将所述现场输入数据发送给对应的核处理模块;
输出扫描模块,用于将所述主核处理模块和所述加速核处理模块输出的执行结果作为现场输出进行输出。
相应的,本发明实施例还提供一种用于可编程逻辑控制器的组态软件程序编译器,其将所述程序划分为多个的程序网络段,并将所述多个网络段分配给所述可编程逻辑控制器中的多核微处理器的主核处理模块和加速处理模块,该组态软件程序编译器包括:
编译模块,用于根据所述可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序;
网络划分模块,用于将所述编译模块编译好的编译程序划分为多个程序网络段,并通过不同的网络标识对所述多个程序网络段进行标识;
网络分配模块,用于提取所述各程序网络段中包括的变量,并按照设置的分配关系,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系;
程序下载模块,用于根据所述网络分配模块建立的所述变量、程序网络段以及核处理模块间的对应关系,将程序网络段下载给各核处理模块对应的存储模块中的数据分区中。
相应的,本发明实施例还提供一种用于可编程逻辑控制器的组态程序编译方法,该方法将程序划分为多个的程序网络段,并将所述多个网络段分配给所述多核微处理器的主核处理模块和加速核处理模块,该组态软件程序编译方法进一步包括:
步骤一:根据所述可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序;
步骤二:将所述编译好的编译程序划分为多个程序网络段,并通过不同的网络标识对所述程序网络段进行标识;
步骤三:提取所述各程序网络段中包括的变量,并按照设置的分配关系,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系;
步骤四:根据所述建立的所述变量、程序网络段以及核处理模块间的对应关系,将程序网络段下载给各核处理模块对应的存储模块中的数据分区中。
较佳的,
当所述主核处理模块和所述加速核处理模块的周期启动标志均表现为扫描周期启动时,所述主核处理模块和所述加速核处理模块同步开始执行分配给自身的程序网络段;
当所述主核处理模块和所述加速核处理模块的周期完成标志均表现为扫描周期完成时,所述主核处理模块和所述加速核处理模块同步输出执行结果。
较佳的,本发明的方法还包括:
所述可编程逻辑控制器的主核处理模块读入现场输入数据,并将所述现场输入数据发送给对应的核处理模块;
以及,
所述主核处理模块将所述主核处理模块和所述加速核处理模块输出的执行结果作为现场输出进行输出。
实施本发明实施例,具有如下有益效果:
本发明提供的可编程逻辑控制器包括多核微处理器,其将可编程逻辑控制器上编译的程序分配到主核处理模块和多个加速核处理模块分担执行,实现了对可编程逻辑控制器的编程语言进行并行执行的目的,相对于现有技术单核处理器的可编程逻辑控制器相比,提高了处理效率,节省了处理时间。另外,本发明在主核处理模块和多个加速核处理模块执行程序网络段时,设置有多核同步处理机制,即通过同时启动各核处理模块启动各自程序网络段的执行,并当各核执行完程序网络段后,同步输出执行结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中单核处理器PLC进行一次周期扫描的大体流程示意图;
图2是本发明的组态软件程序编译器的第一实施例的结构组成示意图;
图3是本发明的可编程逻辑控制器的第一实施例的结构组成示意图;
图4是本发明的可编程逻辑控制器的第二实施例的结构组成示意图;
图5是本发明的编译程序处理系统的第一实施例的结构组成示意图;
图6是本发明的编译程序处理系统的第二实施例的结构组成示意图;
图7是本发明的可编程逻辑控制器的数据处理方法的第一实施例流程示意图;
图8是本发明的可编程逻辑控制器的数据处理方法的第二实施例流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种组态软件程序编译器。其根据可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序并将所述程序划分为多个的程序网络段,并将所述多个网络段分配给所述多核微处理器的主核处理模块和加速核处理模块,进而实现了在可编程逻辑控制器中对可编程逻辑控制器的编程语言进行并行执行的目的,相对于现有技术单核处理器的可编程逻辑控制器相比,提高了处理效率,节省了处理时间。
下面结合附图2对和具体实施方式对本发明的组态软件程序编译器的内部结构进行详细说明。
如图2所示,本发明的组态软件程序编译器包括编译模块11、网络划分模块12、网络分配模块13以及程序下载模块14。其中:
编译模块11,用于根据所述可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序。具体实现中,可编程逻辑控制器支持的编程语言为梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)以及结构化文本语言(ST)中任一种。本发明主要针对采用梯形图语言(LD)编程的编译器(即运行在个人电脑上的组态软件)以及执行梯形图语言(LD)的可编程逻辑控制器。
网络划分模块12,用于将所述编译模块11编译好的编译程序划分为多个程序网络段,并通过不同的网络标识对所述程序网络段进行标识。具体实现中,所述程序网络段由网络划分模块12将需可编程逻辑控制器运行的编译程序进行分段而成。
网络分配模块13,用于提取所述各程序网络段中包括的变量,并按照设置的分配关系,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系。具体实现中,网络分配模块13可按照将包括相同变量的程序网络段分配给同一核处理模块的分配原理,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系。当然,具体实现中,网络分配模块13也可采用其他的分配原理建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系。比如,按照整体程序量和多核微处理器的核数,对程序量进行平均分配到各核处理模块中。具体实现中,编程语言包括多个变量,所述变量通过不同的符号进行表示,比如,变量Va、Vb、Vc等。同时,本发明对不同的网络段采用不同的网络标识进行标识,比如网络段1的网络标识可为N1,网络段2的网络标识可为N2等。另外,不同的核处理模块同样可以通过不同的标识进行标识,比如,主核处理模块可用P1标识,第一个加速核处理模块可用P2标识,第二个加速核处理模块可用P3标识,以此类推。因此,本发明的网络分配模块13可根据变量符号、网络标识以及核处理模块标识建立三者的对应关系。具体的,所述对应关系可通过建立表格的方式实现。比如,如表1所示为采用将包括相同变量的程序网络段分配给同一核处理模块的分配原理,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系后产生的对应表。另外,具体实现中,当建立变量、网络段以及多核微处理器中的核处理模块间的对应关系之后,还可根据所述对应关系建立核处理模块与分配给和处理模块的网络段的对应关系,比如,如表2所示。
表1:
网络标识 | 引用变量符号列表 | 核处理模块标识 | |
N1 | va,vb | P1 | |
N2 | va | P1 | |
N3 | vc | P2 | |
N4 | vb | P1 | |
N5 | vc | P2 | |
N6 | vd,ve | P3 | |
N7 | vf | P1 | |
N8 | vg | P2 | |
N9 | vg | P2 | |
N10 | vh,vi | P3 | |
N11 | vj | P3 | |
… | … | … |
表2
程序下载模块14,用于根据所述网络分配模块13建立的所述变量、程序网络段以及核处理模块间的对应关系,将程序网络段下载给各核处理模块对应的存储模块中的数据分区中。具体实现中,所述存储模块可为核处理模块内部的存储模块,也可为所述可编程逻辑控制器中独立于各核处理模块的存储模块。
另外,本发明实施例提供了一种可编程逻辑控制器,其包括多核微处理器和存储模块,所述多核微处理器进一步包括一主核处理模块和至少一个加速核处理模块;其中:所述主核处理模块,用于执行分配给所述主核处理模块的程序网络段,所述程序网络段由与该可编程逻辑控制器相连的组态软件程序编译器将需所述可编程逻辑控制器运行的编译程序进行分段而成;所述加速核处理模块,用于执行分配给所述加速核处理模块的程序网络段;存储模块,用于通过多个数据分区分别存储分配给所述主核处理模块和所述至少一个加速核处理模块的程序网络段。本发明提供的可编程逻辑控制器将可编程逻辑控制器上编译的程序分配到主核处理模块和多个加速核处理模块分担执行,实现了对可编程逻辑控制器的编程语言进行并行执行的目的,相对于现有技术单核处理器的可编程逻辑控制器相比,提高了处理效率,节省了处理时间。
下面结合附图3-4和具体实施方式对本发明的可编程逻辑控制器的内部结构进行详细说明。
图3是本发明的可编程逻辑控制器的第一实施例的结构组成示意图。如图2所示,本实施例的可编程逻辑控制器包括存储模块2和多核微处理器3,该实施例中,存储模块为独立于多核微处理器的存储模块,其中:
所述多核微处理器3包括一个主核处理模块30和至少一个加速核处理模块31(图中示出了两个加速核处理模块31)。其中:所述主核处理模块30包括输入扫描模块301、扫描监控模块302、执行模块303以及输出扫描模块304,所述加速核处理模块31包括扫描监控模块314和执行模块315。具体的:
所述输入扫描模块301,用于读入现场输入数据,并将所述现场输入数据发送给对应的核处理模块。
所述执行模块303,用于从所述存储模块2中的数据分区中读取所述程序下载模块14下载给所述主核处理模块30的程序网络段(比如读取表2所示的网络段N1、N2、N4或N7),并执行所述网络段以处理所述输入扫描模块301发送的现场输入数据。
所述扫描监控模块302,用于根据设置周期启动标志和周期完成标志控制所述执行模块303在扫描周期内执行网络段。具体实现中,所述周期启动标志和所述周期完成标志可为同一标识符或不同的标识符。当它们为同一标识符时,当所述标识符为0时,代表所述周期启动标志以及表现为扫描周期启动,当所述标识符为1(通常可称为置位)时,代表所述周期完成标志以及表现为扫描周期完成。当然,具体实现中,也可采用除0和1之外的数字或符号对周期启动标志和周期完成标志进行区分。而它们为不同的标识符时,可根据用户任意的定义规则进行区分,比如可设置两个标识符a和b,当a为1的时候可认为表现为扫描周期启动,当b为1的时候可认为表现为扫描周期完成。这样当主核处理模块30的扫描监控模块302中的周期启动标志表现为启动时,执行模块303开始执行网络段,当扫描监控模块302中的周期完成标志表现为扫描周期完成时,执行模块303输出执行结果。
所述执行模块315,用于所述存储模块2中的数据分区中读取所述程序下载模块14下载给所述执行模块315所属的加速核处理模块31(比如,加速核处理模块31为P2,则执行模块315读取表2所示的网络段N3、N5、N8或N9)的程序网络段,并执行所述程序网络段以处理所述输入扫描模块301发送的现场输入数据。
所述扫描监控模块314,用于根据设置周期启动标志和周期完成标志控制所述执行模块315在扫描周期内执行程序网络段。其标识符的设置规则可与扫描监控模块302类似,在此不进行赘述。这样当加速核处理模块31的扫描监控模块314中的周期启动标志表现为启动时,执行模块315开始执行程序网络段,当扫描监控模块314中的周期完成标志表现为扫描周期完成时,执行模块315输出执行结果。
所述输出扫描模块304,用于将所述主核处理模块30和所述加速核处理模块31输出的执行结果作为现场输出进行输出。
本实施例提供的可编程逻辑控制器将可编程逻辑控制器上编译的程序分配到主核处理模块和多个加速核处理模块分担执行,实现了对可编程逻辑控制器的编程语言进行并行执行的目的,相对于现有技术单核处理器的可编程逻辑控制器相比,提高了处理效率,节省了处理时间。
图4是本发明的可编程逻辑控制器的第二实施例的结构组成示意图。如图4所示,本实施例与图3所示的实施例的不同之处在于,所述主核处理模块30还包括一时钟同步处理模块306,用于当所述主核处理模块30和所述加速核处理模块31的周期启动标志均表现为扫描周期启动时,控制所述主核处理模块30的执行模块303和所述加速核处理模块31执行模块315同步开始执行程序网络段,以及当所述主核处理模块30和所述加速核处理模块31的周期完成标志均表现为扫描周期完成时,控制所述主核处理模块30的执行模块303和所述加速核处理模块31的执行模块315同步输出执行结果。除此之外,本实施例与图3所示的实施例相同,在此不进行赘述。
本实施例在实现图3所示实施例的效果的基础上,在主核处理模块和多个加速核处理模块执行网络段时,设置有多核同步处理机制,即通过同时启动各核处理模块启动各自网络段的执行,并当各核执行完网络段后,同步输出执行结果。
相应的,本发明提供一种编译程序处理系统,其包括本发明实施例的组态软件程序编译器和可编程逻辑控制器。具体的,图5和图6分别示出了本发明的编译程序处理系统的两种实施例结构组成示意图。图5所示的实施例由图2的组态软件程序编译器和图3所示的可编程逻辑控制器构成。图6所示的实施例由图2所示的组态软件程序编译器和图4所示的可编程逻辑控制器构成。
相应的,本发明实施例提供了一种可编程逻辑控制器的数据处理方法,其可通过本发明的编译程序处理系统实现。具体的,本发明的方法包括:组态软件程序编译器根据可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序并将所述程序划分为多个的程序网络段,并将所述多个网络段分配给所述多核微处理器的主核处理模块和加速核处理模块;所述可编程逻辑控制器的多核微处理器的主核处理模块和所述加速核处理模块执行分配给自身的程序网络段。本发明提供的可编程逻辑控制器的数据处理方法,其将可编程逻辑控制器上编译的程序分配到主核处理模块和多个加速核处理模块分担执行,实现了对可编程逻辑控制器的编程语言进行并行执行的目的,相对于现有技术单核处理器的可编程逻辑控制器相比,提高了处理效率,节省了处理时间。
下面结合附图7-8和具体实施方式对本发明的可编程逻辑控制器的数据处理方法进行详细说明。
图7是本发明的可编程逻辑控制器的数据处理方法第一实施例的流程示意图。如图4所示,本实施例的方法包括:
步骤S400,组态软件程序编译器根据所述可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序。具体实现中,可编程逻辑控制器支持的编程语言为梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)以及结构化文本语言(ST)中任一种。
步骤S401,组态软件程序编译器将所述编译好的编译程序划分为多个程序网络段,并通过不同的网络标识对所述程序网络段进行标识。
步骤S402,组态软件程序编译器提取所述各程序网络段中包括的变量,并按照设置的分配关系,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系;具体实现中,在步骤S402可按照将包括相同变量的程序网络段分配给同一核处理模块的分配原理,建立变量、网络段以及多核微处理器中的核处理模块间的对应关系。当然,具体实现中,也可采用其他的分配原理建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系。比如,按照整体程序量和多核微处理器的核数,对程序量进行平均分配到各核处理模块中。具体实现中,编程语言包括多个变量,所述变量通过不同的符号进行表示,比如,变量Va、Vb、Vc等。同时,本发明对不同的网络段采用不同的网络标识进行标识,比如网络段1的网络标识可为N1,网络段2的网络标识可为N2等。另外,不同的核处理模块同样可以通过不同的标识进行标识,比如,主核处理模块可用P1标识,第一个加速核处理模块可用P2标识,第二个加速核处理模块可用P3标识,以此类推。因此,本发明的可根据变量符号、网络标识以及核处理模块标识建立三者的对应关系。具体的,所述对应关系可通过建立表格的方式实现。比如,如表1所示为采用将包括相同变量的程序网络段分配给同一核处理模块的分配原理,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系后产生的对应表。另外,具体实现中,当建立变量、网络段以及多核微处理器中的核处理模块间的对应关系之后,还可根据所述对应关系建立核处理模块与分配给和处理模块的网络段的对应关系,比如,如表2所示。
步骤S403,组态软件程序编译器根据建立的所述变量、程序网络段以及核处理模块间的对应关系,将程序网络段下载给各核处理模块对应的存储模块中的数据分区中。具体实现中,所述存储模块可为核处理模块内部的存储模块,也可为所述可编程逻辑控制器中独立于各核处理模块的存储模块。
步骤S404,主核处理模块读入现场输入数据,并将所述现场输入数据发送给对应的核处理模块。
步骤S405,所述多核微处理器的主核处理模块和所述加速核处理模块根据设置的周期启动标志和周期完成标志,从用户数据存储区中读取下载给自身的程序网络段,并执行下载给自身的程序网络段以处理现场输入数据,并输出执行结果。具体实现中,在步骤S405主核处理模块和加速核处理模块将根据各自内部的周期启动标志的状态和周期完成标志的状态开始执行网络段或输出执行结果。具体实现中,所述周期启动标志和所述周期完成标志可为同一标识符或不同的标识符。当它们为同一标识符时,当所述标识符为0时,代表所述周期启动标志以及表现为扫描周期启动,当所述标识符为1(通常可称为置位)时,代表所述周期完成标志以及表现为扫描周期完成。当然,具体实现中,也可采用除0和1之外的数字或符号对周期启动标志和周期完成标志进行区分。而它们为不同的标识符时,可根据用户任意的定义规则进行区分,比如可设置两个标识符a和b,当a为1的时候可认为表现为扫描周期启动,当b为1的时候可认为表现为扫描周期完成。
步骤S406,所述主核处理模块将所述主核处理模块和所述加速核处理模块输出的执行结果作为现场输出进行输出。
本实施例提供的可编程逻辑控制器的数据处理方法将可编程逻辑控制器上编译的程序分配到主核处理模块和多个加速核处理模块分担执行,实现了对可编程逻辑控制器的编程语言进行并行执行的目的,相对于现有技术单核处理器的可编程逻辑控制器相比,提高了处理效率,节省了处理时间。
图8是本发明的可编程逻辑控制器的数据处理方法的第二实施例的流程示意图。如图8所示,本实施例的方法与图7所示实施例的不同之处在于,用不同S505替换步骤S405。具体的步骤S505如下:所述多核微处理器的主核处理模块和所述加速核处理模块根据设置的周期启动标志和周期完成标志,从用户数据存储区中读取下载给自身的程序网络段,并且,当所述主核处理模块和所述加速核处理模块的周期启动标志均表现为扫描周期启动时,所述主核处理模块和所述加速核处理模块同步开始执行下载给自身的程序网络段;当所述主核处理模块和所述加速核处理模块的周期完成标志均表现为扫描周期完成时,所述主核处理模块和所述加速核处理模块同步输出执行结果。除此之外,本实施例与图7所示实施例相同,在此不进行赘述。
本实施例在实现图7所示实施例的效果的基础上,在主核处理模块和多个加速核处理模块执行网络段时,设置有多核同步处理机制,即通过同时启动各核处理模块启动各自程序网络段的执行,并当各核执行完程序网络段后,同步输出执行结果。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (7)
1.一种可编程逻辑控制器,其特征在于,包括多核微处理器和存储模块,所述多核微处理器进一步包括一主核处理模块和至少一个加速核处理模块;其中:
所述主核处理模块,用于执行分配给所述主核处理模块的程序网络段,所述程序网络段由与该可编程逻辑控制器相连的组态软件程序编译器将需所述可编程逻辑控制器运行的编译程序进行分段而成;
所述加速核处理模块,用于执行分配给所述加速核处理模块的程序网络段;
存储模块,用于通过多个数据分区分别存储分配给所述主核处理模块和所述至少一个加速核处理模块的程序网络段;
其中,所述主核处理模块和所述加速核处理模块分别包括:
执行模块,用于从所述存储模块中的数据分区中读取分配给所属核处理模块的程序网络段,并执行所述程序网络段以处理现场输入数据,并输出执行结果;
扫描监控模块,用于根据设置周期启动标志和周期完成标志控制所述执行模块在扫描周期内执行所述程序网络段。
2.如权利要求1所述的可编程逻辑控制器,其特征在于,
所述主核处理模块还包括一时钟同步处理模块,用于当所述主核处理模块和所述加速核处理模块的周期启动标志均表现为扫描周期启动时,控制所述主核处理模块的执行模块和所述加速核处理模块执行模块同步开始执行网络段,以及当所述主核处理模块和所述加速核处理模块的周期完成标志均表现为扫描周期完成时,控制所述主核处理模块的执行模块和所述加速核处理模块的执行模块同步输出执行结果。
3.如权利要求1或2所述的可编程逻辑控制器,其特征在于,所述主核处理模块还包括:
输入扫描模块,用于读入现场输入数据,并将所述现场输入数据发送给对应的核处理模块;
输出扫描模块,用于将所述主核处理模块和所述加速核处理模块输出的执行结果作为现场输出进行输出。
4.一种用于权利要求1所述的可编程逻辑控制器的组态软件程序编译器,其将程序划分为多个的程序网络段,并将所述多个网络段分配给所述可编程逻辑控制器中的多核微处理器的主核处理模块和加速处理模块,该组态软件程序编译器包括:
编译模块,用于根据所述可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序;
网络划分模块,用于将所述编译模块编译好的编译程序划分为多个程序网络段,并通过不同的网络标识对所述多个程序网络段进行标识;
网络分配模块,用于提取所述各程序网络段中包括的变量,并按照设置的分配关系,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系;
程序下载模块,用于根据所述网络分配模块建立的所述变量、程序网络段以及核处理模块间的对应关系,将程序网络段下载给各核处理模块对应的存储模块中的数据分区中。
5.一种用于权利要求1所述的可编程逻辑控制器的组态程序编译方法,该方法将程序划分为多个的程序网络段,并将所述多个网络段分配给所述多核微处理器的主核处理模块和加速核处理模块,该组态程序编译方法进一步包括:
步骤一:根据所述可编程逻辑控制器支持的编程语言为所述可编程逻辑控制器编译程序;
步骤二:将所述编译好的编译程序划分为多个程序网络段,并通过不同的网络标识对所述多个程序网络段进行标识;
步骤三:提取所述各程序网络段中包括的变量,并按照设置的分配关系,建立变量、程序网络段以及多核微处理器中的核处理模块间的对应关系;
步骤四:根据所述建立的所述变量、程序网络段以及核处理模块间的对应关系,将程序网络段下载给各核处理模块对应的存储模块中的数据分区中。
6.如权利要求5所述的可编程逻辑控制器的组态程序编译方法,其特征在于,
当所述主核处理模块和所述加速核处理模块的周期启动标志均表现为扫描周期启动时,所述主核处理模块和所述加速核处理模块同步开始执行分配给自身的程序网络段;
当所述主核处理模块和所述加速核处理模块的周期完成标志均表现为扫描周期完成时,所述主核处理模块和所述加速核处理模块同步输出执行结果。
7.如权利要求5或6所述的可编程逻辑控制器的组态程序编译方法,其特征在于,还包括:
所述可编程逻辑控制器的主核处理模块读入现场输入数据,并将所述现场输入数据发送给对应的核处理模块;
以及,
所述主核处理模块将所述主核处理模块和所述加速核处理模块输出的执行结果作为现场输出进行输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110031786.XA CN102096390B (zh) | 2011-01-30 | 2011-01-30 | 可编程逻辑控制器、组态程序编译器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110031786.XA CN102096390B (zh) | 2011-01-30 | 2011-01-30 | 可编程逻辑控制器、组态程序编译器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102096390A CN102096390A (zh) | 2011-06-15 |
CN102096390B true CN102096390B (zh) | 2014-04-09 |
Family
ID=44129519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110031786.XA Active CN102096390B (zh) | 2011-01-30 | 2011-01-30 | 可编程逻辑控制器、组态程序编译器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102096390B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102608947B (zh) * | 2012-03-23 | 2013-09-18 | 浙江大学 | 一种可编程控制系统及组态程序控制方法 |
CN103529749B (zh) * | 2013-10-29 | 2017-07-25 | 威海麦科电气技术有限公司 | 一种plc可编程控制器的梯形图程序开发系统及方法 |
CN105487911B (zh) * | 2015-11-24 | 2018-07-06 | 无锡江南计算技术研究所 | 一种基于编译指导的众核数据分片方法 |
JP6879625B2 (ja) * | 2016-12-27 | 2021-06-02 | 東芝インフラシステムズ株式会社 | プログラマブルコントローラ、管理装置および制御システム |
CN108536526B (zh) * | 2017-03-02 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 一种基于可编程硬件的资源管理方法以及装置 |
CN110764460A (zh) * | 2018-07-25 | 2020-02-07 | 君泰创新(北京)科技有限公司 | 一种可编程逻辑控制器的预处理方法、控制方法及系统 |
CN109388609B (zh) * | 2018-09-30 | 2020-02-21 | 中科驭数(北京)科技有限公司 | 基于加速核的数据处理方法和装置 |
JP7024679B2 (ja) * | 2018-10-05 | 2022-02-24 | オムロン株式会社 | 開発支援プログラム、開発支援装置、および開発支援方法 |
CN109581925A (zh) * | 2018-12-05 | 2019-04-05 | 北京和利时系统工程有限公司 | 一种任务处理方法及装置、计算机可读存储介质 |
CN111552172B (zh) * | 2020-04-27 | 2023-12-15 | 浙江中控技术股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
CN112526921A (zh) * | 2020-12-15 | 2021-03-19 | 湖南戈人自动化科技有限公司 | 一种功能顺序图表达式编译方法 |
CN113341864A (zh) * | 2021-06-07 | 2021-09-03 | 重庆高新技术产业研究院有限责任公司 | 一种基于plc的控制相似性可逆向逻辑系统及其分析方法 |
CN113553061B (zh) * | 2021-09-22 | 2021-12-17 | 西安芯瞳半导体技术有限公司 | 一种提升源程序执行性能的方法、装置及计算机存储介质 |
CN114047727B (zh) * | 2021-11-10 | 2024-03-05 | 中国电信股份有限公司 | 控制方法、可编程逻辑控制器及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1046987A (zh) * | 1989-04-24 | 1990-11-14 | 横河电机株式会社 | 可编程控制器 |
US5594917A (en) * | 1992-10-19 | 1997-01-14 | Siemens Energy & Automation, Inc. | High speed programmable logic controller |
CN101169637A (zh) * | 2007-11-28 | 2008-04-30 | 北京安控自动化股份有限公司 | 一种可编程控制器的核心单元及其使用方法 |
EP1973017A2 (de) * | 2007-03-22 | 2008-09-24 | Abb Ag | Sicherheitsgerichtete speicherprogrammierte Steuerung |
CN101673102A (zh) * | 2009-09-24 | 2010-03-17 | 上海奈凯电子科技有限公司 | 一种数控机床系统中plc控制端口的方法 |
-
2011
- 2011-01-30 CN CN201110031786.XA patent/CN102096390B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1046987A (zh) * | 1989-04-24 | 1990-11-14 | 横河电机株式会社 | 可编程控制器 |
US5594917A (en) * | 1992-10-19 | 1997-01-14 | Siemens Energy & Automation, Inc. | High speed programmable logic controller |
EP1973017A2 (de) * | 2007-03-22 | 2008-09-24 | Abb Ag | Sicherheitsgerichtete speicherprogrammierte Steuerung |
CN101169637A (zh) * | 2007-11-28 | 2008-04-30 | 北京安控自动化股份有限公司 | 一种可编程控制器的核心单元及其使用方法 |
CN101673102A (zh) * | 2009-09-24 | 2010-03-17 | 上海奈凯电子科技有限公司 | 一种数控机床系统中plc控制端口的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102096390A (zh) | 2011-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102096390B (zh) | 可编程逻辑控制器、组态程序编译器及方法 | |
CN104111912A (zh) | 用于支持处理器的多模式的设备和方法 | |
CN106940553B (zh) | 基于工业互联网操作系统的工业流程控制管理方法及装置 | |
CN106095376B (zh) | 一种快速组态监控画面的实现方法 | |
CN112988153A (zh) | 基于微前端的数据处理方法及框架 | |
CN106293859A (zh) | 基于控制器的软件升级或烧录方法、装置和系统 | |
CN107505851B (zh) | 基于Rinsim平台的Ovation控制仿真系统及仿真方法 | |
EP2557500A2 (en) | Embedded multi-processor parallel processing system and operating method for same | |
CN103019794A (zh) | 一种嵌入式多程序文件离线批量烧写方法 | |
CN103327080A (zh) | 创建物联网控制系统的方法及装置 | |
CN104915293A (zh) | 软件测试方法及系统 | |
RU2019128044A (ru) | Программируемая логическая схема для управления электрической установкой, в частности ядерной установкой, ассоциированная с устройством и способом управления | |
CN104915213A (zh) | 一种可重构系统的局部重构控制器 | |
CN102902526B (zh) | 一种通过延时实现bmc及ip信息的自动化设置方法 | |
CN110460473B (zh) | 组态软件的通信配置方法、装置和计算机可读存储介质 | |
CN111158800B (zh) | 基于映射关系构建任务dag的方法及装置 | |
CN116366121A (zh) | 一种卫星遥控指令码生成方法及装置 | |
CN105224327B (zh) | 一种嵌入式装置变量交换传输地址离线分配方法 | |
CN112732556B (zh) | 分布式系统的自动化测试方法、装置、设备及存储介质 | |
CN102508691B (zh) | 一种图形语言程序的有序分解方法及有序分解器 | |
CN113031967A (zh) | 一种代码转换方法及装置 | |
US20150236901A1 (en) | Control system management apparatus | |
Prayati et al. | A methodology for the development of distributed real-time control applications with focus on task allocation in heterogeneous systems | |
CN105241011A (zh) | 空调群控系统开发装置和方法 | |
CN104503765A (zh) | 一种连续功能图编程方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |