羅克韋爾(AB)PLC,MSG指令編寫說明
MSG指令編寫之前,要建立數(shù)據(jù)類型為MESSSAGE結(jié)構(gòu)的標(biāo)簽,每一條指令都要分配一個標(biāo)簽,這個標(biāo)簽將記錄本條指令的通訊組態(tài)和執(zhí)行情況。

為每一條MSG指令建立一個標(biāo)簽,不能建立數(shù)組。

只有為指令分配了標(biāo)簽后,點擊......方可進入組態(tài)界面:

說明:
對控制器以外的各種設(shè)備傳送信息,它的信息類型如下所列:
-CIP Data Table Read/Write 對ControlLogix控制器進行讀寫
-PLC5 Typed Read/Write 對PLC5處理器進行讀寫
-PLC5 Word Range Read/Write 對類似PLC5處理器地址進行讀寫
-Block Transfer Read/Write 對塊傳送模塊進行讀寫
-PLC2 Unprotected Read/Write 對PLC2處理器及類似PLC2地址(寄存器地址)的設(shè)備進行讀寫。
-PLC3 Typed Read/Write對PLC3處理器進行讀寫
-PLC3 Word Range Read/Write,對類似PLC3處理器地址進行讀寫。
-SLC Typed Read/Write對SLC處理器進行讀寫
-Module Reconfigure 在模塊仍然連接時,對模塊進行重新組態(tài) 。
-CIP Generic 對任何設(shè)備的服務(wù)性操作。
本指令執(zhí)行的狀態(tài)
-Enable 指令級條件成立,指令被使能,開始工作。
-Enable Waiting 信息傳送請求被送到緩沖區(qū),等待傳送。
-Start 緩沖區(qū)排隊輪到,開始傳送數(shù)據(jù)。
-Done 數(shù)據(jù)傳送完畢,指令置位完成。
-Done Length 實際完成的數(shù)據(jù)塊長度
-Error Code 如指令執(zhí)行失敗,此處給出16進制的錯誤代碼00XX。
-Extended Error Code 給出16進制的擴展錯誤代碼XXXX。
-Tined Out 設(shè)置超時請求,此項選擇,當(dāng)發(fā)生超時,終止MSG傳送過程。
1> ControlLogix 控制器與ControlLogix 控制器的通訊


源或目標(biāo)的標(biāo)簽地址不是引用Tag名,而是Tag的第一個元素,否則認為是語法錯誤,梯級不能接受。
元素個數(shù)最多可有65335個,盡管ControlNet 的數(shù)據(jù)包最多只有500個字節(jié),MSG指令可將數(shù)據(jù)塊拆開,分成一個以上的數(shù)據(jù)包送走。

Communication 頁面要求輸入兩個控制器之間的通訊路徑,如果在I/O組態(tài)中有該控制器,亦可通過Browse獲得路徑,倘若僅僅是為了建立MSG路徑而在I/O組態(tài)中加入控制器,則沒有必要,那樣將占用內(nèi)存空間,建議書寫路徑,路徑書寫規(guī)則:
路徑是段和段的連接,段由x,y組成,段和段之間用逗號分離。
X 背板為1;網(wǎng)絡(luò)為2。
Y 槽號;站號,ControlNet網(wǎng)絡(luò)1-99號,EtherNet網(wǎng)絡(luò)為IP地址。
上面書寫的路徑是:背板—CNB(位于5槽)—ControlNet網(wǎng)絡(luò)—對方CNB(站號3號)— 背板 — 控制器(位于0槽)。
路徑還可以是動態(tài)的,在信息塊的結(jié)構(gòu)數(shù)據(jù)中,有Path一項,這是個字符串結(jié)構(gòu),更換字符串?dāng)?shù)據(jù)即更換了路徑。

字符串的長度最大82個,足夠表達路徑了。

