一种基于组态元件的分布式控制器之间的数据共享方法转让专利

申请号 : CN201710035217.X

文献号 : CN106647412B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑松刘朝儒陈松彬林旭熊华锋黄碧琴李贝贝郑蓉

申请人 : 爱普(福建)科技有限公司

摘要 :

本发明提供一种基于组态元件的分布式控制器之间的数据共享方法,在各个分布式控制器内设置共享内存,通过共享元件,判定哪些数据进入共享内存,并与其他分布式控制器节点进行数据同步;所述共享元件直接与分布式控制器IO通道关联,共享元件的内部数据存储于对应分布式控制器指定的共享内存区域;直接参与控制逻辑的组态编程过程,共享元件的实时值动态地呈现在组态画面中,通过共享元件实现对指定共享数据的获取和输出;每个分布式控制器节点的共享数据通过广播通信的方式同步到其他节点中对应的共享内存存储区。本发明有效地提高控制器间数据共享的灵活程度,也可减少不必要的数据共享对系统网络负荷、控制器性能的影响。

权利要求 :

1.一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:在各个分布式控制器内设置共享内存,通过共享元件,判定哪些数据进入共享内存,并与其他分布式控制器节点进行数据同步;所述共享元件直接与分布式控制器IO通道关联,共享元件的内部数据存储于对应分布式控制器指定的共享内存区域;共享元件通过图形元件有序连接的方式,直接参与控制逻辑的组态编程过程,共享元件的实时值动态地呈现在组态画面中,通过共享元件实现对指定共享数据的获取和输出,且共享数据透明,能在线监测;每个分布式控制器节点的共享数据通过广播通信的方式同步到其他节点中对应的共享内存存储区。

2.根据权利要求1所述的一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:所述组态元件是执行模拟量或逻辑量操作的控制功能模块,多个元件之间的有序连接形成系统的逻辑组态程序,不同类型的元件通过元件符号标识来区分,多个同类型的元件通过元件下标号来区分;所述组态元件包括输入元件、输出元件、策略元件以及共享元件;所述输入元件、输出元件、策略元件用于编写常规的逻辑组态程序;所述共享元件包括共享输入元件和共享输出元件。

3.根据权利要求2所述的一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:所述共享输入元件和共享输出元件:均包括模拟量输入/输出元件、数字量输入/输出元件、中间模拟量输入/输出元件和中间数字量输入/输出元件;所述中间模拟量/数字量输入元件位于输入侧,可将内部数据传递至策略元件或输出元件;所述中间模拟量/数字量输出元件位于输出侧,用于读取和存储中间逻辑的计算结果;所述共享输入元件和共享输出元件:均能加入到逻辑组态画面中参与逻辑组态程序的编辑;逻辑组态程序运行时,均能在组态画面中动态地显示自身的实时数据;在逻辑组态的过程中,同类的元件都会自动地生成唯一的下标号。

4.根据权利要求2所述的一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:所述共享输入/输出元件是与工业控制系统中对应控制器的IO通道关联,并与控制器中特定的物理共享内存地址相对应;通过共享输入/输出元件,操作人员能自主地选择特定的数据载入共享内存,并与其他分布式控制器进行数据交互;所述共享输入/输出元件与普通的输入/输出元件在内存分配存储上按照分区的方式进行管理和区分,每个分区在控制器内存中均有开辟对应的存储区域与之对应。

5.根据权利要求1所述的一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:控制器层中多个分布式控制器间的数据共享方式如下:对每个控制器节点配置全局共享内存区域,所述全局共享内存区域包含所有分布式控制器节点的共享数据信息,即每个控制器节点的全局共享内存区域既包含本地节点提供的共享数据,也包含源自其他节点的共享数据;

采用物理内存统一编址的方式,对所有分布式控制器的全局共享内存区域进行定义;

所述共享内存的数据同步策略是各个控制器节点的共享数据采用广播通信的方式,同步到其他节点中全局共享内存区域相应的物理内存地址上,同时执行周期性数据刷新操作。

