一种与远程PLC设备通信的方法及系统技术方案

技术编号:28326606 阅读:64 留言:0更新日期:2021-05-04 13:08
本发明专利技术提供一种与远程PLC设备通信的方法及系统,包括,步骤S1,响应于客户端用户的通信请求,服务器端获取所述客户端的请求信息;步骤S2,查询预设的用户与设备关系表,验证所述客户端用户是否具有对所述PLC设备的通信权限,生成查询结果;当所述查询结果为有权限时,打开转发通道;步骤S3,所述客户端根据预设的判断规则确定所述转发通道是否符合通信请求的要求;所述PLC设备根据预设的判断规则确定所述转发通道是否符合通信请求的要求;步骤S4,所述服务器端确定转发通道是否建立成功,若建立成功,则生成通信开始指令;若未建立成功,则关闭转发通道调用的通信端口。本发明专利技术提供客户端与PLC设备之间通信的高稳定性与高安全性。

【技术实现步骤摘要】
一种与远程PLC设备通信的方法及系统
本专利技术涉及通信
,特别是涉及一种与远程PLC设备通信的方法及系统。
技术介绍
在工业物联网中,最核心的一个问题就是,如何让客户端app(应用程序,Application)与远程PLC(可编程逻辑控制器,ProgrammableLogicController)设备建立安全稳定的通信通道。通常,客户端app运行于PC或移动终端上,与需要监控的PLC不在同一个局域网。远程通信,在稳定性和安全性方面仍存在一些风险。远程网络通信技术现状,存在以下问题:网络不稳定现象广泛:目前,从网络环境发射的短波信号,在一定程度上干扰了网络通信连接器的平滑性,导致网络连接不稳定。这种情况不利于通信工作的可持续性,极大影响了使用效果,同时,影响了用户的网络体验,影响了当前网络环境的稳定性。用户数据存在泄漏风险:工控行业,很多PLC程序和算法都凝聚了用户的保贵经验,是核心技术机密。如果在远程通信中,有人使用非法手段,恶意监听用户的通信数据,有可能窃取用户的PLC密码等信息,从而导致用户的核心程序存在泄密的风险。造成此问题的原因很大一部分是PLC制造厂家对安全性问题认识不足。
技术实现思路
本专利技术的目的在于,提出一种与远程PLC设备通信的方法及系统,解决现有方法稳定性与安全性差的技术问题。一方面,提供一种与远程PLC设备通信的方法,包括以下步骤:步骤S1,响应于客户端用户的通信请求,服务器端获取所述客户端的请求信息;其中,所述请求信息至少包括客户端信息、用户信息及请求通信的PLC设备信息;步骤S2,所述服务器端根据接收的请求信息查询预设的用户与设备关系表,验证所述客户端用户是否具有对所述PLC设备的通信权限,生成查询结果;当所述查询结果为有权限时,打开转发通道;以及,所述服务器端通过打开的转发通道将所述转发通道信息和PLC设备的ID回传给客户端;并将所述转发通道信息和客户端ID输出给所述PLC设备;其中,所述查询结果包括有权限或无权限;所述转发通道至少包括通信IP和通信端口;步骤S3,所述客户端接收转发通道信息和PLC设备的ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第一判断结果,当所述第一判断结果为符合时,将所述第一判断结果作为第一确认包发送给所述服务器端;所述PLC设备接收通道信息和客户端ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第二判断结果,当所述第二判断结果为符合时,将所述第二判断结果作为第二确认包发送给所述服务器端;其中,所述第一判断结果包括符合或不符合;所述第二判断结果包括符合或不符合;步骤S4,所述服务器端根据接收的第一确认包和接收的第二确认包确定转发通道是否建立成功,若建立成功,则生成通信开始指令;若未建立成功,则关闭转发通道调用的通信端口;步骤S5,所述客户端根据接收的通信开始指令,通过服务器端向所述PLC设备按照预设周期发送通信状态维持包和通信数据;并接收所述PLC设备通过服务器端返回的通信状态维持包应答结果和通信数据应答结果;以及,根据通信状态维持包应答结果和通信数据应答结果判断所述客户端与所述PLC设备之间的通信状态是否超时,若超时,则断开通信连接并客户端重新发起通信请求。优选地,所述步骤S2包括:当在用户与设备关系表中查询到接收的请求信息中记录的客户端或用户具有对所述PLC设备的通信权限时,生成查询结果为有权限;当在用户与设备关系表中未查询到接收的请求信息中记录的客户端或用户具有对所述PLC设备的通信权限时,生成查询结果为无权限;其中,当生成的查询结果为无权限时,向客户端输出用于提示无通信权限的错误信息。优选地,所述步骤S3包括:所述客户端检测接收的转发通道信息和PLC设备的ID是否符合要求,若接收的PLC设备的ID与请求的通信的PLC设备相同且可以通过转发通道与PLC设备进行通信,则判定符合要求,生成第一判断结果为符合;若接收的PLC设备的ID与请求的通信的PLC设备不同或不可以通过转发通道与PLC设备进行通信,则判定不符合要求,生成第一判断结果为不符合;其中,当第一判断结果为不符合时,输出重起通信指令,响应于所述重起通信指令向服务器端重新发起通信请求。优选地,所述步骤S3还包括:所述PLC设备检测接收的转发通道信息和客户端ID是否符合要求,若接收的客户端ID可以与所述PLC设备进行通信,则判定符合要求,生成第二判断结果为符合;若接收的客户端ID不可以与所述PLC设备进行通信,则判定不符合要求,生成第二判断结果为不符合,并将所述第二判断结果发送给所述服务器端。优选地,所述步骤S4包括:当所述服务器端通过转发通道接收到第一确认包和第二确认包时,判定确定转发通道建立成功;当所述服务器端通过转发通道未接收到第一确认包或第二确认包时,判定确定转发通道为建立成功。优选地,所述步骤S5包括:若客户端在连续多个预设周期内,未接收PLC设备通过服务器端返回的通信状态维持包应答结果,则判定通信状态超时;若客户端未在连续多个预设周期内,未接收PLC设备通过服务器端返回的通信状态维持包应答结果,则判定通信状态未超时。另一方面,还提供一种与远程PLC设备通信的系统,用以实现所述的与远程PLC设备通信方法,包括:依次连接的客户端、服务器端及PLC设备;所述客户端,用以用户通过账户密码进行登录,并向所述服务器端输出通信请求;所述服务器端,用以响应于客户端用户的通信请求获取所述客户端的请求信息;其中,所述请求信息至少包括客户端信息、用户信息及请求通信的PLC设备信息;并根据接收的请求信息查询预设的用户与设备关系表,验证所述客户端用户是否具有对所述PLC设备的通信权限,生成查询结果;当所述查询结果为有权限时,打开转发通道;以及,通过打开的转发通道将所述转发通道信息和PLC设备的ID回传给客户端;并将所述转发通道信息和客户端ID输出给所述PLC设备;其中,所述查询结果包括有权限或无权限;所述转发通道至少包括通信IP和通信端口;所述PLC设备,用以接收通道信息和客户端ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第二判断结果,当所述第二判断结果为符合时,将所述第二判断结果作为第二确认包发送给所述服务器端;其中,所述第二判断结果包括符合或不符合;其中,所述客户端还用于接收转发通道信息和PLC设备的ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第一判断结果,当所述第一判断结果为符合时,将所述第一判断结果作为第一确认包发送给所述服务器端;所述第一判断结果包括符合或不符合;所述服务器端还用于根据接收的第一确认包和接收的第二确认包确定转发通道是否建立成功,若建立成功,则生成通信开始指令;若未建立成功,则关闭转发通道调用的通信端口;所述客户端还用于根据接收的通信开始指令,通过服务器端向所述PLC设备按照预设周期发送通信状态维持包和通本文档来自技高网...

【技术保护点】
1.一种与远程PLC设备通信的方法,其特征在于,包括以下步骤:/n步骤S1,响应于客户端用户的通信请求,服务器端获取所述客户端的请求信息;其中,所述请求信息至少包括客户端信息、用户信息及请求通信的PLC设备信息;/n步骤S2,所述服务器端根据接收的请求信息查询预设的用户与设备关系表,验证所述客户端用户是否具有对所述PLC设备的通信权限,生成查询结果;当所述查询结果为有权限时,打开转发通道;以及,所述服务器端通过打开的转发通道将所述转发通道信息和PLC设备的ID回传给客户端;并将所述转发通道信息和客户端ID输出给所述PLC设备;其中,所述查询结果包括有权限或无权限;所述转发通道至少包括通信IP和通信端口;/n步骤S3,所述客户端接收转发通道信息和PLC设备的ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第一判断结果,当所述第一判断结果为符合时,将所述第一判断结果作为第一确认包发送给所述服务器端;所述PLC设备接收通道信息和客户端ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第二判断结果,当所述第二判断结果为符合时,将所述第二判断结果作为第二确认包发送给所述服务器端;其中,所述第一判断结果包括符合或不符合;所述第二判断结果包括符合或不符合;/n步骤S4,所述服务器端根据接收的第一确认包和接收的第二确认包确定转发通道是否建立成功,若建立成功,则生成通信开始指令;若未建立成功,则关闭转发通道调用的通信端口;/n步骤S5,所述客户端根据接收的通信开始指令,通过服务器端向所述PLC设备按照预设周期发送通信状态维持包和通信数据;并接收所述PLC设备通过服务器端返回的通信状态维持包应答结果和通信数据应答结果;以及,根据通信状态维持包应答结果和通信数据应答结果判断所述客户端与所述PLC设备之间的通信状态是否超时,若超时,则断开通信连接并客户端重新发起通信请求。/n...

