前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一种远程升级PLC和HMI组态屏程序的方法

一种远程升级PLC和HMI组态屏程序的方法

作者头像
fensnote
发布2023-09-15 14:40:36
4380
发布2023-09-15 14:40:36
举报
文章被收录于专栏:嵌入式技术笔记

目前市面上有很多远程升级PLC程序的产品,这些设备的原理大多是VPN。

在PLC的局域网里需要接入一个设备,这个设备具有4G联网或者通过网线联网的功能,这个设备里面有个VPN的客户端,启动后连接到VPN的服务器端。这样在你的电脑上需要安装一个VPN的客户端,启动VPN后,你的电脑就和远程的PLC的局域网构成了一个虚拟局域网,这样就可以实现远程下载程序。

今天我说的这个方法,和这个也是有点类似,也需要有个公网服务器,本地需要一个类似于网关的设备,核心点是端口映射,也就是常说的内网穿透。

工具简介-Frp

开始之前,先简单介绍一下这个内网穿透的工具:frp 这是一个开源的工具,采用go开发的,跨平台,不管你是arm平台、x86、还是mips都可以,这三种平台我都用过。具体的使用方法这里就不详细介绍了,参考《分享一个内网穿透工具frp》。

原理介绍

我这里是使用的西门子的Smart 200系列的PLC,组态屏是昆仑通态。

PLC远程

如上图,左边部分是通过网关里的frp将PLC的102端口映射到公网服务器的10010端口。

右边部分是用户使用PLC编程软件连接这个映射出来的端口的过程,至于中间为什么要加一台TCP端口转发的设备(电脑或者嵌入式设备),是因为PLC的软件不支持设置端口,只能连接默认的102端口,所以,这里需要一台TCP端口转发设备,将监听102端口,并将102的数据转发到公网服务器的10010端口。

有人可能会问,为啥不直接在用户电脑上启动一个端口转发工具,将127.0.0.1 的102端口直接转发到公网的1001端口?这个我测试了下,连不上,可能和PLC的编程软件有关吧,没有做细究。

组态屏远程

MCGS组态软件连接组态屏下载软件的TCP端口是127,这个端口是测试出来的,测试方法也比较简单:

目标机名那里随便输入一个局域网的IP,点击通讯测试,然后在Windows的cmd命令行输入命令:

netstat -nt | findstr 192.168.1.218

如下图结果:

22端口是我连接的ssh,第2次查询时多出来一个连接,连接的tcp端口是127,这个端口就是组态软件下载程序的端口,我们可以把组态屏的127端口给映射出来即可。

示例图:

是不是很奇怪,刚才说的PLC不能用的方法,组态屏可以用,所以说这个和编程软件有关系。

来测试一下:

软件上提示通讯测试正常,看左边的端口转发工具,上面可以显示出tcp的交互数据,一不小心把协议数据也抓到了O(∩_∩)O~

tcp端口转发工具

这个TCP端口转发工具最新版本参见往期博客《qt5-Tcp端口转发服务器更新》https://blog.csdn.net/wuquan_1230/article/details/123727649

这个tcp端口转发工具用处很多,特别是调试通信时,观察通信交互过程中的数据,非常方便,而且还包含了网络调试助手的功能,也就是说你可以伪造数据发给服务端或者客户端!

来张高清图:

结束语

使用这个方法是因为正好项目里是用到控制器(网关)+PLC这种方式,所以这样用起来挺方便,不用再单独装一台PLC的远程设备。这里没有详细介绍frp的配置,frpc是客户端,运行在网关设备里,或者是电脑上都可以,网上好多教程。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023/03/30 07:40:00,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式技术笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档