电工学习网

 找回密码
 立即注册
查看: 1227|回复: 0
打印 上一主题 下一主题

MODBUS通信之记一次错误导致造成的瞎忙活

[复制链接]
跳转到指定楼层
楼主
发表于 2021-10-27 16:50:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个事情最终不是程序原因,有些出人意料,大家猜猜看
最近正好遇到一个项目,准备由原来的模拟量信号控制改为通讯控制,看了一下手册说明,正好驱动控制器都支持MODBUS RTU的通讯协议。这样可以节省一个AQ02的通讯模块。
硬件组态如下:
1、S7-200 SMART 的plc SR60一台;
2、需要控制的某品牌驱动模块1台,记为1
3、需要控制的另一品牌驱动模块1台,记为2
步骤如下:
1、查看1手册,发现其通讯设置参数,只能设置地址,其波特率、校验方式等都是固定的。如下:
MODBUS通信之记一次错误导致造成的瞎忙活
可以看到其通讯格式为8-E-1,也就是数据位8,偶校验,停止位1。默认地址为240,我在参数设置项03将其地址改为1。
然后单独测试,通讯正常。
2、查看2手册其通讯可以设置较多类型,只有一种不能设置,这个不能设置项不与1设置相同,我就放心了,就开始将数据通信格式设置为与1相同,只将其地址设置为2。手册说明如下:
MODBUS通信之记一次错误导致造成的瞎忙活
哪知将其设置完成,添加到轮询里面,其无论如何也通讯不上。我更改了通讯方式,改为8-N-1,也就是无校验,这次2能通讯上了,1通讯不上。这很奇怪啊,难道只能支持无校验方式的通讯吗?我又试了奇校验方式也是不行。如图

MODBUS通信之记一次错误导致造成的瞎忙活

MODBUS通信之记一次错误导致造成的瞎忙活
死活通讯不上,出现3超时错误,当改为无校验就可以。查了线缆,查了设置,来回折腾。最后想着,我这个被控驱动器中通讯改为奇校验试试,发现通讯上了。这我纳闷了,怎么奇校验到通讯上了,我再改回偶校验,将PLC中程序校验改为1,这次也通讯上了。我就明白原来是它搞反了。
但是这个驱动器按说在行业内也属于顶尖的,怎么这也会搞反,我将其语言改为英文,发现原来是翻译时搞错了。英文的EVEN翻译成奇校验,将Odd翻译为偶校验了。中文设置偶校验,如下:
MODBUS通信之记一次错误导致造成的瞎忙活

MODBUS通信之记一次错误导致造成的瞎忙活
来源:西门子工业技术论坛

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-8-23 08:27

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表