快速推算西門子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
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!