【技术特征摘要】
1.一种与远程PLC设备通信的方法,其特征在于,包括以下步骤:
步骤S1,响应于客户端用户的通信请求,服务器端获取所述客户端的请求信息;其中,所述请求信息至少包括客户端信息、用户信息及请求通信的PLC设备信息;
步骤S2,所述服务器端根据接收的请求信息查询预设的用户与设备关系表,验证所述客户端用户是否具有对所述PLC设备的通信权限,生成查询结果;当所述查询结果为有权限时,打开转发通道;以及,所述服务器端通过打开的转发通道将所述转发通道信息和PLC设备的ID回传给客户端;并将所述转发通道信息和客户端ID输出给所述PLC设备;其中,所述查询结果包括有权限或无权限;所述转发通道至少包括通信IP和通信端口;
步骤S3,所述客户端接收转发通道信息和PLC设备的ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第一判断结果,当所述第一判断结果为符合时,将所述第一判断结果作为第一确认包发送给所述服务器端;所述PLC设备接收通道信息和客户端ID,根据预设的判断规则确定所述转发通道是否符合通信请求的要求,生成第二判断结果,当所述第二判断结果为符合时,将所述第二判断结果作为第二确认包发送给所述服务器端;其中,所述第一判断结果包括符合或不符合;所述第二判断结果包括符合或不符合;
步骤S4,所述服务器端根据接收的第一确认包和接收的第二确认包确定转发通道是否建立成功,若建立成功,则生成通信开始指令;若未建立成功,则关闭转发通道调用的通信端口;
步骤S5,所述客户端根据接收的通信开始指令,通过服务器端向所述PLC设备按照预设周期发送通信状态维持包和通信数据;并接收所述PLC设备通过服务器端返回的通信状态维持包应答结果和通信数据应答结果;以及,根据通信状态维持包应答结果和通信数据应答结果判断所述客户端与所述PLC设备之间的通信状态是否超时,若超时,则断开通信连接并客户端重新发起通信请求。


2.如权利要求1所述的方法,其特征在于,所述步骤S2包括:
当在用户与设备关系表中查询到接收的请求信息中记录的客户端或用户具有对所述PLC设备的通信权限时,生成查询结果为有权限;
当在用户与设备关系表中未查询到接收的请求信息中记录的客户端或用户具有对所述PLC设备的通信权限时,生成查询结果为无权限;
其中,当生成的查询结果为无权限时,向客户端输出用于提示无通信权限的错误信息。


3.如权利要求2所述的方法,其特征在于,所述步骤S3包括:
所述客户端检测接收的转发通道信息和PLC设备的ID是否符合要求,若接收的PLC设备的ID与请求的通信的PLC设备相同且可以通过转发通道与PLC设备进行通信,则判定符合要求,生成第一判断结果为符合;
若接收的PLC设备的ID与请求的通信的PLC设备不同或不可以通过转发通道与PLC设备进行通信,则判定不符合要求,生成第一判断结果为不符合;
其中,当第一判断结果为不符合时,输出重起通信指令,响应于所述重起通信指令向服务器端重新发起通信请求。


4.如权利要求3所述的方法,其特征在于,所述步骤S3还包括:
所述PLC设备检测接收的转发通道信息和客户端ID是否符合要求,若接收的客户端ID可以与所述PLC设备进行通信,则判定符合要求,生成第二判断结果为符合;
若接收的客户端ID不可以与所述PLC设备进行通信,则判定不符合要求,生成第二判断结果为不符合,并将所述第二判断结果发送给所述服务器端。


5.如权利要求4所述的方法,其特征在于,所述步骤S4包括:
当所述服务器端通过转发通道接收到第一确认包和第二确认包时,判定确定转发通道建立成功;
当所述服务器端通过转发通道未接收到第一确认包或第二确认包时,判定确定转发通道为建立成功。


6.如权利要求5所述的方法,其特征在于,所述步骤S5包括:
若客户端在连续多个预设周期内,未接收PLC设备通过服务器端返回的通信状态维持包应答结果,则判定通信状态超时;
若客户端未在连续多个预设周期内,未接收PLC设备通过服务器端返回的通信状态维持包...

【专利技术属性】
技术研发人员:刘胜红
申请(专利权)人:深圳市科创思科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1