DCS控制器间通讯数据生成方法和系统、设备及存储介质转让专利

申请号 : CN202111335499.8

文献号 : CN113778041B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈江王利国李辉程阳陈丰翟亮晶潘乐刘畅冯震震

申请人 : 西安热工研究院有限公司中国华能集团有限公司华能国际电力股份有限公司

摘要 :

本发明提供一种DCS控制器间通讯数据生成方法、系统、设备及存储介质,包括获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件;获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。本发明保证控制器间引用点队列中数据信息的准确性及逻辑功能块中数据值的有效性,提高了组态运算效率,维护了系统运行的稳定性及可靠性。

权利要求 :

1.一种DCS控制器间通讯数据生成方法,其特征在于,包括以下步骤:获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;

对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件,更新组态配置文件对象中的控制器间引用点逻辑功能块中的变量;

获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;

根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值;

所述根据组态下装标记更新解析工具端新下装的组态配置文件,具体为:根据新下装的组态配置文件页号定位至所述组态配置文件对象中,并将组态配置文件对象中相同的数据项拷贝至新下装的组态配置文件中;

拷贝完成并以新下装的组态配置文件页号为索引,删除控制器间引用点注册队列中与新下装的组态配置文件页号相关的所有控制器间引用点信息,并将组态下装标记置1,记录本次更新的组态配置文件页号;

将新下装的组态配置文件中的内容拷贝至本地控制器内存中的新下装的组态配置文件页号对应的组态配置文件对象处;

所述更新组态配置文件对象中的控制器间引用点逻辑功能块中的变量,具体包括:当组态下装标记为1时,判断控制器间引用点逻辑功能块所在的组态配置文件页号与上一步骤中存储的更新的组态配置文件页号是否相同:若相同,则将控制器间引用点逻辑功能块中的变量清0;

若不同,则对变量不做处理;

所述根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值,具体包括:在周期运算任务开始之前,本地控制器根据控制器间引用点注册队列中的通讯数据信息向源端控制器请求通讯数据信息,本地控制器获取到源端控制器返回的通讯数据的数据信息后,先将通讯数据的数据信息存储至本地;通讯数据信息包含通讯数据值及通讯数据在源端控制器中的组态配置文件中的数据偏移;

在控制器间引用点逻辑功能块运算时,本地控制器将存储至本地的通讯数据的数据值和通讯数据在源端控制器中的组态配置文件中的数据偏移填写至控制器间引用点逻辑功能块的数据区处,并判断通讯数据的数据偏移是否有效:若通讯数据的数据偏移无效,将控制器间引用点逻辑功能块的输出值品质置为无引用源端,并上送至工具端;

若引用点的数据偏移有效,则正常输出请求过来的通讯数据的数据值。

2.根据权利要求1所述的DCS控制器间通讯数据生成方法,其特征在于,所述根据组态下装标记更新解析工具端新下装的组态配置文件之前还包括:对所述组态配置文件进行预解析后,将本地控制器中的组态下装标记置1,按时序进入周期算法任务后,检测组态下装标记:如果组态下装标记为1,则本地控制器更新解析工具端新下装的组态配置文件;如果组态下装标记为0,则不更新。

3.根据权利要求1所述的DCS控制器间通讯数据生成方法,其特征在于,所述删除控制器间引用点注册队列中与新下装的组态配置文件页号相关的所有控制器间引用点信息,具体包括:

获取本地控制器中控制器间引用点注册队列中存储的已经注册的最大通讯数据点数偏移量;将控制器间引用点注册队列中次大通讯数据点数偏移量置零;

从0开始遍历控制器间引用点注册队列中已注册的通讯数据,直至最大通讯数据点数偏移量结束;

判断遍历到的通讯数据所属组态配置文件页号是否为新下装的组态配置文件页号:若否,将本次遍历次数赋给次大通讯点数偏移量并开始遍历下一个通讯数据;

