德州派爾機械設備有限公司
扛鼎民族產業    鑄就世界品牌

S7-200 SMART與V20系列變頻器USS通訊

此范例將向大家介紹如何應用S7-200 SMART 的 USS 協議對西門子V20 變頻器進行通訊控制。使大家更加熟練的掌握和靈活的應用S7-200 SMART 的 USS通訊協議功能。

一、 通訊連接:

用電纜將S7-200 SMART Port 0端口與V20的RS485接口相連(注意端口連接規則:V20的P+對3、N-對8),如下圖所示:

二、 西門子V20系列變頻器通訊參數設置

1. 首先對變頻器恢復出廠設置:設置P0010=30,P0970=21

2. 選擇連接宏 Cn010 -USS控制

3. 選擇設定好連接宏為CN010后,設置P0003=3(專家級),修改P2014=0

三、 程序編寫

S7-200 SMART USS 標準指令庫包括 USS_INIT、USS_CTRL、USS_RPM_X、USS_WPM_X等指令。調用這些指令時會自動增加一些子程序和中斷服務程序。

選擇 USS_INIT 指令,初始化模塊初始化S7-200 SMART的PORT0端口

EN:初始化程序 USS_INIT 只需在程序中執行一個周期就能改變通信口的功能,以及進行其他一些必要的初始設置,因此可以使用 SM0.1 或者沿觸發的接點調用 USS_INIT 指令;

Mode:模式選擇,執行 USS_INIT 時 ,Mode 的狀態決定在通訊端口上是否使用 USS 通信功能;

=

1


設置為 USS 通信協議并進行相關初始化


0


恢復為 PPI 協議并禁用USS通信

Baud:USS 通信波特率。此參數要和變頻器的參數設置一致;

=


1200 bit/s



2400 bit/s



4800 bit/s



9600 bit/s



19200 bit/s



38400 bit/s



57600 bit/s



115200 bit/s

Port: 0 = CPU 集成的 RS485 通訊端口;1 = 可選CM 01 信號板。

Active:指示激活的變頻器站地址。

Done:初始化完成標志

Error:初始化錯誤代碼

Active參數:USS_INIT 子程序的 Active 參數用來表示網絡上哪些 USS 從站要被主站訪問,即在主站的輪詢表中激活。網絡上作為 USS 從站的驅動裝置每個都有不同的 USS 協議地址,主站要訪問的驅動裝置,其地址必須在主站的輪詢表中激活。USS_INIT 指令只用一個 32 位長的雙字來映射 USS 從站有效地址表,Active 的無符號整數值就是它在指令輸入端的取值。

表 1. 從站地址映射

在這個 32 位的雙字中,每一位的位號表示 USS 從站的地址號;要在網絡中激活某地址號的驅動裝置,則需要把相應位號的位置設為二進制“1",不需要激活 USS 從站,相應的位設置為”0"。最后對此雙字取無符號整數就可以得出 Active 參數的取值。

在表 1 的例子中,如果使用站地址為 1 的 V20變頻器,則須在位號為 01 的位單元格中填入二進制“1"。其他不需要激活的地址 對應的位設置為”0"。取整數,計算出的 Active 值為 00000002 h,即 16#00000002,也等于十進制數2。

建議使用 16 進制數,這樣可以每 4 位一組進行加權計算出 16 進制數,并組合成一個整數。當然也可以表示為十進制或二進制數值,但有時會很麻煩,而且不直觀。

如果一時難以計算出有多個 USS 從站配置情況下的 Active 值,可以使用 Windows 自帶的計算器。將其設置為科學計算器模式,可以方便地轉換數制。

選擇 USS_CTRL指令,用于對單個驅動裝置進行運行控制

EN: 使用 SM0.0 使能 USS_CTRL 指令

RUN:驅動裝置的啟動/停止控制

=

0

停止


1

運行

此停車是按照驅動裝置中設置的斜坡減速指電機停止

OFF2:停車信號 2。此信號為“1”時,驅動裝置將封鎖主回路輸出,電機自由停車

OFF3:停車信號 3。此信號為“1”時,驅動裝置將快速停車

F_ACK: 故障確認。當驅動裝置發生故障后,將通過狀態字向 USS 主站報告;如果造成故障的原因排除,可以使用此輸入端清除驅動裝置的報警狀態,即復位。注意這是針對驅動裝置的操作。

DIR: 電機運轉方向控制。其“0/1”狀態決定運行方向

Drive:驅動裝置在 USS 網絡上的站號。從站必須先在初始化時激活才能進行控制

Type: 向 USS_CTRL 功能塊指示驅動裝置類型

=

0

MM 3 系列,或更早的產品


1

MM 4 系列,SINAMICS G 110,SINAMICS V 20

