一種S7-300與S7-200自由口無線通信實現(xiàn)方法
濱州市污水處理廠占地100萬立方米。采用德國BIOLAK污水處理工藝,日處理水規(guī)模為10萬立方米。項目使用四套S7-300和兩套S7-200建成分布式控制系統(tǒng),完成整個污水處理的控制、數據采集功能,本文僅敘述了項目的一部分——S7-300和S7-200通信內容。
S7-200PLC作為小型PLC,以其功能強、性價比高在工控領域中被廣泛應用。在S7-200與S7-300或WINCC通信時,通常需要安裝EM277或CP243-1模塊,成本升高,使得S7-200性價比優(yōu)勢大打折扣。自由口通信是S7-200的突出特點之一,本文介紹了一種經濟靈活的通信方法,其可行性、可靠性在實際工程中得到驗證。圖1為濱州污水處理廠監(jiān)控中心。
圖1 濱州污水處理廠監(jiān)控中心
2 工程應用中的硬件及網絡結構
濱州污水處理廠自動化監(jiān)控系統(tǒng)中,兩刮泥橋上各有一臺S7-200PLC,每臺PLC控制8臺吸泥泵及刮泥橋的正反向運動。S7-200PLC的柜子安裝在刮泥橋上,處于不停地來回運動中,不適合進行有線通信,采取了無線數傳電臺方式。
S7-200CPU上的通信口是基于RS485的,通過一個RS485/232轉換器將S7-200連接到電臺;在脫水機房的S7-300上掛一串口通信模塊CP340,并連接到數傳電臺,通過編程便可以實現(xiàn)S7-300與S7-200間的通信;監(jiān)控室的上位機以MPI總線方式與S7-300通信,便可間接監(jiān)控S7-200。系統(tǒng)網絡結構如圖2
圖2 通信結構圖
3 通信功能的實現(xiàn)
通信程序要實現(xiàn)S7-300向一個S7-200站發(fā)送7個字節(jié)的數據,然后接收并存儲該S7-200返回的6個字節(jié)數據。S7-300發(fā)送的7個字節(jié)中,第1個字節(jié)是地址信息,第2、3、4字節(jié)是吸泥泵及刮泥橋控制數據信息,第5、6字節(jié)是1、2字節(jié)和3、4字節(jié)異或值,作為校驗判斷信息,第7位字節(jié)數據信息無意義,僅僅是為了觸發(fā)一次S7-200的字符接收中斷程序;S7-200向S7-300發(fā)送的6個字節(jié)中,第1個字節(jié)是S7-200的站地址信息,第2、3、4字節(jié)是吸泥泵及刮泥橋狀態(tài)數據信息,第5、6字節(jié)為校驗信息。
3.1 S7-300端通信程序
在自由口模式下,無論S7-200還是S7-300,通信協(xié)議完全由程序控制。CP340通過調用FB2 P_RCV來接收數據,調用FB3 P_SEND來發(fā)送數據。發(fā)送功能塊FB3 P_SEND的參數REQ上升沿初始化發(fā)送請求,參數DB_NO指定發(fā)送數據塊編號,參數DBB_NO是發(fā)送數據在參數DB_NO指定數據塊中起始字節(jié),LEN指定傳輸數據的字節(jié)長度;接收功能塊FB2 P_RCV參數EN_R允許讀數據,參數DB_NO指定接收數據塊編號,參數DBB_NO是接收數據在參數DB_NO指定數據塊中起始字節(jié)。
S7-300采用輪循方式與兩S7-200通信,即第一秒內向1號站發(fā)送數據,然后接收1號站返回的數據(S7-200在接收到S7-300發(fā)送的數據后會立刻向S7-300發(fā)送數據);第二秒內向2號站發(fā)送數據,然后接收2號站返回的數據,不停地循環(huán)通信。S7-300通信程序流程如圖3。
圖3 S7-300通信程序流程圖
評論