技术论坛

s7-200modbus通信控制激光测距传感器

作者 主题
新手

经验值: 41
发帖数: 5
精华帖: 0
主题:【求助】s7-200modbus通信控制激光测距传感器


只看楼主 楼主 2020-09-09 20:55:22

各位前辈好,我用plc控制激光测距传感器。传感器支持modbus rtu协议。其消息报文里面要求CRC16的低8位在前,高8位在后,如下图所示。


modbus库函数MSG生成的指令中crc校验码是不是与这个不太符合?

我用自由口协议编写程序,通过端口0向传感器发单次测量指令,如果正常的话应该给我返回相应的应答信息,现在传感器什么响应都没有?串口程序如下。




接收中断



烦请前辈们指导一下,万分感谢。


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1641596&b_id=3&s_id=0&num=6

奇侠

经验值: 5104
发帖数: 520
精华帖: 7
回复:s7-200modbus通信控制激光测距传感器


只看楼主 1楼 2020-09-10 08:28:52

既然是modbus rtu协议  ,库函数就支持的,直接使用库函数


认真做事,低调做人
以下网友喜欢您的帖子:

  
至圣

经验值: 17189
发帖数: 2946
精华帖: 6
回复:s7-200modbus通信控制激光测距传感器


只看楼主 2楼 2020-09-10 08:34:10

 先用MODSCAN32与激光测距传感器
通讯,如果能正常通讯上,那么使用200SMART的库也一定能通讯得上。

CRC16的低8位在前,高8位在后,这本身就是标准modbus rtu协议的规定。既然200SMART的库符合modbus rtu协议,那么它的CRC16也是低8位在前,高8位在后。


 
以下网友喜欢您的帖子:

  
新手

经验值: 41
发帖数: 5
精华帖: 0
回复:s7-200modbus通信控制激光测距传感器


只看楼主 楼主 3楼 2020-09-10 15:50:20

谢谢YUKJ和意孤行两位老师,我用库函数指令写了一个发送单次测量的指令的程序,指令请求格式如下。


程序则为:



下载程序后,传感器无响应,且MSG报错3,查系统手册知Error3是请求超时,从站无响应。请问我是MSG指令用错了吗?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17189
发帖数: 2946
精华帖: 6
回复:s7-200modbus通信控制激光测距传感器


只看楼主 4楼 2020-09-10 16:54:55

 还是给你一点建议:

对于一个新的陌生通讯伙伴---指你的激光测距传感器,不要急于使用PLC直接与它通讯,因为未知因素太多,出了问题比较难处理。前期工作还是要做的。

首先外观检查,下一步激光测距传感器通电,测量串口,两根信号线A对B是2-5V之间,并且A是+,B是-。注意s7-200SMART串口的3脚是+,8脚是-。再下一步MODSCAN32与激光测距传感器通讯,使用USB/RS485通讯线,A对A、B对B连接。如果能正常通讯上,那么下一步使用200SMART的库与激光测距传感器通讯就只有接线也以及程序问题了。注意200SMART串口的3脚是+,对接激光测距传感器的A(+对+).


 
以下网友喜欢您的帖子:

  
游民

经验值: 107
发帖数: 5
精华帖: 1
回复:s7-200modbus通信控制激光测距传感器


只看楼主 5楼 2021-02-17 18:05:08

版主好,我用库函数读模拟量转485modubus数据时也出现error3的msg,使用485串口工具和其它测试软件时都能正常读取,有点和您的情况一样,请问您怎么解决的这个问题?谢谢!


 
以下网友喜欢您的帖子:

  
至圣

经验值: 16160
发帖数: 2441
精华帖: 17
回复:s7-200modbus通信控制激光测距传感器


只看楼主 6楼 2021-02-19 14:49:52

用串口调试软件模拟modbus通讯发送通讯请求报文(当然crc校验码要自己算),然后看激光测距仪有无响应,以此判断问题出现点。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
s7-200modbus通信控制激光测距传感器
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。