CN117555566A - 一种基于内网穿透技术的人机界面远程更新方法 - Google Patents
一种基于内网穿透技术的人机界面远程更新方法 Download PDFInfo
- Publication number
- CN117555566A CN117555566A CN202311457946.6A CN202311457946A CN117555566A CN 117555566 A CN117555566 A CN 117555566A CN 202311457946 A CN202311457946 A CN 202311457946A CN 117555566 A CN117555566 A CN 117555566A
- Authority
- CN
- China
- Prior art keywords
- hmi
- client
- local
- port
- cloud server
- 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.)
- Pending
Links
- 230000035515 penetration Effects 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000005516 engineering process Methods 0.000 title claims abstract description 27
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 20
- 230000007958 sleep Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 4
- 208000019116 sleep disease Diseases 0.000 claims description 4
- 239000000463 material Substances 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及人机界面远程更新技术领域,具体是一种基于内网穿透技术的人机界面远程更新方法,包括(1)将HMI的HMI端口映射到云服务器的公网端口中;(2)将本地PC客户端的PC端口与所述云服务器端口相映射,实现将所述PC端口与所述HMI端口相映射;(3)所述本地PC客户端通过所述PC端口将工程文件经所述HMI端口下载到所述HMI中;(4)所述HMI重启后运行更新组态工程。本方法所提供的远程下载的方式不受时地点的约束,免去了工作人员要到现场更新人机界面工程的成本,可以大大地提高了生产的效率,更加节省人力物力成本。
Description
技术领域
本发明涉及人机界面远程更新技术领域,尤其涉及一种基于内网穿透技术的人机界面远程更新方法。
背景技术
人机界面(Human Machine Interface,简称:HMI)由硬件和软件两部分组成,其中HMI软件由运行于HMI硬件中的系统软件和运行于PC机windows操作系统下的画面组态软件两部分组成。用户必须先使用HMI的画面组态软件制作“工程文件”,把编制好的“工程文件”下载到HMI的处理器中运行。过去HMI仅需满足设备下联部件的能力,随着工业互联网/物联网技术的深化发展,物联型HMI承担起了设备向上联网的能力,可拆卸的通讯模块不受时间和空间的限制,且成本较低成为首选。
现有技术中,如图1所示,用户更新人机界面工程,有以下方式:
(1)通过本地PC机和HMI的USB或网口通讯以下载相应的组态工程进行更新人机界面工程,具有在距离下载PC主机数米或者在同一局域网中且布线复杂等缺点,无法应用于无法拉网线或没有无线WiFi的场所,这种方式已经远远不能满足当前HMI更新的需求了。
(2)通过远程更新人机界面工程,用户将工程文件先上传到服务器,再由服务器将工程文件下载到指定的HMI中。
针对上述(2)的方案,公开(公告)号为CN110569047A的中国发明专利,公开了一种基于可拆卸通讯模块的远程更新人机界面的方法,核心方案如下:
a.带有通讯模块的HMI上电,连接服务器报告当前上线状态;
b.上位机程序获取服务器中指定序列号的人机界面已经登录,发送获取人机界面硬件信息命令;
c.服务器将获取人机界面硬件信息的命令发送至人机界面;
d.人机界面收到相应的命令,将硬件信息发送给服务器;
e.服务器将获取硬件信息命名发送给上位机,上位机确认硬件信息无误后,上传工程文件至服务器;
f.服务器将工程文件下载至指定的HMI中;
g.人机界面记录当前下载状态,当网络出现通讯问题或其他问题导致超出等待时间并未检测到有数据接收出现下载中断,进入k;
h.人机界面接收完工程文件,通过和校验判断与包中相对应的校验段比较来判断文件的完整性,如完整性校验失败进入o,结束;
i.HMI回复服务器下载成功;
j.服务器将HMI回复发送给上位机,上位机显示下载成功。
k.HMI将下载中断点上传至服务器;
l.服务器将下载中断处发送到上位机;
m.上位机将中断点所在包之后重发至服务器;
n.服务器将相应的文件包发送至HMI,返回g;
o.删除下载的工程文件,返回服务器文件校验失败;
p.服务器将校验失败发送给上位机;
q.上位机显示下载失败,结束;
但是,其存在如下两个技术问题:
1)每一个远程下载都会占用一个连接,并发数量大,会损害服务器的整体性能,直接影响到服务器的并发数。
本机PC与人机界面HMI在服务器端进行了业务逻辑处理,数据传输受网络延时影响较大。
因此,亟需一种新的技术方案来解决上述技术问题。
发明内容
本发明的目的在于克服上述现有技术的问题,提供了一种基于内网穿透技术的人机界面远程更新方法,以解决传统方案中每一个远程下载都会占用一个连接,并发数量大,会损害服务器的整体性能,进而直接影响到服务器的并发数,以及数据传输受网络延时影响较大的技术问题。
上述目的是通过以下技术方案来实现:
一种基于内网穿透技术的人机界面远程更新方法,包括如下步骤:
步骤(1)将HMI的HMI端口映射到云服务器的公网端口中;
步骤(2)将本地PC客户端的PC端口与所述云服务器端口相映射,实现将所述PC端口与所述HMI端口相映射;
步骤(3)所述本地PC客户端通过所述PC端口将工程文件经所述HMI端口下载到所述HMI中;
步骤(4)所述HMI重启后运行更新组态工程。
进一步地,所述步骤(1)具体包括:
步骤(1-1)所述HMI通过MQTT与所述云服务器内置的MQTT服务器进行连接,若连接失败,则睡眠60s重连;若连接成功,则订阅主题;
步骤(1-2)所述HMI通过MQTT向所述云服务器发送包含HMI序列号的注册包,并判断是否注册成功;若注册失败,则睡眠60s重新注册;若注册成功,则向所述云服务器推送frp客户端状态;若所述HMI的frp状态发生变化,则所述HMI将变化后的所述frp状态推送给所述云服务器;
步骤(1-3)所述云服务器通过内置的MQTT服务器接收步骤(1-2)中所述注册包,并记录HMI序列号和在线状态。
进一步地,所述步骤(2)具体包括:
步骤(2-1)所述本地PC客户端连接所述云服务器中内置的MQTT服务器;若连接失败,则睡眠60s重连;若连接成功,则订阅主题;
步骤(2-2)所述本地PC客户端通过MQTT向所述云服务器发出获取注册后的所述HMI的序列号和在线状态的请求;
步骤(2-3)所述云服务器验证所述本地PC客户端的账号密码后,将所述HMI的序列号和在线状态发送至所述本地PC客户端;
步骤(2-4)所述本地PC客户端向所述HMI发送启动frp的主题报文,且运行自身存储的frpc程序;所述云服务器运行frps程序,将所述本地PC客户端的所述PC端口与所述云服务器的公网端口相映射;
步骤(2-5)所述HMI接收到所述本地PC客户端发来的启动frp的主题报文后,从主题报文中提取所述云服务器的IP、映射端口信息,并重写frpc程序的配置文件;然后运行自身存储的frpc程序通过frpc程序向所述云服务器注册所述HMI可以被访问的端口和用于验证所述本地PC客户端连接网关时的密钥;所述云服务器运行frps程序,将所述HMI的HMI端口与所述云服务器的公网端口相映射。
进一步地,所述步骤(3)具体为:所述本地PC客户端通过MQTT向所述HMI发送启动内网穿透的主题;所述本地PC客户端接收到所述HMI返回的密钥,重写自身存储的frpc的配置文件,并启动frpc程序,建立所述本地PC客户端到该远程网关的内网穿透;内网穿透建立成功后,所述本地PC客户端通过映射的端口就可向指定的所述HMI下载工程文件。
进一步地,所述步骤(3)还包括:
步骤(3-1)所述本地PC客户端通过映射的端口向指定的所述HMI发送获取硬件信息指令;
步骤(3-2)所述HMI收到相应的指令,将硬件信息发送给上位机;
步骤(3-3)所述上位机确认硬件信息,生成对应的工程文件;
步骤(3-4)所述上位机获取所述HMI记录的断点信息;并分包向指定的所述HMI发送工程文件;
步骤(3-5)所述HMI断线重连,且所述HMI保存当前数据包数据,记录当前下载进度,如因超出等待时间并未检测到有数据接收导致下载中断,则进入步骤(3-9);
步骤(3-6)所述HMI接收完工程文件,通过和校验判断与包中相对应的校验段比较来判断文件的完整性,若完整性校验失败进入步骤(3-10),并结束;
步骤(3-7)所述HMI回复所述上位机下载成功;
步骤(3-8)所述上位机显示下载成功;
步骤(3-9)所述HMI将下载中断处发送给所述上位机,所述上位机将中断点所在包重发至所述HMI,并返回步骤(3-4);
步骤(3-10)删除下载的工程文件,返回上位机文件校验失败;
步骤(3-11)所述上位机显示下载失败,结束。
进一步地,还包括断线重连,具体为:所述上位机发送的每包数据包含序号和校验信息的包头,若因上位机超出等待时间并没有收到回复或者收到校验失败的回复时,则所述上位机重复发送当前包数据,所述HMI收到该包数据校验成功后,根据序号判断是否是重复的包,若是重复的包就丢掉该包,若不是就保存到下载文件里面。
有益效果
本发明所提供的一种基于内网穿透技术的人机界面远程更新方法,远程下载的方式不受时地点的约束,免去了工作人员要到现场更新人机界面工程的成本,可以大大地提高了生产的效率,更加节省人力物力成本。此外,还具有如下优点:
(1)简化了服务器数据转发业务逻辑;
(2)支持断线重连、断点续传,可适应网络波动较大的环境;
(3)通过轻量级MQTT协议可以用极少的代码和有限的带宽,通过HMI序列号快速连接HMI设备进行下载,为连接远程设备提供实时可靠的消息服务;
(4)通过MQTT协议可以预先和HMI设备进行信息交互,协商下载端口号,防止端口号等资源冲突。
附图说明
图1为现有的人机界面更新示意图;
图2为本发明所述一种基于内网穿透技术的人机界面远程更新方法的示意图;
图3为本发明所述一种基于内网穿透技术的人机界面远程更新方法中HMI的MQTT线程流程图;
图4为本发明所述一种基于内网穿透技术的人机界面远程更新方法中云服务器工作流程图;
图5为本发明所述一种基于内网穿透技术的人机界面远程更新方法中本地PC客户端工作流程图;
图6为本发明所述一种基于内网穿透技术的人机界面远程更新方法中下载逻辑流程图。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图2所示,一种基于内网穿透技术的人机界面远程更新方法,使用开源的内网穿透工具frp实现内网穿透,frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议,可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网,包括如下步骤:
步骤(1)将HMI的HMI端口映射到云服务器的公网端口中;
步骤(2)将本地PC客户端的PC端口与所述云服务器端口相映射,实现将所述PC端口与所述HMI端口相映射;
步骤(3)所述本地PC客户端通过所述PC端口将工程文件经所述HMI端口下载到所述HMI中;
步骤(4)所述HMI重启后运行更新组态工程。
其中,本基于内网穿透技术的人机界面远程更新方法中所述步骤(1)具体包括:
步骤(1-1)所述HMI通过MQTT与所述云服务器内置的MQTT服务器进行连接,若连接失败,则睡眠60s重连;若连接成功,则订阅主题;
步骤(1-2)所述HMI通过MQTT向所述云服务器发送包含HMI序列号的注册包,并判断是否注册成功;若注册失败,则睡眠60s重新注册;若注册成功,则向所述云服务器推送frp客户端状态;所述frp客户端状态包括frp客户端启动状态和frp客户端未启动状态;
若所述HMI的frp状态发生变化,则所述HMI将变化后的所述frp状态推送给所述云服务器;
步骤(1-3)所述云服务器通过内置的MQTT服务器接收步骤(1-2)中所述注册包,并记录HMI序列号和在线状态。
其中,本基于内网穿透技术的人机界面远程更新方法中所述步骤(2)具体包括:
步骤(2-1)所述本地PC客户端连接所述云服务器中内置的MQTT服务器;若连接失败,则睡眠60s重连;若连接成功,则订阅主题;
步骤(2-2)所述本地PC客户端通过MQTT向所述云服务器发出获取注册后的所述HMI的序列号和在线状态的请求;
步骤(2-3)所述云服务器验证所述本地PC客户端的账号密码后,将所述HMI的序列号和在线状态发送至所述本地PC客户端;
步骤(2-4)所述本地PC客户端向所述HMI发送启动frp的主题报文,且运行自身存储的frpc程序;所述云服务器运行frps程序,将所述本地PC客户端的所述PC端口与所述云服务器的公网端口相映射;
步骤(2-5)所述HMI接收到所述本地PC客户端发来的启动frp的主题报文后,从主题报文中提取所述云服务器的IP、映射端口信息,并重写frpc程序的配置文件;然后运行自身存储的frpc程序(frp的客户端程序),通过frpc程序向所述云服务器注册所述HMI可以被访问的端口和用于验证所述本地PC客户端连接网关时的密钥;所述云服务器运行frps程序,将所述HMI的HMI端口与所述云服务器的公网端口相映射,同时所述HMI实时监控frpc程序,若程序异常,则重启frpc程序。
其中,本基于内网穿透技术的人机界面远程更新方法中所述步骤(3)具体为:所述本地PC客户端通过MQTT向所述HMI发送启动内网穿透的主题;所述本地PC客户端接收到所述HMI返回的密钥,重写自身存储的frpc的配置文件,并启动frpc程序,建立所述本地PC客户端到该远程网关的内网穿透;内网穿透建立成功后,所述本地PC客户端通过映射的端口就可向指定的所述HMI下载工程文件。
所述步骤(3)还包括:
步骤(3-1)所述本地PC客户端通过映射的端口向指定的所述HMI发送获取硬件信息指令;
步骤(3-2)所述HMI收到相应的指令,将硬件信息发送给上位机;
步骤(3-3)所述上位机确认硬件信息,生成对应的工程文件;
步骤(3-4)所述上位机获取所述HMI记录的断点信息;并分包向指定的所述HMI发送工程文件;
步骤(3-5)所述HMI断线重连,且所述HMI保存当前数据包数据,记录当前下载进度,如因超出等待时间并未检测到有数据接收导致下载中断,则进入步骤(3-9);
步骤(3-6)所述HMI接收完工程文件,通过和校验判断与包中相对应的校验段比较来判断文件的完整性,若完整性校验失败进入步骤(3-10),并结束;
步骤(3-7)所述HMI回复所述上位机下载成功;
步骤(3-8)所述上位机显示下载成功;
步骤(3-9)所述HMI将下载中断处发送给所述上位机,所述上位机将中断点所在包重发至所述HMI,并返回步骤(3-4);
步骤(3-10)删除下载的工程文件,返回上位机文件校验失败;
步骤(3-11)所述上位机显示下载失败,结束。
如图3所示,作为本基于内网穿透技术的人机界面远程更新方法中所述HMI的MQTT流程的详细介绍,如下:
本法需要HMI开启MQTT,以便与云服务器、本地PC客户端进行数据交互。
运行时首先HMI进行MQTT的ip、端口、账号、密码等配置信息的初始化,HMI设置遗嘱主题报文,以便在HMI掉线后向云服务器发送掉线报文。
然后HMI通过MQTT连接云服务器内置的MQTT服务器,若连接失败则睡眠60s重连,若连接成功则订阅主题。
接着HMI通过MQTT向云服务器发送含有HMI序列号的注册包,HMI判断是否注册成功:
若注册失败则睡眠60s重新注册,
若注册成功则向云服务器推送frp客户端状态,frp客户端状态包括frp客户端启动状态、frp客户端未启动状态。
然后向云服务器推送frp状态,后续HMI的frp状态每发生一次变化则向云服务器推送一次frp状态。
最后等待本地PC客户端发送启动或停用frp的主题报文。
HMI接收到本地PC客户端发来的启动frp的主题报文后,从主题报文中提取云服务器IP、映射端口信息,重写frpc程序的配置文件,然后运行自身存储的frpc程序(frp的客户端程序),通过frpc程序向云服务器注册HMI可以被访问的端口和用于验证本地PC客户端连接HMI时的密钥,服务器运行frps程序,将HMI的端口与云服务器的公网端口相映射,同时HMI实时监控frpc程序,程序异常则重启frpc程序。
如图4所示,作为本基于内网穿透技术的人机界面远程更新方法中所述云服务器工作的详细介绍,如下:
本方案中所述云服务器中的程序设计分为2个部分:
第一个部分用于连接MQTT服务器,用于和HMI以及本地PC客户端进行数据交互。该程序运行时首先读取配置文件,然后根据配置信息连接MQTT服务器,接着订阅主题。
云服务器通过内置的MQTT服务器接收到注册包后进行注册,记录该HMI序列号和在线状态。
当云服务器接收HMI推送来的frp状态时,更新HMI的frp状态。同时,接到本地PC客户端发来的获取HMI信息的主题时,将信息发送给本地PC客户端。
第二部分为启动frps程序,该程序为frp的服务端程序,通过HMI注册的端口与服务器的端口相映射,同时有其他frp客户端(如本地PC客户端)连接HMI时,先验证密钥,密钥正确时,才能建立客户端与HMI的连接。
如图5所示,作为本基于内网穿透技术的人机界面远程更新方法中所述本地客户端的工作的详细介绍,如下:
本地PC客户端连接云服务器内置的MQTT服务器,若连接失败则睡眠60s重连,若连接成功则订阅主题。
接着本地PC客户端通过MQTT向云服务器获取注册后的HMI的序列号和在线状态,云服务器验证本地PC客户端的账号密码后将HMI的序列号和在线状态发送至本地PC客户端。
当需要进行内网穿透时,本地PC客户端先通过MQTT向HMI发送启动内网穿透的主题,本地PC客户端接收到HMI返回的密钥,以此来重写自身存储的frpc的配置文件,启动frpc程序,建立本地PC客户端到该远程HMI的内网穿透,内网穿透建立成功后本地PC客户端就可以开始下载工程文件了。
如图6所示,作为本基于内网穿透技术的人机界面远程更新方法中下载逻辑流的详细介绍,包括:
a.内网穿透成功后,上位机发送获取HMI硬件信息命令;
b.HMI收到相应的命令,将硬件信息发送给上位机;
c.上位机确认硬件信息,生成对应的工程文件;
d.上位机获取HMI的断点信息;
e.分包向指定的HMI发送工程文件;
f.是否超时,超时则判断超时次数;
g.判断超时次数是否大于3次,是则结束本次下载,否则返回e;
h.HMI保存数据包数据,记录当前下载进度;
i.HMI接收完工程文件通过和校验判断与包中相对应的校验段来判断文件的完整性,如完整性校验失败进入m,结束。
j.HMI回复上位机下载成功;
k.上位机显示下载成功。
l.HMI将下载中断点发送给上位机;
m.上位机将中断点所在包之后重发至HMI,返回d;
n.删除下载的工程文件,返回上位机文件校验失败;
o.上位机显示下载失败,结束。
本方案还包括断线重连功能、断点续传功能和文件完整性校验功能,其中:
断线重连功能是当因为网络故障而导致服务中断的情况,客户端需要重新连接服务端,网络断断续续,导致客户端无法和服务端交互,当HMI与上位机连接超时,上位机重复发送当前包数据,HMI收到该包数据校验成功后,根据序号判断是否是重复的包,如果是重复的包就丢掉该包,如果不是就保存到下载文件里面。
断点续传功能是将整个工程文件按照4K每包并打上包序号和校验信息的包头,依次发送。如果断线重连失败超过3次,则保存当前下载的序号,将包序号发送给上位机,上位机根据包序号重发文件,直至发送完毕后校验文件完整性。
具体为HMI记录断点信息,如果断线重连失败超过3次,则本次传输失败,则进入断点续传步骤;重新进行下载步骤,HMI返回中断点序号,进入下载流程后,从中断包序号开始,继续下载剩余包,直至完成下载,如遇断线,重复断线重连和断点续传流程,结束。
将整个文件分割成4k大小的包,每下载一个包,就校验一次数据完整性和序号,校验失败的情况下会执行重发操作,直至完成下载,全部包下载完成后,校验整包完整性,组合成目标文件。
文件完整性校验为当所有文件下载完毕后依次检测每包的包头,按照包序号进行排序,依次检查包的校验信息是否正确,如果每包的信息无误,则将所有包去掉包头按照顺序重组出所需要的文件,放到对应文件夹,待下次重新启动时,运行最新的工程文件。
具体为人机界面接收完工程文件,通过和校验判断与包中相对应的校验段比较来判断文件的完整性,完整性校验失败时进入文件校验步骤;删除下载的工程文件,返回上位机文件校验失败;上位机显示下载失败,结束。
以上所述仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于内网穿透技术的人机界面远程更新方法,其特征在于,包括:
步骤(1)将HMI的HMI端口映射到云服务器的公网端口中;
步骤(2)将本地PC客户端的PC端口与所述云服务器端口相映射,实现将所述PC端口与所述HMI端口相映射;
步骤(3)所述本地PC客户端通过所述PC端口将工程文件经所述HMI端口下载到所述HMI中;
步骤(4)所述HMI重启后运行更新组态工程。
2.根据权利要求1所述的一种基于内网穿透技术的人机界面远程更新方法,其特征在于,所述步骤(1)具体包括:
步骤(1-1)所述HMI通过MQTT与所述云服务器内置的MQTT服务器进行连接,若连接失败,则睡眠60s重连;若连接成功,则订阅主题;
步骤(1-2)所述HMI通过MQTT向所述云服务器发送包含HMI序列号的注册包,并判断是否注册成功;若注册失败,则睡眠60s重新注册;若注册成功,则向所述云服务器推送frp客户端状态;
若所述HMI的frp状态发生变化,则所述HMI将变化后的所述frp状态推送给所述云服务器;
步骤(1-3)所述云服务器通过内置的MQTT服务器接收步骤(1-2)中所述注册包,并记录HMI序列号和在线状态。
3.根据权利要求2所述的一种基于内网穿透技术的人机界面远程更新方法,其特征在于,所述步骤(2)具体包括:
步骤(2-1)所述本地PC客户端连接所述云服务器中内置的MQTT服务器;若连接失败,则睡眠60s重连;若连接成功,则订阅主题;
步骤(2-2)所述本地PC客户端通过MQTT向所述云服务器发出获取注册后的所述HMI的序列号和在线状态的请求;
步骤(2-3)所述云服务器验证所述本地PC客户端的账号密码后,将所述HMI的序列号和在线状态发送至所述本地PC客户端;
步骤(2-4)所述本地PC客户端向所述HMI发送启动frp的主题报文,且运行自身存储的frpc程序;所述云服务器运行frps程序,将所述本地PC客户端的所述PC端口与所述云服务器的公网端口相映射;
步骤(2-5)所述HMI接收到所述本地PC客户端发来的启动frp的主题报文后,从主题报文中提取所述云服务器的IP、映射端口信息,并重写frpc程序的配置文件;然后运行自身存储的frpc程序,通过frpc程序向所述云服务器注册所述HMI可以被访问的端口和用于验证所述本地PC客户端连接网关时的密钥;所述云服务器运行frps程序,将所述HMI的HMI端口与所述云服务器的公网端口相映射。
4.根据权利要求3所述的一种基于内网穿透技术的人机界面远程更新方法,其特征在于,所述步骤(3)具体为:所述本地PC客户端通过MQTT向所述HMI发送启动内网穿透的主题;所述本地PC客户端接收到所述HMI返回的密钥,重写自身存储的frpc的配置文件,并启动frpc程序,建立所述本地PC客户端到该远程网关的内网穿透;内网穿透建立成功后,所述本地PC客户端通过映射的端口就可向指定的所述HMI下载工程文件。
5.根据权利要求4所述的一种基于内网穿透技术的人机界面远程更新方法,其特征在于,所述步骤(3)还包括:
步骤(3-1)所述本地PC客户端通过映射的端口向指定的所述HMI发送获取硬件信息指令;
步骤(3-2)所述HMI收到相应的指令,将硬件信息发送给上位机;
步骤(3-3)所述上位机确认硬件信息,生成对应的工程文件;
步骤(3-4)所述上位机获取所述HMI记录的断点信息;并分包向指定的所述HMI发送工程文件;
步骤(3-5)所述HMI断线重连,且所述HMI保存当前数据包数据,记录当前下载进度,如因超出等待时间并未检测到有数据接收导致下载中断,则进入步骤(3-9);
步骤(3-6)所述HMI接收完工程文件,通过和校验判断与包中相对应的校验段比较来判断文件的完整性,若完整性校验失败进入步骤(3-10),并结束;
步骤(3-7)所述HMI回复所述上位机下载成功;
步骤(3-8)所述上位机显示下载成功;
步骤(3-9)所述HMI将下载中断处发送给所述上位机,所述上位机将中断点所在包重发至所述HMI,并返回步骤(3-4);
步骤(3-10)删除下载的工程文件,返回上位机文件校验失败;
步骤(3-11)所述上位机显示下载失败,结束。
6.根据权利要求5所述的一种基于内网穿透技术的人机界面远程更新方法,其特征在于,还包括断线重连,具体为:所述上位机发送的每包数据包含序号和校验信息的包头,若因上位机超出等待时间并没有收到回复或者收到校验失败的回复时,则所述上位机重复发送当前包数据,所述HMI收到该包数据校验成功后,根据序号判断是否是重复的包,若是重复的包就丢掉该包,若不是就保存到下载文件里面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311457946.6A CN117555566A (zh) | 2023-11-04 | 2023-11-04 | 一种基于内网穿透技术的人机界面远程更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311457946.6A CN117555566A (zh) | 2023-11-04 | 2023-11-04 | 一种基于内网穿透技术的人机界面远程更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117555566A true CN117555566A (zh) | 2024-02-13 |
Family
ID=89821267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311457946.6A Pending CN117555566A (zh) | 2023-11-04 | 2023-11-04 | 一种基于内网穿透技术的人机界面远程更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555566A (zh) |
-
2023
- 2023-11-04 CN CN202311457946.6A patent/CN117555566A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN103064391B (zh) | 基于TCP/IP协议及Linux网络编程的数控系统远程DNC控制方法 | |
US20050286435A1 (en) | Remote management system | |
CN110769009B (zh) | 用户身份认证方法及系统 | |
CN112566282B (zh) | 一种物联网信息传递方法及平台 | |
CN103812829A (zh) | 一种提高远程桌面安全性的方法、远程桌面服务器及系统 | |
CN111711680A (zh) | 基于udp协议的文件断点续传方法及装置 | |
CN116319953B (zh) | 一种半导体设备数据采集方法 | |
CN103167535A (zh) | 一种用于wlan网络中ap的升级方法 | |
WO2017211302A1 (zh) | 应用程序的开发方法、装置及系统 | |
CN110677308A (zh) | 一种代码自动化部署方法 | |
CN103997437A (zh) | 一种测试云服务器注册功能的方法 | |
CN111884938B (zh) | 路由器信息采集方法及装置 | |
CN109558148A (zh) | 路由器的插件安装方法、装置、设备及存储介质 | |
CN117555566A (zh) | 一种基于内网穿透技术的人机界面远程更新方法 | |
JP2014183334A (ja) | 監視システム、監視サーバ及び監視方法 | |
CN106658081A (zh) | 一种自动配置方法、机顶盒及服务器 | |
CN102752365B (zh) | 信息处理的方法与装置 | |
CN112968944B (zh) | 一种网络反向管理方法、系统、装置及存储介质 | |
CN114253210A (zh) | 基于Json-RPC的PLC通讯系统及方法 | |
CN107633069A (zh) | 一种快捷高效的数据同步方法 | |
CN112118284A (zh) | 一种面向网关设备的http数据请求方法、设备及介质 | |
CN104426997B (zh) | 信令跟踪的处理方法及装置 | |
CN111464333A (zh) | 远程调试方法、计算机设备、存储装置和远程调试系统 | |
CN117472411B (zh) | 一种兼容多种升级协议的升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |