西门子PLC的Modbus地址的问题

   2024-09-13 建材之家370
核心提示:Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200 SMART/和S7-1200为例来说明:第一种情况:PLC作Modbus主站,Modbus地址和PLC手册里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus从站发送请求消息,和处理从站返回的响应消息。要读取从站(另一台S7-200)的I0.0开始的地址区时,它的输入参数Addr(Modbu
Modbus地址实际上分为两种情况。下面以西门子S7-200/S7-200 SMART/和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通信的程序,首先需要确定Modbus RTU的报文结构。他们一般不熟悉PLC,因此PLC的编程人员往往需要和上位机软件的编程人员一起来讨论Modbus的报文结构。
最容易出问题的就是报文里Modbus地址与PLC存储区地址的对应关系。我做过的一个系统的上位机是专用的组态软件,我通过分析GE PLC手册给出的CRC的循环异或计算实例每一步的中间数据,编写出了CRC计算的C语言程序。通过实验验证了Modbus报文结构和CRC的计算的可行性。
S7 PLC手册给出的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。
 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:STEP7 Micro/WIN 中相互转换二进制数和格雷码

绝对式编码器输出反映绝对位置的多位二进制数,由于制造上的原因,绝对式编码器一般采用格雷码。格雷码相邻的两个二进制数只有一位有变化。用PLC的输入模块读取到格雷码后,需要将它转换为普通的二进制数,然后将它转换为实际的位置值。 对于S7-200,下载附件graycode.zip后,解压缩得到库文件graycode.mwl。执行STEP...

下一篇:西门子S7-PLCSIM仿真软件的仿真实例

以图1所示的最为简单的程序为例,来说明S7-PLCSIM仿真软件的操作过程与显示效果。 仿真软件的操作过程如下: ①首先在STEP7程序编辑器中完成项目的建立、程序的编辑、硬件配置等步骤。 ②在完成编辑、下载到仿真PLC后,打开S7-PLCSIM的应用窗口。 图1仿真程序例 ③根据程序的要求,可以选择输入IBO与输出...
 
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报