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