朱重陽
(中山市中等專業學校,廣東中山 528400)
隨著工業物聯網的發展,借助于控制終端,現實數據的無線采集、設備的自動運行、過程的遠程監控,逐漸成為工控領域的發展方向。隨著技術的成熟,智能制造的概念正在工業生產中成為現實。構建由觸摸屏、PLC、RFID無線射頻模塊組成的工控系統,實現三者之間的數據互聯互通,信息的識別與處理,有效地詮釋智能制造的新方向。
本文設計出基于MCGS觸摸屏、三菱FX3U_PLC及CY-14443N系列射頻讀寫模塊組成的工控系統,完成三者之間的數據傳輸、聯機控制??稍陔娞?、門禁、自動售貨機等領域中應用。系統構架如圖1所示。
圖1 系統組成
在三菱FX3U_PLC基本單元中,已內置了RS422及RS485兩種通訊端口。其中,RS422通訊端口,常應用于三菱PLC程序的下載與傳輸;RS485通訊接端口常用于外圍設備的交互。觸摸屏與PLC的通訊,既可以通過RS485通訊端口,依托于FX3U-485BD實現,完成數據的傳輸與監控;也可以借助于RS422端口來完成。本文通過RS422編程端口來完成二者之間的通訊。編程口驅動通訊方式如表1所示。
表1 編程口驅動方式
此方法在硬件連接方面,實際操作起來較為簡單,通過市場上常規PLC程序下載即可實現。當然也可以根據接線結構自作通訊電纜,其端口連接方式如圖2所示。
圖2 三菱FX系列RS422通訊電纜
在觸摸屏與PLC通訊中,觸摸屏作為父設備,PLC作為子設備。在MCGS軟件中的“設備窗口”中,需要添加父設備,并將“三菱_FX系列編程口”作為子設備,下掛其中[1]。尤其需要注意的是父設備的屬性,默認參數為9600、7、1、偶校驗,一般不要做更改。子設備的屬性一般根據實際使用PLC的型號來設定;但其兼容性比較廣泛,根據多次的工程實踐,可以不做更改。三菱PLC端默認設置與此協議一致,可不做設置。觸摸屏端通訊設置如圖3所示。
圖3 MCGS觸摸屏與三菱PLC通訊參數設置
基于三菱PLC基本單元通訊端口的組成,RFID無線射頻模塊與三菱PLC的通訊則由RS485端口完成。RFID無線射頻模塊的讀寫控制端,分別于RS485端口讀寫端相連。借助于FX3U_485BD模塊,將RFID無線射頻模塊的信號傳送給PLC端。其接線示意圖如圖4所示。
圖4 RFID無線射頻模塊與三菱PLC通訊接線示意圖
RFID無線射頻模塊與三菱PLC的通訊,難點在于通訊協議的設置,在將指定的通訊格式轉化成PLC的機器語言之前,需要二者的通訊格式進行統一。在RFID無線射頻模塊端的通訊格式如表2所示。
表2 RFID無線射頻模塊通訊格式
在三菱PLC端,需要依據RFID無線射頻模塊端的通訊格式,設定通訊格式字D8120,并保證完全一致,同時要對PLC重啟上電操作。也可以通過設置PLC參數,進行格式設定,如圖5所示。
RFID與PLC兩者之間通訊,有統一的命令格式即:前導頭+通訊長度+地址碼+命令字+數據域+校驗碼[2]。
(1)前導頭:0×AA 0×BB 2個字節(0×表示該值為1個16進制數)。
(2)通訊長度:不包括前導頭在內的其他字節數(含通訊長度字節本身)。
(3)地址碼:0×00 0×01 2個字節。
圖5 PLC端參數設定
其中地址碼的存儲比較特殊,高位在后,低位在前。在本例中,高位是01,低位是00,實際上表示十六進制數值0100[3],也就是十進制數值256,這個命令是發給地址為256的模塊的,其他地址的模塊不會響應這個命令。
尤其需要注意的是RFID讀寫控制器模塊上有4個DIP撥碼開關,DIP1、DIP2和DIP3用于設置該模塊的通訊地址碼,其中前3個撥碼開關作為地址撥碼有效,按照二進制方式最多可添加8個RFID讀寫控制器模塊,通訊報文中地址碼的值要與DIP撥碼設置值保持一致,DIP4用于設置通訊的終端電阻。
(4)命令字:RFID讀寫控制器模塊用戶可用命令如表3所示。
表3 RFID模塊讀寫控制命令
(5)數據域:需要發送的數據。
(6)校驗碼:是一個異或的結果,異或處理的對象是去掉前導頭和校驗碼字節之外,所有通訊字節[5]。
(7)返回值:當CPU發送命令幀之后,需要等待讀取返回值,其返回值的格式如下。
正確:前導頭+通訊長度+地址碼+上次所發送的命令字+數據域+校驗碼[6]。
錯誤:前導頭+通訊長度+地址碼+上次所發送的命令字的取反+校驗碼[6]。
范例:讀數據(下面的數據均以十六進制為例)
命令格式:AA BB 0C 01 00 21 00 01 FF FFFFFFFFFF 2D
【AA】【BB】:表示命令頭;
【0C】:表示12個字節的數據長度(0C 01 00 21 00 01 FF FFFFFFFFFF);
【01】【00】:表示地址碼低位在前,高位在后,本例中低位是01,高位是00,表示0x01,轉換為十進制地址也是為1,也就是這個命令是發給地址是1的模塊的,其他地址的模塊不會響應這個命令;
【21】:查表3可以看出,讀數據的命令碼為0x21;
【00】:表示密鑰類型;
【01】:塊號,表示將數據寫入塊號為1的存儲地址中;
【FF】【FF】【FF】【FF】【FF】【FF】:表示密鑰,因為是原始卡片,密鑰6個FF;
【2D】:校驗位,把所有數據除開[AA][BB]的數據異或值。
若要讀取當前電子標簽中的數據時,PLC需要向RFID讀寫模塊發送讀數據的報文,例如報文數據為:AA BB 0C 01 00 21 00 01 FF FFFFFFFFFF 2D。在樣例程序中,用RS指令設置的輸入輸出地址和點數如圖6所示。
圖6 設置發送和接收數據地址及點數
所以將發送的報文存儲在以D100地址為開頭的連續若干個地址中。因為在PLC中的D寄存器是16位的寄存器,而RFID的數據報文是以8位數據為單位的,所以,將報文數據中的2個8位數據組合存儲到相對應的PLC寄存器中,如圖7所示。
圖7 發送數據對應的PLC存儲地址
需要特別注意的是在數據的傳送過程中,報文2個字節的數據是低位在前,高位在后,所以在傳送數據的過程中[7],注意高低位數據的前后位置,例如把AA BB傳送給D100的地址時,梯形圖程序應該寫成【MOV HBBAA D100】,以此類推。在圖7中可以看出,PLC發送該段報文的數據長度為(D100~D107)8個字,所以D10的值設置為K8。
在實際的編程中,需要計算出該段報文最后1個字節的校驗值,程序計算過程如圖8所示。
圖8 校驗碼程序計算過程
MCGS、PLC與RFID三者之間的通訊調試,需要在硬件搭建的基礎,完成MCGS組態界面設計與三菱PLC程序設計。MCGS組態端在添加“設備窗口”的基礎上,需要添加三菱PLC對應的數據對象,并在“用戶窗口”按照組態規范繪制相應的界面,并將PLC的數據添加到組態對象中。具體如圖9所示。
圖9 MCGS組態界面設置
三菱PLC端,在完成PLC參數設定的基礎上,編寫RFID讀寫程序。其中程序分為3部分RFID讀數據操作、RFID寫數據操作及相關提示信息,程序如圖10所示。
圖10 RFID讀數據程序、寫數據程序、信息提示程序
通過多次的工程實踐,MCGS觸摸屏、三菱PLC與RFID無線射頻模塊搭建的工控系統,借助于控制終端,構建由觸摸屏、PLC、RFID無線射頻模塊組成的工控系統,實現信息的傳輸與處理,著力實現信息深度自感知、智慧優化自決策、精準控制自執行[8]??梢詫Ξa品的生產、存儲、運維全流程監控與反饋。有效實現了數據互聯互通,信息的識別與處理,詮釋智能制造的新方向。