6.根据权利要求2所述的一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:所述方法中共享数据是通过共享输入元件从对应分布式控制器的共享内存中获取,具体为:S1、编辑逻辑组态程序,确定需要接收共享数据的组态元件M;

S2、采用图形元件有序连接的组态方式,拖动共享输入元件到逻辑组态画面,连接到所述组态元件M中;

S3、配置所述共享输入元件的关联信息,链接到对应的控制器指定的共享内存地址上;

S4、运行逻辑组态程序,从所述指定的共享内存地址处周期性地读取实时共享数据,动态地更新到逻辑组态画面中,并将其实时值显示在共享输入元件的一侧。

7.根据权利要求2所述的一种基于组态元件的分布式控制器之间的数据共享方法,其特征在于:所述方法中共享数据是通过共享输出元件写入到对应分布式控制器的共享内存相应区域,具体为:S1、编辑逻辑组态程序,选择需要共享数据的组态元件N,将其输出数据作为共享数据;

S2、采用图形元件有序连接的组态方式,拖动共享输入元件到逻辑组态画面,连接到所述组态元件N中;

S3、配置共享输出元件的关联信息,链接到对应控制器指定的共享内存地址上;

S4、运行逻辑组态程序,将共享输出元件的实时数据传送并存储到所述指定的共享内存地址;

S5、将所述指定的共享内存地址中的共享数据周期性地同步到其他控制器节点相应的内存区域。

说明书 :

一种基于组态元件的分布式控制器之间的数据共享方法

技术领域

[0001] 本发明涉及工业自动化控制技术领域,尤其涉及一种基于组态元件的分布式控制器之间的数据共享方法。

背景技术

[0002] 复杂工业控制系统通常采用分布式的网络架构将现场传感器、控制器及执行器有效地集合,使得区域内不同地址的工作站之间可以实现资源共享和协同操作。由于复杂系统的控制问题复杂、控制器节点繁多,如何利用分布式通信网络实现地域上分布的各个物理控制单元之间信息和控制信号的有效共享是该领域面临的一项重要问题。针对这一问题,现有的控制系统往往出于用户友好界面的考虑,会将数据共享的代码任务屏蔽掉,仅为工程师提供控制应用程序开发的功能。然而随着控制系统功能日趋复杂化、并行程序开发等新需求的出现,控制工程师们所关心的问题已发生了转变,他们不仅仅关心控制算法的设计和组态等控制应用的开发,也极其注重复杂控制程序的数据同步及其通信效率。
[0003] 对于分布式控制器之间的数据共享,现有技术中控制系统开发商所提供的组态软件工具通常使用广播通信的技术手段对局域网内控制器间的所有全局变量及其实时数据执行数据同步更新,这种方式的主要缺点在于:
[0004] 1、存在许多不必要的网络通信,特别是针对复杂的控制任务和并行的控制任务,大规模控制节点间不当的数据共享后所带来的问题是数据传输量增加导致网络时延增大,进而造成系统整体控制性能下降,实时性降低,甚至影响控制系统的正常运行。
[0005] 2、数据共享的功能模块已预先集成在组态软件中,工程师只能通过指定特定的网段或控制器节点的IP地址来介入数据共享配置,其操作自主程度和灵活性仍不理想。

发明内容

