上位機開發之西門子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通信實踐

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※回頭車貨運收費標準

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※推薦評價好的iphone維修中心

※教你寫出一流的銷售文案?

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!