这里我们选用西门子PLC型号为S7-200 Smart和台达的变频器为例,并结合西安达泰的DTD434M系列无线通讯终端来说明PLC与变频器之间的无线通讯过程。 其他变频器和S7-200Smart的无线MODBUS通讯都是一样的,最大的区别就是通讯代码是各厂家自行定义的,查说明书就行。 我们的硬件测试环境如下 ▼ 系统硬件件接线表如下▼ 变频器通讯格式选择如下▼ 首先我们打开STEP7编程软件,在库里面找到我们要用到的MODBUS协议库文件 如下图所示▼
注意: 这个值必须设置足够大以保证从站有时间响应。
详细程序如下图▼
注意:①开关量输出和保持寄存器支持读和写功能。②开关量输入和模拟量输入只支持读功能
000001至000xxx-开关量输出 100001至100xxx-开关量输入 300001至300xxx-模拟量输入 400001至400xxx-保持寄存器
注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)
错误代码:0=无错误 1=响应校验错误 2=未用 3=接收超时(从站无响应) 4=请求参数错误(SLAVE ADDRESS,MODBUSADDRESS,COUNT,RW)。 5=Modbus/自由口未使能 6=Modbus正在忙于其它请求 7=响应错误(响应不是请求的操作) 8=响应CRC校验和错误 101= 从站不支持请求的功能 102= 从站不支持数据地址 103= 从站不支持此种数据类型 104= 从站设备故障 105= 从站接受了信息,但是响应被延迟 106= 从站忙,拒绝了该信息 107= 从站拒绝了信息 108= 从站存储器奇偶错误 1. 如果多个 MBUS_MSG 指令同时使能会造成6号错误。 2. 从站 delay 参数设的时间过长会造成3号错误。 3. 从站掉电或不运行,网络故障都会造成3号错误。 这里VW200寄存器里存储这频率控制指令,后面会对VW200寄存器写入频率控制指令。 例如:MODWR K1 H2001 K4000,就是写入频率为40.00HZ。 这里因为我们读出的数字(以十进制为例):xxxx实际表示数字应该是xx.xx,包含两位小数,所以需要属性和格式转换。这里我们还可以读出输出电流,输出电压等各种内部参数,具体参照变频器说明书。 注意:电压和电流读出的是扩大了十倍。 通 告 近期不只是抄袭本公众号和官网方案和文章的现象屡次发生,还出现了仿冒我公司产品的情况。 跟着我们一路走来的老粉都清楚,不论是我们的方案还是技术都是原创且历经了多年现场考验的。 这种打着【西安达泰】或者【PLC无线通讯专家】的名义欺骗用户的行为,不但违背了行业道德,还涉及商业侵权行为。 我们已经联系相关部门来处理这件事情。 请大家擦亮眼睛一旦发现此类情况火速联系我们! 我们更为关心的是用户的权益!品牌是你们给的,所以你们值得我们的尽心服务和郑重承诺,同时也必须使用正版可靠稳定的工业产品。 特此通知 此致 敬礼 PLC无线通讯专家团队 2017.8.30 左右滑动,可以变换不同的表情哦。 |
|