回复:CP341做从站modbus RTU与DCS通讯,给DCS的modbus地址怎么确定

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    309

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2013-04-27 13:00:52

17楼

当年我也遇到过这样的问题,上位机是用VC作的专用组态软件。
上位机作主站,西门子PLC作从站时,主站使用的Modbus地址和S7-200手册上的地址完全不是一回事。
S7-200系统手册中给出的Modbus地址是基于1的地址(美国人的习惯),即同类元件的首地址为1。而S7-200采用基于0的地址,即同类元件的首地址为0。所以主站使用的Modbus地址也应采用基于0的地址。
S7-200系统手册中的Modbus地址的最高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在通信帧的功能码中了,消息中S7-200的I0.0的Modbus地址不是10001,而是0。消息中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时,VW200对应的保持寄存器在消息中的Modbus地址为0,而不是40001。
可以用实验验证上述结论是否正确。我有一个串口通信调试软件,可以生成CRC。用它生成Modbus的请求消息,能接收到从站返回的消息。
PLC作Modbus主站时,使用标准的Modbus地址来读写从站是没有问题的。
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。