若是,将所述通讯数据在控制器间引用点注册队列中的相关信息全部置零,将本地控制器中存储的控制器间通讯点数减1,并判断遍历次数是否已到达最大通讯点数偏移量:若否,则遍历控制器间引用点注册队列中下一个通讯数据;

若是,将次小点数偏移量的值赋给最大点数偏移量的值。

4.根据权利要求1所述的DCS控制器间通讯数据生成方法,其特征在于,依据所述变量的变量值在本地控制器中注册控制器间通讯数据之前还包括:判断控制器间引用点逻辑功能块中所述变量的变量值;

若变量值为1,则控制器间引用点逻辑功能块对应的通讯数据已经生成,不需要在本地控制器中注册;

若变量值为0,则依据控制器间引用点逻辑功能块中存储的基本信息在本地控制器中注册控制器间通讯数据,注册完成后,将变量值置1,本地控制器中则生成控制器间通讯数据。

5.根据权利要求1所述的DCS控制器间通讯数据生成方法,其特征在于,所述控制器间引用点逻辑功能块中存储的基本信息包括:通讯数据的测点标签名、通讯数据所属的源端控制器编号、通讯数据所在源端控制器中的组态配置文件页号以及通讯数据在本地控制器中所属组态配置文件数据区的数据偏移。

6.根据权利要求1所述的DCS控制器间通讯数据生成方法,其特征在于,所述依据所述变量的变量值在本地控制器中注册控制器间通讯数据,具体包括:将控制器间引用点逻辑功能块中存储的通讯数据的基本信息压入本地控制器中控制器间引用点注册队列,选择在控制器间引用点注册队列中按照以下方法填值:在控制器间引用点注册队列可容纳的最大点数之内遍历控制器间引用点注册队列,若控制器间引用点注册队列中当前被遍历的位置没被占用,则在当前位置压入控制器间引用点逻辑功能块中存储的引用点的引用信息,注册成功后更新本地控制器中存储的引用控制器的引点数。

7.一种DCS控制器间通讯数据生成系统,其特征在于,基于权利要求1‑6任一项所述DCS控制器间通讯数据生成方法,系统包括:获取模块,用于获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;

预解析和更新模块,用于对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件,更新组态配置文件对象中的控制器间引用点逻辑功能块中的变量;

注册通讯模块,用于获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;

输出模块,用于根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。

8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1‑6任一项所述DCS控制器间通讯数据生成方法的步骤。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑6任一项所述DCS控制器间通讯数据生成方法的步骤。

说明书 :

DCS控制器间通讯数据生成方法和系统、设备及存储介质

技术领域

[0001] 本发明属于控制器数据处理技术领域,具体涉及一种DCS控制器间通讯数据生成方法和系统、设备及存储介质。

背景技术

[0002] 分布式控制系统(Distributed Control System,简称DCS)是一种专门设计的控制系统,用于控制工业过程中复杂,大型的应用。控制器是分布式控制系统的大脑,控制着
在地理上分布在控制区域的各个部分,并执行各种设备的控制算法和配置,处理和工程PC
之间的网络通信,其通过单工或冗余配置来实现以更好地控制复杂过程的性能。控制器的
可靠性、稳定性及高时效性是分布式控制系统的高可靠性、灵活性、协调性和稳定性的保
障,因此控制器中任何一种功能的设计和实现必须以可靠性、稳定性和高时效性为前提。
[0003] 随着工业自动化控制水平的不断提高,分布式控制系统中的逻辑组态文件计算过程复杂且对过程控制器间进行数据交互的需求也越来越大,多个过程控制器间数据交互的
逻辑也并不简单,因此在解析逻辑组态文件时,如何对控制器间通讯数据进行高效注册并
显示是一个急需解决的问题。

发明内容

