用户中心

资讯 > 业界新闻

浅析西门子PLC与Modbus地址问题及对应关系

作者:www.cechina.cn2013.07.24阅读 20058

        Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200SMART/和S7-1200为例来说明:
  第一种情况:PLC作Modbus主站,Modbus地址和PLC手册里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时控制工程网版权所有,它的输入参数Addr(Modbus地址)为10001。S7-200从站保持寄存器的V区起始地址为VB200时控制工程网版权所有,要读取从站VW200开始的V存储区时www.cechina.cn,保持寄存器的地址是40001。
  第二种情况:PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。
  主站的计算机软件(例如DCS或组态软件)的编程人员需要编写实现Modbus通信的程序,首先需要确定ModbusRTU的报文结构。他们一般不熟悉PLCCONTROL ENGINEERING China版权所有,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。
  最容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是专用的组态软件,通过分析GEPLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。
  S7PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同CONTROL ENGINEERING China版权所有,是基于1的地址,即同类元件的首地址为1。而西门子PLC采用的是基于0的地址,即同类元件的首地址为0。Modbus报文中西门子PLC的Modbus地址也采用基于0的地址。
  PLC系统手册中的Modbus地址的最高位用来表示地址区的类型,例如I0.0的Modbus地址为10001。因为地址区类型的信息已经包含在报文的功能码中了,报文中S7-200的I0.0的Modbus地址不是10001,而是0。报文中其他地址区的Modbus地址也应按相同的原则处理。例如当S7-200从站保持寄存器的V区起始地址为VB200时控制工程网版权所有,VW200对应的保持寄存器在报文中的Modbus地址为0,而不是40001。
版权声明:版权归控制工程网所有,转载请注明出处!
联系厂商

通过本站与本文涉及的厂商 西门子(中国)有限公司数字化工业集团 联系,本站注册会员请登录后填写更便捷。 登录注册

  • 您的姓名:
  • 单位名称:
  • 联系电话:
  • 电子邮件:
  • 我想得到贵公司详细的技术资料
  • 我想得到贵公司的价格信息
  • 我想让贵公司销售人员和我联系
  • 我想让贵公司技术支持人员和我联系
其他意向:

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688