1 引言
和利時G3系列PLC是杭州和利時公司自主研發(fā)的小型一體化PLC產(chǎn)品。G3系列PLC具有可靠性高、指令豐富、通訊能力強等特點。其支持六種編程語言,包括LD、IL、FBD、SFC、ST、CFC,能夠適應(yīng)多種PLC編程基礎(chǔ)的人群。一些大的控制系統(tǒng)具有很多現(xiàn)場設(shè)備,其中一部分現(xiàn)場設(shè)備可能不支持標準的通訊協(xié)議, 但是還需要與第三方控制設(shè)備進行數(shù)據(jù)通訊,任何一個廠商的PLC都不可能支持所有現(xiàn)場設(shè)備的數(shù)據(jù)通信協(xié)議。如何實 PLC與非標準協(xié)議的第三方設(shè)備進行互聯(lián)呢,G3系列PLC推出了自由口的通訊方式,可以實現(xiàn)與任何協(xié)議的第三方設(shè)備進行互聯(lián)。本文介紹的是G3系列PLC通過自由口與Flash存儲設(shè)備進行數(shù)據(jù)通訊。
2 G3系列PLC的通訊方式
G3系列PLC支持多種通訊方式,如Profibus DP、以太網(wǎng)、自由口通訊。G3系列PLC的CPU模塊本體集成了一個RS232通訊口和一個RS485通訊口,RS232和RS485支持標準的Modbus RTU、G3專有協(xié)議和自由口通訊協(xié)議。用戶可以用圖程序設(shè)定通訊口的協(xié)議、通訊速率、數(shù)據(jù)位、校驗、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。下圖為和PLC自由口相關(guān)的功能塊指令。
圖1為設(shè)定自由口通訊速率、數(shù)據(jù)位、校驗的指令;圖2為恢復Modbus RTU和G3專有協(xié)議的指令,同時也可以設(shè)定通訊速率、數(shù)據(jù)位和校驗;圖3為數(shù)據(jù)發(fā)送指令;圖4為數(shù)據(jù)接收指令。同時軟件中有CRC校驗的功能塊指令,可以進行數(shù)據(jù)校驗。也可以通過ST語言方便的編寫校驗程序。以計算CRC校驗碼為例,下面是變量聲明部分:
FUNCTION_BLOCK Generate_CRC
VAR_INPUT
pDataPOINTER
TO BYTE;
byteCounter:WORD;
END_VAR
VAR_OUTPUT
CRC_Code:WORD;
FINISH:BOOL:=FALSE;
END_VAR
VAR
Reg16: WORD;
j: BYTE;
i: WORD;
mval: WORD;
temp_byte: BYTE;
flg: WORD;
END_VAR
以下是ST語言的程序代碼部分:
Reg16 := 16#FFFF;
mval := 16#A001;
FOR i:=0 TO byteCounter-1 BY 1 DO
temp_byte:=pData︿;
pData:=pData+1;
Reg16:=(Reg16 XOR temp_byte);
FOR j:=0 TO 7 BY 1 DO
flg := 0;
flg:=(Reg16 AND 16#0001);
Reg16 := SHR(Reg16,1);
IF (flg = 1) THEN
Reg16:=Reg16 XOR mval;
END_IF;
END_FOR;
END_FOR;
CRC_Code:=Reg16;
FINISH:=TRUE;
3 數(shù)據(jù)存儲系統(tǒng)的設(shè)計
該PLC控制系統(tǒng)是應(yīng)用在節(jié)能汽車上,通過PLC對液壓回路的控制使汽車達到降低油耗的目的,在該車的試驗階段,需要把運行過程中的一些過程數(shù)據(jù)進行記錄。當時提出了三種設(shè)計方案,第一種方案是對PLC進行改造,在內(nèi)部增加一條FLASH芯片,修改PLC的底層程序,實現(xiàn)數(shù)據(jù)的存儲;第二種方案是通過GPRS收發(fā)器把數(shù)據(jù)上傳到遠程PC;第三種方案是通過自由口與U盤讀寫模塊進行通訊,把數(shù)據(jù)實時寫入U盤中。我們對運行環(huán)境進行了現(xiàn)場考察和反復研究,在可靠性、穩(wěn)定性、方便性等方面做了大量工作,權(quán)衡利弊,最終選擇了方案三進行實施。
Flash存儲設(shè)備首先要配置各項參數(shù),包括接口方式、功能設(shè)置、通訊速率等,如圖5所示:
PLC進行壓力、流量、速度等一些參數(shù)的采集,并把數(shù)據(jù)轉(zhuǎn)換為ASII碼的形式進行實時存儲。然后通過自由口對U盤讀寫模塊發(fā)送指令,U盤讀寫模塊對發(fā)送的指令進行響應(yīng),并完成相應(yīng)的讀寫U盤操作。系統(tǒng)要求在每組數(shù)據(jù)后面進行時間記錄,所以PLC在每次數(shù)據(jù)發(fā)送的同時把時間寫在文件中,程序流程圖如圖6所示:
圖6程序流程圖
4 結(jié)論
經(jīng)過長時間的應(yīng)用證明,數(shù)據(jù)存儲系統(tǒng)的穩(wěn)定性很好,這種數(shù)據(jù)存儲的實現(xiàn)方式大大節(jié)省了系統(tǒng)的成本,且實現(xiàn)起來較為方便,可以大力推廣??梢姡珿3系列PLC的自由口應(yīng)用起來相當靈活,可以方便的和第三方設(shè)備進行通訊。