此項建立了MSG指令的連接,缺省是選擇的,也就是說MSG指令占用一個固定的連接;如果釋放此項,只有在MSG指令執(zhí)行的時候才占用連接,是一個活動的連接,可編制程序,令多條MSG指令共同使用一個連接,這對緩和資源的運用是有好處的。
2> ControlLogix 控制器與PLC-5控制器的通訊
編寫如下梯形圖邏輯:

點擊.....進入組態(tài)畫面:

說明:
1、 Message Type: 選擇對PLC-5讀取數(shù)據(jù)
2、 Source Element: PLC-5 處理器中的地址作為源地址(文件首址)
3、 Number Of Element: 讀取數(shù)據(jù)的元素的個數(shù),最多32767個。
4、 Destination Element: CLX中的數(shù)組(接受數(shù)據(jù)區(qū)域)的首元素作為目標(biāo)地址
進入Communication畫面,確定通訊對象,

說明:
1、 Path: 可通過Browse…找到DHRIO模塊位置,亦可用書寫路徑的辦法。
2、 Channel: 選擇A通道,模塊定義A通道為DH+通道。
3、 Source Link: 應(yīng)與DHRIO模塊上(在RSLinx中)定義的路由表一致。
4、 Destination Link: 應(yīng)與DHRIO模塊上(在RSLinx中)定義的路由表一致。
5、 Destination Node: DH+上接受MSG數(shù)據(jù)的PLC-5處理器站號(八進制)。
3> ControlLogix 控制器與PLC-5 BT模塊的通訊
ControlLogx 用MSG指令代替了PLC5的塊傳送指令,無論是對模塊的塊傳送,還是遠程I/O鏈上用作于通訊的塊傳送。以對1771-IFE的BT操作為例,編寫如下梯形圖邏輯:

點擊....分別進入寫和讀的組態(tài)畫面:

說明:
1、 Message Type: 選擇對模塊進行塊傳送寫操作。
2、 Source Element: CLX中指定數(shù)組首元素地址作為源地址。
3、 Number Of Element: 塊傳送寫數(shù)據(jù)文件長度(根據(jù)BT模塊決定)。

說明:
? Message Type: 選擇對模塊進行塊傳送讀操作。
? Number Of Element: 塊傳送讀數(shù)據(jù)文件長度(根據(jù)BT模塊決定)。
? Destination Element: CLX中指定數(shù)組首元素地址作為目標(biāo)地址。
進入Communication畫面,確定通訊對象,

說明:
? Path: 可通過Browse…找到DHRIO模塊位置,亦可用書寫路徑的辦法。
? Channel: 選擇B通道,模塊定義B通道為RIO通道。
? Rack: BT模塊所在機架(八進制)。
? Group: BT模塊所在組號(八進制)。
? Slot: BT模塊位于左槽或右槽(2槽尋址時用),一般為0。
數(shù)據(jù)文件的解釋:
Tag 名為 INT_BT_WRIT的整型數(shù)數(shù)組(37個元素)是塊傳送寫的數(shù)據(jù)文件,是被操作的BT模塊1771-IFE 所需要的組態(tài)文件,這里將根據(jù)IFE模塊的組態(tài)方式完成數(shù)據(jù)的輸入。值得指出的是,ControlLogix 中沒有BCD碼,而IFE模塊的通道定標(biāo)必須是BCD碼,所以只能在二進制的方式下輸入,可以看出,通道0和通道1被設(shè)置成BCD碼表達的0-4095。同樣的,在數(shù)據(jù)形式的選取,也只能選01(模塊組態(tài)第十位和第九位),即非BCD碼的數(shù)值。

Tag 名為 INT_BT_READ的整型數(shù)數(shù)組(20個元素)是塊傳送讀的數(shù)據(jù)文件,它將讀取通道A/D轉(zhuǎn)換的數(shù)據(jù),因為定義數(shù)據(jù)形式為補碼數(shù)據(jù),所以,可以在相應(yīng)的地址中讀到通道0和通道1的正確表達的數(shù)據(jù)。
?
