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