首页 » 99链接平台 » 手机APP和PLC通讯-外网方式(通讯方式手机数据服务器)

手机APP和PLC通讯-外网方式(通讯方式手机数据服务器)

神尊大人 2024-11-03 11:33:59 0

扫一扫用手机浏览

文章目录 [+]

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

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

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

手机APP和PLC通讯-外网方式(通讯方式手机数据服务器) 99链接平台
(图片来自网络侵删)

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通讯上等考虑。

标签:

相关文章

开关特性测试仪(开关触发传感器量程特性)

开关特性测试仪是针对各种高压开关研制的一种通用型电脑智能化测试仪器。开关特性测试仪应用光电脉冲技术,单片计算机技术及可靠的抗电磁辐...

99链接平台 2025-01-02 阅读789 评论0