s7-200 modbus地址和上位机地址的对应关系

请教s7-200 modbus地址和上位机地址的对应关系,具体是这样的,PC做主机,PLC做从机,从机的地址偏移是从VB300开始的.我想读取VW300 VW302 VW304 VW306里面的值,对应的PLC地址是多少(4????),急,在线等,能解决问题址追加分.谢谢了.

第1个回答  2011-06-27
我用VB做过MODBUS的通讯。
第2个回答  2011-06-27
S7-200内部的数据存储区与Modbus的0、1、3、4共4类地址的对应关系如下:
表1. Modbus地址对应表
==================================
Modbus地址 S7-200数据区
-----------------------------------------------------
00001 ~ 00128 Q0.0 ~ Q15.7
10001 ~ 10128 I0.0 ~ I15.7
30001 ~ 30032 AIW0 ~ AIW62
40001 ~ 4xxxx T ~ T + 2 * (xxxx -1)
-------------------------------------------------------
其中T为S7-200中的缓冲区起始地址,即 HoldStart。

如果已知S7-200中的V存储区地址,推算Modbus地址的公式如下:

Modbus地址 = 40000 + (T/2+1) ; T为偶数本回答被提问者采纳

...与上位机通讯。 VD3000 VD3004 对应的modbus地址该是多少啊,求解...
这个要看你在Modbus库调用时配置的起始地址,如果你配置的是VB0-VB3999共2K字空间的话,VD3000对应是3x1501,VD3004对应是3x1503,算法就是V地址\/2+1=modbus地址

...与上位机通讯. V1001.0, V1001.3对应的modbus地址该是多少啊,求解...
400001.0...400001.3,相反的话400001.8对应的是V1000.0

...与上位机通讯。保持寄存区VD22对应的modbus地址是400XX多少啊?_百度...
先看看你的Modbus从机通讯的起始地址是多少,如果用的是西门子的程序库的话,对应的是Holdstart地址。

西门子plc200与modbus通信。plc做从站,寄存器里的数值上位机怎么读取...
所有Modbus地址均以1为基位。下表显示映射至S7-200地址的Modbus地址。Modbus地址S7-200地址 00001Q0.0 00002Q0.1 00003Q0.2 ...00127Q15.6 00128Q15.7 10001I0.0 10002I0.1 10003I0.2 ...10127I15.6 10128I15.7 30001AIW0 30002AIW2 30003AIW4 ...30032AIW62 40001Hold Start 40...

S7-200 224xp做从站与上位机MODBUS通讯时,通讯端口中PLC地址要和MBUS...
系统块那个是s7-200的自带协议,程序执行Modbus初始化后,自带协议自动变为Modbus协议。因此,完全可以不一致。

MODBUS与内存地址怎样设置成映射关系!
回复内容:对:普照大地关于这是要干什么呀,没有看懂是要赋值还是要做peercop?内容的回复: 这个是用来跟modbus OPC server通信用的! 也就是要把PLC内存的地址跟MODBUS的地址挂上钩! 比如上位机通过MODBUS对其地址1进行读写,那与之对应的PLC的内存地址也会进行相应的操作!

...但是Modbus地址对应的40001怎么在上位机上输入23.5
把浮点数转换为十进制就可以写进去了

modbus tcp 上位机设备地址格式、???
Modbus Tcp 通讯需要设定设备的IP地址,S7-1200带以太网接口,应该可以设置IP。另外在上位机SunyTech中,Modbus Tcp编程指定对方的IP地址,应用端口号为502。

MODBUS通信地址为什么要加1
一般MODBUS数据地址为从1开始,有的上位机软件或PLC的数据地址为从0开始,故需要加1。但并不是所有的Modbus设备通讯时都需要在数据地址上加1,这要看你的设备和软件是基于0开始的还是基于1开始的。

怎样通过modbus协议将上位机的变量和下位机的IO口一一对应起来?
下位机ARM stm32若程序是自己开发,需要程序中定义上述modbus协议的4种地址的数据区,再把4种地址数据区与ARM stm32的IO口建立映射关系,如:DI口数据===(MOV、COPY指令)===>1xxxx数据区,AI口数据===(MOV、COPY指令)===>3xxxx数据区,0xxxx数据区===(MOV、COPY指令)===>DO口,4xxxx...

相似回答