签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
S7-200 SMART与丹佛斯FC360变频器Modbus RTU通讯,单台轮询测试正常,超时时间设置为1秒,从来没有超时过,数据写给变频器也能正常启动,且读回数据也正常。
PLC与2台变频器轮流读写,程序中变频器2读完成done位连接一个计数器,用来记录轮询次数。大部分时间该计数器以1秒加1的速度累加(将初始化timeout改为2000ms,则现象是每2秒加1的速度),观察程序实时状态,发现能流卡在M2.4或者是M2.2,即从变频器2读取完成后的done位,和变频器1读取完成后的done上。感觉上像是每次轮询会有任意一个变频器掉线?但是4个MSG的error始终是0,通讯超时应该有错误代码的吧?也有少部分时间是计数器2秒加1(两个都超时)和1秒加好几个数。
硬件方面通讯电缆使用的是屏蔽电缆,且2台变频器距离PLC不到0.5米。PLC与变频器的地址,波特率,奇偶校验这些也核对过好几遍了,最后一台变频器的端接电阻也已拨到on了,不知道是哪方面的问题,请各位大佬帮忙看看
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1766863&b_id=64&s_id=0&num=21
这么近,终端电阻不接入电路
终端电阻能加的,优先加上,不管距离长短。
终端电阻可以有效降低线路阻抗,值得干扰产生的感应电压降低。
感觉掉线?如何证明?
终端电阻是要加的,你加的是多大的电阻?
命令间加延时试试,rtu有字符间时间间隙要求,可能是粘包了
另外可以再加一路485接到PC上,通过串口调试助手监听报文的收发情况
error的错误可能会一瞬间,最好用置位提示出现的错误。如果一台可以,第二台不行仔细看下第二台的modbus接线和第二通讯程序。
1、这点距离这点波特率终端电阻不能加;
2、建议每个MSG之间执行时间建议加长到50ms以上而不是上个Done来EN下一个MSG;
3、MSG的Error值只有在Done的上升沿的那一个周期才是有效的,其它周期的就不要参考Error的值了没意义;
4、如果可能,仅用一个MSG来轮训才是正道,你这种前个Done驱动下个EN的是例程常用的邪道。
这里使用了“不能”,是不是可以理解为:这点距离这点波特率加终端电阻,会带来有害的副作用?
错误应该是没有的,虽然没置位观察,但是4个msg发的话正常轮询周期几十ms到100多ms应该是要的,我盯过一段时间的error存储器,数据0没有跳变过,感谢
关于另一路485接到PC,串口监听,是否想检查PLC发送,收到的数据格式是否正确?还是在PLC与变频器通讯时,检测通讯超时前后的数据收发情况?大佬能否说的再详细些,感谢
感觉EN端不能用M点的动作来触发啊
引用5楼详细内容:
用程序盯。
你眼神不好。要么是你屏幕不行,拖影。要么是你显卡慢,刷新不及时。要么是网卡慢……这等东西是盯不住plc的。
一招制敌。
时间的关系,变频器那边应该明显滞后了,所以你程序里偶尔停止询问;
距离短、波特率低,确实可以不加终端电阻,但这是偷懒而已。如果严格要求,还是加上的好。所以,yanxiao版主说的对。
做MSG轮询,我一直有点好奇,
以主贴图片为例,MSG是异步指令,最后一条MSG通信执行完成的扫描周期内,从上往下,依次M2.3是1,MSG指令完成,M2.4置1,然后M2.3复位,直到本周期结束,MSG还是被M2.3使能的;当进入到下一个周期时,M2.4又使能了第一条,这样是不是相当于有两条MSG指令同时被使能了?
期待先知解惑!
变频器 参数有没有确认过呢?
赞同2楼发言!
终端电阻加不加得根据实际情况来 ,一般来说距离短 不需要,当然不排除某些特殊得设备,必须得加
通讯超时,
是变频器运行中出现?
还是变频停止的时候出现?
可以在通讯线上加磁环,增加抗干扰性
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录