欢迎大家来到IT世界,在知识的湖畔探索吧!
快速推算西门子PLC Modbus通信地址对应的PLC实际地址
以下说明都是应用于西门子PLC 通信MODBUS的场合。
我们知道Modbus地址有4类:
00001—09999是离散输出地址,对应PLC的Q线圈。
10001—19999是离散输入地址,对应PLC的I输入点。
30001—39999是输入寄存器地址,对应PLC模拟量输入AIW
40001—49999是保持寄存器地址,对应PLC的V存储器
它们与PLC S7-200的地址对应关系如下:
一、以0开头的离散输出地址0XXXX——–Qaa.b
00001——-Q0.0 00002——-Q0.1 00003——-Q0.2
…………………………..
00126——Q 15.5 00127——–Q15.6 00128——–Q15.7
快速写出它们对应关系呢?用以下公式推算:
(XXXX-1)/ 8=商—作为字节号aa
余数—作为位号b
如地址126 (00126-1)/8=商15—余5 则对应Q15.5
地址4 (4-1)/8=0 余3 则对应Q0.3
反过来,知道Qaa.b,对应地址:
地址号=aa*8+(b+1)
如:Q15.7—–地址=15*8+(7+1)=128—则地址00128
Q1.7——地址=1*8+(7+1)=16——则地址00016
二、以1开头的离散输入地址1XXXX——–Iaa.b
10001——-I0.0 10002——-I0.1 10003——-I0.2
…………………………..
10126——I15.5 00127——–I15.6 10128——–I15.7
公式计算同上。地址要加上开头的10000
如地址10009,则对应(9-1)/8=1–余0——–I1.0
I1.1———地址=1*8+(1+1)=10—地址为10010
以上每一个MODBUS地址对应一个位
三、30001—39999是输入寄存器地址 3XXXX——-AIWaa
30001——-AIW0 30002——-AIW2 30003——-AIW4
…………………………..
30030——AIW58 30031——–AIW60 30032——–AIW62
对应公式
AIW aa=(XXXX-1)*2
如30004 aa=(0004-1)*2=6——对应AIW6
如30030 aa=(0030-1)*2=58—-对应AIW58
反过来 地址=(aa+2)/2 再加上开头30000
如AIW62 则地址=(32+2)/2=32——地址30032
注意每一个3XXXX地址对应一个字
四、40001—49999是保持寄存器地址,
它对应—–从站指定的供MODBUS地址使用的V存储器。以&VBa开头的起始地址(间接寻址方式)
如下图,是PLC从站设定,HoldStart—设定起始地址是&VB0
则:对应关系
40001——–VW0(VB0、VB1) 40002—–VW2(VB2、VB3)
40003——–VW4(VB4、VB5) 40100 VW198(VB198、VB199)
如果HoldStart—设定起始地址是&VB50
则对应关系:
40001—VW50 40002—VW52 40003—VW54
40050—VW148 40051—–VW150
因此可得公式,HoldStart—设定起始地址是VBa
则对应关系
4XXXX对应 VW=(XXXX-1)*2+a
举例:HoldStart—设定起始地址是VB11
则40001对应 (0001-1)*2+11=11,对应vw11
40010对应 (0010-1)*2+11=29,对应VW29
反过来 已知VWb—对应地址
地址={(b-a)+2}/2
如VW29—–对应{(29-11)+2}/2=10—–对应地址40010
VW51——对应{(51-11)+2}/2=21——对应地址40021
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/102402.html