线下实训
HOME
线下实训
正文内容
plc外网编程 手机APP和PLC通讯-外网方式
发布时间 : 2025-05-19
作者 : 小编
访问数量 : 23
扫码分享至微信

手机APP和PLC通讯-外网方式

上篇文章提到手机APP通过TCP局域网的方式和PLC通讯,就在考虑外网如何实现。

查询了很多资料,主要是通过物联网协议MQTT通讯实现。

一,实现外网控制的几种方式

1,西门子S7-1200或者1500系列PLC本身支持MQTT协议的

PLC连接外网的情况下,通过对应库做MQTT客户端连接到服务器,手机APP再连接MQTT服务器,实现数据交换,这个我摸索了好久,没摸索明白,就放弃了。

2,对于不支持MQTT协议的PLC可以通过物联网网关实现,购买一个有人或者巨控之类的网关,这个方式相对简单,手机端和云端APP都是厂家开发好的,缺点是价格贵些。

3,第三种方式就我用的方式,简单描述就是一台可以上网的电脑,一边连着PLC,一边做MQTT客户端,和手机APP连到通一个MQTT服务器进行通讯,如下图

手机APP使用MIT APP平台开发,上文有介绍,各位可以看看。

而我用云服务器代替了电脑,想练习的朋友不用云服务器,用普通电脑也行的,PLC连到了蒲公英路由器,通过蒲公英的异地组网功能实现云服务和PLC连接,如下图

云主机(随意一台电脑也行,一下用电脑代替),怎样接PLC的数据发送到手机呢?这里只要用到一个工具 Node-red,如下

它是完全免费的,可以一边读写PLC数据一边订阅和发布MQTT消息,等同于免费物联网网关。

二,简单程序编写

1,node-red和PLC通讯

node-red怎么安装各位自己搜索就好,或者找我要链接,这里不多讲啦,先讲Node-red怎么和PLC通讯,安装完毕后直接浏览器输入 HTTP://localhost:1880,或者127.0.0.1:1880进入编程界面,刚安装的是没有和西门子PLC通讯的插件的

如上图,设置进入控制板,然后搜索s7,添加S7的PLC的插件,安装完毕就有读取和输出的图标,拖出来用就行。

下面是配置PLC的通讯参数

需要读取的点

地址格式参考这个网站 https://www.mqtt.cn/1245.html

下面是写入PLC的数据,通讯参数和读取的一样

地址是一串字符串,处理方式和上文TCP局域网的处理一样。

发给PLC,PLC收到的数据是

输出为1的位置就表示对应的Q输出

2.node-red和MQTT服务器的通讯

MQTT服务器用的这个免费的

地址和端口设置好,主题设置为hyxhyx

这样,node-red就会将我需要的数据按周期发送到MQTT服务器,IOData就是对应Q的输出状态,1标识ON中,0标识OFF 中

下面是用MQTT客户端测试数据是否正常发出,如下图订阅的主题是hyxhyx,能正常收到数据

下图是订阅一个主题为"hyxhyx1'的消息,

是将手机APP发送的数据传到MQTT服务器,MQTT服务再给node-red,node-red将数据写入PLC的地址 DB99里面的0开始的地址,然后PLC处理数据

3,PLC和手机APP处理

上面大家也看明白了,node-red,MQTT服务器客户端,都是中转,为了让APP能和PLC能进行数据交换,下面简单介绍PLC数据处理。

PLC传输到APP

浮点数数据都是转字符的,开关也是字符表,0表示OFF中,1表示ON中

下面是PLC收到的数据,一大串字符,比如PT4101的压力是28.387

如下图,搜索整个字符串PT4101的位置,然后提取出来,

开关量数据一样

这是读取的PLC数据,

下面看看控制Q点开关如何编写

点击取反

所有内容合成一串

合成一串后以"hyxhyx1"主题发布

订阅主图hyxhyx1测试

PLC收到的内容

程序判断是字符1输出

以上是简单的控制,实际使用肯定需要加一些保护,比如心跳检测,APP是否和PLC通讯上等考虑。

通过Internet实现远程访问西门子PLC的方案

随着网络技术的发展,远程访问在工业网络的应用越来越普及!而且随着移动网络技术的进步,3G/4G/5G技术已经可以提供100M级别以上的带宽,高带宽意味着远程访问不仅仅只是局限于简单的维护,进而可以用于设备之间的通讯!

Internet作为现阶段最为普及的公共网络,它的应用也最为广泛,在这里我总结一下通过Internet实现远程访问西门子PLC的方案!

1.通过路由器的端口转发功能

要求:路由器能够上网,而且必须有公网(internet)IP地址,在国内可以咨询运营服务商,或者查看路由器WAN口的IP地址,如果是私网IP范围,那肯定不是直接上到internet,那就不行了(什么是私网IP?问问某度:))

优势:简单!几乎没有成本!适合多种应用,常用端口见以下链接:

http://support.automation.siemens.com/CN/view/zh/8970169

哪些协议使用哪些TCP端口?在使用路由器和防火墙时应该注意些什么?

不足:

a.西门子PLC通过以太网上传下载,都是用私有S7协议,那就意味着,如果现场有多个西门子设备,你只能访问一个!

b.安全!端口转发功能,不会对数据加密!所以,某些不地道的人只要在路由器上做一下端口监视,你的数据就暴漏了!

c.还是安全!任何人,只要知道你的路由器的公网IP,他就可以下载,或者攻击PLC!

d.OPC UA的应用,OPC UA的端口号不是固定的…..

端口转发的应用,参考文档链接:

https://support.industry.siemens.com/cs/cn/zh/view/90720115

