数据通信方法、OPCUA服务器、通信系统和存储介质与流程

文档序号:33184878发布日期:2023-02-04 06:03阅读:117来源:国知局
数据通信方法、OPCUA服务器、通信系统和存储介质与流程
数据通信方法、opc ua服务器、通信系统和存储介质
技术领域
1.本发明涉及信息技术领域,尤指一种数据通信方法、opc ua服务器、opc ua通信系统和存储介质。


背景技术:

2.随着工业互联网4.0到来,万物互连逐渐成为自动化领域的未来的发展趋势。众所周知,在工业自动化系统中,来自不同厂商的设备都遵循各自的数据通讯标准和协议,因此要真正实现设备之间的数据联通异常困难。
3.作为opc基金会提供的opc(object linking and embedding(ole)for process control,用于过程控制的对象链接和嵌入)数据采集协议的后继标准协议,opc ua(opc unified architecture,opc统一架构)协议实现了不同自动化行业厂家的设备和应用程序能够相互交互数据,消除硬件平台和自动化软件互操作性的障碍,建立了opc ua软件互操作性标准。opc ua技术独立于平台,实现了所有opc classic功能,并确保了来自不同厂商的信息的无缝传输。
4.当前,来自于不同厂商的设备多数是通过构建opc ua服务器实现数据通信:首先,会通过上位机软件构建以xml格式存储的信息模型,并将该模型数据下发给opc ua服务器,opc ua服务器通过解析信息模型节点就可以获取到数据属性信息,opc ua服务器根据该数据属性信息,即可从主控制器获取数据信息。opc ua客户端可通过浏览、读写、订阅等功能实时监测到外设数据信息。由此可见,在与opc ua客户端交互的时候,opc ua服务器容易交互响应慢。


技术实现要素:

