手机和plc通信软件下载 手机APP和PLC通讯-外网方式

用户投稿 38 0

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

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

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

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

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

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

二,简单程序编写

1,node-red和PLC通讯

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式 手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

下面是配置PLC的通讯参数

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

需要读取的点

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

发给PLC,PLC收到的数据是

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

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

MQTT服务器用的这个免费的

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

3,PLC和手机APP处理

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

PLC传输到APP

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

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

开关量数据一样

手机和plc通信软件下载 手机APP和PLC通讯-外网方式 手机和plc通信软件下载 手机APP和PLC通讯-外网方式

这是读取的PLC数据,

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

点击取反

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

所有内容合成一串

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

订阅主图hyxhyx1测试

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

PLC收到的内容

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

程序判断是字符1输出

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

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

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

手机app控制PLC方案-仅限局域网

前面有视频讲到了用浏览器可以监控PLC的变量的方法,如下图所示,将PLC的IP地址192.168.10.6映射到了一个外网地址,随意一台上网的手机或者电脑都可以查看对应变量表的数值。

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

后面一直琢磨怎么能让手机能够控制PLC呢?web 服务器可以自定义网页,但是需要自己开发网页,我不会啊,然后就想到了用MIT APP开发APP软件,具体的使用编程有兴趣可以去试试,拖拽式,很适合没有C语言基础的小白,我不细讲了。

受限于该开发平台限制,合适使用的通讯方式只有TCP连接,PLC做服务器,app做客户端。

PLC的配置如下,开放2001端口连接

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

app的客户端配置

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

然后就是数据处理,首先是浮点数处理,因为这个开发平台是不能处理浮点数的,也没有各种进制转换,所以只有PLC那边将所用数据转成字符串形式发送,所以它只适合做简单控制处理。

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

如上图,将压力28.41转成字符传2841

将Q 点状态转成ON或者OFF,(这里0和1也行),后续在app处理

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

如下图,就是app 收到的字符传,收到内容在app后台编程截取字符加上小数点就行

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

部分代码如下,截取97和99开始的各两个字符,加上小数点显示即可

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

就把2487转成了24.87

下图就是输入输出的转态和控制开关,绿色标识为ON中,蓝色标识OFF中,也是app 接收到ON,OFF进行编程处理

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

开关量状态部分代码如下,接收到OFF设置背景延时为蓝,否则背景颜色为绿,(其实发送01好像节省PLC地址,我懒得改了。)

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

处理完读取然后是控制指令,需要如果需要设置浮点数的话,需要在app 设置字符串,然后PLC转换成浮点数,我就没搞了,浪费时间,讲下开关量控制吧。

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

我给每个开关设置预留一个字符位置,点击就取反,总共需要10个控制点位+一个总开关

比如SV4106对应第五个字符,SV4203对应的第8个字符位置

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

点击一下就取反,然后刷新数据发送

将起始符+10个开关状态+总开关状态合并合成一串字符,发送到PLC

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

PLC收到就是&B开头的一串字符串,如下,然后进行数据处理

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

PLC如下处理,手动下,链接状态正常,确认开始符后,对应字符=1就执行输出

手机和plc通信软件下载 手机APP和PLC通讯-外网方式 手机和plc通信软件下载 手机APP和PLC通讯-外网方式

通过以上方式就实现手机APP控制PLC,缺点是数据处理麻烦,不适合需要设置比较多参数的项目,最适合手动调试一些开关量。

还有个缺点是tcp 客户端通讯是能适用于局域网,外网是不支持的,后续研究下外网吧。

手机和plc通信软件下载 手机APP和PLC通讯-外网方式

相关问答

plc如何实现与手机通讯?

PLC可以通过以下方法与手机进行通讯:1.使用无线通讯模块:PLC可以安装无线通讯模块,通过无线网络与手机进行通讯。无线通讯模块可以有多种选择,如Wi-Fi,蓝...

Arduino可不可以记录plc产生的数据并传给手机app?

可以实现。这里的核心是设计并实现数据通讯的方式,1.电动机的自动控制是由PLC完成的,所有的数据都在PLC中。2.想通过手机APP查看或调整PLC数据库中的数据,...

t8国际平台下载/手机免费版通用版APPv8.0.2-图吧地图

t8国际平台下载是一款报道称,摩萨德成功在一处安保措施严密的设施内安放爆炸装置,不仅说明以色列情报机构已深入伊朗境内,也反映了伊朗情报和安全部门的漏洞

维控plc怎么用android线链接电脑-ZOL问答

手机MotoMotoDroid讨论回答(6)连接维控PLC到安卓设备的方法有多种,以下是其中一种常见的连接方式:首先,确定你的安卓设备支持与PLC进行通信。然后,使用一...

b738可以用手机吗?

ABBB738是一款可编程逻辑控制器(PLC),它本身并不能直接与手机通信。但是,您可以使用ABB提供的远程访问软件,例如ABBFactoryAutomationExplorer或ABBAb...

怎么把plc数据显示手机端?

plc先与工控软件(组态软件)通讯,在组态软件显示,再工控机上安装一个远程控制的被控软件,在手机上安装一个主控软件;这样就可以看到PLC信息。手机APP跟PLC用...

福彩走势图(中国)IOS/手机APP官网下载V3.40.70;

BiodexaPharmaceuticalsPlc、ConduitPharmaceuticalsInc.、TffPharmaceuticals,Inc.较为活跃,换手率分别为962.12%...

如何在iphone手机上装欧姆龙plc编程软件?

苹果电脑可以使用欧姆龙PLC编程软件,建议安装欧姆龙PLC绿色版编程软件。苹果电脑可以使用欧姆龙PLC编程软件,建议安装欧姆龙PLC绿色版编程软件。

小米手机不能识别plcooc?

你可以下载一个1助手,安装了就能识别了.你可以下载一个1助手,安装了就能识别了.

三洋plc-xu350c如何连接手机?

三洋plc-xu350c通过tcpip连接手机首选PLC要支持tcp/ip,设置好IP后连接到路由器(有无限功能的),然后电脑通过WIFI连接到路由器,IP地址要在同一网段。你试下...

抱歉,评论功能暂时关闭!