CN106789281B - 一种opc协议通信过程中实现断线重连的方法 - Google Patents

一种opc协议通信过程中实现断线重连的方法 Download PDF

Info

Publication number
CN106789281B
CN106789281B CN201611233760.2A CN201611233760A CN106789281B CN 106789281 B CN106789281 B CN 106789281B CN 201611233760 A CN201611233760 A CN 201611233760A CN 106789281 B CN106789281 B CN 106789281B
Authority
CN
China
Prior art keywords
opc
communication
data
data packet
client
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
Application number
CN201611233760.2A
Other languages
English (en)
Other versions
CN106789281A (zh
Inventor
彭亮
韩涛
李龙飞
王明军
郝庆贺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haitian Wei Industry Process Control Technology Ltd By Share Ltd
Original Assignee
Qingdao Haitian Wei Industry Process Control Technology Ltd By Share Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Haitian Wei Industry Process Control Technology Ltd By Share Ltd filed Critical Qingdao Haitian Wei Industry Process Control Technology Ltd By Share Ltd
Priority to CN201611233760.2A priority Critical patent/CN106789281B/zh
Publication of CN106789281A publication Critical patent/CN106789281A/zh
Application granted granted Critical
Publication of CN106789281B publication Critical patent/CN106789281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Alarm Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种OPC协议(OLE for Process Control用于过程控制的OLE)通信过程中实现断线重连的方法,首先是探测到通信异常的处理。其次,是探测到通信正常的恢复处理。本发明能够实现在OPC通信过程中出现网口断线或通信异常造成重传时,上传日志到防火墙管理端,通知操作员,开启OPC代理功能,维持住OPC通信连接,实时检测通信的恢复情况,通信恢复时,进行必要的数据校对、恢复,使OPC通信连接自动恢复正常,该方法减少了操作员的大量附加工作,防止了OPC服务的耗时配置、重启以及OPC通信的重新连接,提高了工业设备的运行能力,增加设备产出水平。

Description

一种OPC协议通信过程中实现断线重连的方法
技术领域
本发明属于工业防火墙深度防护技术领域,尤其涉及的是一种OPC协议通信过程中实现断线重连的方法。
背景技术
OPC协议广泛应用于工控环境,作为数据库获取生产数据的最常用手段,协议通讯中断后很多OPC接口软件会发生卡死或重连时响应时间过长的问题,严重影响生产数据传输的及时性和易用性。目前工业防护墙中没有针对OPC通信协议做断线重连,仅仅在通信异常的时候进行提示,操作员只能重新配置OPC服务所需参数并重新启动OPC服务,进行重新连接、通信。
防火墙检测到断线或异常,只是通过日志形式将断线或异常上传至防火墙管理客户端,提示操作员,操作员根据提示,进行OPC服务重启。现有方案中处理OPC断线或异常进行如下操作:
步骤一、防火墙检测到断线或异常:防火墙检测到网口异常或通过抓包检测到通信异常,立即上报异常日志到防火墙管理客户端。
步骤二、管理客户端通知操作员:管理客户端受到异常日志后以红色警报的形式提醒操作员OPC通信出现异常。
步骤三、操作员检测网络硬件故障:操作员根据异常日志检测异常通信的线路,排除硬件故障。
步骤四、操作员重启OPC服务:操作员重新启动OPC服务,并重新配置OPC;
步骤五、检查OPC通信是否恢复正常:操作员检查OPC是否可正常通信,防火墙是否正常防护OPC通信;
现有技术存在明显缺点:防火墙在检测到断线或异常之后只是单纯的将该异常通过日志的形式上传到了防火墙管理客户端,操作员在接收到报警日志之后需依次排查整个OPC通信中是否存在硬件故障并重新手动启动 OPC服务、重新手动配置OPC,不仅增加人员工作量,同时由于重启、重配 OPC服务,导致OPC通信长时间中断,影响工业正常生产、监控。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种OPC协议通信过程中实现断线重连的方法,包括以下步骤:
步骤102:存储RPC数据包;
步骤104:将接收到的RPC数据包与步骤102中存储的RPC数据包进行比较,若连续三次比较结果相同,证明该方向的通信出现了数据包的连续重传,认定该方向通信产生了通信故障;
步骤106:若OPC服务端方向产生了步骤104所述通信故障或连接OPC 服务端的防火墙网口异常则进行步骤108;若OPC客户端方向产生了步骤104所述通信故障或连接OPC客户端的防火墙网口异常则只进行步骤110;若因网口产生的异常,进行步骤112;若因重传产生的通信异常,进行步骤114;
步骤108:开启防火墙OPC代理功能;
步骤110:防火墙上报报警日志,通知操作员防火墙具体某一条OPC通信链路产生通信故障;
步骤112:若因网口产生的异常,则实时检测防火墙网口是否恢复;若恢复进入步骤116;
步骤114:若因重传产生的通信异常,则将OPC客户端的SEQ等数据根据步骤102中存储的OPC客户端的数据包的SEQ数据进行校对修改之后向OPC服务器方向发送,将步骤102中存储的数据包定时向OPC客户端发送,确保OPC通信服务不会断线;
步骤116:若步骤112中网口恢复或步骤114中收到来自OPC服务器的数据响应,则认为通信恢复正常。
所述的方法,其中,所述步骤102包括:存储OPC双向正常通信时间戳最新及SEQ最大的两个方向上的RPC数据包。
所述的方法,其中,所述步骤104包括:将接收到的RPC数据包的序列号、数据长度、应用数据参数与步骤102中存储RPC的数据包进行比较。
所述的方法,其中,所述步骤108还包括:开启防火墙OPC代理功能之后收到任何方向上的RST重置请求,则关闭OPC代理功能。
所述的方法,其中,所述步骤114包括:若因重传产生的通信异常,则将OPC客户端时时请求的数据包的SEQ数据根据步骤102中存储的OPC 客户端的数据包的SEQ数据进行校对修改之后向OPC服务器方向发送,将步骤102中存储的OPC服务器数据包定时向OPC客户端发送,确保OPC通信服务不会断线;若收到来自OPC服务器的数据响应,则进入步骤116。
所述的方法,其中,所述步骤116包括:若步骤112中网口恢复或步骤114中收到来自OPC服务器的数据响应,则认为通信恢复正常,OPC代理功能向OPC服务器快速发送请求包,不断累加OPC服务器响应数据包的SEQ 数据值,将OPC服务器响应的数据包中的SEQ数据累加到与客户端的请求包中SEQ数据相同之后,关闭OPC代理功能,OPC断线重连完成。
采用上述方案,能够实现在OPC通信过程中出现网口断线或通信异常造成重传时,上传日志到防火墙管理端,通知操作员,开启OPC代理功能,维持住OPC通信连接,实时检测通信的恢复情况,通信恢复时,进行必要的数据校对、恢复,使OPC通信连接自动恢复正常,该方法减少了操作员的大量附加工作,防止了OPC服务的耗时配置、重启以及OPC通信的重新连接,提高了工业设备的运行能力,增加设备产出水平。
附图说明
图1为本发明的实施例流程图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
实施例1
本发明所提出的OPC协议通信断线重连方法,可在探测到OPC通信异常时,开启OPC代理功能,确保OPC通信不会断线,在探测到OPC通信恢复正常时,进行必要的通信数据校对,关闭OPC代理功能,使通信恢复正常。
方法主要步骤分两步:
首先,是探测到通信异常的处理。异常断线的判断有两种检测方式:1、防火墙网口异常2、OPC通信数据包出现重传且重传次数超过三次。若出现上述两种情况则认为OPC通信异常,开启OPC代理功能,通过定时发送最后一次正常通信的数据包至OPC客户端,将OPC通信维持在最后一次正常通信的状态,确保通信不会断线。
其次,是探测到通信正常的恢复处理。通信正常的判断有两种检测方式:1、若是因防火墙网口异常引起的断线重连,则在网口异常恢复之后,即通信正常。2、若是因OPC重传导致的通信异常,则通过不断将OPC客户端的请求包发送至OPC服务器的方式进行探测,若受到OPC服务器的恢复包则认为通信恢复正常。上述两种方式出现之后,即认为OPC通信恢复正常,将防火墙到OPC服务器的数据进行快速校对,使防火墙到OPC服务器与OPC客户端到防火墙的TCP数据包的信息吻合,然后关闭OPC代理,OPC 通信恢复正常。
本发明方法能解决OPC通信断线之后无法自行重连问题。
如图1所示,本发明所要解决的技术问题是针对现有技术的不足,提供一种OPC协议通信过程中实现断线重连的方法,包括以下步骤:
步骤102:存储RPC数据包;
步骤104:将接收到的RPC数据包与步骤102中存储的RPC数据包进行比较,若连续三次比较结果相同,证明该方向的通信出现了数据包的连续重传,认定该方向通信产生了通信故障;比如:第一次通信客户端发送a数据包,服务器发送b响应包,步骤102把a数据包和b数据包存起来。接下来继续通信,客户端发送c数据包,服务端响应d数据包,c数据包和d数据包即为104中的新收到的数据包,c数据包及d数据包与 102中存储的a数据包和b数据包进行比较,如果是重传数据包的话c数据包与a数据包是同一个数据包,d数据包与 b数据包是同一个数据包。
步骤106:若OPC服务端方向产生了步骤104所述通信故障或连接OPC 服务端的防火墙网口异常则进行步骤108;若OPC客户端方向产生了步骤104所述通信故障或连接OPC客户端的防火墙网口异常则只进行步骤110;若因网口产生的异常,进行步骤112;若因重传产生的通信异常,进行步骤114;
步骤108:开启防火墙OPC代理功能;
步骤110:防火墙上报报警日志,通知操作员防火墙具体某一条OPC通信链路产生通信故障;
步骤112:若因网口产生的异常,则实时检测防火墙网口是否恢复;若恢复进入步骤116;
步骤114:若因重传产生的通信异常,则将OPC客户端的SEQ等数据根据步骤102中存储的OPC客户端的数据包的SEQ数据进行校对修改之后向OPC服务器方向发送,将步骤102中存储的数据包定时向OPC客户端发送,确保OPC通信服务不会断线;具体而言:OPC代理不断的拿存储的包丢给OPC客户端和OPC 服务端,对客户端来说代理功能就是服务器,对服务端来说代理功能就是客户端。客户端或服务端一直重复的干一件事,但好处就是一直有事干,这条连接一直不会断。
步骤116:若步骤112中网口恢复或步骤114中收到来自OPC服务器的数据响应,则认为通信恢复正常。
上述方法中,所述步骤102包括:存储OPC双向正常通信时间戳最新及SEQ最大的两个方向上的RPC数据包。
上述方法中,所述步骤104包括:将接收到的RPC数据包的序列号、数据长度、应用数据参数与步骤102中存储RPC的数据包进行比较。
上述方法中,所述步骤108还包括:开启防火墙OPC代理功能之后收到任何方向上的RST重置请求,则关闭OPC代理功能。
上述方法中,所述步骤114包括:若因重传产生的通信异常,则将OPC 客户端实时请求的数据包的SEQ数据根据步骤102中存储的OPC客户端的数据包的SEQ数据进行校对修改之后向OPC服务器方向发送,将步骤102 中存储的OPC服务器数据包定时向OPC客户端发送,确保OPC通信服务不会断线;若收到来自OPC服务器的数据响应,则进入步骤116。
上述方法中,所述步骤116包括:若步骤112中网口恢复或步骤114 中收到来自OPC服务器的数据响应,则认为通信恢复正常,OPC代理功能向 OPC服务器快速发送请求包,不断累加OPC服务器响应数据包的SEQ数据值,将OPC服务器响应的数据包中的SEQ数据累加到与客户端的请求包中SEQ 数据相同之后,关闭OPC代理功能,OPC断线重连完成。
本发明采用模块化、组件化设计原则,通过OPC数据包存储组件,存储最新一次正常通信的OPC客户端、OPC服务器的通信数据包以备重连时进行数据校对。OPC通信异常检测组件开始工作,该组件能检测到网口的异常或通信是否产生异常而造成数据大量重传,检测到则认为OPC通信产生了异常、断线。OPC通信异常发送组件能将具体的OPC通信故障链路信息以警报日志的形式发送到防火墙的管理客户端,客户端通过红色标识等方式通知操作员出现了通信故障。OPC协议解析模块,实时解析通信数据,既能匹配是否出现通信异常又能在通信出现异常时辅助OPC通信代理组件完成数据校对。OPC通信代理组件,在出现通信异常时开启,等待OPC服务端的响应,维持OPC客户端的连接,待通信恢复正常后通过数据校对,使通信恢复正常状态,OPC断线自动重连完成。
采用上述方案,能够实现在OPC通信过程中出现网口断线或通信异常造成重传时,上传日志到防火墙管理端,通知操作员,开启OPC代理功能,维持住OPC通信连接,实时检测通信的恢复情况,通信恢复时,进行必要的数据校对、恢复,使OPC通信连接自动恢复正常,该方法减少了操作员的大量附加工作,防止了OPC服务的耗时配置、重启以及OPC通信的重新连接,提高了工业设备的运行能力,增加设备产出水平。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (1)

1.一种OPC协议通信过程中实现断线重连的方法,其特征在于,包括以下步骤:
步骤102:存储rpc数据包;
步骤104:将接收到的rpc数据包与步骤102中存储的rpc数据包进行比较,若连续三次比较结果相同,证明相应方向的通信出现了数据包的连续重传,认定相应方向通信产生了通信故障;
步骤106:若OPC服务端方向产生了步骤104所述通信故障或连接OPC服务端的防火墙网口异常则进行步骤108; 若OPC客户端方向产生了步骤104所述通信故障或连接OPC客户端的防火墙网口异常则只进行步骤110;若因网口产生的异常,进行步骤112;若因重传产生的通信异常,进行步骤114;
步骤108:开启防火墙OPC代理功能;
步骤110:防火墙上报报警日志,通知操作员防火墙具体某一条OPC通信链路产生通信故障;
步骤112:若因网口产生的异常,则实时检测防火墙网口是否恢复;若恢复进入步骤116;
步骤114: 若因重传产生的通信异常,则将OPC客户端的seq数据根据步骤102中存储的OPC客户端的数据包的seq数据进行校对修改之后向OPC服务器方向发送,将步骤102中存储的数据包定时向OPC客户端发送,确保OPC通信服务不会断线;
步骤116:若步骤112中网口恢复或步骤114中收到来自OPC服务器的数据响应,则认为通信恢复正常;
所述步骤102包括:存储OPC双向正常通信时间戳最新及seq最大的两个方向上的rpc数据包;
所述步骤104包括:将接收到的rpc数据包的序列号、数据长度、应用数据参数与步骤102中存储rpc的数据包进行比较;
所述步骤108还包括:开启防火墙OPC代理功能之后收到任何方向上的RST重置请求,则关闭OPC代理功能;
所述步骤114包括:若因重传产生的通信异常,则将OPC客户端实时请求的数据包的seq数据根据步骤102中存储的OPC客户端的数据包的seq数据进行校对修改之后向OPC服务器方向发送,将步骤102中存储的OPC服务器数据包定时向OPC客户端发送,确保OPC通信服务不会断线;若收到来自OPC服务器的数据响应,则进入步骤116;
所述步骤116包括:若步骤112中网口恢复或步骤114中收到来自OPC服务器的数据响应,则认为通信恢复正常,OPC代理功能向OPC服务器快速发送请求包,不断累加OPC服务器响应数据包的seq数据值,将OPC服务器响应的数据包中的seq数据累加到与客户端的请求包中seq数据相同之后,关闭OPC代理功能,OPC断线重连完成。
CN201611233760.2A 2016-12-28 2016-12-28 一种opc协议通信过程中实现断线重连的方法 Active CN106789281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611233760.2A CN106789281B (zh) 2016-12-28 2016-12-28 一种opc协议通信过程中实现断线重连的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611233760.2A CN106789281B (zh) 2016-12-28 2016-12-28 一种opc协议通信过程中实现断线重连的方法

Publications (2)

Publication Number Publication Date
CN106789281A CN106789281A (zh) 2017-05-31
CN106789281B true CN106789281B (zh) 2019-12-31

Family

ID=58921542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611233760.2A Active CN106789281B (zh) 2016-12-28 2016-12-28 一种opc协议通信过程中实现断线重连的方法

Country Status (1)

Country Link
CN (1) CN106789281B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696527B (zh) * 2018-05-25 2020-12-29 中煤西北能源有限公司 一种用于矿井自动化系统的实时数据传输系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101775448A (zh) * 2009-12-28 2010-07-14 中冶南方工程技术有限公司 高炉槽下故障诊断与处理方法
CN101892335A (zh) * 2009-12-28 2010-11-24 中冶南方工程技术有限公司 高炉槽下故障诊断与处理方法
CN103281346A (zh) * 2013-03-06 2013-09-04 起于凡信息技术(上海)有限公司 断线重连方法、网络系统和代理服务器
CN104734903A (zh) * 2013-12-23 2015-06-24 中国科学院沈阳自动化研究所 基于动态跟踪技术的opc协议的安全防护方法
EP2876933A4 (en) * 2012-07-20 2015-09-16 Ntt Docomo Inc MOBILE COMMUNICATION METHOD AND MOBILE STATION
CN105527910A (zh) * 2015-12-23 2016-04-27 杭州真鹏科技有限公司 一种基于opc ua的远程监控系统及故障排除方法
CN105635116A (zh) * 2015-12-18 2016-06-01 网易(杭州)网络有限公司 断线重连方法、装置及系统
CN105959289A (zh) * 2016-06-06 2016-09-21 中国东方电气集团有限公司 一种基于自学习的OPC Classic协议的安全检测方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101775448A (zh) * 2009-12-28 2010-07-14 中冶南方工程技术有限公司 高炉槽下故障诊断与处理方法
CN101892335A (zh) * 2009-12-28 2010-11-24 中冶南方工程技术有限公司 高炉槽下故障诊断与处理方法
EP2876933A4 (en) * 2012-07-20 2015-09-16 Ntt Docomo Inc MOBILE COMMUNICATION METHOD AND MOBILE STATION
CN103281346A (zh) * 2013-03-06 2013-09-04 起于凡信息技术(上海)有限公司 断线重连方法、网络系统和代理服务器
CN104734903A (zh) * 2013-12-23 2015-06-24 中国科学院沈阳自动化研究所 基于动态跟踪技术的opc协议的安全防护方法
CN105635116A (zh) * 2015-12-18 2016-06-01 网易(杭州)网络有限公司 断线重连方法、装置及系统
CN105527910A (zh) * 2015-12-23 2016-04-27 杭州真鹏科技有限公司 一种基于opc ua的远程监控系统及故障排除方法
CN105959289A (zh) * 2016-06-06 2016-09-21 中国东方电气集团有限公司 一种基于自学习的OPC Classic协议的安全检测方法

Also Published As

Publication number Publication date
CN106789281A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN112866004B (zh) 控制面设备的切换方法、装置及转控分离系统
CN110912759B (zh) 一种vpn网络异常自动连接方法及系统
CN108255646A (zh) 一种基于心跳检测的工控应用程序故障自恢复的方法
WO2017003780A1 (en) Monitoring wireless access point events
US7430688B2 (en) Network monitoring method and apparatus
CN108429629A (zh) 设备故障恢复方法和装置
CN104065508A (zh) 应用服务健康检查方法、装置和系统
CN112311580B (zh) 报文传输路径确定方法、装置及系统、计算机存储介质
EP2541840A2 (en) Link fault detection method and apparatus
US20190334800A1 (en) Monitoring of the data transmission in a client/server-based device access system
CN111083176B (zh) 一种监控摄像机云端自适应上线方法及装置
CN114422571B (zh) 一种量子通信客户端断开重连系统及方法
CN106789281B (zh) 一种opc协议通信过程中实现断线重连的方法
JP6124612B2 (ja) エンジニアリング装置およびエンジニアリング方法
CN110138628B (zh) 一种摄像机网络故障实时诊断与恢复方法、装置及摄像机
WO2013088749A1 (ja) 接続監視装置および接続監視方法
KR101901498B1 (ko) 네트워크 대역 이상검지 시스템
CN106713038B (zh) 一种远程传输线路质量检测方法及系统
KR20200116784A (ko) 네트워크 오류 감지방법
CN108234152B (zh) 远程接口调用的网络监控的方法和系统
JP2006013809A (ja) パケット廃棄箇所探索方法及び装置
EP3158685B1 (en) Identification of candidate problem network entities
US6484202B1 (en) Method and apparatus for determining the status of a transmission link
CN111356017B (zh) 一种视频监控网络设备保活方法及装置
EP1432205A2 (en) Automatic detecting method for protocol nonconformity and automatic detecting apparatus for protocol nonconformity

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant