FTO系統資料通訊處理分析論文

才智咖 人氣:3.01W

1技術方案

FTO系統資料通訊處理分析論文

1.1傳統通訊方式

S7-300PLC採用CP341進行資料通訊,CP341應用最多的是ModbusRTU通訊方式。ModbusRTU通訊協議採取主從模式:由主站發出資料操作請求,從站進行響應。整個網路可以有多個從站,但是必須有且只有一個主站。若主站不發出資料操作請求,則所有從站保持靜默狀態。PLC在ModbusRTU模式中一般作為從站響應上游的DCS主站請求。為保證FTO系統現場控制盤內的PLC與DCS主站通訊成功,首先要確定從站能辨識主站的查詢請求,其次要保證從站響應主站的報文格式正確,應符合Mod-busRTU標準格式。

1.2程式結構流程

在FTO系統的就地PLC與DCS主站通訊中,採用軟體結構化程式設計模擬傳統的硬體通訊模組固化的程式流程,主要的程式模組有:OB1———主程式,程式組織塊,用於啟用主程式;OB80———程式組織塊,用於報告系統執行錯誤號;OB121、OB122———程式組織塊,用於程式容錯處理,防止PLC宕機;FB7———子程式,程式功能塊,用於從匯流排上接收主機的請求資料;FB8———子程式,程式功能塊,用於把從站資料傳送到匯流排上,以響應主機的請求;FB9———子程式,RTUSLAVE通訊主程式。

1.3具體實現

程式組織塊OB80、OB121、OB122可直接從Step7中呼叫。CP341用功能塊FB7“P_RCV_RK”和FB8“P_SND_RK”分別從通訊匯流排上接收和傳送通訊資料。在本通訊程式中被主程式FB9呼叫。FB9是RTUSLAVE通訊主程式,用於執行中的程式流程,由其呼叫FB7、FB8、FC10和FC12。起始時,FB9呼叫FB7從匯流排上接收主站請求的報文,通過解析報文的第一位元組內容(從站地址),判斷地址是否與本從站一致,若不一致則直接丟棄此報文,繼續監測匯流排資料;若報文請求地址與本從站地址一致,則呼叫FC12子程式對報文進行CRC16校驗,若校驗失敗則說明報文有誤,直接丟棄報文;若校驗通過,則繼續解析此報文請求的第二位元組(功能碼),按功能碼的請求分別轉到對應的程式段執行;執行相應的請求功能後,呼叫FC10進行資料移動整理,並再次呼叫FC12對響應後的資料進行校驗,並將校驗碼附加到響應資料的最後兩個位元組作為響應報文,呼叫FB8傳送到匯流排供主機接收。通訊程式的容錯機制採用CRC16校驗。CRC16校驗程式由於要對通訊的所有資料進行逐一位元組的運算,因此極其耗費CPU運算資源,經實驗,採用PLC內建硬體模組處理的通訊資料量達到256Byte後CPU運算時間大於掃描週期時間的概率大為增加,容易導致通訊錯誤和CPU宕機。為了不使計算時間超出PLC的最大允許掃描時間,筆者設計將計算一串資料的CRC16校驗碼任務分散到各PLC週期中去。具體做法是:每個掃描週期只進行一個位元組的通訊資料CRC16校驗計算,一串通訊資料則依位元組數分散到多個週期去做,設定一個全域性變數儲存當前的CRC16檢驗碼值,每個週期在當前CRC16校驗碼值的基礎上繼續下一個位元組的計算,得到新的CRC16校驗碼值,當一串資料全部計算完畢後,當前CRC16校驗碼值即最終值。CRC16單個位元組校驗程式設計的具體實現步驟如下:

a.設定CRC暫存器,並給其賦值FFFF(hex);

b.將待校驗資料(起始位、停止位不參加計算)的第一個位元組與16位CRC暫存器的低8位進行異或,並把結果存入CRC暫存器;

c.CRC暫存器向右移一位,MSB補零,移出並檢查LSB;

d.如果LSB為0則重複c,若LSB為1就把CRC暫存器與A001H相異或;

e.重複c與d直到8次移位全部完成,此時該位元組資料處理完畢;

f.重複b~e直到所有資料全部處理完成;

g.最終CRC暫存器的'內容即為CRC值。FB9、FC10和FC12是通訊程式核心,也是此方法的主要原始碼內容。此程式程式碼實現的ModbusRTU支援的功能碼為01、02、03、04、05、06、15和16。

2應用結果

FTO系統中數字量為298點,模擬量為163點,單迴路8個,複雜控制迴路4個。為保證PLC的執行實時性,設定其極限迴圈掃描時間為150ms。對3種通訊方式進行對比,軟體單次掃描迴圈方式是將通訊過程中計算量最大的CRC校驗計算在一個掃描週期內執行,執行時間為198ms,遠超出了PLC極限迴圈掃描時間,引起CPU停機;採用傳統的硬體通訊模組時,掃描時間為142ms,比較接近150ms的極限,若考慮到模擬量控制迴路執行時間的不確定性,則複雜工況下,也存在導致CPU停機的風險;利用多個掃描週期來計算CRC校驗碼值的方式,每次迴圈只要89ms,保證了CPU迴圈掃描時間的足夠裕量,有利於系統穩定可靠執行。從通訊成本投入看,尤其是對中小型PLC系統,軟體多次掃描迴圈方法是經濟的。

3結束語

FTO系統執行至今,迴路顯示、控制和通訊資料的交換一直穩定、可靠,達到了預期目的。應用結果表明,該方法提高了PLC處理大量通訊資料時的執行可靠性,保證了FTO系統的可靠執行,同時節省了購置PLC通訊硬體的高額成本,應用前景廣闊。