[0004] 为了解决以上问题,本发明提供了一种DCS控制器间通讯数据生成方法和系统、设备及存储介质。该方法能够解析控制器间引用逻辑并对控制器间通讯数据进行注册,删除
和实时显示。
[0005] 为达到上述目的,本发明采用了以下技术方案:
[0006] 一种DCS控制器间通讯数据生成方法,包括以下步骤:
[0007] 获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;
[0008] 对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件,更新组
态配置文件对象中的控制器间引用点逻辑功能块中的变量;
[0009] 获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;
[0010] 根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。
[0011] 作为本发明的进一步改进,所述根据组态下装标记更新解析工具端新下装的组态配置文件之前还包括:
[0012] 对所述组态配置文件进行预解析后,将本地控制器中的组态下装标记置1,按时序进入周期算法任务后,检测组态下装标记:
[0013] 如果组态下装标记为1,则本地控制器更新解析工具端新下装的组态配置文件;如果组态下装标记为0,则不更新。
[0014] 作为本发明的进一步改进,所述根据组态下装标记更新解析工具端新下装的组态配置文件,具体为:
[0015] 根据新下装的组态配置文件页号定位至所述组态配置文件对象中,并将组态配置文件对象中相同的数据项拷贝至新下装的组态配置文件中;
[0016] 拷贝完成并以新下装的组态配置文件页号为索引,删除控制器间引用点注册队列中与新下装的组态配置文件页号相关的所有控制器间引用点信息,并将组态下装标记置1,
记录此次更新的组态配置文件页号;
[0017] 将新下装的组态配置文件中的内容拷贝至本地控制器内存中的新下装的组态配置文件页号对应的组态配置文件对象处。
[0018] 作为本发明的进一步改进,所述删除控制器间引用点注册队列中与新下装的组态配置文件页号相关的所有控制器间引用点信息,具体包括:
[0019] 获取本地控制器中控制器间引用点注册队列中存储的已经注册的最大通讯数据点数偏移量;将控制器间引用点注册队列中次大通讯数据点数偏移量置零;
[0020] 从0开始遍历控制器间引用点注册队列中已注册的通讯数据,直至最大通讯数据点数偏移量结束;
[0021] 判断遍历到的通讯数据所属组态配置文件页号是否为新下装的组态配置文件页号:
[0022] 若否,将本次遍历次数赋给次大通讯点数偏移量并开始遍历下一个通讯数据;
[0023] 若是,将所述通讯数据在控制器间引用点注册队列中的相关信息全部置零,将本地控制器中存储的控制器间通讯点数减1,并判断遍历次数是否已到达最大通讯点数偏移
量:
[0024] 若否,则遍历控制器间引用点注册队列中下一个通讯数据;
[0025] 若是,将次小点数偏移量的值赋给最大点数偏移量的值。
[0026] 作为本发明的进一步改进,所述更新组态配置文件对象中的控制器间引用点逻辑功能块中的变量,具体包括:
[0027] 当组态下装标记为1时,判断控制器间引用点逻辑功能块所在的组态配置文件页号与上一步骤中存储的更新的组态配置文件页号是否相同:
[0028] 若相同,则将控制器间引用点逻辑功能块中的变量清0;
[0029] 若不同,则对变量不做处理。
[0030] 作为本发明的进一步改进,依据所述变量的变量值在本地控制器中注册控制器间通讯数据之前还包括:
[0031] 判断控制器间引用点逻辑功能块中所述变量的变量值;
[0032] 若变量值为1,则控制器间引用点逻辑功能块对应的通讯数据已经生成,不需要在本地控制器中注册;
[0033] 若变量值为0,则依据控制器间引用点逻辑功能块中存储的基本信息在本地控制器中注册控制器间通讯数据,注册完成后,将变量值置1,本地控制器中则生成控制器间通
讯数据。
[0034] 作为本发明的进一步改进,所述控制器间引用点逻辑功能块中存储的基本信息包括:
[0035] 通讯数据的测点标签名、通讯数据所属的源端控制器编号、通讯数据所在源端控制器中的组态配置文件页号以及通讯数据在本地控制器中所属组态配置文件数据区的数
据偏移。
[0036] 作为本发明的进一步改进,所述依据所述变量的变量值在本地控制器中注册控制器间通讯数据,具体包括:
[0037] 将控制器间引用点逻辑功能块中存储的通讯数据的基本信息压入本地控制器中控制器间引用点注册队列,选择在控制器间引用点注册队列中按照以下方法填值:
[0038] 在控制器间引用点注册队列可容纳的最大点数之内遍历控制器间引用点注册队列,若控制器间引用点注册队列中当前被遍历的位置没被占用,则在当前位置压入控制器
间引用点逻辑功能块中存储的引用点的引用信息,注册成功后更新本地控制器中存储的引
用控制器的引点数。
[0039] 作为本发明的进一步改进,所述根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值,具体包括:
[0040] 在周期运算任务开始之前,本地控制器根据控制器间引用点注册队列中的通讯数据信息向源端控制器请求通讯数据信息,本地控制器获取到源端控制器返回的通讯数据的
数据信息后,先将通讯数据的数据信息存储至本地;通讯数据信息包含通讯数据值及通讯
数据在源端控制器中的组态配置文件中的数据偏移;
[0041] 在控制器间引用点逻辑功能块运算时,本地控制器将存储至本地的通讯数据的数据值和通讯数据在源端控制器中的组态配置文件中的数据偏移填写至控制器间引用点逻
辑功能块的数据区处,并判断通讯数据的数据偏移是否有效:
[0042] 若通讯数据的数据偏移无效,将控制器间引用点逻辑功能块的输出值品质置为无引用源端,并上送至工具端;
[0043] 若引用点的数据偏移有效,则正常输出请求过来的通讯数据的数据值。
[0044] 一种DCS控制器间通讯数据生成系统,包括:
[0045] 获取模块,用于获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;
[0046] 预解析和更新模块,用于对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装
的组态配置文件,更新组态配置文件对象中的控制器间引用点逻辑功能块中的变量;
[0047] 注册通讯模块,用于获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;
[0048] 输出模块,用于根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。
[0049] 一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述DCS控制器间通讯数据
生成方法的步骤。
[0050] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述DCS控制器间通讯数据生成方法的步骤。
[0051] 本发明的有益效果体现在:
[0052] 本发明通过由程序自身根据组态配置来进行增删减通讯数据操作,减少了工程人员的负担;在更新组态配置文件之前先进行删除控制器间通讯数据的操作,当检测到本地
控制器中进行过更新组态配置文件操作,则需要在运行控制器间模拟量引用点逻辑功能块
NAI和控制器间开关量引用点逻辑功能块NDI时进行注册控制器间通讯数据的操作,注册完
后本地控制器才可根据注册的通讯数据的信息与其他控制器进行通讯请求并将请求来的
通讯数据的数据信息存储至本地,减少了对实时运算任务的扰动;在正式运算控制器间模
拟量引用点逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI时,才将存储至本地的
通讯数据的数据信息加载至控制器间模拟量引用点逻辑功能块NAI和逻辑功能块NDI的输
出项处,并对加载过来的通讯数据的数据信息进行合理性分析,以保证控制器间引用点队
列中通讯数据信息的准确性及控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引
用点逻辑功能块NDI中数据值的有效性,从而高了组态运算效率,维护了系统运行的稳定性
及可靠性。

