李 飛
(公安部第一研究所, 北京中盾安民分析技術有限公司, 北京 100048)
隨著我國經濟和工業化的發展, 工業領域的自動化應用越來越廣泛。在工業控制領域,PLC 憑借其顯著優勢占據邏輯控制的主流地位。 近年來隨著安檢系統應用范圍的逐步擴大,合作廠商和方式逐步升級,對多系統對接時的便捷性、 合理性以及系統運行效率等都提出了新的需求。西門子S7-1200 定位于“低端的離散自動化系統和獨立自動化系統中使用的小型控制器模塊”,充分滿足于中小型自動化的系統需求, 此系列產品的設計充分考慮了系統、控制器、人機界面和軟件的無縫整合和高效協調的需求[1-2]。
目前, 西門子S7-1200 本體PROFINET 通信口支持以太網和基于TCP/IP 和UDP 的通信標準和方式[3-4]。 西門子S7-1200 和上位機通信主要有2 種方式: 采用以太網通信或者OPC 通信。 OPC 通信方法過于復雜,多數OPC服務器難以為實時數據庫提供數據緩存、 無法提供一些常用的計算功能以及OPC 在分布式應用中容易和防火墻發生沖突[5]。 以太網通信方式簡單,與OPC 通信相比具有靈活、開發成本低等優點。 西門子S7-1200 與其他西門子可編程控制器連接方式主要有串口通信、IO 干接點通信和以太網通信, 串口通信和IO 干接點通信的優點是簡單,但是劣勢是傳輸效率低、抗干擾能力弱。
綜上所述, 本設計中西門子S7-1200 與外部系統西門子可編程控制器采用穩定可靠的PROFINET IO 方式連接,與安檢系統的上位機采用以太網通信方式連接。
S7-1200 在本設計中通過和外部系統西門子PLC 進行組態, 實現了兩個不同廠家的信息系統進行數據的交互、邏輯控制等,簡易流程圖如圖1 所示。 為了保持不同系統之間的數據安全和電氣獨立, 在兩個PLC 進行組態時進行電氣/網絡隔離。 外部控制信號采用工業現場常用的干接點連接,S7-1200 實際應用框圖如圖2 所示。

圖1 簡易流程圖

圖2 S7-1200 實際應用框圖
本次設計選用本體集成兩個以太網口的S7-1200 系列的PLC,CPU 的型號為1215C。S7-1200 和上位機通過Socket 進行通訊[6-7]。Socket 建立在傳輸層協議(TCP 和UDP)之 上,由于TCP 面向連接,UDP 是無連接的,因此,利用Socket 進行通信,有兩種方式:面向連接的和無連接的。本設計采用面向連接的通信方式,其中上位機作為Client 端進行實時訪問,S7-1200 作為接收連接對象的Server 端, 所以應選用兩部分功能模塊指令:一是TRCV(接收指令),如圖3 所示, 接收數據指令針對數據是否定長有不同配置;二是TSEND_C(發送指令),如圖4 所示。

圖3 接收指令

圖4 發送指令
線程是程序中的一個執行流程,是CPU 調度和分派的基本單位。一個線程可以包含一個或者多個線程,并在同一個進程內的多個線程共享內存和資源[8]。因為S7-1200屬于單線程運行,為了程序的通用性以及合理性,S7-1200需要實現和上位機多線程通信的機制, 這就要求數據接收端(即S7-1200)內部編寫程序實現數據接收緩沖池,將上位機發送的數據全部接收后以固定時間間隔發送給PN/PN COUPLE,報文接收部分程序截圖如圖5 所示。

圖5 報文接收部分程序截圖
為了減少兩個不同電路之間的干擾, 確保一側網絡端的錯誤對另一側的網絡端沒有影響, 在兩個系統連接時候通過專用設備進行隔離。 本設計選用西門子公司生產的PN/PN COUPLE 耦合器作為連接兩個系統PLC 的中間隔離設備,PLC 和PN/PN COUPLE 之間通過PROFINET連接進行數據交換,實際連接示意圖如圖6 所示。

圖6 隔離連接示意圖
PN/PN COU PLE 為數據交換提供兩個相互對應的緩沖區,每個緩沖區都有發送區域(Output)和接收區域(Input)。 一 個PROFINET 網 絡 的 發 送 區 對 應 另 一 個PROFINET 網絡的接收區,反之亦然。 在PROFINET 接口下的轉換映射欄中將發送和接收傳輸區分別進行配置,導出GSD 文件供PN/PN COUPLE 另一個接入端進行組態。 配置完成的傳輸區示意圖如圖7 所示。

圖7 配置完成的傳輸區示意圖
PN/PN COUPLE 開放的緩沖區類似靜態數組, 如果數據寫入的速度超過了讀取的數據, 就會存在前一組數據被覆蓋而無法讀取的現象, 所以為了雙方都可以準確無誤的數據交互,就對緩沖區數據保持時間THOLD提出了要求。假設S7-1200 的最長刷新周期為T1MAX,考慮時鐘的不穩定性以及其他冗余, 外部系統PLC 寫入PN/PN COUPLE 緩沖區的數據保持時間最少為THOLD=2T1MAX。 同理S7-1200 寫入PN/PN COUPLE 緩沖區的數據保持的時間最少為THOLD=2T2MAX(外部系統PLC 的最長刷新周期為T2MAX)。 此部分信息報文程序截圖如圖8 所示。

圖8 信息報文程序截圖
外部控制信號采用了傳輸速度快、可靠性高、接線方式簡單等優點的無緣信號接線方式, 在程序中增加濾波處理以防止信號的誤觸發。此信號主要包括光障、走帶以及急停信號等,部分控制信號程序截圖如圖9 所示。

圖9 部分控制信號程序截圖
HMI 是人機界面的縮寫,將HMI 和PLC 相連可以將其數據等顯示在屏幕上, 開展故障檢修、 數據監控的目的。 本設計中S7-1200 和HMI 屏選用以太網通信,使用TCP 協議。HMI 添加后需要在設備組態中進行組網設置,切記HMI 觸摸屏和S7-1200 以及PN/PN COUPLE 需在相同的IP 網段并且不同的IP 地址。 HMI 觸摸屏示意圖如圖10 所示。

圖10 HMI 觸摸屏示意圖
本設計安裝于實際的應用環境, 通過TIA 軟件中的Traces 功能進行實時監測以及上位機記錄的數據交互日志,經過分析發現實際中單次數據傳輸,從外部系統到安檢系統30ms 即可完成。 本設計數據傳輸快速、正確以及穩定, 可以實現高強度長時間工作的需求,TRACE 曲線示意圖如圖11 所示,上位機日志截圖如圖12 所示。

圖11 TRACE 曲線示意圖

圖12 上位機日志截圖
本設計介紹了S7-1200 在安檢系統中的應用與設計, 通過PROFINET IO 連接外部系統的西門子PLC,通過以太網方式連接內部安檢系統的上位機,實現了報文的通信、邏輯指令的控制以及狀態實時監控。 經過實際應用環境中的大量數據測試, 報文通信實時并且穩定,控制信號正確無誤。 說明了此設計方式的合理性,為以后同類型場景、不同類型設備的應用提供了有價值的模型參考。