工控隨筆_09_西門子_S7-200 Smart與V20 USS通訊USS_RPM_R利用輪詢的方式通信異常

  前兩天處理過一個故障,是S7-200 Smart與V20的USS通信,設備廠家在程序裏面利html

用USS_RPM _R程序循環輪詢5個V20設備讀取頻率和電流值等信息。測試

  

    圖 USS_RPM_R讀取信息spa

  上圖是第一個站點的讀取,其採用的控制方式是利用狀態位SM0.0 置位M13.0 = 1, 而後htm

經過上面的程序段進行讀取參數,而後再利用M13.1這個標誌位,再作爲下一個站點的XMT和blog

EN信號,同時復位M13.0 = 0; 依次類推一直輪詢完5個站點後,再從新設置M13.0 = 1 開始新get

一輪的查詢。軟件

 

1、問題循環

  那天個人同事要修改程序裏面一個模擬量的量程,而後修改完後直接下載程序,在下載完畢後下載

從新運行程序,PLC有Stop狀態切換至RUN狀態,這個時候出現了一個問題,那就是USS_RPM_R程序

這個程序塊卡主了,整個輪詢再也不執行。

 

2、分析

  同事搞了好久,沒有找出緣由,還和其餘人一塊兒把V20的參數恢復出廠設置了,可是仍是不

行, 後來就給我打電話,讓我過去看看。

  我一過去看就問是否是能夠經過PLC控制V20的起停,說是沒問題,我也測試過沒有問題。

所以判斷通信沒有中斷,應該是PLC程序的問題,由於開始是能夠的,且V20參數沒有修改過。

後來我仔細分析了一下程序,發現了一個問題,就是廠家的程序利用SM0.0 一直在輪詢,且輪

詢啓動後不會再利用SM0.0這個信號來從新置位M13.0這個信號。其程序以下所示:

 

 

 

 

  上面三張圖是啓動的程序,這樣的作法存在一個問題,就是中途若是出現異常,比方說下載程序

致使USS通信讀取中斷就不能自動恢復。

 

3、解決方法

一、將PLC下電,而後從新上電,這樣SM0.0 就會產生一個上升沿激活上面的輪詢過程。這個解決方案

不是最優方案。

二、不要利用SM0.0作爲啓動脈衝,而改成SM0.1首次掃描狀態位。

三、方案三,就是檢測全部的通信返回狀態, 當全部的狀態在1s(或者其餘任意設定時間)內通信狀態失敗

後,就自動激活通信過程。

 

4、小結

  S7-200 系列的PLC要注意斷電重啓和利用Smart軟件將PLC從Stop切換到RUN狀態是有區別的。比方

說SM0.0這個狀態位,還有一些數據保持功能。

 

--------------------------------------------------------------分割線---------------------------------------------------------------

一、文章均爲我的原創,歡迎轉載,轉載請保留出處:https://www.cnblogs.com/volcanol/

二、獲取工控PLC、變頻器、HMI、計算機、Windows、Linux、嵌入式資料點擊:獲取資料

三、若是您以爲文章對您有幫助可轉至頁面上半部分打賞,或移步:打賞 

四、或者在頁面右下角點推薦喲!!!

--------------------------------------------------------------分割線--------------------------------------------------------------

相關文章
相關標籤/搜索