附图说明

[0053] 图1为本发明DCS控制器间通讯数据生成方法的流程图;
[0054] 图2本发明优选实施例的删除控制器间引用点注册队列中与该POU页页号相关的点信息步骤;
[0055] 图3为DCS控制器间通讯数据生成系统结构示意图;
[0056] 图4为电子设备结构示意图。

具体实施方式

[0057] 下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0058] 以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含
义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的
示例性实施方式。
[0059] 如图1所示,本发明一种DCS控制器间通讯数据生成方法,包含以下步骤:
[0060] 获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;
[0061] 对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件,更新组
态配置文件对象中的控制器间引用点逻辑功能块中的变量;
[0062] 获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;
[0063] 根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。
[0064] 本发明通过由程序自身根据组态配置来进行增删减通讯数据操作,减少了工程人员的负担;在更新组态配置文件之前先进行删除控制器间通讯数据的操作,当检测到本地
控制器中进行过更新组态配置文件操作,则需要在运行控制器间模拟量引用点逻辑功能块
NAI和控制器间开关量引用点逻辑功能块NDI时进行注册控制器间通讯数据的操作,注册完
后本地控制器才可根据注册的通讯数据的信息与其他控制器进行通讯请求并将请求来的
通讯数据的数据信息存储至本地,减少了对实时运算任务的扰动。本发明保证控制器间引
用点队列中数据信息的准确性及逻辑功能块中数据值的有效性,提高了组态运算效率,维
护了系统运行的稳定性及可靠性。
[0065] 下面结合具体实施例和附图对本发明进行详细说明。
[0066] 实施例
[0067] 如图1所示,本发明一种DCS控制器间通讯数据生成方法,包括以下步骤:
[0068] S1,获取工具端下装的组态配置文件,组态配置文件中配置控制器间引用点逻辑功能块;控制器按时序进入周期算法任务,判断本地控制器中是否接收到工具端更新下装
的对应周期算法任务的组态配置文件;
[0069] 其中,控制器间引用点逻辑功能块包含的变量有:
[0070] Enable:使能模块,变量类型为布尔;
[0071] TAG:源端测点名,变量类型为字符串;
[0072] DPU:源端控制器号,变量类型为整型,为所引用的点所在的源端控制器号;
[0073] PAGE:源端页号,变量类型为整型,为所引用的点所在的组态配置文件页号;
[0074] OUT:输出,变量类型为浮点型或者开关量,为所引用的点的值;
[0075] QA:品质,变量类型为布尔,代表此次索引是否成功。
[0076] RegOK:注册标记,变量类型为布尔,代表引用点在本地控制器中是否被注册过;
[0077] OffSet:远端数据偏移,变量类型为整型,代表引用点在源端控制器中的组态配置文件中的数据偏移量。
[0078] 控制器间引用点逻辑功能块包括控制器间模拟量引用点逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI,这两种功能块的变量种类相同,唯一的区别是OUT值的类
型,NAI的OUT的类型为浮点型,而NDI的OUT类型为开关量。
[0079] 工具端配置控制器间引用点,利用控制器间模拟量引用点逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI来配置,控制器间模拟量引用点逻辑功能块NAI可配置控
制器间模拟量引用点,控制器间开关量引用点逻辑功能块NDI可配置控制器间开关量引用
点。当希望引用别的控制器的数值时,在控制器间模拟量引用点逻辑功能块NAI或者控制器
间开关量引用点逻辑功能块NDI的变量处填入引用点的标签名即可。将配置好的组态文件
下装至控制器中,本地控制器开始注册控制器间引用点。
[0080] 工具端在组态配置文件中配置控制器间引用点逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI,控制器间模拟量引用点逻辑功能块NAI配置控制器间模拟量引用
点,逻辑功能块NDI配置控制器间开关量引用点;在配置时,需要在控制器间模拟量引用点
逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI的变量处填入期望与源端控制器
进行通讯的数据的测点标签名;在组态配置文件中根据测点标签名自动生成通讯数据所属
的源端控制器编号和通讯数据所在的源端控制器中组态配置文件页号。
[0081] S2,对配置文件进行预解析,根据预解析的组态下装标记更新解析工具端新下装的组态配置文件,并更新周期算法任务对应的组态配置文件中的逻辑功能块中的变量;
[0082] 作为优选实施例,控制器按时序进入周期算法任务,判断本地控制器中是否接收到工具端更新下装的对应周期算法任务的组态配置文件具体为:
[0083] 本地控制器接收到工具端下装的组态配置文件后,先对配置文件进行预解析,然后将本地控制器中的组态下装标记置1,本地控制器按时序进入周期算法任务后,首先检测
组态下装标记,如果组态下装标记为1,则本地控制器更新解析工具端新下装的组态配置文
件;否则,进行后续步骤;
[0084] 其中,如果组态下装标记为1,则本地控制器更新解析工具端新下装的组态配置文件具体为:
[0085] 将本地控制器内存中新下装的组态配置文件页号对应的组态配置文件对象中与新下装的组态配置文件中相同的数据项拷贝至新下装的组态配置文件中,拷贝完成后,以
新下装的组态配置文件页号为索引,删除控制器间引用点注册队列中与新下装的组态配置
文件页号相关的所有控制器间引用点信息,并将组态下装标记置1和记录此次更新组态配
置文件页号,最后将新下装的组态配置文件中的内容拷贝至本地控制器内存中的新下装的
组态配置文件页号对应的组态配置文件对象处。
[0086] 进一步,如图2所示,删除控制器间引用点注册队列中与新下装的组态配置文件页号相关的所有控制器间引用点信息具体包括:
[0087] 获取本地控制器中控制器间引用点注册队列中存储的已经注册的最大通讯数据点数偏移量;
[0088] 将控制器间引用点注册队列中次大通讯数据点数偏移量置零;
[0089] 在最大通讯数据点数偏移量内从0开始遍历在控制器间引用点注册队列中已注册的通讯数据;
[0090] 判断遍历到的通讯数据所属组态配置文件页号是否为新下装的组态配置文件页号;
[0091] 若否,将本次遍历次数赋给次大通讯点数偏移量并开始遍历下一个通讯数据;
[0092] 若是,将该通讯数据在控制器间引用点注册队列中的相关信息全部置零,将本地控制器中存储的控制器间通讯点数即控制器间引用点注册队列中的通讯数据数减1,并判
断遍历次数是否已到达最大通讯点数偏移量:
[0093] 若否,则遍历控制器间引用点注册队列中下一个通讯数据;
[0094] 若是,将次小点数偏移量的值赋给最大点数偏移量的值。
[0095] 作为优选实施例,更新周期算法任务对应的组态配置文件中的控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI逻辑功能块中的RegOK变量具
体为:
[0096] 当组态下装标记为1时,判断控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI所在的组态配置文件页号与上一步骤中存储的此次更新的组态
配置文件页号是否相同:
[0097] 相同,则将控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI中的RegOK变量清0;
[0098] 不同,则对RegOK变量不做处理。
[0099] S3,更新、获取该周期算法任务对应的组态配置文件中的控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI逻辑功能块中的RegOK变量,并依据
RegOK的值判断是否在本地控制器中注册控制器间通讯数据;
[0100] 作为优选实施例,获取该周期算法任务对应的组态配置文件中的控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI逻辑功能块中的RegOK变量,
并依据RegOK的值判断是否在本地控制器中注册控制器间通讯数据具体为:
[0101] 判断控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI中的RegOK的值,
[0102] 若RegOK = 1,则证明控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI对应的通讯数据已经生成,不需要在本地控制器中注册;
[0103] 若RegOK = 0,则需要依据控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI中存储的基本信息在本地控制器中注册控制器间通讯数据,注册
完成后,将RegOK置1,本地控制器中即可生成控制器间通讯数据。
[0104] 进一步,作为优化,控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI中存储的基本信息具体为:工具端在组态配置文件中配置控制器间引用
点逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI,逻辑功能块NAI配置控制器间
模拟量引用点,控制器间开关量引用点逻辑功能块NDI配置控制器间开关量引用点;在配置
时,需要在逻辑功能块NAI和控制器间开关量引用点逻辑功能块NDI的变量处填入期望与源
端控制器进行通讯的数据的测点标签名;在组态配置文件中根据测点标签名自动生成通讯
数据所属的源端控制器编号和通讯数据所在的源端控制器中组态配置文件页号,因此控制
器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI中存储的基本信
息包括通讯数据的测点标签名、通讯数据所属的源端控制器编号、通讯数据所在源端控制
器中的组态配置文件页号以及通讯数据在本地控制器中所属组态配置文件数据区的数据
偏移。
[0105] 其中,本地控制器中注册控制器间通讯数据具体包括:
[0106] 将控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI中存储的通讯数据的基本信息压入本地控制器中控制器间引用点注册队列,在将通讯数据
的基本信息压入本地控制器中控制器间引用点注册队列时,选择在注册队列中就近填值,
即在队列可容纳的最大点数之内遍历控制器间引用点注册队列,若控制器间引用点注册队
列中当前被遍历的位置没被占用则在当前位置压入控制器间模拟量引用点逻辑功能块
NAI、控制器间开关量引用点逻辑功能块NDI中存储的引用点的引用信息,注册成功后更新
本地控制器中存储的引用控制器的被引点数。
[0107] S4,根据注册控制器间通讯数据运算控制器间模拟量引用点逻辑功能块NAI、逻辑功能块NDI,生成控制器间引用点逻辑功能块的输出值。
[0108] 作为优选实施例,运算控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI,生成控制器间引用点逻辑功能块的输出值:
[0109] 在周期运算任务开始之前,本地控制器根据控制器间引用点注册队列中的通讯数据信息向源端控制器请求通讯数据信息,本地控制器获取到源端控制器返回的通讯数据的
数据信息后先将通讯数据的数据信息存储至本地,通讯数据信息包含通讯数据值及通讯数
据在源端控制器中的组态配置文件中的数据偏移;
[0110] 在控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块NDI运算时,本地控制器将存储至本地的通讯数据的数据值和通讯数据在源端控制器中的组态
配置文件中的数据偏移填写至控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引
用点逻辑功能块NDI的数据区处并判断通讯数据的数据偏移是否有效;如果通讯数据的数
据偏移无效,将控制器间模拟量引用点逻辑功能块NAI、控制器间开关量引用点逻辑功能块
NDI的输出值品质置为无引用源端并上送至工具端;若引用点的数据偏移校验通过则可正
常输出请求过来的通讯数据的数据值。
[0111] 引用点的数据信息,包含数据值和引用点在源端控制器中的组态配置文件中的数据偏移,引用点的数据偏移无效即引用点的数据偏移为负数或者等于65535。
[0112] 如图3所示,本发明的另一目的在于提出一种DCS控制器间通讯数据生成系统,包括:
[0113] 获取模块,用于获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;
[0114] 预解析和更新模块,用于对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装
的组态配置文件,更新组态配置文件对象中的控制器间引用点逻辑功能块中的变量;
[0115] 注册通讯模块,用于获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;
[0116] 输出模块,用于根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。
[0117] 如图4所示,本发明第三个目的是提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程
序时实现所述DCS控制器间通讯数据生成方法的步骤。
[0118] 图中,通讯接口用于接入外部设备,以获取数据。
[0119] 所述DCS控制器间通讯数据生成方法包含以下步骤:
[0120] 获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;
[0121] 对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件,更新组
态配置文件对象中的控制器间引用点逻辑功能块中的变量;
[0122] 获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;
[0123] 根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。
[0124] 本发明第四个目的是提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述DCS控制器间通讯数据生成方
法的步骤。
[0125] 所述DCS控制器间通讯数据生成方法包含以下步骤:
[0126] 获取工具端的组态配置文件,所述组态配置文件中配置有控制器间引用点逻辑功能块;
[0127] 对所述组态配置文件进行预解析;对预解析后的所述组态配置文件进行解析,得到组态配置文件对象;根据组态下装标记更新解析工具端新下装的组态配置文件,更新组
态配置文件对象中的控制器间引用点逻辑功能块中的变量;
[0128] 获取所述变量,依据所述变量的变量值在本地控制器中注册控制器间通讯数据;
[0129] 根据注册的控制器间通讯数据运算控制器间引用点逻辑功能块,生成控制器间引用点逻辑功能块的输出值。
[0130] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0131] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0132] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0133] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0134] 最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然
可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何
修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。