自动化应用(手机短信可以接收PLC报警?教您用西门子200实现真正的无人操作)
原创不易,请勿抄袭。
可能好多人已经使用过这种技术,甚至非常熟悉这种技术,毕竟S7-200已经使用了很多年,但是作者以前一直没有遇到过这种应用,作者觉得这种方式很实用,所以把它做成一篇文章,供大家参考。
首先我们来说下自动化控制系统,说是自动化控制系统,自动化指的是控制而非一切,维修就无法自动化,因此如何作到设备的无人值守?德国的方式是出现问题后通过打电话报告故障代码和故障内容的方式通知操作人员或者维修人员,以此可以避免操作人员不得不一直停留在控制室。这也是德国工厂的操作人员为什么这么少的原因之一,但是这种方式有个前提,那就是你的设备包括你的程序的性能一定要非常好,设备稳定性指;如果设备稳定性不好,一直有故障的话,还是留个人在那吧。程序的性能指出现任何故障时都可以清晰的判断出哪个部位出现了问题,而且出现一些危险的故障时可以有一些相应的程序手段避免事态扩大;这一点说起来很简单,但实际操作起来却非常非常难;需要大家日积月累的学习。
以前有朋友给我提意见,让我把硬件也写到文章里,闻过则改,以后的文章会带硬件目录,再次感谢这位朋友,也希望以后的文章大家可以给我提意见,包括想学习哪种PLC,哪个方向等等。好吧,进入正题吧!
让我们看下今天的实例,
需要的硬件软件。
1 24V电源模块
2 SIMATIC S7-200 CPU 224XP
3 MD720-3发信号设备 6NH9720-3AA00
4 ANT 794-4MR Antenna天线 6NH9860-1AA00
5 PC/PPI cable编程电缆 6ES7901-3CB30-0XA0
6 SIM card能发短信的手机卡
7 能收短信的手机
需要的软件有STEP 7 Micro/WIN和SMS库文件,请注意MD720-3需要使用串口连接,所以不同串口的库文件不同;有想要库文件的请在评论区留下邮箱,我会一一发送。
操作步骤一打开软件将库添加进程序里,以前我们讲S7-200使用称重功能时需要将库文件添加到程序里,操作方式一致,这里不重复讲,避免占篇幅太长。
添加完成后有5个程序,其中
SMS_init: ......SMS初始化块
SMS_xmt_rcv_manage ......SMS收发处理执行块
SMS_send ......SMS发送信息功能块
SMS_receive ......SMS接受信息功能块
SMS_tele_handle ......SMS远程访问处理块
程序的编写方式在主程序里依次调用SMS_init; SMS_send; SMS_receive; SMS_tele_handle如下:
1、在Main程序的Network1里编程如下
2、在Main程序的Network2里编程如下
3、在Main程序的Network3里编程如下
4、在Main程序的Network4里编程如下
5、在数据块中的定义如下
6、给功能块分配库存储区,不分配则编译程序时会报错误,分配方法如下:打开指令库下的 program block,右键点击 library,在弹出的菜单下选择 Library memory...,如下图:
在弹出的 Library Memory Allocation 的窗口里点击 Suggest Address 按钮,如下图会分配VB0到VB226的存储区给库程序使用,此区域的地址在程序的其它部分不可再使用
到此就完成了所有程序的编写,编译并下载程序到PLC中。
调试程序
在线监控程序,先置V1000.0为1,触发初始功能化功能块初始化MD720-3为发送短信为Text模式,PIN码为“1234”;信息中心的号码为“+8613501363718”(北京的短信中心服务号)。
初始化成功后SMS_init_Done位为1;SMS_init_Status返回值为15。
初始化成功后,置位V1000.4为1,触发信息的发送功能,发送的目的手机号为“13801234567”;发送的信息为“Weather”。
发送成功后SMS_send_done位为1;SMS_send_status返回值为6.
这样就完成了信息的发送。
注意:上面的库功能块,除了SMS_xmt_rcv_manage不需在主程序里编写为,其它四个功能块都必须依次调用,且调用的条件是每个循环周期都执行条件是SM0.0。即使是不收发SMS,也需要调用SMS_send;SMS_receive; SMS_tele_handle,原因是PLC与MD720-3信息交换是需要SMS_send;SMS_receive; SMS_tele_handle功能块来处理的,即使只是初始化MD720-3,不接收和发送信息也是需要全调用的,否则无法初始化成功。
库功能块的状态信息
对于这个系统,虽然可以使用中文字符,但比较麻烦,建议大家使用英文字符即可。比如说发送ERR01另一侧有故障代码对应表,检查即可。大家学会了吗?
文章写来不易,学会的点个赞吧!
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
-
开车玩手机(来看看开车玩手机到底有多可怕?真的等于“玩命”啊)
2024-05-26
-
零首付买手机(“零首付”“低月租”……手机“以租代购”隐藏套路你遇到过吗?)
2024-05-26
-
哪里买手机便宜(379元诺基亚复刻版手机卖断货:官微推荐更便宜的220)
2024-05-26