记得次接触的PLC是西门子的226,当时看到老师通过这么一个灰色的大方块就能使电机/气缸/指示灯等东西执行不同的动作,感觉很神奇。
参加工作后,因西门子的变频器价格高,要使用通讯的方式与第三方的变频器进行通信,查看设备手册后,发现都支持MODBUS-RTU协议,既节约了成本又可以实现需要的功能,就它了。可是接下来问题不断,解决了PID问题,通信的问题一大堆,要么3号错误,要么6号错误,看了帮助,看了例程,才发现轮询机制没有做好,好吧,简单的使用上个指令的完成位激活下个指令的起始位,不报错了,心中窃喜,这下可以搞定了吧,结果读不到数据,这又是为什么?一个头比两个大!看了老半天资料,灵光一闪,是不是地址不对啊,结果终发现读取的变频器的参数的地址没有与PLC中的地址对应上,终于搞定了这个问题。成功通信,可以实现对变频器的控制,可以读写参数,使用效果良好啊,当然项目做成,得到老板嘉奖,来个自驾游,放松下心情,老板还是不错滴!
还有一次调试西门子PCS7系统,使用的是S7-400FH,需要MODBUS通信,采购了CP341和硬狗,写好CFC程序,当然轮询机制必须没问题啊,结果调试的时候不能和第三方仪表通信,奇怪啊,检查接线和程序,没问题,检查第三方仪表,可以用MODSCAN读到数据,百思不得其解啊!
后来实在没办法,拆了,换一个,结果拆下来的时候,突然瞄到CP341后面缺了点什么,晕菜,硬狗呢?装好,搞定,看到了让人兴奋的指示灯的交替闪烁。窃喜后,在DB块中修改个地址参数,继续联机通信,傻眼了,不能通信了,一个指示灯常亮,这又是为什么?好吧,同事说是不是程序有问题?重新写,建好两个DB块,通信,结果没有问题,修改了一个DB块中的地址参数,问题又来了,无奈只能求助于西门子工程师,原来是没有在更改DB块后进行数据块更新。
所以总结了下:
1:进行MODBUS通讯时要做好软件及硬件的准备工作。首先软件MODSCAN,MODSIM软件,也有用VSPD的;硬件部分:我们一般都使用笔记本那就需要准备USB-RS232的串口线,我一般用Z-TEK的,然后就是RS232-RS485的模块,我一般会用MOXA的,有人问买那么贵的干什么,我有惨痛教训啊,在实验室环境下用一般的模块没有问题,可以通讯,但是有时在现场就出问题了。
2:第三方设备通讯参数,特别是地址要搞清楚,然后就是西门子的通讯程序必须做好,注意不管是200还是300、400PLC都要做好轮询机制,300、400PLC需要配置硬件狗。接线问题就带过吧,注意屏蔽等问题,防止电磁干扰等。
3:关于冗余PLC,使用CP341进行驱动下载时,特别要注意:RACK1的CPU需要断电,RACK0 的CPU要处于STOP位置,才能下载。
4:关于300、400PLC中对通讯程序的DB块进行参数修改后必须进行数据更新,方法:“视图”--切换为“数据视图”---“编辑”---“初始化数据块”,然后将修改后的程序下载。
1. 状态转换的实现
步与步之间的状态转换需满足两个条件:
Ø 前级步必须是活动步;
Ø 对应的转换条件要成立。
满足上述两个条件就可以实现步与步之间的转换。值得注意的是一旦后续步转换成功成为活动步,前级步就要复位成为非活动步。
2. FX系列PLC的步进顺控指令
FX系列 PLC的步进指令有两条:步进触点驱动指令STL和步进返回指令RET。
STL:步进触点驱动指令 梯形图符号为
① STL指令有主控含义,即STL指令后面的触点要用LD指令或LDI指令。
② STL指令有自动将前级步复位的功能(在状态转换成功的第二个扫描周期将前级步复位)。
步进返回指令 梯形图为
一系列STL指令后,在状态转移程序的结尾必须使用RET指令,表示步进顺控功能(主控功能)结束 。
3. 步进梯形图和指令语句表编程:
① 先进行驱动动作处理,然后进行状态转移处理,不能颠倒。
② 驱动步进触点用STL指令,驱动动作用OUT指令。若某一动作在连续的几步中都需要被驱动,则用SET指令。
③ 连续向下的状态转换用SET指令,否则用OUT指令。
④ 相邻两步的动作若不能同时被驱动,则需要安排相互制约的联锁环节。
⑤ CPU只执行活动步对应的电路块,因此, STL指令允许双线圈输出。
- 西门子模块总代理商-孝感 2023-10-26
- 西门子模块总代理商-鄂州 2023-10-26
- 西门子模块总代理商-荆门 2023-10-26
- 西门子模块总代理商-宜昌 2023-10-26
- 西门子模块总代理商-荆州 2023-10-26
- 西门子模块总代理商-十堰 2023-10-26
- 西门子模块总代理商-襄阳 2023-10-26
- 西门子模块总代理商-黄石 2023-10-26
- 西门子模块总代理商-武汉 2023-10-26
- 西门子模块总代理商-湖北 2023-10-26