5.为了解决上述技术问题,本发明提供了一种数据通信方法和opc ua服务器、opc ua通信系统和存储介质,其能够提高opc ua服务器在与opc ua客户端交互时的交互响应速度。
6.为了达到本发明目的,本发明实施例提供了一种数据通信方法,应用于opc ua协议通信;该数据通信方法包括:
7.由opc ua服务器从上位机接收以二进制格式传输的数据信息模型文件;
8.由opc ua服务器解析数据信息模型文件,以获取数据信息属性;其中,数据信息属性用于传递给opc ua服务器所连接的主控制器,以使主控制器根据数据信息属性获取外设采集的节点数据信息。
9.在一个特定实施例中,在至少传递过一次数据信息属性给主控制器之后,该方法还包括:opc ua服务器周期性地获取由主控制器根据数据信息属性从对应的外设采集的节点数据信息,以更新在opc ua服务器中存储的外设的节点数据信息。
10.在一个特定实施例中,数据信息属性用于主控制器根据数据信息属性周期性地从对应外设采集节点数据信息,并依次排序存储节点数据信息。
11.在一个特定实施例中,该方法还包括:opc ua服务器在收到opc ua客户端的读取请求后,根据读取请求从相应的地址空间获取所保存的节点数据信息,并返回给opc ua客户端。
12.在一个特定实施例中,在由opc ua服务器解析数据信息模型文件,以获取数据信息属性之后,该方法还包括:opc ua服务器在其双口随机存取存储器中存储数据信息属性;其中,双口随机存取存储器的第一套总线连接于opc ua服务器的主板,双口随机存取存储器的第二套总线连接于opc ua服务器所连接的主控制器,以供主控制器通过第二套总线从双口随机存取存储器获取数据信息属性。
13.在一个特定实施例中,当收到opc ua客户端对于节点数据信息的操作的时候,由opc ua服务器根据操作找到对应的数据信息属性,将找到的数据信息属性和操作里携带的修改后的节点数据信息传递给主控制器,以供主控制器进行节点数据信息的刷新和/或对相应外设的控制。
14.在一个特定实施例中,二进制格式的数据信息模型文件是由上位机将xml格式的数据信息模型文件通过xml2bin工具转换成的。
15.为了达到本发明目的,本发明实施例提供了一种opc ua服务器,包括:处理器和存储器;
16.存储器用于保存用于进行数据通信的程序;
17.处理器用于读取执行用于进行数据通信的程序,进行如上述任一实施例的数据通信方法。
18.为了达到本发明目的,本发明实施例提供了一种存储介质,存储有计算机可执行指令;该计算机可执行指令用于在被读取执行时,进行如上述任一项的数据通信方法。
19.为了达到本发明目的,本发明实施例提供了一种opc ua通信系统,包括:opc ua客户端、主控制器、上位机以及外设;
20.opc ua通信系统还包括上述实施例中的opc ua服务器。
21.通过由opc ua服务器接收以二进制格式传输的数据信息模型文件,以及opc ua服务器解析二进制格式的数据信息模型文件,opc ua服务器可以更快地解析数据信息模型文件,因此主控制器可以更早地根据数据信息模型文件获取外设采集的节点数据信息,opc ua服务器可以更早地以节点数据信息反馈opc ua客户端,从而提高了opc ua服务器的交互响应速度。
22.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
23.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
24.图1为本发明实施例提供的数据通信方法的流程图;
25.图2示出本发明实施例提供的opc ua服务器的框图;
26.图3示出本发明实施例提供的opc ua通信系统的框图。
具体实施方式
27.为使本技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。
28.在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
29.当前,来自于不同厂商的设备多数是通过构建opc ua服务器实现数据通信:首先,会通过上位机软件构建以xml格式存储的信息模型,并将该模型数据下发给opc ua服务器,opc ua服务器通过解析信息模型节点就可以获取到数据属性信息,opc ua服务器根据该数据属性信息,即可从主控制器获取数据信息。opc ua客户端可通过浏览、读写、订阅等功能实时监测到外设数据信息。由此可见,opc ua服务器在与opc ua客户端交互的时候容易造成opc ua服务器交互响应慢。
30.为了解决上述技术问题,本发明实施例提供了一种数据通信方法。如图1所示,该方法包括步骤s101-s103。
31.步骤s101:由opc ua服务器从上位机接收以二进制格式传输的数据信息模型文件。
32.步骤s103:由opc ua服务器解析二进制格式的数据信息模型文件,以获取数据信息属性。其中,数据信息属性用于传递给opc ua服务器所连接的主控制器,以使主控制器根据数据信息属性获取外设采集的节点数据信息。
33.为了更详细地阐述上述数据通信方法,图3示出了opc ua通信系统的框图。图3中包括opc ua客户端201、上位机203、opc ua服务器205、主控制器207以及外设209。其中,opc ua客户端201数据连接opc ua服务器205,opc ua服务器205数据连接上位机203,并且opc ua服务器205还数据连接主控制器207,主控制器207通过i/o接口数据连接外设209。
34.在此,opc ua客户端201可以是专用客户端设备,也可以是安装在通用计算机设备上的客户端程序。opc ua客户端201用于接收用户的输入,以及通过浏览、订阅、读写等方式从opc ua服务器获取到外设数据信息,并将其反馈给用户。
35.在此,上位机203是指可以直接发出操控命令的计算机或单片机,例如个人电脑、主控计算机以及行业专用上位机等。具体到工业过程控制领域,在与下位机(例如opc ua服务器205)通信时,上位机可以采用rs232串行通信或者采用rs485串行通信,此外还可以采用更适合工业控制的双线的profibus-dp通信。
36.在此,该数据信息属性可以但不限于是所要获取的节点数据信息的标识,例如“字段”或者“key”,比如“电压”;而节点数据信息类似于“值”或“value”,比如“5v”。因此主控制器根据opc ua服务器提供的数据信息属性,就可以获取到相应的节点数据信息。
37.在执行上述数据通信方法的时候,opc ua服务器205从上位机203接收以二进制格式传输的数据信息模型文件。opc ua服务器205解析该数据信息模型文件,以获取数据信息属性。opc ua服务器205在获取到数据信息属性之后,将数据信息属性传递给opc ua服务器205所连接的主控制器207,以使主控制器207根据数据信息属性获取外设209采集的节点数据信息。在上位机203处,数据信息模型文件是以xml格式构建的文件。在相关技术中,上位
机203将xml格式的数据信息模型文件传输给opc ua服务器205。由于xml是一种可扩展标记语言,即简单的数据存储语言,使用一系列简单的标记描述数据,因此,当数据量大的时候,将xml格式的数据信息模型文件传输给opc ua服务器205将会导致传输时间长、丢包、粘包等问题,并且opc ua服务器205需要占用更大的内存空间来存储该数据信息模型文件。
38.根据本发明的实施例,opc ua服务器205从上位机203接收以二进制格式传输的数据信息模型文件。由于所有xml元素的标签、属性名称、属性值和内容所涉及到的字符串都会被统一收集到一个字符串资源池中去,并且会去重。有了这个字符串资源池,原来使用字符串的地方就会被替换成一个索引到字符串资源池的整数值,从而可以减少文件的大小,因此二进制格式的数据信息模型文件占用空间更小,并且减少了在传输xml格式的数据信息模型文件时的传输时间长、丢包、粘包等问题的发生。
39.此外,由opc ua服务器解析二进制格式的数据信息模型文件,以获取数据信息属性。由于二进制格式的xml元素里面不再包含有字符串值,因此就避免了进行字符串解析,从而提高解析速度,因此,opc ua服务器205在解析二进制格式的数据信息模型文件时的解析速度更快。
40.通过由opc ua服务器接收以二进制格式传输的数据信息模型文件,以及opc ua服务器解析二进制格式的数据信息模型文件,opc ua服务器可以更快地解析数据信息模型文件,因此主控制器可以更早地根据数据信息模型文件获取外设采集的节点数据信息,opc ua服务器可以更早地以节点数据信息反馈opc ua客户端,从而提高了opc ua服务器的交互响应速度。
41.在一个特定实施例中,该方法还包括:在opc ua服务器至少传递过一次数据信息属性给主控制器之后,由opc ua服务器周期性地获取由主控制器根据数据信息属性从对应的外设采集的节点数据信息,以更新在opc ua服务器中存储的外设的节点数据信息。
42.在该实施例中,opc ua服务器可以向主控制器传递过一次或更多次数据信息属性,也就是说,主控制器已经接收到数据信息属性一次或者更多次,并且根据最新一次接收到的数据信息属性从外设采集节点数据信息(即,根据接收到的数据信息属性从外设采集到的最新的节点数据信息)。由于opc ua服务器周期性地获取到由主控制器根据最新一次接收到的数据信息属性从外设采集节点数据信息,因此,opc ua服务器通过周期性地获取,所获取到的节点数据信息始终是最新的外设节点数据信息。通过这种方式,opc ua服务器在接收到opc ua客户端的获取节点数据信息的请求的时候,opc ua服务器能够立即向opc ua客户端反馈节点数据信息,因此能够加快opc ua服务器在与opc ua客户端交互时的交互响应速度。
43.在一个特定实施例中,数据信息属性用于主控制器根据数据信息属性周期性地从对应外设采集节点数据信息,并依次排序存储节点数据信息。
44.由于主控制器周期性地根据数据信息属性从外设采集节点数据信息,并且并依次排序存储节点数据信息,因此当opc ua服务器需要从主控制器获取节点数据信息时,opc ua服务器可以直接获取到主控制器通过周期性采集而获得的更新的数据。主控制器不必在opc ua服务器需要获取节点数据信息时再向外设获取节点数据信息。通过这种方式,可以加快opc ua服务器获取更新的节点数据信息的速率,因此能够加快opc ua服务器在与opc ua客户端交互时的交互响应速度。
45.在一个特定实施例中,opc ua服务器在收到opc ua客户端的读取请求后,根据读取请求从相应的地址空间获取所保存的节点数据信息,并返回给opc ua客户端。
46.由于opc ua服务器通过上述实施例中的步骤获取到更新的节点数据信息,因此,当opc ua服务器收到opc ua客户端的读取请求时,opc ua服务器可以不必从主控制器获取节点数据信息,而是可以根据读取请求将opc ua服务器的相应地址空间中保存的节点数据信息反馈给opc ua客户端。
47.在一个特定的实施例中,在由opc ua服务器解析数据信息模型文件,以获取数据信息属性的步骤之后,该方法还包括:opc ua服务器在其双口随机存取存储器中存储数据信息属性;其中,双口随机存取存储器的第一套总线连接于opc ua服务器的主板,双口随机存取存储器的第二套总线连接于opc ua服务器所连接的主控制器,以供主控制器通过第二套总线从双口随机存取存储器获取数据信息属性。
48.具体来说,双口随机存取存储器包括两套总线,其中,每套总线包括地址总线、数据总线以及控制线,在上述实施例中,双口随机存取存储器通过第一套总线中的地址总线、数据总线以及控制线连接opc ua服务器,存储数据信息属性;双口随机存取存储器通过第二套总线中的地址总线、数据总线以及控制线连接主控制器,从而使主控制器直接从双口随机存取存储器获取到数据信息属性。通过上述配置,opc ua服务器和主控制器可以分时访问双口随机存取存储器,共享双口随机存取存储器的存储空间。因此,主控制器可以更早地根据数据信息模型文件获取外设采集的节点数据信息,opc ua服务器可以更早地以节点数据信息反馈opc ua客户端,从而提高了opc ua服务器的交互响应速度。
49.在一个特定的实施例中,该方法还包括:当收到opc ua客户端对于节点数据信息的操作的时候,由opc ua服务器根据该操作找到对应的数据信息属性,将找到的数据信息属性和操作里携带的修改后的节点数据信息传递给主控制器,以供主控制器进行节点数据信息的刷新和/或对相应外设的控制。
50.在一个特定实施例中,二进制格式的数据信息模型文件是由上位机将xml格式的数据信息模型文件通过xml2bin工具转换成的。更具体地,上位机通过上位机安装的软件构建以xml格式存储的数据信息模型,并且该上位机软件还集成了xml2bin工具,该xml2bin工具将xml格式的数据信息模型转换成二进制格式的数据信息模型文件。
51.为了解决上述技术问题,本发明实施例还提供了一种opc ua服务器。如图2所示,opc ua服务器包括处理器10和存储器20。
52.存储器10用于保存用于进行数据通信的程序;
53.处理器20用于读取执行用于进行数据通信的程序,进行如上述任一实施例中的数据通信方法。
54.为了解决上述技术问题,本发明实施例还提供了一种存储介质,存储有计算机可执行指令;该计算机可执行指令用于在被读取执行时,进行如上述任一实施例中的数据通信方法。
55.为了解决上述技术问题,本发明实施例还提供了一种opc ua通信系统,包括:opc ua客户端201、上位机203、opc ua服务器205、主控制器207以及外设209,其中,opc ua服务器205为上述任一实施例中的opc ua服务器。
56.在一个特定实施例中,opc ua服务器205还被设置为:在解析数据信息模型文件,
以获取数据信息属性之后,opc ua服务器205在其双口随机存取存储器中存储数据信息属性;其中,双口随机存取存储器的第一套总线连接于opc ua服务器205的主板,双口随机存取存储器的第二套总线连接于opc ua服务器205所连接的主控制器,主控制器通过第二套总线从双口随机存取存储器获取数据信息属性。
57.在一个特定实施例中,opc ua服务器205还被设置为:在主控制器通过第二套总线从双口随机存取存储器获取数据信息属性之后,opc ua服务器205周期性地或者根据opc ua客户端的读取请求获取由主控制器根据数据信息属性从对应的外设采集的节点数据信息,以更新在opc ua服务器205中存储的外设的节点数据信息。
58.在一个特定实施例中,二进制格式的数据信息模型文件是由上位机将xml格式的数据信息模型文件通过xml2bin工具转换成的。
59.虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1