OPC通信方法及OPC通信系统与流程

文档序号:32061239发布日期:2022-11-04 23:14阅读:915来源:国知局
OPC通信方法及OPC通信系统与流程
opc通信方法及opc通信系统
技术领域
1.本发明涉及一种opc通信领域,具体涉及一种opc通信方法及opc通信系统。


背景技术:

2.opc全称是ole for process control,即用于过程控制的ole,是针对现场控制系统的一个工业标准接口,是工业控制和生产自动化领域中使用的硬件和软件的接口标准。在基于opc通信协议实现的都是标准opc接口通信,当网络故障或通信故障时,opc通信会失效,使得opc通信的可靠程度就会下降,且多数的通信模式为客户端/服务器模式,当主用线路与备用线路都出现异常的时候,服务器就无法与客户端进行通信。


技术实现要素:

3.本发明要解决的技术问题是为了克服现有技术中的主用线路与备用线路都出现异常的时候,服务器就无法与客户端进行通信的缺陷,提供一种opc通信方法及opc通信系统。
4.本发明是通过下述技术方案来解决上述技术问题:
5.本发明提供一种opc通信方法,该opc通信方法应用于opc通信网络,通信服务器通过第一链路以及第二链路与客户端连接,第一链路以及第二链路分别包括对应的中间服务器,该opc通信方法包括以下步骤:
6.当第一链路以及第二链路同时出现异常,所述第一链路或者所述第二链路的中间服务器接收所述客户端发送的通信请求数据,并生成中间响应数据反馈至所述客户端;
7.所述中间响应数据根据缓存数据以及所述通信请求数据所生成,所述缓存数据由中间服务器将所述通信服务器中的通信数据进行实时缓存。
8.优选地,opc通信方法还包括链路切换,具体包括以下步骤:
9.当第一链路出现异常,且第二链路正常,将第一链路切换为备用线路,将第二链路切换为主用链路;
10.当第二链路出现异常,且第一链路正常,将第一链路切换为主用链路,将第二链路切换为备用链路。
11.优选地,链路切换的步骤之后还包括以下步骤:
12.主用链路中的中间服务器接收通信服务器所发送的通信数据,并将通信数据转发至客户端;
13.主用链路中的中间服务器接收响应数据,并将响应数据转发至通信服务器;
14.其中,响应数据由客户端存储的客户端数据以及通信数据生成;
15.和/或,备用链路中的中间服务器接收通信服务器所发送的通信数据,并将通信数据进行存储。
16.优选地,第一链路中的中间服务器包括第一中间访问服务器以及第一中间事件服务器;通信服务器包括与第一中间访问服务器通信的第一访问通信服务器以及与第一中间
事件服务器通信的第一事件通信服务器;
17.第二链路中的中间服务器包括第二中间访问服务器以及第二中间事件服务器;通信服务器包括与第二访问通信服务器通信的第二访问通信服务器以及与第二中间事件服务器通信的第二事件通信服务器;
18.当第一中间访问服务器、第一中间事件服务器、第一访问通信服务器以及第一事件通信服务器中的任一个服务器出现异常,则确定第一链路出现异常;
19.当第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器中的任一个服务器出现异常,则确定第二链路出现异常。
20.优选地,确定链路异常的步骤具体包括以下步骤:
21.对第一中间访问服务器、第一中间事件服务器、第一访问通信服务器;第一事件通信服务器、第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器分别发送对应的心跳信号;
22.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据不符,则确定与预设心跳响应数据不符的服务器出现异常;
23.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据相符,则确定与预设心跳响应数据相符的服务器处于正常状态。
24.作为本发明的第二方面,本发明提供一种opc通信系统,opc通信系统应用于opc通信网络,系统包括:通信服务器、第一链路、第二链路以及客户端;
25.通信服务器通过第一链路以及第二链路与客户端连接,第一链路以及第二链路分别包括对应的中间服务器;
26.当第一链路以及第二链路同时出现异常,第一链路或者第二链路的中间服务器用于接收客户端发送的通信请求数据,并生成中间响应数据反馈至客户端;
27.中间响应数据根据缓存数据以及通信请求数据所生成,缓存数据由中间服务器将通信服务器中的通信数据进行实时缓存。
28.优选地,opc通信系统包括上位机;
29.当第一链路出现异常,且第二链路正常,上位机用于将第一链路切换为备用线路,将第二链路切换为主用链路;
30.当第二链路出现异常,且第一链路正常,上位机用于将第一链路切换为主用链路,将第二链路切换为备用链路。
31.优选地,主用链路中的中间服务器用于接收通信服务器所发送的通信数据,并将通信数据转发至客户端;
32.主用链路中的中间服务器还用于接收响应数据,并将响应数据转发至通信服务器;
33.其中,响应数据由客户端存储的客户端数据以及通信数据生成;
34.和/或,备用链路中的中间服务器用于接收通信服务器所发送的通信数据,并将通信数据进行存储。
35.优选地,opc通信系统包括心跳模块;
36.第一链路中的中间服务器包括第一中间访问服务器以及第一中间事件服务器;通信服务器包括与第一中间访问服务器通信的第一访问通信服务器以及与第一中间事件服
务器通信的第一事件通信服务器;
37.第二链路中的中间服务器包括第二中间访问服务器以及第二中间事件服务器;通信服务器包括与第二访问通信服务器通信的第二访问通信服务器以及与第二中间事件服务器通信的第二事件通信服务器;
38.当第一中间访问服务器、第一中间事件服务器、第一访问通信服务器以及第一事件通信服务器中的任一个服务器出现异常,心跳模块用于确定第一链路出现异常;
39.当第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器中的任一个服务器出现异常,心跳模块用于确定第二链路出现异常。
40.具体地,心跳模块用于对第一中间访问服务器、第一中间事件服务器、第一访问通信服务器;第一事件通信服务器、第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器分别发送对应的心跳信号;
41.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据不符,心跳模块确定与预设心跳响应数据不符的服务器出现异常;
42.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据相符,心跳模块确定与预设心跳响应数据相符的服务器处于正常状态。
43.本发明的积极进步效果在于:使用客户端/中间客户端服务器/服务器的模式,中间客户端服务器实施将客户端中的数据进行缓存,即使是两路链路都都出现异常的情况下,可以依靠中间客户端服务器中缓存的数据对完成通信。
附图说明
44.图1为本发明实施例1中opc通信方法的流程示意图。
45.图2为应用本发明实施例1中opc通信方法的opc通信网络的结构示意图。
46.图3为本发明实施例2中opc通信系统的结构示意图。
具体实施方式
47.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
48.实施例1
49.请参见图1,本实施例提供一种opc通信方法,该opc通信方法应用于opc通信网络。在该opc通信网络中,通信服务器通过第一链路以及第二链路与客户端连接,第一链路以及第二链路分别包括对应的中间服务器,该opc通信方法包括以下步骤:
50.s1、当第一链路以及第二链路同时出现异常;
51.s2、第一链路或者第二链路的中间服务器接收所述客户端发送的通信请求数据,并生成中间响应数据反馈至客户端;
52.中间响应数据根据缓存数据以及通信请求数据所生成,缓存数据由中间服务器将所述通信服务器中的通信数据进行实时缓存。
53.在本实施例中,当第一链路或者第二链路中的至少一个为正常时,其中一个链路的中间服务器就会将通信服务器中的通信数据转发至客户端,并将客户端所响应的响应数据通过原链路的中间服务器转发至通信服务器。当两个链路都出现异常的时候,由于中间
服务器会实时将通信服务器中的通信数据实施缓存为缓存数据。当两个链路同时出现异常时,第一链路或者第二链路的中间服务器就会接受客户端的通信请求数据,并根据通信请求数据以及缓存数据生成中间响应数据,并将中间响应数据反馈至客户端。
54.在本实施例中,在标准的opc通信网络中,当两条链路都出现异常的时候,就可以依靠中间服务器中的缓存数据进行通信,避免了两条链路都出现异常时,客户端无法使用的情况。
55.具体地,opc通信方法还可以包括链路切换,具体包括以下步骤:
56.当第一链路出现异常,且第二链路正常,将第一链路切换为备用线路,将第二链路切换为主用链路;
57.当第二链路出现异常,且第一链路正常,将第一链路切换为主用链路,将第二链路切换为备用链路。
58.在本实施例中,通过检测链路是否出现异常,当其中一个链路出现异常,一个链路处于正常状态,则将处于正常状态的链路切换为主用链路,将出现异常的链路切换为备用链路。
59.当两个链路都是正常时,主用链路可以选择其中一个链路,备用链路选择另外的链路。
60.在本实施例中,当两个链路中有一个链路出现异常,将出现异常的链路切换为备用链路,将正常的链路切换为主用链路。这就可以避免单个链路通信时,一旦链路出现问题,无法与客户端通信的情况。
61.具体地,链路切换的步骤之后还包括以下步骤:
62.主用链路中的中间服务器接收通信服务器所发送的通信数据,并将通信数据转发至客户端;
63.主用链路中的中间服务器接收响应数据,并将响应数据转发至通信服务器;
64.其中,响应数据由客户端存储的客户端数据以及通信数据生成;
65.和/或,备用链路中的中间服务器接收通信服务器所发送的通信数据,并将通信数据进行存储。
66.在本实施例中,在上述情况中,主用链路中的中间服务器的作用:1、将通信数据转发给客户端。2、将响应数据转发给通信服务器。3、将通信服务器中的通信数据进行实时存储,为两个链路同时出现异常做准备。备用链路的作用为:1、将通信数据存储。2、将客户端中的客户数据进行实时存储。
67.具体地,请参见图2,第一链路中的中间服务器可以包括第一中间访问服务器以及第一中间事件服务器;通信服务器可以包括与第一中间访问服务器通信的第一访问通信服务器以及与第一中间事件服务器通信的第一事件通信服务器;
68.第二链路中的中间服务器可以包括第二中间访问服务器以及第二中间事件服务器;通信服务器可以包括与第二访问通信服务器通信的第二访问通信服务器以及与第二中间事件服务器通信的第二事件通信服务器;
69.opc通信方法还可以包括确定链路异常,具体包括以下步骤:
70.当第一中间访问服务器、第一中间事件服务器、第一访问通信服务器以及第一事件通信服务器中的任一个服务器出现异常,则确定第一链路出现异常;
71.当第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器中的任一个服务器出现异常,则确定第二链路出现异常。
72.在本实施例中,第一访问通信服务器与第一中间访问服务器通信指的是第一访问通信服务器与第一中间访问服务器建立一对一的通信链接,不和其他服务器建立交叉通信链接(第一事件通信服务器、第二访问通信服务器以及第二事件通信服务器同理)。其中,第一访问通信服务器又可以叫做第一数据访问(opc data access,简称为opc da)服务器,在opc通信网络中,其发送的通信数据可以用来获取中间服务以及客户端的状态。第一事件通信服务器又可以称为第一报警和事件(opc alarm and event,简称为opc ae)服务器,其发送的通信数据可以用来传输获取客户端的数据。第一数据访问服务器和第一报警和事件服务器通过对客户端发送不同的通信数据,使得客户端能够得到满足需要的响应数据。在第二链路中的各个服务器同理,故在此不再赘述。
73.在本实施例中,平台软件可以分别对第一中间访问服务器、第一中间事件服务器、第一访问通信服务器、第一事件通信服务器、第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器进行分配网关节点。网关节点的形式可以是“gtw+a”,其中“a”可以是1~254范围内任一数字。在软件界面中,正常服务器的网关节点用绿色标识,异常的网关节点用红色表示。例如,第一访问通信服务器的网关节点是gtw10,第一事件通信服务器的网关节点是gtw20,第二访问通信服务器的网关节点是gtw30,第一事件通信服务器的网关节点是gtw40。在具体实施的时候,以第一链路中的第一访问通信服务器出现故障为例,当第一访问通信服务器出现异常,此时将第二访问服务器变为主用状态,与此同时由于第二访问服务器变为主用状态,第二链路中的其他服务器都切换为主用状态(此时第二链路切换为主用链路),此时第一链路中的所有服务器都变为备用状态(此时第一链路切换为备用链路)。
74.具体地,确定链路异常的步骤可以具体包括以下步骤:
75.对第一中间访问服务器、第一中间事件服务器、第一访问通信服务器;第一事件通信服务器、第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器分别发送对应的心跳信号;
76.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据不符,则确定与预设心跳响应数据不符的服务器出现异常;
77.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据相符,则确定与预设心跳响应数据相符的服务器处于正常状态。
78.在本实施例中,发送心跳信号的可以是心跳模块,在第一链路中,心跳模块可以分别位于第一中间访问服务器、第一中间事件服务器、第一访问通信服务器以及第一事件通信服务器中。第一中间访问服务器与第一访问通信服务器之间可相互发送心跳信号以及心跳响应数据(第一中间事件服务器以及第一事件通信服务器同理)。心跳预设响应数据可以是0。以第一中间访问服务器对第一访问通信服务器发送心跳信号为例,
79.当第一访问通信服务器出现异常的时候返回给第一中间访问服务器的信号就是一个非0的值(或者在预设时间段中没有收到心跳响应数据),第一中间访问服务器就确定该服务器出现异常,生成一个异常信号。此时第一中间访问服务器就会切换至备用状态,并将异常信号通过tcp/ip协议发送给第一访问通信服务器、第一访问通信服务器以及第一事
件通信服务器,当服务器接受到异常信号的时候,就会切换至备用状态。当第一中间访问服务器、第一中间事件服务器、第一访问通信服务器以及第一事件通信服务器中都切换为备用状态,第一链路可以认为是备用链路。
80.实施例2
81.本实施例提供一种opc通信系统,opc通信系统应用于opc通信网络,系统包括:通信服务器、第一链路、第二链路以及客户端;
82.通信服务器通过第一链路以及第二链路与客户端连接,第一链路以及第二链路分别包括对应的中间服务器;
83.当第一链路以及第二链路同时出现异常,第一链路或者所述第二链路的中间服务器用于接收客户端发送的通信请求数据,并生成中间响应数据反馈至客户端;
84.中间响应数据根据缓存数据以及通信请求数据所生成,缓存数据由中间服务器将通信服务器中的通信数据进行实时缓存。
85.请参见图3,图3是上述实施例中具体的一种实施例,通信服务器可以包括第一通信服务器以及第二通信服务器,第一通信服务器与第一轮链路的中间服务器连接;第二通信服务器与第二链路中的中间服务器连接。
86.具体地,opc通信系统可以包括上位机;
87.当第一链路出现异常,且第二链路正常,上位机用于将第一链路切换为备用线路,将第二链路切换为主用链路;
88.当第二链路出现异常,且第一链路正常,上位机用于将第一链路切换为主用链路,将第二链路切换为备用链路。
89.具体地,主用链路中的中间服务器可以用于接收通信服务器所发送的通信数据,并将通信数据转发至客户端;
90.主用链路中的中间服务器还用于接收响应数据,并将响应数据转发至通信服务器;
91.其中,响应数据由客户端存储的客户端数据以及通信数据生成;
92.和/或,备用链路中的中间服务器用于接收通信服务器所发送的通信数据,并将通信数据进行存储。
93.具体地,opc通信系统可以包括心跳模块;
94.第一链路中的中间服务器包括第一中间访问服务器以及第一中间事件服务器;通信服务器包括与第一中间访问服务器通信的第一访问通信服务器以及与第一中间事件服务器通信的第一事件通信服务器;
95.第二链路中的中间服务器包括第二中间访问服务器以及第二中间事件服务器;通信服务器包括与第二访问通信服务器通信的第二访问通信服务器以及与第二中间事件服务器通信的第二事件通信服务器;
96.当第一中间访问服务器、第一中间事件服务器、第一访问通信服务器以及第一事件通信服务器中的任一个服务器出现异常,心跳模块用于确定第一链路出现异常;
97.当第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器中的任一个服务器出现异常,心跳模块用于确定第二链路出现异常。
98.具体地,心跳模块用于对第一中间访问服务器、第一中间事件服务器、第一访问通
信服务器;第一事件通信服务器、第二中间访问服务器、第二中间事件服务器、第二访问通信服务器以及第二事件通信服务器分别发送对应的心跳信号;
99.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据不符,心跳模块确定与预设心跳响应数据不符的服务器出现异常;
100.当各服务器响应于心跳信号的心跳响应数据与预设心跳响应数据相符,心跳模块确定与预设心跳响应数据相符的服务器处于正常状态。
101.本实施例2中的opc通信系统与实施例1中的opc通信方法的原理一致,故在此不再赘述。
102.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1