項良元
(1.合肥水泥研究設計院有限公司,安徽 合肥 230051;2.合肥固泰自動化有限公司,安徽 合肥 230051)
在實際工業生產中,經常會用到比較重要的第三方專用設備,如立磨、輥壓機等,這些專用設備一般會有一些重要的運行參數和控制參數,上位機HMI軟件通過讀取這些運行數據能夠實時了解當前設備的運行狀況,通過設置一些控制參數來完成所需要的控制需求。如何讀取這些數據以及發送一些控制數據,是相對來說比較困難的問題,對于行業新手來說更是無從下手。要解決這個問題,傳統的方法是在兩端建立點對點連接,但是這種方式需要布置大量的信號電纜,在人力和物力上會增加很多成本支出。另一種方式就是在兩端建立一些通訊機制,如Profibus-DP、ISO-on-TCP、UDP和 S7協議,這種方式在通訊兩端都要寫一些程序才能完成數據交換,實現起來相對比較復雜,需要一定的專業技能才能實現。
這里介紹另一種比較經濟適用的通訊手段,只需在專用設備與上位機端鋪設一根網線(兩者之間距離超過100m,一般采用鋪設光纖的方式,以保證正常通訊),即可實現兩者之間的數據交換。這種方式通訊兩端都無須通過單獨編寫程序來實現數據交換,首先要求通訊兩端IP地址在同一網段上,然后專用設備端只需提供需要交換數據相應的地址就可,上位機軟件所建立的變量絕對地址與專用設備數據地址保持一致即可。
TCP通訊是一種傳輸協議,它是一種面向連接的、可靠的、基于字節流的通信協議,通過一序列機制來保障TCP傳輸數據,這種通訊方式設置簡單,易于操作,只需將兩端IP地址設置為同一網段即可。
打開SIMATI STEP7軟件,新建一個TCP項目,見圖1。打開圖1的Hardware,添加CPU315-2PN/DP硬件配置,并為其配置IP地址192.168.0.1,子網掩碼255.255.255.0,見圖2。

圖1 新建一個TCP項目

圖2 添加Hardware設置
打開圖1的Blocks分別添加一個DB1(用于數據發送)數據塊和DB2(用于數據接收)數據塊,見圖3。

圖3 添加數據塊
打開圖3的DB1數據塊,新建40個Byte表示10個浮點數,用于發送數據,如圖4所示。

圖4 新建40個Byte發送數據
打開圖3的DB2數據塊,新建40個Byte表示10個浮點數,用于接收數據,如圖5所示。

圖5 新建40個Byte接收數據
打開TIA Portal V14軟件,建立博圖項目,將其命名為TIATCP,然后打開設備與網絡,添加SIMATIC PC STATION與WinCC RT Professional,完成項目建立與軟件配置,見圖6。將圖6的TIATCP展開,打開連接項目樹連接圖標,新建連接名稱為Connec-tion1,選擇通訊驅動程序SIMATIC S7 300/400,建立通訊連接機制,見圖7。

圖6 添加SIMATICPCSTATION與WinCCRTProfessional

圖7 建立通訊連接機制
將圖7的HMI變量打開,并建立10個數據發送變量,其絕對地址與CPU315-2PN/DP DB2地址一一對應,見圖8。

圖8 建立10個數據發送變量
將圖7的HMI變量打開,并建立10個數據接收變量,其絕對地址與CPU315-2PN/DP DB1地址一一對應,見圖9。對應關系見圖10和圖11。

圖9 建立10個數據接收變量

圖10 HMI發送變量與CPU315-2PN/DP DB1地址對應

圖11 HMI接收變量與CPU315-2PN/DP DB1地址對應
對于TIA WINCC與S7-300控制器之間的眾多通訊方案中,采用TCP通訊可以減少通訊雙邊的軟件編寫,只要保證通訊雙邊IP地址在同一網段即可,這種通訊方式簡單,適用,易懂,雙邊數據交換只需絕對地址一致即可。需要注意的是WINCC V14上位機軟件直接讀取下位機的地址信息,其連接通道中必須有下位機的通訊驅動程序,如與1200通訊,則要加載SIMATIC S7 1200驅動程序,與AB通訊,則需要加載Allen-Bradley EherNet/IP,類似這樣的通訊一般都可采用TCP連接機制。
總之,TIA WinCC的TCP通訊靈活、自由,在實際應用中給程序員提供了很大的便利。