[0006] 本发明要解决的技术问题,在于提供一种基于组态元件的分布式控制器之间的数据共享方法,解决现有技术中工程师难以灵活配置分布式控制器之间的数据共享策略,以及控制器间的数据共享对系统网络负荷、控制器性能影响大的技术问题;有效地提高控制器间数据共享的灵活程度,也可减少不必要的数据共享对系统网络负荷、控制器性能的影响。
[0007] 本发明是这样实现的:一种基于组态元件的分布式控制器之间的数据共享方法,在各个分布式控制器内设置共享内存,通过共享元件,判定哪些数据进入共享内存,并与其他分布式控制器节点进行数据同步;所述共享元件直接与分布式控制器IO通道关联,共享元件的内部数据存储于对应分布式控制器指定的共享内存区域;共享元件通过图形元件有序连接的方式,直接参与控制逻辑的组态编程过程,共享元件的实时值动态地呈现在组态画面中,通过共享元件实现对指定共享数据的获取和输出,且共享数据透明,能在线监测;每个分布式控制器节点的共享数据通过广播通信的方式同步到其他节点中对应的共享内存存储区。
[0008] 进一步的,所述组态元件是执行模拟量或逻辑量操作的控制功能模块,多个元件之间的有序连接形成系统的逻辑组态程序,不同类型的元件通过元件符号标识来区分,多个同类型的元件通过元件下标号来区分;所述组态元件包括输入元件、输出元件、策略元件以及共享元件;所述输入元件、输出元件、策略元件用于编写常规的逻辑组态程序;所述共享元件包括共享输入元件和共享输出元件。
[0009] 进一步的,所述共享输入元件和共享输出元件:均包括模拟量输入/输出元件、数字量输入/输出元件、中间模拟量输入/输出元件和中间数字量输入/输出元件;所述中间模拟量/数字量输入元件位于输入侧,可将内部数据传递至策略元件或输出元件;所述中间模拟量/数字量输出元件位于输出侧,用于读取和存储中间逻辑的计算结果;所述共享输入元件和共享输出元件:均能加入到逻辑组态画面中参与逻辑组态程序的编辑;逻辑组态程序运行时,均能在组态画面中动态地显示自身的实时数据;在逻辑组态的过程中,同类的元件都会自动地生成唯一的下标号。
[0010] 进一步的,所述共享输入/输出元件是与工业控制系统中对应控制器的IO通道关联,并与控制器中特定的物理共享内存地址相对应;通过共享输入/输出元件,操作人员能自主地选择特定的数据载入共享内存,并与其他分布式控制器进行数据交互;所述共享输入/输出元件与普通的输入/输出元件在内存分配存储上按照分区的方式进行管理和区分,每个分区在控制器内存中均有开辟对应的存储区域与之对应。
[0011] 进一步的,控制器层中多个分布式控制器间的数据共享方式如下:对每个控制器节点配置全局共享内存区域,所述全局共享内存区域包含所有分布式控制器节点的共享数据信息,即每个控制器节点的全局内存共享区域既包含本地节点提供的共享数据,也包含源自其他节点的共享数据;
[0012] 采用物理内存统一编址的方式,对所有分布式控制器的全局内存共享区域进行定义;所述共享内存的数据同步策略是各个控制器节点的共享数据采用广播通信的方式,同步到其他节点中全局内存共享区域相应的物理内存地址上,同时执行周期性数据刷新操作。
[0013] 进一步的,所述方法中共享数据是通过共享输入元件从对应分布式控制器的共享内存中获取,具体为:S1、编辑逻辑组态程序,确定需要接收共享数据的组态元件M;
[0014] S2、采用图形元件有序连接的组态方式,拖动共享输入元件到逻辑组态画面,连接到所述组态元件M中;
[0015] S3、配置所述共享输入元件的关联信息,链接到对应的控制器指定的共享内存地址上;
[0016] S4、运行逻辑组态程序,从所述指定的共享内存地址处周期性地读取实时共享数据,动态地更新到逻辑组态画面中,并将其实时值显示在共享输入元件的一侧。
[0017] 进一步的,所述方法中共享数据是通过共享输出元件写入到对应分布式控制器的共享内存相应区域,具体为:S1、编辑逻辑组态程序,选择需要共享数据的组态元件N,将其输出数据作为共享数据;
[0018] S2、采用图形元件有序连接的组态方式,拖动共享输入元件到逻辑组态画面,连接到所述组态元件N中;
[0019] S3、配置共享输出元件的关联信息,链接到对应控制器指定的共享内存地址上;
[0020] S4、运行逻辑组态程序,将共享输出元件的实时数据传送并存储到所述指定的共享内存地址;
[0021] S5、将所述指定的共享内存地址中的共享数据周期性地同步到其他控制器节点相应的内存区域。
[0022] 本发明具有如下优点:1、工程师能够自主地决定哪些控制器、哪些数据参与分布式数据共享,从而有效地避免因不当的数据共享所造成的网络负荷增大、控制性能显著降低等问题;
[0023] 2、数据共享操作简单灵活,符合工程师的组态编程习惯,并且通信数据高度透明,可视化程度高,支持在线监测。

