【专家大讲堂】20200325串口通信常见故障解析
直播时间:2020年3月25日(周三) 19:30-20:30
主讲专家:曹建文
直播课主要内容:
——串口硬件与指令概览
——串口通信故障排查思路
——串口通信常见问题及分析方法
课程亮点:
清晰梳理故障排查思路
集中解析使用中故障点
回看视频链接:
http://www.ad.siemens.com.cn/service/elearning/Course/2583.html
直播答疑精选:
Q1:CP340走Modbus RTU协议有没有例程可以提供?
A1:首先,咱们西门子是没有CP340走Modbus RTU协议的相关历程的。网友可以到网络上去搜一些相关编程的资料。其实在咱们课题中已经提到了,理论上,用户可以基于ASCII的基础上,按照Modbus报文的格式来编写。但是,网友需要自己的考虑CRC校验、故障判断或者数据处理的问题。这些呢,需要一定的编程功底的。
Q2:S7-1500串口模块,做Modbus RTU主站,是否可以带不同波特率的仪表从站?
A2:首先带不同波特率的一个从站呢,需要考虑Modbus_comm_load的重新初始化的问题。其实在课件中咱们提到了,一个串口模块只能调用一个Modbus comm_load。理论上可以的带不同波特率的从站,就是重新触发初始化功能块,但是要控制好站与站之间的间隔,不然就混乱了。对这种情况简单的做法呢,就是增加串口模块,就是各做各的,这是最简单的方案。
Q3:341经常出现死机是怎么回事?断电重启问题解决?
A3:关于这个出现死机的问题,首先要考虑就是您的通讯程序环是否正常,有没有报错?像那个错误呢,不是说看不到就是没有错误,那是需要通过编程捕捉的方式来捕捉的。如果程序没有问题呢,咱们就要考虑到外围,比如说线路干扰的问题:比如走线,像通讯线有没有跟动力电缆放一块儿,通讯距离是不是过远(加终端电阻),是否可以做等电位处理或者是加第三方RS485隔离器。
Q4:Cp341多从站之间的接线方式,还有终端电阻选用多大的?
A4:像CP341呢,多站电接线方式,前面课件中已经说到了是手拉手的连接方式。如CP341的是RS485出两根线,4负11正,两根线到第一个仪表的正负,然后正负再并两根线到第二个仪表,这样依次的并下去。像终端电阻呢,在咱们课件中已经提到了,推荐用330欧姆的终端电阻。
Q5:16个modbus轮询最快能达到多少?和什么有关,波特率影响大吗?
A5:其实这个问题在课件里头已经就是有说明了。这个跟从站的通讯距离,还有通讯的数据、量波特率这些都有关系的。这个时间呢,咱们给不出具体的参数,需要自己实际测试才能知道的。
Q6:两头都能用测试软件测试成功,但是连接起来就无法通讯,监控报文时前几个周期是正常的,然后PLC就停止发送数据了,一直busy
A6:像这种问题呢,咱们就要考虑应该是跟双方的硬件或者程序都没什么关系,应该考虑它们之间的线路连接,EMC的问题。其实在课件里也讲到了,首先从线路走线,距离,终端电阻考虑,然后考虑他们之间连接电位,如果方便的话,咱们可以做两个硬件之间的等电位操作。如果等电位像这种还处理不了的话,那只能考虑加一个第三方RS485隔离,把两边电路隔开。
Q7:超过50m才必须用终端电阻吗?
A7:从通讯的角度考虑,超出50米需要增加终端电阻,而且是在RS485两端点加。这个终端电阻的作用是防止由于线路过长,出现信号反射,然后干扰正常信号。
Q8:RS485中继西门子有吗?
A8:其实西门子是有RS485中继器的。但是这个RS485中继呢,它适用于Profibus或MPI网络的。西门子的RS485中继是非透明的,所以它不能用于咱们串口通讯网络的隔离,如果要选用RS485隔离的话,建议用第三方的485隔离器。
Q9:S7-1200 走3964R串口通信协议,用什么指令,需要注意什么?
A9:首先3964R协议,需要在通讯数据发送前后有双方握手应答和结束确认,所以要求全双工模式,硬件接RS232/RS422才支持,其次,需要设置优先级高低,本测设置高,对方只能设置低优先级;指令同自由口通讯的发送接收指令(Send_PTP,RCV_PTP),使用方法相同,关于前后握手和结束确认,硬件后台自己完成,用户只考虑数据的发送和接收即可。
Q10: CP341走Modbus RTU主站协议,硬件狗买成Modbus RTU从站,怎么处理 ?
A10: 购买硬件狗时,是区分Modbus RTU主站狗和从站狗,但是实际硬件狗硬件上无具体订货号,硬件狗是通用的。
欢迎大家继续盖楼,探讨本话题