一种远程升级PLC和HMI组态屏程序的方法-做个笔记

简介: 一种远程升级PLC和HMI组态屏程序的方法-做个笔记

目前市面上有很多远程升级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的编程软件有关吧,没有做细究,不过后来测试发现,将127.0.0.1替换为本机的IP地址是可以的。


组态屏远程


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端口转发服务器更新》


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


来张高清图:


结束语


使用这个方法是因为正好项目里是用到控制器(网关)+PLC这种方式,所以这样用起来挺方便,不用再单独装一台PLC的远程设备。


这里没有详细介绍frp的配置,frpc是客户端,运行在网关设备里,或者是电脑上都可以,网上好多教程。

目录
相关文章
|
算法 网络协议 Linux
【Cisco Packet Tracer】交换机的自学习算法
【Cisco Packet Tracer】交换机的自学习算法
566 0
|
2月前
|
JavaScript 前端开发 API
n8n - 架构学习指南
欢迎来到 n8n 学习之旅!本指南带你深入解析这一强大开源工作流自动化工具的架构设计与技术实现。从项目结构、核心模块到代码质量,结合实战路径与贡献指导,助你由浅入深掌握 n8n,实现从使用者到贡献者的跃迁。
691 28
|
传感器 监控 安全
预防非法访问
【8月更文挑战第19天】
429 7
|
编译器 C++ 开发者
C++一分钟之-嵌入式编程与裸机开发
【7月更文挑战第12天】在嵌入式裸机开发中,C++发挥着关键作用,尤其适合高性能和硬件控制。内存管理是核心挑战,推荐静态分配或手动堆栈管理以防止泄漏和碎片。中断处理应快速,仅设置标志,复杂逻辑移至主循环。编译器优化平衡代码大小和效率,但过度优化会牺牲可读性。通过谨慎实践,开发者能驾驭C++的优势。
356 1
|
机器学习/深度学习 人工智能 搜索推荐
智能教育
【5月更文挑战第18天】智能教育
704 2
|
域名解析 弹性计算 监控
用阿里云服务器搭建论坛教程
```markdown 1. 购买阿里云ECS实例 2. 配置域名解析至服务器IP 3. 安装Nginx/Apache,部署论坛文件 4. 安装MySQL,创建数据库和用户 5. 选择论坛程序(如Discuz!),完成安装配置 6. 自定义论坛参数,设置功能 7. 可选:启用SSL证书增强安全性 8. 定期备份数据,监控服务器性能 确保更新维护,顺利搭建安全论坛!求助阿里云客服或文档以获取支持。 ```
470 0
|
数据采集 并行计算 大数据
LabVIEW 32位与64位版本比较分析:性能与兼容性详解
LabVIEW 32位与64位版本比较分析:性能与兼容性详解
882 0
|
程序员 Linux 调度
《操作系统》——计算机系统概述
《操作系统》——计算机系统概述
941 4
|
安全 网络协议 网络虚拟化
通过Internet对PLC远程访问控制
西门子S7-200 SMART CPU集成了一个以太网通信端口,支持以太网和基于TCP/IP的通信标准,利用该端口通过Internet对所售出的产品进行远程诊断和维护,可以减少工程师到现场的时间和费用,为客户提供更为快捷的服务,减少客户的损失。
通过Internet对PLC远程访问控制