zcb198814
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 15 個
工控威望: 156 點(diǎn)
下載積分: 1211 分
在線時間: 23(小時)
注冊時間: 2011-06-19
最后登錄: 2024-08-24
查看zcb198814的 主題 / 回貼
樓主  發(fā)表于: 2011-07-03 10:55
一、三菱PLC編程口通訊協(xié)議

三菱PLC編程口的通訊協(xié)議比較簡單,只有四個命令,即:

命令                    命令碼             目標(biāo)設(shè)備

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

五個標(biāo)示:

ENQ            05H             請求

ACK            06H             PLC正確響應(yīng)

NAK           15H             PLC錯誤響應(yīng)

STX             02H             報文開始

ETX             03H             報文結(jié)束

使用累加方式的和校驗(yàn),幀格式如下:

STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)

和校驗(yàn):

SUM= CMD+……+ETX。 如SUM=73H,SUM=“73”。

1、DEVICE READ(讀出軟設(shè)備狀態(tài)值)

計算機(jī)向PLC發(fā)送:

始          命令             首地址                        位數(shù)             終                 和校驗(yàn)

STX       CMD             GROUP ADDRESS       BYTES         ETX              SUM

PLC 返回

STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM

2、DEVICE WRITE(向PLC 軟設(shè)備寫入值)

計算機(jī)向PLC發(fā)送:

始          命令      首地址          位數(shù)             數(shù)據(jù)             終                  和校驗(yàn)

PLC 返回

ACK (06H) 接受正確

NAK (15H) 接受錯誤

3、位設(shè)備強(qiáng)制置位/復(fù)位

FORCE ON 置位

始                 命令             地址                    終                 和校驗(yàn)

STX              CMD             ADDRESS            ETX              SUM

02h               37h               address                 03h             sum

FORCE OFF 復(fù)位

始                 命令             地址                    終                 和校驗(yàn)

STX              CMD             ADDRESS            ETX              SUM

02h               38h               address                 03h               sum

PLC 返回

ACK(06H) 接受正確

NAK(15H) 接受錯誤

以上可以看出,協(xié)議非常簡單,但是由于沒有寄存器類型信息,所以地址的計算十分關(guān)鍵,如D100和M100分別對應(yīng)哪個地址呢?下面就是三菱Fx系列PLC地址對應(yīng)表:

Public Const PLC_D_Base_AddRess = 4096

Public Const PLC_D_Special_Base_AddRess = 3584

Public Const PLC_Y_Group_Base_AddRess = 160

Public Const PLC_PY_Group_Base_AddRess = 672

Public Const PLC_T_Group_Base_AddRess = 192

Public Const PLC_OT_Group_Base_AddRess = 704

Public Const PLC_RT_Group_Base_AddRess = 1216

Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令為7或8時)

Public Const PLC_M_Group_Base_AddRess = 256

Public Const PLC_PM_Group_Base_AddRess = 768

Public Const PLC_S_Group_Base_AddRess = 0

Public Const PLC_X_Group_Base_AddRess = 128

Public Const PLC_C_Group_Base_AddRess = 448

Public Const PLC_OC_Group_Base_AddRess = 960

Public Const PLC_RC_Group_Base_AddRess = 1472

Public Const PLC_TV_Group_Base_AddRess = 2048

Public Const PLC_CV16_Group_Base_AddRess = 2560

Public Const PLC_CV32_Group_Base_AddRess = 3072

當(dāng)我們用DEVICE READ命令時,D100地址=100*2+4096;M100地址=100+256;不同的是D類型寄存器存放的是字,M寄存器存放的是位,同樣是讀兩個字節(jié),D100返回的就是PLC中D100地址的值,M類型寄存器返回的是M100到M116的值。所以當(dāng)我們用FORCE ON 命令時,M100寄存器地址=100+2048;

這也沒有什么復(fù)雜的,不是嗎?可是三菱公司好像不甘于如此,F(xiàn)ORCE ON/Off命令中地址排列與DEVICE READ/WRITE不同,是低位在前高位在后。如Y20,地址是0510H,代碼中4個字節(jié)地址表示為:1005。(注意:Y寄存器為八進(jìn)制,如Y20地址=16+1280=0510H)


263286819
以后媽媽再也不用擔(dān)心我的學(xué)習(xí)了,so easy.!!左手拿著
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 167 個
工控威望: 271 點(diǎn)
下載積分: 494 分
在線時間: 132(小時)
注冊時間: 2010-11-04
最后登錄: 2022-09-01
查看263286819的 主題 / 回貼
1樓  發(fā)表于: 2011-07-03 21:45
很強(qiáng)大謝謝