Speed_SP:速度設定值。該速度是全速的一個百分數;“Speed_SP”為負值將導致變頻器反向運行。

Resp_R:從站應答確認信號。主站從 USS 從站收到有效的數據后,此位將為“1"一個程序掃描周期,表明以下的所有數據都是最新的

Error: 錯誤代碼。0 = 無出錯。其他錯誤代碼請參考

Status:驅動裝置的狀態字。此狀態字直接來自驅動裝置的狀態字,表示了當時的實際運行狀態

詳細的狀態字信息意義請參考相應的驅動裝置手冊。

Speed:驅動裝置返回的實際運轉速度值,實數。

Run_EN:運行模式反饋,表示驅動裝置是運行(為 1)還是停止(為 0)

D_Dir:指示驅動裝置的運轉方向,反饋信號

Inhibit: 驅動裝置禁止狀態指示(0 - 未禁止,1 - 禁止狀態)。禁止狀態下驅動裝置無法運行。要清除禁止狀態,故障位必須復位,并且 RUN, OFF2 和 OFF3 都為 0

Fault:故障指示位(0 - 無故障,1 - 有故障)。表示驅動裝置處于故障狀態,驅動裝置上會顯示故障代碼(如果有顯示裝置)。要復位故障報警狀態,必須先消除引起故障的原因,然后用 F_ACK 或者驅動裝置的端子、或操作面板復位故障狀態。

因Speed_SP為速度是全速的一個百分數,即輸入50HZ對應100%,轉換如下圖:

讀寫參數

在任一時刻 USS 主站內只能有一個參數讀寫功能塊有效,否則會出錯。因此如果需要讀寫 多個參數(來自一個或多個驅動裝置),必須在編程時進行讀寫指令之間的輪替處理。

輪詢處理方式可以參考下面給出一個簡單的例子,方法不是唯一的。

讀取V20頻率實際值,讀參數號r0021,經過濾波的頻率實際值[Hz]

EN: 要使能讀寫指令此輸入端必須為 1

XMT_REQ: 發送請求。必須使用一個沿檢測觸點以觸發讀操作,它前面的觸發條件必須與 EN 端輸入一致

Drive: 要讀寫參數的驅動裝置在 USS 網絡上的地址

Param: 參數號(僅數字)。此處也可以是變量

Index:參數下標。有些參數由多個帶下標的參數組成一個參數組,下標用來指出具體的某個參數。對于沒有下標的參數,可設置為 0

DB_Ptr: 讀寫指令需要一個 16 字節的數據緩沖區,用間接尋址形式給出一個起始地址。此數據緩沖區與“庫存儲區”不同,是每個指令(功能塊)各自獨立需要的。

此數據緩沖區也不能與其他數據區重疊,各指令之間的數據緩沖區也不能沖突

Done: 讀寫功能完成標志位,讀寫完成后置 1

Error:出錯代碼。0 = 無錯誤

Value:讀出的數據值。該數據值在 “Done”位為1時有效。

讀取V20電流實際值,讀參數號r0027,輸出電流實際值

讀寫實數(浮點)類型參數

使用USS_RPM_R讀取參數P1058的值

注意:

(1)讀參數P1058,其數據類型為實數。

(2)只要M10.1接通一個上升沿,就完成一次P1058參數的讀操作。

(3)讀入的參數被放在VD116里。

(4)需要注意的是Index為0時代表讀Pxxx.0參數組

使用USS_RPM_R修改參數P1058的值

注意:

(1)寫參數P1058.In000,其數據類型為浮點數。

(2)只要給M10.2一個上升沿,就完成一次參數P1058.In000的寫操作。

(3)EEPR~的邏輯為0時,寫入的值只保存到RAM中,為1時,寫入得值保存到EEPROM。

(4)EEPROM中寫數據是有次數限制的,V20最多不超過50000次

分配庫存儲區地址

USS 指令庫需要大概 402 個字節的 V 存儲區用于支持其工作。調用 USS_INIT 指令后就可以為 USS 指令庫分配庫存儲區。也可以在編程的稍后階段分配存儲區地址,但這一步是必不可少的,否則程序無法通過編譯。

根據 S7-200 SMART中的數據存儲區分配原則,分配給庫指令的數據區絕對不能與其他程序使用的數據區有任何重疊。否則會造成出錯。

右擊庫,點擊庫存儲器

分配庫存儲器地址

最后編譯下載整個項目

打開狀態圖表,設定頻率為5HZ,修改點動頻率值為8.8HZ,運行變頻器

分享到:
在線客服
 
 
 工作時間
周一至周五 :8:30-17:30
周六至周日 :9:00-17:00
 聯系方式
張總:15905343818