S7-200modbus与仪表通讯

请问:西门子200作为主站,与下位三个只能仪表通讯。读取仪表数据。采用modbus协议。
问题1:硬件如何连接,200与仪表之间怎么连接,需要什么硬件。
问题2:仪表中读寄存器命令格式为:地址,起始寄存器高位,低位,终止寄存器高位,终止寄存器低位,CRC.
仪表应答为:地址,字节计数*2,寄存器数据1----寄存器数据M,CRC.
这在程序里怎么实现读仪表数据?
谢谢大家了

问题补充:
与下位仪表硬件连接,需要西门子总线连接器吗?连接线普通双绞线可以吗?

最佳答案

利用DP网络接头进行连接,西门子200通讯口的A,B与仪表通讯口的A,B分别连接,连接线用西门子紫色DP电缆。
程序可直接调用西门子200modbus通讯库。
STEP 7-Micro/WIN指令库通过包括专门设计用于modbus设备的预配置子程序和中断例行程序的方法,使与modbus主站通讯更加简便。您可以利用modbus协议指令配置S7-200,将其用作modbus 从站或主设备。
可以在STEP 7-Micro/WIN指令树的“库”文件夹中找到这些指令。当您在程序中加入一条USS modbus指令时,项目中会自动增加一个或多个相关子程序。  
modbus从站协议指令可以配置S7-200,将其用作modbus RTU从站,与modbus主设备通讯。
modbus主设备协议指令可以配置S7-200,将其用作modbus RTU主设备,与一个或多个modbus从站通讯。
modbus指令安装在STEP 7朚icro/WIN指令树的"协议库"文件夹中。有了这些新指令, 您可以将S7-200用作modbus设备。当您在程序中加入modbus指令时,会在项目中自动增加一个或多个相关子程序。

modbus主设备协议库有两个版本。一个版本使用CPU的端口0,另一个则使用CPU的端口1。端口1协议库的POU名中带有"_P1"(MBUS_CTRL_P1),表示POU使用CPU上的端口1。在其它方面,这两个modbus主设备协议库完全一致。
modbus从站协议库仅支持端口0通讯。

提问者对于答案的评价:
谢谢

专家置评

建议楼主参考阿鸣和莘莘学子的链接,编程实现因情况不同而不同,只要清楚Modbus通信数据格式、地址对应关系的话,各种问题将迎刃而解。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc312287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:05
下一篇 2020年11月1日 下午3:06

相关推荐

  • S7-200的PID控制

    S7-200中我做PID控制用向导来生成,里面的增益,积分,微分我要通过触摸屏来设,向导里可以用变量来定义吗?可以不直接用数字吗 最佳答案 其实你不用在向导里面输入变量,你可以直接…

    SIMATIC S7-200 2020年11月1日
  • S7-200子程序定义局部变量(不含临时变量)只能定义16个的问题

    之前有论坛内网友提到了这个问题——S7-200子程序中局部变量只能定义16个吗?局部变量定义表中到了16个时不能再定义了,怎么回事? 现在我同样遇到了,具体为:定义的IN…

    2020年10月31日
  • SM0.6计算方法

    在200的CPU中,SM0.6用在计数器前,请问SM0.6用在计数器前是怎么样算计数值的?请大家帮忙。 问题补充:如果计数器的PV为2000,那SM0.6让计数器怎么样计数?计数值…

    SIMATIC S7-200 2020年11月1日
  • 半小时内三次报警关闭电路

    用S7-200编程,半小时内触发三次高温报警后关闭电路,有什么好的编程思路 问题补充:要做到如果第一,二,三次报警不在半小时之内不关闭,第二,三四次报警在半小时之内关闭。也就是说不…

    SIMATIC S7-200 2021年7月5日
  • 关于S7-200的版本问题

    请教各位高手:   我今天上载一个程序,不能上载,我发现这个程序用的是“TD400C V2.0”版本,而我的软件中只有“TD400C&nbs…

    SIMATIC S7-200 2020年11月1日
  • Smart S7-200 单精度浮点数如何转换成PLC的16进制

    我用的是Smart S7-200PLC,客户给的通讯协议中有个是单精度浮点数,做PLC通讯时一般都是16进制的,请问大神们,单精度浮点数如何转换成16进制的。请大神们帮帮…

    SIMATIC S7-200 2021年7月5日
  • S7-200 smart 读取时钟指令错误

    CR40 cpu读取时钟,read_rtc红颜色VB200没有在别的地方使用。换了一个存储范围 VB600也是这种情况。VB区确实没有使用,会不会PLC的时钟区…

    2021年7月5日
  • 程序突然死掉与定时器的问题

    一:我有一个很简单的程序!逻辑主要是一个按钮触发后,分别经定时器延时后触发不同的输出!没有什么不同的!程序也运行正常!可是问题是为什么运行几次后突然不再执行呢?硬件肯定没有问题!重…

    SIMATIC S7-200 2021年7月5日
  • s7200程序存储器问题

    各位大侠:您好!     我看到一个S7200的用户程序有50多K,我也用S7200MICROMIN软件打开看了,但s7-200系…

    2017年6月9日
  • 西门子S7-200中的模拟量输入模块最多有几路的?

    西门子S7-200中的模拟量输入模块最多有几路的?我现在知道有最多4路输入的,还有更多的吗? 最佳答案 AI 8  其中这8路指的是0-10V的信号。…

    SIMATIC S7-200 2020年11月1日