天天看點

C#上位機通過标簽讀寫西門子PLC的兩種方案

寫在前面

經常有小夥伴問我,歐姆龍、倍福、AB、Codesys這些PLC都可以實作标簽變量讀取,那麼西門子PLC是否支援标簽變量讀取呢?

那麼今天跟大家分享一下,上位機與西門子PLC實作标簽讀取的兩種方案。

S7 Comm Plus

可能大家都聽過S7協定,這個是西門子的官方協定,那麼S7 Comm Plus是什麼協定呢?

Siemens S7 Comm Plus,顧名思義,就是S7協定的更新版。

S7-200、S7-300、S7-400系列的PLC采用早期的西門子私有協定S7comm進行通信。S7-1200/1500系列固件版本為V3.0以下的PLC采用西門子新一代的S7comm-Plus協定進行通信,該協定采用了一些特殊編碼規範。

KepServer V6.6版本支援Siemens S7 Plus Ethernet驅動,通過本地S7 Comm Plus協定采集 S7-1200 和 S7-1500 PLC 的符号位址。使用線上自動生成标簽功能,使用者不再需要從 TIA Portal 項目中手動導入标簽。

我們測試使用的是西門子S7-1500的PLC,建立好一個用于測試使用的DB塊,這裡的DB塊是優化的塊通路,沒有偏移量。

通過KepServer添加一個通道,驅動選擇Siemens S7 Plus Ethernet,如下圖所示。

C#上位機通過标簽讀寫西門子PLC的兩種方案

然後再添加一個裝置,裝置向導中,ID填寫IP位址,如下圖所示:

C#上位機通過标簽讀寫西門子PLC的兩種方案

再添加一個靜态标記,如下圖所示:

C#上位機通過标簽讀寫西門子PLC的兩種方案

這裡的标記位址可以參考幫助,格式如下:PLC名稱.Blocks.DB塊名稱.變量名稱。

運作看下效果:

C#上位機通過标簽讀寫西門子PLC的兩種方案

我們用OPC用戶端軟體來連接配接測試一下:

C#上位機通過标簽讀寫西門子PLC的兩種方案

OPC UA

目前西門子新出的1200和1500PLC大多數都支援OPCUAServer,是以隻需要簡單做一個配置,激活一下OPCUA伺服器功能,即可實作OPCUA通信。

C#上位機通過标簽讀寫西門子PLC的兩種方案

配置完成後,西門子OPCUA的URL為opc.tcp://192.168.2.153:4840。

我們通過OPCUA用戶端來連接配接測試一下:

C#上位機通過标簽讀寫西門子PLC的兩種方案

寫在最後

如果大家看到了這裡,可以找thingerzj,咱們聊聊C#上位機與西門子PLC通信的那些事兒。

繼續閱讀