西门子模块6ES7211-0AA23-0XB0
记得第一次接触的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块进行参数修改后必须进行数据更新,方法:“视图”--切换为“数据视图”---“编辑”---“初始化数据块”,然后将修改后的程序下载。 |
先说300,300的Modbus一直是大家纠结无奈的地方,CP341加Dongle(主站授权)的高昂成本催生了第三方DP总线桥市场,像我们一直用315-2DP+北京鼎实科技的产品(PB-B-RS232/485),还可以,但稳定性方面与CP341还是有差距。有一年一个涉及结算项目为保险走正道就是购买了CP341加Dongle,很好用很稳定,花大钱的东西用得就是爽啊! 简单说下一些调试感触,我一般先用Modscan和Modsim两大串口软件与控制器连接测试,当然必备的232/485转换器和USB转232转换器(如果用笔记本)是必须的了。用西门子自家的串行模块就不多说了西门子有很详细的文档教你,用总线桥也简单,厂家的应用文档写得也详细,无非这几步,硬件组态导入GSD、拨码开关设地址、数据映射、发送接受命令与报文处理等。我感受*深的有以下几点一是有时总线桥DP通讯不上,硬件配置都正常,后来更改总线桥地址重新组态就OK了,这一招用了好几次,原因不明。二是有时读过来的数据不正常,这时你只要把高低字节反一下就好了。三是有次通讯不上(无接受)跟我买的15针插头没插好插偏了也有关系。我后来想用ET200S的151-8CPU,因为听说指令库是开放的,模块也相对便宜点,后来一直没用上。现在自己也用STL和SCL写了CRC校验,这些东东网上资源一大把,包括VB、C语言的都有。 200plc就爽多了,我们用的其实是网上一个高手写的Modbus库程序,写得很好(用200PLC的同仁应该很清楚),一直用得挺好。后来我们有的项目就走300+200的组合,也算一种妥协吧。1200PLC出来后我算用得比较早的,那时用系统自带的库指令真的很方便,就是傻瓜式编程了,1200的485模块也很便宜,现在1200PLC已取代我原先的300+200组合。如果大家想不用系统自带指令库而想自己写可以参考伊默老师在1200论坛发的一个Modbus通讯FB,用SCL写的,很好,我们很多人其实就是很幸福享受了他们这些高手的成果。 *后压阵的是1500了,我还是用的ET200SP的模块(MP的模块贵多了),还没开始调试,但相关应用文档都已从官网下载,还是要赞一下西门子这一点,应用文档做得真的很好很全。 说些题外话,Modbus是Modicon(现在并入施耐德)发明的,所以是施耐德系统的标配,但与DP还是没法比,也就小仪表和一般应用的变频器用用,真正实时性和控制精度要求很高的场合还得DP/PN等高速总线才行! |
联系方式
- 地址:上海杨浦 上海市松江区广富林路4855弄88号3楼
- 邮编:200093
- 电话:15821971992
- 经理:聂聪
- 手机:15821971992
- 传真:021-33556143
- QQ:2724917714
- Email:2724917714@qq.com