• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
WAIC 2025早鸟票预售

西门子PLC Modbus地址的问题

  2013年09月16日  

  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存储区时,保持寄存器的地址是40001。

  第二种情况:PLC作从站,PLC不用管什么Modbus地址,等着主站来读写它的地址区就是了。

  主站的计算机软件(例如DCS或组态软件)的编程人员需要编写实现Modbus通信的程序,首先需要确定ModbusRTU的报文结构。他们一般不熟悉PLC,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。

  最容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。曾经有工作人员做过的一个系统的上位机是专用的组态软件,通过分析GEPLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。

  S7PLC手册给出的Modbus地址与Modicon公司和GE公司PLC使用的地址相同,是基于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。

标签:PLC     西门子     组态软件     DCS     软件  我要反馈
最新视频
苏州新鸿基:破解精密机加的柔性密码   
茵梦达x富诺尔:携手共铸信任力,共赴百年承诺之旅   
研祥金码
40年‘针’功夫提速新能源产线
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
2025世界人工智能大会
2025世界人工智能大会

2025世界人工智能大会暨人工智能全球治理高级别会议(简称“WAIC 2025”)将于7月在上海世博中心和世博展览馆举行

【邀您报名】2025智能趋势论坛——AI数算 重构智造产链生态
【邀您报名】2025智能趋势论坛——AI数算 重构智造产链生态

7月27日,2025智能趋势论坛将以“AI数算 重构智造产链生态”为主题,邀请业界专家、学者和企业家深度交流对话,围绕"

在线会议
热门标签

社区