上位機開發之西門子PLC-S7通訊實踐
- 2020 年 6 月 8 日
- 筆記
- C#工控上位機編程, PLC-S7PLC-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,安裝使用,最後祝大家工作生活愉快。
更多精彩內容:
(點擊即可閱讀)