主要內容:
S7-200 PLC USS通訊概述
S7-200 PLC USS通訊指令
S7-200 PLC USS通訊常問問題
(1)USS通訊
S7-200 PLC 的USS通訊主要用于PLC與西門子系列變頻器之間的通訊:
PLC與驅動裝置連接配合,主要實現的任務是:
控制驅動裝置的啟動、停止等運行狀態
控制驅動裝置的轉速等參數
獲取驅動裝置的狀態和參數
USS協議的基本特點如下:
一個網絡上最多可以有32個節點(最多31個從站)
獲取驅動裝置的狀態和參數
USS支持的通訊對象目前包括:
Micromaster 3/Micromaster 4系列
SINAMICS G110
MaterDrive 6SE70/6RA70
(2)USS通訊規約
S7-200的USS通訊
USS的字符幀格式:
字符幀格式包括1個起始位,8位數據位,1位偶校驗位和1位停止位。
USS的報文幀格式:
報文幀格式中起始字符固定為02H,1個字節的報文長度,之后是數據區,最后付上一個字節的BCC校驗。
上表中間的凈數據區由PKW區和PZD區組成:
PKW:此區域用于讀寫參數值、參數定義或參數描述文本,并可修改和報告參數的改變。
PZD:此區域用于在主站和從站之間傳遞控制和過程數據。控制參數按設定好的固定格式在主、從站之間對應往返。
(3)USS通訊輪詢從站過程
通常USS有一個主站和若干個從站,也就是一臺PLC控制若干臺變頻器,輪詢的過程中,首先變頻器的從站地址會被分別賦予不同的值,從0到n,中間可以不連續,輪詢的過程是PLC發送數據給0號站,0號站應答,接下來又發送給1號站,1號站再應答,一直到發送給n號站,n號站應答。對于某一個特定的站點,如果PLC發送完數據以后,接不到該站點的應答,則再發送一包數據,如果仍然接收不到,則放棄該站,開始對下一站號進行發送。
上面的表格體現的是傳輸的波特率和主站輪詢從站的時間間隔之間的關系,舉個例子,比如說當傳輸的波特率是2400bit/s的時候,訪問單個從站大概需要130ms的時間,如果波特率越來越大,那么主站輪詢從站所需要的時間間隔就會相應地減少。
(4)USS庫的安裝和調用
在使用USS庫之前,我們首先要為Micro WIN軟件安裝名為Toolbox_V32-STEP 7-Micro WIN的軟件包,該軟件包解壓并安裝之后即可以在Micro WIN下看到它并使用,出現了兩個文件夾,分別是USS Port0庫指令和USS Port1庫指令。
打開這些庫指令,直接把里面的指令拖拽到程序中即可完成對USS庫指令的調用。
在使用這個庫的時候切記一定要為該庫分配庫存儲區,具體的方法是:右鍵點擊庫,選擇庫存儲區,在建議地址一欄輸入一個地址區間,這個地址區間將作為USS指令庫的背景數據區,切記該數據區不得與程序當中其它的地址區沖突,否則會導致USS庫文件的使用不正常。
(5)USS庫文件的使用
1)USS_INIT指令
上圖中的指令叫做USS_INIT,它是USS從站初始化指令,調用時應使用沿出發。一旦觸發,PLC立刻開始輪詢驅動裝置。USS_INIT引腳定義如下圖所示:
Mode=1的時候啟動USS;Baud為波特率的設置;Active表示參與通訊的從站地址,確切地講,它表示的是所有參與通訊的從站的地址,它是如何來定義的呢?來看下面的一張表格:
首先Active這個變量的數據類型是一個雙整型,也就是32位,在這里我們把32位由低到高逐次地列舉出來,那么它所對應的從站的地址0號位對應的就是0號站地址,1號位對應就是1號站的站地址,以此類推,非常好識別。從站激活的標志只有0和1兩個狀態,0表示未激活,1表示激活,那么在表格第三行的例子中表達的是1、2號位被激活,其它的所有位都是0,沒有被激活,那么這個時候實際上Active=16#00 00 00 06,這個數表達的是1號站和2號站將被激活,所以USS輪詢從站的時候輪詢的就是1號站和2號站。
引腳定義中的Done位和Error位分別是初始化完成標志和錯誤代碼。
2)USS_CTRL指令
USS_CTRL這個功能塊是我們真正用來控制個別從站時候所用到的指令,這個指令的引腳定義如上圖右表所示,其中RUN=1的時候表示的是運行,就是讓電機轉起來,0的話就表示讓電機停止;OFF2表示的是以OFF2的方式進行停車,OFF3表示的是以OFF3的方式停車,這是什么意思呢?通常在西門子的變頻器里面停車方式有三種,分別為OFF1、OFF2和OFF3,OFF1是我們通常所講的正常的停車,它的停車時間在變頻器里面是有一個參數去設置的,OFF2叫做自由停車或者是慣性停車,它在得到OFF2的停車命令的時候,電機會以自然的、慣性的方式自由停車,OFF3我們通常稱之為快速停車,它的停車時間也是可以通過改變變頻器里面的參數去設置的,那么通常OFF3的停車時間要小于OFF1的停車時間,所以我們稱之為快速停車,對于我們這樣一個USS_CTRL功能塊而言,OFF2和OFF3分別用這兩個引腳來控制,而OFF1就是RUN=0的情況下就是OFF1的停車;F_ACK是故障確認;DIR是方向選擇,電機正轉還是反轉;Drive表示的是被控電機的站號,在前面的例子當中,一個1號一個2號是我們被控的電機,那么到底是這一條USS_CTRL指令控制的是哪一臺電機呢?那么通過Drive來設定;Type選擇驅動器的類型,0的話是MM3系列的變頻器,1是其他系列的變頻器;Speed_SP是速度的設定值,可以通過百分比的形式或者是頻率的0-50Hz的范圍來設定,具體是以"%"為單位還是以"Hz"為單位,可以在變頻器里面有參數進行選擇。功能塊右邊的這些引腳是變頻器反饋回來的一些數據,包括從站應答確認信號以及通訊錯誤代碼、狀態字等等。
3)參數讀寫指令
參數讀寫指令有6條,如上表所示,前面三條是讀指令,后面三條是寫指令,每個指令最后一位表達的是讀或者寫的數據類型,W表示的是字或整型,D表示的是雙整型,R表示浮點型,在變頻器的手冊里面通常用U16、U32以及Float的方式來表達。
上圖中的指令是USS_RPM_R指令,這是一個讀實數類型參數的指令,它的引腳定義說明如下表所示:
XMT_REQ是讀請求,必須用沿觸發;Drive表示驅動裝置的站地址;Param表示要讀取的參數號,我們知道變頻器里的參數都有它的參數號;Index表示參數組的標識,變頻器里面的參數往往是分了組的,有分成兩個組也有分成四個組的,這個時候我們需要在Index里面指定我們這一次修改或者讀取具體操作的是哪一組的參數;DB Ptr是讀參數,讀回來的數據會放在本地的哪個位置;Done、Error、Value分別是讀命令完成位、錯誤代碼和讀出的數據值。
(6)設置驅動裝置參數
在使用PLC和變頻器進行USS通訊之前,我們首先要對變頻器進行一些設置,如上圖所示列舉出了一些基本參數,我們的例子是基于MM440,首先看P700=5,表示的是控制源來自于通信線路上的USS通信;P1000=5表示的是設定源來自于USS通信;P2009表示的是對USS通信設定值進行規格化,即設定值為絕對的頻率數值;P2010=6表示的是設置通訊線路上的USS通信速率為9600波特率;P2011=3表示的是驅動裝置USS通信口在網絡上的從站地址,一定要把同一個USS上的不同的變頻器設置為不同的站地址;最后通過P971=1將上述已經設置好的參數保存到MM440的EEPROM中。
(7)USS FAQ
Q1:USS能和第三方的變頻設備通訊嗎?
A1:不能,USS協議是專為西門子變頻器而設計的通訊協議,只能支持特定的產品,其中常見的有標準變頻傳動裝置MicroMaster系列、高性能驅動裝置MasterDrive系列,以及新產品SINAMICS系列等。
Q2:項目編譯后為何出現很多錯誤?
A2:使用指令庫后,若編譯后出現很多錯誤,一般是因為未指定庫指令數據存儲區。
Q3:看USS通信主站輪詢的時間表,訪問一個從站只需要幾十毫秒,為何發出運行指令后感覺經過了數百毫秒電機才轉動?這是否正常?
A3:從用戶發出運行控制信號,到電動機發生人眼可見的轉動,中間經過了很多環節。控制信號進入PLC數字量輸入端,經過主站中的程序運行,通信循環周期,以及從站中的程序處理,特別是驅動裝置啟動運行還需要很多準備環節,如電容預充電、建立磁場,建立轉矩等。等到電機的轉動可見,要經過一段時間。這是正常的現象。
-
plc
+關注
關注
5016文章
13388瀏覽量
465416 -
USS
+關注
關注
1文章
19瀏覽量
11253
原文標題:USS通訊是“神馬”? 看完你就懂。
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
什么是USS協議?PLC應用—USS協議介紹
![什么是<b class='flag-5'>USS</b>協議?PLC應用—<b class='flag-5'>USS</b>協議介紹](https://file1.elecfans.com/web2/M00/B4/8D/wKgZomVv05qAXJxSAAAL9pUpllM443.jpg)
單片機中volatile定義的作用詳解
S7-200與MM440之間USS通訊
![S7-200與MM440之間<b class='flag-5'>USS</b><b class='flag-5'>通訊</b>](https://file.elecfans.com/web2/M00/49/EB/pYYBAGKhvHaAWWPPAAAagy_Zg9s003.jpg)
評論