上位機開發之西門子PLC-S7通訊實踐

 

寫在前面:

就目前而言,在中國的工控市場上,西門子仍然佔了很大的份額,因此對於上位機開發而言,經常會存在需要與西門子PLC進行通訊的情況。然後對於西門子PLC來說,通訊方式有很多,下面簡單列舉一下:

 

(1)  S7通訊:PLC作為伺服器,上位機作為客戶端

(2)  開放式TCP通訊:PLC作為伺服器,上位機作為客戶端

(3)  開放式TCP通訊:PLC作為客戶端,上位機作為伺服器

(4)   ModbusTCP通訊:PLC作為伺服器,上位機作為客戶端

(5)   ModbusTCP通訊:PLC作為客戶端,上位機作為伺服器

(6)   ModbusRTU通訊:PLC作為主站,上位機作為從站

(7)   ModbusRTU通訊:PLC作為從站,上位機作為主站

(8)   Simatic Net OPCDA通訊

(9)   Simatic Net OPCUA通訊

(10) KepServer OPCDA通訊

(11) KepServer OPCUA通訊

由於篇幅有限,這次僅以西門子S7通訊為例,說明下如何基於S7通訊協議實現與西門子PLC之間的通訊。

 

1. PLC軟體安裝及配置

目前西門子PLC主要使用的軟體包括STEP7-MicroWIN SMART、SIMATIC STEP7以及TIA Portal。TIA Portal已經完全兼容STEP 7,因此以後應該是STEP 7-MicroWIN SMART作為小型PLC的編程軟體,TIA作為中大型PLC的編程軟體,這裡主要以博途為例進行說明:

如果大家需要軟體的,可以關注左上方公眾號,或者搜索微信公眾號:dotNet工控上位機,關注後發送關鍵詞:200SMART編程軟體即可獲取STEP 7-MicroWIN SMART V2.5軟體,發送關鍵詞:博圖V15即可獲取TIA V15.1編程軟體。

軟體安裝完成後,PLC的配置也很簡單,如果大家手頭沒有實際的PLC,也可以通過模擬的方式搭建PLC環境,具體可以參考文章:戳↓

基於S7-PLCSIM Advanced搭建S7通訊模擬環境

 

無論使用何種方式,以下兩個地方需要進行配置一下:

PLC配置一:需要將PLC的允許來自遠程對象的PUT/GET通訊訪問勾選。

PLC配置二:對於DB塊的訪問,需要取消勾選優化訪問。

 

2. 通訊平台測試

(1)完成以上配置後,就可以通過自己開發的喜科堂通訊測試平台軟體進行測試,導航欄中選擇西門子PLC,然後輸入正確的IP地址,在CPU類型中選擇自己的CPU類型:

圖表 1新閣通訊測試平台

 

(1)輸入完成之後,點擊建立連接,建立連接之後,日誌欄會有連接成功提示。

(2)在讀寫測試中,輸入相應的變數地址及變數類型,即可實現相關變數的通訊讀寫及測試。

圖表 2新閣通訊測試平台測試

 

3. 項目級別應用

通訊測試平台僅僅只是用於測試通訊是否正常,實現正常的單變數數據讀取和寫入。但是如果是項目級別開發,還需要有一套更完善的通訊架構,這裡我採用的是自主開發的上位機通訊配置一體化軟體(簡稱CMS配置軟體)。

(1)通過PLC設備右擊選擇西門子PLC,在打開的窗體中設置好相關參數:

設備名稱:根據實際情況填寫(無特殊字元即可)

設備備註:根據實際情況填寫(無特殊字元即可)

IP地址:根據實際PLC的IP地址填寫

機架號、插槽號:根據實際PLC的情況填寫

PLC類型:根據實際PLC的情況填寫

連接超時:PLC連接時的超時時間,默認是2000ms

容錯次數:判斷連接故障的容錯次數,默認為1,即表示某次讀取出錯,即判斷連接故障,根據實際情況可以適當放大

重連周期:通訊過程中,出現斷線時,重連的周期,默認是5000ms

圖表 3創建PLC

 

(2)在PLC設備下,右擊添加通訊組,根據需要填寫相應的存儲區及起始地址及長度:

圖表 4添加通訊組

 

(3)通訊組下面,根據實際情況配置相應的變數,輸入開始地址及變數類型即可,變數地址會自動變換,這裡可以輸入比例係數及偏移量,用於做線性變換使用:

圖表 5添加變數

 

(4)對於變數配置,左下角會有一個報警歸檔配置,主要用於配置該變數的報警類型、歸檔方式及設定限制:

圖表 6報警歸檔配置

 

(5)完成上述配置後,可以點擊保存配置,再點擊啟動運行,即可實現實時通訊:

圖表 7實時通訊

 

(6)同時可以通過另存為,存儲為一個配置文件的形式,再基於配置dll,可以通過快速方式實現配置解析及通訊數據解析,這樣整個項目的通訊框架即可搭建完成。

 

4. 整體總結

本文主要針對西門子PLC的通訊配置、通訊配置及項目應用做了較為詳細的描述,希望可以給一些想要去開發西門子PLC項目的同學一些幫助。這樣的一套思路同樣適用於其他品牌的PLC,我們旨在節約大家開發項目中在通訊方面的時間,而將更多的精力投放在項目製程開發中。

 

寫在後面:

很多小夥伴想要CMSPro軟體來進行學習,因此綜合考慮,現提供CMSPro軟體試用版供大家學習使用,試用版功能方面可能會存在部分刪減,但是可以滿足大部分小夥伴的學習需求,目前僅針對本公眾號粉絲,具體獲取方式,通過關注本公眾號:dotNet工控上位機,發送關鍵詞:CMSPro試用,即可獲取。同時我們的通訊庫xktComm.dll也提供試用版,大家可以通過nuget搜索xktComm,安裝使用,最後祝大家工作生活愉快。

 

更多精彩內容:

(點擊即可閱讀)

西門子PLC上位機軟體開發歷程

上位機C#通過TCP/IP和庫卡機器人通訊

上位機C#通過OPCUA和西門子PLC通訊

基於C#實現本地數據上傳至雲伺服器

上位機開發之三菱Q系列PLC通訊實踐