發布日期:2022-04-26 點擊率:430 品牌:三菱_Mitsubishi
三菱plc編程口的通訊協議對比簡略,只需四個指令,即:
指令 指令碼 政策設備
DEVICE READ CMD "0" X,Y,M,S,T,C,D
DEVICE WRITE CMD "1" X,Y,M,S,T,C,D
FORCE ON CMD " 7" X,Y,M,S,T,C
FORCE OFF CMD "8" X,Y,M,S,T,C五個標明:
ENQ 05H 懇求
ACK 06H PLC精確呼應
NAK 15H PLC過錯呼應
STX 02H 報文開端
ETX 03H 報文完畢
運用累加辦法的和校驗,幀格局如下:
STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)
和校驗:
SUM= CMD+??+ETX。 如SUM=73H,SUM=“73”。
1、DEVICE READ(讀出軟設備狀況值)
核算機向PLC發送:
始指令 首地址 位數 終和校驗
STX CMD GROUP ADDRESS BYTES ETX SUM PLC 回來
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM
2、DEVICE WRITE(向PLC 軟設備寫入值)
核算機向PLC發送:
始指令 首地址 位數 數據 終和校驗
PLC 回來
ACK (06H) 承受精確
NAK (15H) 承受過錯
3、位設備強行置位/復位
FORCE ON 置位
始指令 地址 終和校驗
STX CMD ADDRESS ETX SUM 02h 37h address 03h sum FORCE OFF 復位
始 指令 地址 終 和校驗 STX CMD ADDRESS ETX SUM 02h 38h address 03h sum PLC 回來
ACK(06H) 承受精確
NAK(15H) 承受過錯
以上能夠看出,協議非常簡略,但是因為沒有寄存器類型信息,所以地址的核算非常要害,如D100和M100別離對應哪個地址呢?下面便是三菱Fx系列PLC地址對應表:
Public Const PLC_D_base_AddRess = 4096 =1000H
Public Const PLC_D_Special_base_AddRess = 3584 =E00H
Public Const PLC_Y_Group_base_AddRess = 160 =A0H
Public Const PLC_PY_Group_base_AddRess = 672 =2A0H
Public Const PLC_T_Group_base_AddRess = 192 =C0H
Public Const PLC_OT_Group_base_AddRess = 704 =2C0H
Public Const PLC_RT_Group_base_AddRess = 1216 =4C0H
Public Const PLC_M_SINGLE_base_AddRess = 2048(指令為7或8時) =800H
Public Const PLC_M_Group_base_AddRess = 256 =100H
Public Const PLC_PM_Group_base_AddRess = 768 =300H
Public Const PLC_S_Group_base_AddRess = 0 =0H
Public Const PLC_X_Group_base_AddRess = 128 =80H
Public Const PLC_C_Group_base_AddRess = 448 =1C0H
Public Const PLC_OC_Group_base_AddRess = 960 =3C0H
Public Const PLC_RC_Group_base_AddRess = 1472 =5C0H
Public Const PLC_TV_Group_base_AddRess = 2048 =800H
Public Const PLC_CV16_Group_base_AddRess = 2560 =A00H
Public Const PLC_CV32_Group_base_AddRess = 3072 =C00H
當咱們用DEVICE READ指令時,D100地址=100*2+4096;M100地址=100+256;紛歧樣的是D類型寄存器寄存的是字,M寄存器寄存的是位,相同是讀兩個字節,D100回來的便是PLC中D100地址的值,M類型寄存器回來的是M100到M116的值。所以當咱們用FORCE ON 指令時,M100寄存器地址=100+2048;
這也沒有啥雜亂的,不是嗎?但是三菱公司如同不甘于如此,FORCE ON/Off指令中地址擺放與DEVICE READ/WRITE紛歧樣,是低位在前高位在后。如Y20,地址是0510H,代碼中4個字節地址標明為:1005。(留意:Y寄存器為八進制,如Y20地址=16+1280=0510H) 本來一點技能含量都沒有,便是拐了幾個彎,偏偏許多時分又不都通知你,讓人糟蹋不少時刻。不廢話了,自個做個程序試試吧。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航