(图片来源网络,侵删)
前面有视频讲到了用浏览器可以监控PLC的变量的方法,如下图所示,将PLC的IP地址192.168.10.6映射到了一个外网地址,随意一台上网的手机或者电脑都可以查看对应变量表的数值。后面一直琢磨怎么能让手机能够控制PLC呢?web 服务器可以自定义网页,但是需要自己开发网页,我不会啊,然后就想到了用MIT APP开发APP软件,具体的使用编程有兴趣可以去试试,拖拽式,很适合没有C语言基础的小白,我不细讲了。受限于该开发平台限制,合适使用的通讯方式只有TCP连接,PLC做服务器,app做客户端。PLC的配置如下,开放2001端口连接app的客户端配置然后就是数据处理,首先是浮点数处理,因为这个开发平台是不能处理浮点数的,也没有各种进制转换,所以只有PLC那边将所用数据转成字符串形式发送,所以它只适合做简单控制处理。如上图,将压力28.41转成字符传2841将Q 点状态转成ON或者OFF,(这里0和1也行),后续在app处理如下图,就是app 收到的字符传,收到内容在app后台编程截取字符加上小数点就行部分代码如下,截取97和99开始的各两个字符,加上小数点显示即可就把2487转成了24.87下图就是输入输出的转态和控制开关,绿色标识为ON中,蓝色标识OFF中,也是app 接收到ON,OFF进行编程处理开关量状态部分代码如下,接收到OFF设置背景延时为蓝,否则背景颜色为绿,(其实发送01好像节省PLC地址,我懒得改了。)处理完读取然后是控制指令,需要如果需要设置浮点数的话,需要在app 设置字符串,然后PLC转换成浮点数,我就没搞了,浪费时间,讲下开关量控制吧。我给每个开关设置预留一个字符位置,点击就取反,总共需要10个控制点位+一个总开关比如SV4106对应第五个字符,SV4203对应的第8个字符位置点击一下就取反,然后刷新数据发送将起始符+10个开关状态+总开关状态合并合成一串字符,发送到PLCPLC收到就是&B开头的一串字符串,如下,然后进行数据处理PLC如下处理,手动下,链接状态正常,确认开始符后,对应字符=1就执行输出通过以上方式就实现手机APP控制PLC,缺点是数据处理麻烦,不适合需要设置比较多参数的项目,最适合手动调试一些开关量。还有个缺点是tcp 客户端通讯是能适用于局域网,外网是不支持的,后续研究下外网吧。
0 评论