起因是这样的,MODBUS通讯,200smart,我们做的是从站,机器到客户那边后,售后反馈客户上位机没办法读取机器参数,首先检查程序,发现MBUS_INIT指令前面用的是SM0.0。修改为SM0.1。
本着负责的态度,在公司写了一段主站读写的轮训程序,跟测试程序通讯。modbus通讯线没有,就顺手拿了MPI电缆(6ES7 901-OBFOO-0AA0)这个电缆原来是200跟 wincc smart 700 IE屏幕通讯测试用的,也是用了很久的。里面四个引脚 用万用表测了 3-3 8-8 是通的。接上测试。
问题就来了,测试的时候发现可以写入从站的数据,就是读不上。而且写的速度比较慢,要过个2-3秒才能done,也没有啥报错。检查程序。没有啥错误,莫非SMART 200跟smart 200 不能做modbus通信?换200的主站,一试还是一样。线不行?试试连上屏幕,可以的啊。。。再说写都是可以的。怎么就读不出来呢。。。倒来倒去,没办法做了一根通讯线。3-3 8-8 。一插,调试成了,读写都可以,而且写的速度也快了,基本上指令下去,Done位就好了。。。看来最后还是线的问题。
那么西门子的MPI电缆,到底能不能做MODBUS的通讯线呢?还是说我们的这跟由于调试久了有点小问题,多疑才不能用。