G3小型PLC與Flash存儲(chǔ)設(shè)備進(jìn)行自由口通訊方案
摘要: HOLLiAS-LEC G3小型一體化PLC支持自由口通訊功能,可以與任何協(xié)議的第三方設(shè)備進(jìn)行自由口通訊。 關(guān)鍵詞: 自由口通訊; PLC;FLASH存儲(chǔ); 1 引言 和利時(shí)G3系列PLC是杭州和利時(shí)公司自主研發(fā)的小型一體化PLC產(chǎn)品。G3系列PLC具有可靠性高、指令豐富、通訊能力強(qiáng)等特點(diǎn)。其支持六種編程語(yǔ)言,包括LD、IL、FBD、SFC、ST、CFC,能夠適應(yīng)多種PLC編程基礎(chǔ)的人群。一些大的控制系統(tǒng)具有很多現(xiàn)場(chǎng)設(shè)備,其中一部分現(xiàn)場(chǎng)設(shè)備可能不支持標(biāo)準(zhǔn)的通訊協(xié)議, 但是還需要與第三方控制設(shè)備進(jìn)行數(shù)據(jù)通訊,任何一個(gè)廠商的PLC都不可能支持所有現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)通信協(xié)議。如何實(shí) PLC與非標(biāo)準(zhǔn)協(xié)議的第三方設(shè)備進(jìn)行互聯(lián)呢,G3系列PLC推出了自由口的通訊方式,可以實(shí)現(xiàn)與任何協(xié)議的第三方設(shè)備進(jìn)行互聯(lián)。本文介紹的是G3系列PLC通過(guò)自由口與Flash存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)通訊。
2 G3系列PLC的通訊方式
G3系列PLC支持多種通訊方式,如Profibus DP、以太網(wǎng)、自由口通訊。G3系列PLC的CPU模塊本體集成了一個(gè)RS232通訊口和一個(gè)RS485通訊口,RS232和RS485支持標(biāo)準(zhǔn)的Modbus RTU、G3專(zhuān)有協(xié)議和自由口通訊協(xié)議。用戶(hù)可以用圖程序設(shè)定通訊口的協(xié)議、通訊速率、數(shù)據(jù)位、校驗(yàn)、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。下圖為和PLC自由口相關(guān)的功能塊指令。 圖1為設(shè)定自由口通訊速率、數(shù)據(jù)位、校驗(yàn)的指令;圖2為恢復(fù)Modbus RTU和G3專(zhuān)有協(xié)議的指令,同時(shí)也可以設(shè)定通訊速率、數(shù)據(jù)位和校驗(yàn);圖3為數(shù)據(jù)發(fā)送指令;圖4為數(shù)據(jù)接收指令。同時(shí)軟件中有CRC校驗(yàn)的功能塊指令,可以進(jìn)行數(shù)據(jù)校驗(yàn)。也可以通過(guò)ST語(yǔ)言方便的編寫(xiě)校驗(yàn)程序。以計(jì)算CRC校驗(yàn)碼為例,下面是變量聲明部分: FUNCTION_BLOCK Generate_CRC VAR_INPUT pData:POINTER 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語(yǔ)言的程序代碼部分: 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ù)存儲(chǔ)系統(tǒng)的設(shè)計(jì)
該P(yáng)LC控制系統(tǒng)是應(yīng)用在節(jié)能汽車(chē)上,通過(guò)PLC對(duì)液壓回路的控制使汽車(chē)達(dá)到降低油耗的目的,在該車(chē)的試驗(yàn)階段,需要把運(yùn)行過(guò)程中的一些過(guò)程數(shù)據(jù)進(jìn)行記錄。當(dāng)時(shí)提出了三種設(shè)計(jì)方案,第一種方案是對(duì)PLC進(jìn)行改造,在內(nèi)部增加一條FLASH芯片,修改PLC的底層程序,實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ);第二種方案是通過(guò)GPRS收發(fā)器把數(shù)據(jù)上傳到遠(yuǎn)程PC;第三種方案是通過(guò)自由口與U盤(pán)讀寫(xiě)模塊進(jìn)行通訊,把數(shù)據(jù)實(shí)時(shí)寫(xiě)入U(xiǎn)盤(pán)中。我們對(duì)運(yùn)行環(huán)境進(jìn)行了現(xiàn)場(chǎng)考察和反復(fù)研??作,權(quán)衡利弊,最終選擇了方案三進(jìn)行實(shí)施。 Flash存儲(chǔ)設(shè)備首先要配置各項(xiàng)參數(shù),包括接口方式、功能設(shè)置、通訊速率等,如圖5所示: 圖5模塊配置 PLC進(jìn)行壓力、流量、速度等一些參數(shù)的采集,并把數(shù)據(jù)轉(zhuǎn)換為ASII碼的形式進(jìn)行實(shí)時(shí)存儲(chǔ)。然后通過(guò)自由口對(duì)U盤(pán)讀寫(xiě)模塊發(fā)送指令,U盤(pán)讀寫(xiě)模塊對(duì)發(fā)送的指令進(jìn)行響應(yīng),并完成相應(yīng)的讀寫(xiě)U盤(pán)操作。系統(tǒng)要求在每組數(shù)據(jù)后面進(jìn)行時(shí)間記錄,所以PLC在每次數(shù)據(jù)發(fā)送的同時(shí)把時(shí)間寫(xiě)在文件中,程序流程圖如圖6所示: 圖6程序流程圖
4 結(jié)論
經(jīng)過(guò)長(zhǎng)時(shí)間的應(yīng)用證明,數(shù)據(jù)存儲(chǔ)系統(tǒng)的穩(wěn)定性很好,這種數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)方式大大節(jié)省了系統(tǒng)的成本,且實(shí)現(xiàn)起來(lái)較為方便,可以大力推廣。可見(jiàn),G3系列PLC的自由口應(yīng)用起來(lái)相當(dāng)靈活,可以方便的和第三方設(shè)備進(jìn)行通訊。
|
|
|
如果網(wǎng)友需要將本文轉(zhuǎn)載到論壇,請(qǐng)點(diǎn)擊下方按鈕復(fù)制代碼,再在“PCauto論壇”發(fā)貼框里粘貼即可,該方法也同樣適用于其它大部分論壇,非常方便! |
|
|