附图说明

[0024] 下面参照附图结合实施例对本发明作进一步的说明。
[0025] 图1为本发明的分布式控制器间的数据共享方法的原理图。
[0026] 图2为本发明共享数据的获取方法流程示意图。
[0027] 图3为本发明共享数据的输出方法流程示意图。

具体实施方式

[0028] 请参阅图1至图3所示,一种基于组态元件的分布式控制器之间的数据共享方法,在各个分布式控制器内设置共享内存,通过共享元件,判定哪些数据进入共享内存,并与其他分布式控制器节点进行数据同步;所述共享元件直接与分布式控制器IO通道关联,共享元件的内部数据存储于对应分布式控制器指定的共享内存区域;共享元件通过图形元件有序连接的方式,直接参与控制逻辑的组态编程过程,共享元件的实时值动态地呈现在组态画面中,通过共享元件实现对指定共享数据的获取和输出,且共享数据透明,能在线监测;每个分布式控制器节点的共享数据通过广播通信的方式同步到其他节点中对应的共享内存存储区。
[0029] 本发明的一种面向组态数据的共享元件的设计方法,用于连接用户编写的控制逻辑和所对应的控制器的共享内存。
[0030] 具体功能特征如下:
[0031] 1、所述组态元件是执行模拟量或逻辑量操作的控制功能模块,多个元件之间的有序连接形成系统的逻辑组态程序,不同类型的元件通过元件符号标识来区分,多个同类型的元件通过元件下标号来区分。所述组态元件包括输入元件、输出元件、策略元件和共享元件。所述输入元件、输出元件、策略元件用于编写常规的逻辑组态程序。所述共享元件是一种特殊的组态元件,包括共享输入元件和共享输出元件。
[0032] 2、所述共享输入/输出元件和普通的输入/输出元件的相同点:
[0033] ①均包括模拟量输入/输出元件、数字量输入/输出元件、中间模拟量输入/输出元件和中间数字量输入/输出元件;所述中间模拟量/数字量输入元件位于输入侧,可将内部数据传递至策略元件或输出元件;所述中间模拟量/数字量输出元件位于输出侧,用于读取和存储中间逻辑的计算结果。
[0034] ②均可加入到逻辑组态画面中参与逻辑组态程序的编辑;
[0035] ③逻辑组态程序运行时,均可在组态画面中动态地显示自身的实时数据;
[0036] ④在逻辑组态的过程中,同类的元件都会自动地生成唯一的下标号;
[0037] 例如,第101号加法运算器元件可表示为ADD 101,其对应的控制器也将为其分配相应的内存空间。
[0038] 3、所述共享输入/输出元件和普通的输入/输出元件的不同之处在于:
[0039] ①所述普通的输入/输出元件是与系统工艺设备对应的IO数据点关联,负责从现场工艺设备或设备仿真模型中读取/输出实时控制数据,该部分数据并不完全参与分布式控制器的数据共享;
[0040] ②所述共享输入/输出元件是与系统中对应控制器的IO通道关联,并与控制器中特定的物理共享内存地址相对应。通过共享输入/输出元件,工程师可以自主地选择特定的数据载入共享内存,并与其他分布式控制器进行数据交互。
[0041] ③所述共享输入/输出元件与普通的输入/输出元件在内存分配存储上按照分区的方式进行管理和区分,每个分区在控制器内存中均有开辟对应的存储区域与之对应。
[0042] 例如,可以将所有的输入/输出元件按照A-Z 26个字母符号进行分区,并指定S区为共享输入/输出元件的存储区域,其余分区用于存储普通的输入/输出元件相应的数据,可提供S区数据用于数据共享。进一步的,AO 003可以用于表示第003号普通的模拟量输出元件;AOS 005可以用于表示第005号S区模拟量输出元件,即第005号模拟量共享输出元件。
[0043] (二)、本发明提供的基于组态元件的分布式控制器之间的数据共享方法,另一主要特征在于:采用图形元件有序连接的组态方式,通过共享输入和输出元件实现对指定共享数据的获取和输出,且共享数据透明可见,能够在线监测。
[0044] 具体实现方法如下:
[0045] 1、本发明中控制器层多个分布式控制器间的数据共享方法如下:
[0046] ①对每个控制器节点配置全局共享内存区域,所述全局共享内存区域包含所有分布式控制器节点的共享数据信息,即每个控制器节点的全局共享内存区域既包含本地节点提供的共享数据,也包含源自其他节点的共享数据。
[0047] ②采用物理内存统一编址的方法,对所有分布式控制器的全局共享内存区域进行定义。
[0048] ③所述共享内存的数据同步策略是各个控制器节点的共享数据采用广播通信的方式,同步到其他节点中全局共享内存区域相应的物理内存地址上,同时执行周期性数据刷新操作。
[0049] 2、本发明中指定共享数据是通过共享输入元件从对应控制器的共享内存中获取的。
[0050] 具体步骤方法如下:
[0051] S1、编辑逻辑组态程序,确定需要接收共享数据的组态元件M;
[0052] 以图1为例,策略元件B’001即为待接收共享数据的组态元件。
[0053] S2、采用图形元件有序连接的组态方式,拖动共享输入元件到逻辑组态画面,连接到所述组态元件M中;
[0054] S3、配置所述共享输入元件的关联信息,链接到对应的控制器指定的共享内存地址上;
[0055] 以图1为例,将工作站K中的共享输入元件“SI 001”关联到控制器节点K上节点1所对应的共享内存地址,即可实现对控制器节点1共享数据的共享配置;
[0056] S4、运行逻辑组态程序,从所述指定的共享内存地址处周期性地读取实时共享数据,动态地更新到逻辑组态画面中,并将其实时值显示在共享输入元件的一侧。
[0057] 3、本发明中指定共享数据是通过共享输出元件写入到对应控制器的共享内存相应区域的。
[0058] 具体步骤方法如下:
[0059] S1、编辑逻辑组态程序,选择需要共享数据的组态元件N,将其输出数据作为共享数据;
[0060] S2、采用图形元件有序连接的组态方式,拖动共享输入元件到逻辑组态画面,连接到所述组态元件N中;
[0061] 以图1为例,策略元件B 001和输入元件D’002即为提供共享数据的组态元件。
[0062] S3、配置共享输出元件的关联信息,链接到对应控制器指定的共享内存地址上;
[0063] 以图1为例,将工作站1中的共享输出元件“SO 001”关联到控制器节点1中用于存储节点1共享数据的内存区域,即可实现对策略元件B 001数据的共享配置;将工作站K中的共享输出元件“SO’002”关联到控制器节点K中用于存储节点K共享数据的内存区域,即可实现对输入元件D’002数据的共享配置。
[0064] S4、运行逻辑组态程序,将共享输出元件的实时数据传送并存储到所述指定的共享内存地址;
[0065] S5、将所述指定的共享内存地址中的共享数据周期性地同步到其他控制器节点相应的内存区域。
[0066] 总之,本发明不仅继承了广播通信数据同步方法的优点,同时也克服了现有技术的上述不足。该方法中不同物理控制器间的数据共享策略是通过组态元件的方式在上位机中操作实现的,工程师能够更加自主地决定信息共享策略,选择指定的数据在多控制器节点间进行数据交互,这种方式不仅可以有效地提高控制器间数据共享的灵活程度,也可减少不必要的数据共享对系统网络负荷、控制器性能的影响。
[0067] 虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。