新閣上位機開發——西門子PLC常見問題解析

新閣上位機開發——西門子PLC常見問題解析

常見現象

在上位機開發學習中,經常有小夥伴反映自己的西門子PLC通訊不上,今天就西門子PLC通訊注意的幾個地方做下說明,希望大家可以牢記心中。

1、 PLC側需要設定勾選允許來自遠端物件的Put/Get通訊訪問

對於西門子1200/1500系列,必須要勾選允許Put/Get訪問,對於200Smart/300/400,則不需要。

新閣上位機開發——西門子PLC常見問題解析

2、對於DB塊讀寫,需要去除DB最佳化訪問

對於基於博圖開發S7-1200/1500的專案,如果要與DB塊資料通訊,需要要去除DB的最佳化的塊訪問,對於200Smart/300/400,則不需要。如果希望透過標籤通訊,可以採用OPCUA。

新閣上位機開發——西門子PLC常見問題解析

3、務必保證通訊地址是有效地址

上位機通訊中,通訊地址是有效地址,這句話該怎麼去理解呢?因為PLC大多數是基於儲存區的,每個地址肯定是隸屬於某個儲存區,大家都知道西門子PLC自帶的儲存區有I區、Q區、M區、T區、C區,但是對於常用的DB儲存區是沒有的,需要自己去建立,也就意味著,如果你要讀取DB地址,必須要提前建立好DB儲存區,除此以外,DB儲存區建立之後,預設是沒有位元組的,需要自己一個個新增變數,才能形成有效儲存區,因此一個DB儲存區的範圍是有限並且可見的(可以透過偏移量看出來)。舉例說明,下圖是一個DB儲存區,說明這個儲存區有86個位元組,如果你通訊的地址超過這個範圍,肯定就會出問題。這點其實也很容易理解,我們把與PLC通訊當做從伺服器拿東西,如果我們要拿的東西,伺服器都沒有,那麼是不是會出問題呢?上位機的通訊地址非常重要。

新閣上位機開發——西門子PLC常見問題解析

經驗分享

下面再給大家分享,我們做上位機軟體,如果出問題之後,我們如何快速定位問題,解決問題?

1、我們首先要Ping一下PLC的IP地址,保證物理網路是正常的,一定要記住Ping通只能證明網路沒問題,並不能代表一定可以通訊。

2、西門子S7協議是基於TCP的,所以我們接下來可以用網路除錯助手去連線PLC,IP地址填寫PLC的IP地址,埠號填寫102。

3、用通訊測試平臺測試變數,記住這裡最好先測試M儲存區,如MD100。

4、如果通訊測試平臺可以,說明PLC端設定基本上都沒問題了,但是如果這時候配置軟體仍然有問題,可以先刪除所有的組,只建立一個通訊組,並且把儲存區選擇M儲存區。

5、如果上面的單個M儲存區可以,一般就是你通訊組配置的問題了,可以將所有的通訊組的Active啟用都取消,然後逐個開啟,定位是哪個或者哪幾個通訊組的問題,然後再找原因。

大家學會了嗎?

我是新閣上位機付老師,用我的專業,成就你的夢想!