周楊芳,高海濤
(上饒職業技術學院,江西 上饒 334109)
現代工業控制現場對PLC數據的網絡化通信要求越來越高。傳統模式下,采用“計算機-PLC”通信的方式能夠解決小型PLC工業控制系統的數據通信問題,但難以解決多臺PLC級聯形成的大中型工業控制網絡數據有效的通信問題。盡管有部分學者提出采用“上位機—計算機—PLC”網絡架構的形式可解決上述問題,但引入上位機后的網絡系統成本較高,且結構比較復雜,組建難度大幅度提升,不適用于中小型工控企業及網絡通信系統。基于此,本文基于單主站通信技術,并引入“計算機+主站PLC+從站PLC”網絡架構模式,組建一種結構簡單、程序簡約、成本適中、通信功能良好,能夠適用于中小型工控系統多臺PLC數據通信的網絡系統。
PLC單主站網絡系統的組建需要采用PLC“主-從站”構建技術及網絡讀/寫指令技術。①PLC“主-從站”構建技術。在采用PPI通信協議的基礎上,S7-200型PLC被允許設置為“主-從站”工作模式,并用特殊功能寄存器SMB30指定其主、從站的網絡通信屬性,例如設置SMB30=00 000 010,即可將PLC設置為主站工作模式,從站PLC不需要進行初始化。②網絡讀/寫指令技術。該指令包含NETW(網絡讀)和NETW(網絡寫)2個子指令,當“主-從站”組建成功后,應用該指令能夠從遠程計算機總站最多讀(寫)16字節的數據信息,并同時最多激活8條網絡指令,從而解決“計算機+主站PLC+從站PLC”之間的網絡數據通信問題。
模擬工業控制現場PLC網絡通信需求,創設真實化的控制場景:由1臺計算機(安裝了STEP7編程軟件,定義為總站1號機)、1臺西門子S7-200型PLC(CPU226型,定義為主站2號機)和1臺西門子S7-200型PLC(CPU224型,定義為從站3號機)構成通信網絡體系。其中,CPU226型PLC與計算機之間通過PPI線纜和RS485線纜構成“總-主”通信網絡,CPU224型PLC與CPU226型PLC之間通過RS485線纜構成“主-從”通信網絡。網絡通信的實現要求為:通過編譯程序和硬件通信系統搭建調試,用2號機的I0.0-I0.7端口控制3號機的Q0.0-Q0.7端口,并用3號機的I0.0-I0.7端口控制2號機的Q0.0-Q0.7端口,實現在計算機編程控制場景下,2號機和3號機之間網絡數據的單主站通信控制。
模擬工業控制現場組建的PLC單主站通信網絡系統硬件部分由計算機(1臺)、西門子S7-200型PLC(2臺,分別為CPU226型和CPU224型)構成,外加RS485通信線纜、PPI通信線纜、DC24V電源等器件。具體的系統硬件組建方法如下。
1)組建通信網絡。找到計算機和PLC上的RS485通信接口,用網絡連接器將2臺S7-200型PLC和計算機聯通起來,組成一個基于PPI協議的單主站通信網絡。
2)連接通信線纜。用雙絞線、PPI通信線纜分別將連接器的2個A端子連接起來,并將連接器的另外2個B端子連接起來,構成通信網絡數據傳輸系統。
3)設置通信地址。當通信系統連接完成后,在STEP7編程軟件中,設置好主站PLC和從站PLC的通信地址,并下載到PLC的CPU模塊中,將PLC的工作模式開關設置在“RUN”狀態,以便于網絡通信程序的識別和下載。
主站PLC是本系統中用于連接計算機和從站PLC,傳遞網絡通信數據的“橋梁”,需要對主站PLC劃分具體的網絡通信地址。在具體的通信作業中,從站PLC需要接收主站PLC傳輸來的指令和數據,并反饋相應的操作,不需要額外設計通信程序。具體的主站PLC網絡通信地址劃分如表1所示。
主站通信程序如圖1所示。

表1 主站PLC網絡通信地址的定義與劃分


圖1 主站通信程序
系統主站PLC的通信程序如圖2所示,用于實現主站和從站PLC之間網絡系統的數據通信作業,具體包含3個程序網絡。
1)初始化設置程序。使用SM0.1指令,當系統上電后將數值2傳送給SMB30,以調用出PPI主站工作模式,同時清空數據接收緩沖區和發送緩沖區中的內容,實現初始化。
2)網絡讀數據判斷程序。V100.7常開觸點用于激活網絡讀數據判斷,當網絡讀數據操作完成時,V100.7=1,同時VB107地址中的數據傳送給本機的QB0。通過該網絡程序,實現將從站PLC中的數據讀取到主站PLC。
3)數據傳輸程序。調用NETR和NETW指令完成主站PLC和從站PLC之間的數據讀寫作業,以主從站之間的數據讀傳輸為例,傳輸程序的設計思路為:若NRTR被激活且沒有錯誤,則將遠程站數據區指針值IB0傳送至VD102,同時傳送需要讀取的數據字節數至VB106地址,之后調用NETR指令從端口0讀取從站的數據信息。

圖2 配置通信網絡讀指令
進行通信參數設置是實現網絡系統正常通信的重要步驟。具體的步驟如下。
1)在STEP7軟件中單擊“工具/指令向導”命令,在彈出的對話框中選擇“配置多項網絡讀寫指令操作”,并在其左側下拉列表中選擇“NETR/NETW”選項。
2)由于系統包含主從站數據讀寫操作,因此在“您希望配置多少項網絡讀/寫操作?”選項中,選擇“2”。
3)選擇PLC網絡通信端口,自動生成子程序,配置讀寫網絡參數。以數據讀網絡參數配置為例,選擇遠程地址為“2”,從遠程PLC的VB0讀取數據,存在本地PLC的VB0處,再單擊“下一步”,保存設置。數據寫網絡參數配置以此類推。
本系統組建完成后,模擬工業控制現場環境,測試系統網絡通信的數據傳輸效果。測試環境為:從站向主站連續發送若干組數據,再由主站向從站連續發送若干組數據,對主從站PLC之間讀寫數據的響應時間、誤差率、傳輸準確率3項指標平均值進行監測統計。結果顯示:系統通信的響應時間、誤差率、數據傳輸準確率均非常優越,具體如表2所示。

表2 系統網絡通信效果測試統計表
由運行測試結果可知:本系統成功地在多臺PLC之間實現了數據高效傳輸,數據傳輸的誤差率、準確率均非常優越,可用于工業控制現場級聯PLC系統之間的通信網絡組建及數據傳輸,對解決工業級PLC通信網絡大數據傳輸和控制問題具有一定的參考價值。對系統的軟件程序進行改進,可進一步實現多臺主機控制多臺從機、一臺主機控制多臺從機等通信組網的延伸,產生更為顯著的網絡通信控制效益。