如何通过3G网络对S7-300/400远程编程调试

2.VPN 功能

要求:上网设备支持VPN就可以,但是至少一侧的上网设备有公网IP(VPN服务器)

优势:

a.VPN技术已经很成熟!一旦VPN隧道建立,两侧就是一个局域网,任何基于IP的应用都可以同时使用!

b.而且数据加密,安全可靠!端口转发的种种不足,都可以解决!

c..西门子支持VPN的设备种类繁多,功能各异,根据网络情况可有多种选择!

d.VPN 是开放技术,使用第三方VPN设备组网也没有问题!

不足:西门子路由器支持的VPN都是IPsec VPN,三层的VPN,因此某些二层功能(STEP7-编辑以太网节点)不能实现

参考文档链接:

https://support.industry.siemens.com/cs/cn/zh/view/109420981

如何通过3G网络对 S7-1200远程编程调试

https://support.industry.siemens.com/cs/cn/zh/view/32447942

如何在 PC 站和 SCALANCE S61x 之间通过 SOFTNET Security Client Edition 2008 在 Internet 上建立 VPN 通道 ?

https://support.industry.siemens.com/cs/cn/zh/view/91337551

基于 WCDMA 网络在 SCALANCE S612 与SCALANCE M874 之间建立 VPN

https://support.industry.siemens.com/cs/cn/en/view/26662448

IP-based Remote Networks

3.特殊应用:PLC现场往往比较偏僻,不方便上网,ADSL宽带上网不方便!而且设备间距离比较远,这样就要考虑移动网络!但是在国内,移动网络普遍使用NAT44技术,如下图,3G/4G的手机卡上网大都是没有公网IP的,都是先连接到服务商的私有网络,有需求时再连接到internet。在服务商的内网,安全考虑,手机卡之间是有防火墙拦着的,不能直接通讯!

这种场合下,以上的方案就都有问题了!

解决方案:

a.和运营服务商申请特殊的SIM卡,SIM卡之间可以直接通讯!(很困难!一般运营服务商不会面向个人用户提供这样的服务)

b.西门子工厂自动化有一项服务,M874-3+联通大客户卡捆绑销售!等于是西门子和联通的一个合作,联通为西门子提供特殊的SIM卡,SIM卡在联通的内网里获得一个固定的IP(私网IP)地址,而且SIM卡之间没有任何防火墙规则,可以直接通讯!

优势:

因为SIM卡之间直接可以通讯,因此方案1/2都可以使用!解决了不方便宽带上网环境的应用!

不足:西门子联通大客户卡连接到服务商的私网,因此可能不能连接到公网!

4.其他网络技术,很多第三方网络公司会有远程方案,具体咨询第三方公司!多问问,很多也是使用VPN技术,连接到他们的VPN服务器,用户再使用特殊的账户访问他们的服务器(等于数据经过第三方中专)!但是安全性,要自己考虑!

相关问答

如何通过以太网远程控制PLC?

远程控制plc可以通过远程电脑进行连接,这样需要使用现场有人配合,准备电脑甚至于改动线路。通过EMCP物联网云平台就可以实现在任何有外网的情况下实时监控、控...

如何实现PLC远程监控及远程调试?

如何实现PLC远程监控及远程调试?随着工业物联网的发展,作为设备厂家需要提供设备联网方案给到工业用户,需要对设备运行数据远程采集,对设备远程维护,实现高...

西门子s7-300/400系列的plc有哪些编程

1PLC编程中西门子过流继电器用什么表示说明如下1.在PLC中有一个概念叫存储区,在存储区域中划分为I输入、Q输出、M内部内存位、SM特殊内存位、V变量内存等等...

如何在外网下载东西?

一,使用局域网下载1,在通信配置中,对于一个新的PLC,先扫描PLC的实际IP地址2,将电脑IP设置成与PLC的相同网3,通信配置中配置好PLC和IP和电脑网卡的IP。...

大仙们有谁懂触摸屏读取PLC采集的模拟量的数据的速度?,模...

[回答]支持TCP/IP、UDP网络传输协议。具备短信传输功能,支持手机短信修改模块参数或控制重启(需预设手机号),支持远程服务器修改参数。中心站设备是不连...

siemens西门子PLCS7-200CN-扩展模块CP243-1以太网模块一个...

(原装模块的是直接IO总线通讯,需要编程才能实现以太网通讯)凹凸威1天前扩展回答1西门子plc200价格了解的说下这只是一个系列啦,这个系列里不同型号,不同配...

以太网的端口号是什么-ZOL问答

那可以方便你用这台电脑一个网口联外网,另一个网口提供路由服务给内网的其它机器,使其它机器可以登录外网在PLC硬件设置里面是可以定义以太网地址的,比如:首...

怎么把两台主机连一同啊?这样就可以把其中一个硬盘的东西转移...

另外,如果外网和内网能直接访问,可以设置共享,通过一台电脑访问另一台电脑的共...西门子plc编程软件step75.5有几个版本5155浏览4回答OPPO怎么联接小米手环...

西门子系列的S7-200CPU224的PLC它是多少位的

西门子s7200系列plc价格是:供应商:深圳市盈科悦科技有限公司公司地址:广东深圳市福田区红荔西路7001号华茂欣园银杏阁10B西门子siemensPLCS7-200价格:¥1...

DCS监控层网络丧失后,各个控制站仍独立运行-盖德问答-化工人...

所有监控都失灵了,除非在最短的时间能够把最主要的工艺参数正常监视,否则对工艺来说是很危险的,全部监控失灵一般是交换机等网络设备异常,但是网络...

 t67  2020诺贝尔奖 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部