基于USS協(xié)議實現(xiàn)PLC對變頻器的控制
1 引言
計算機及通訊技術已成為工業(yè)環(huán)境中大部分解決方案的核心部分,其在系統(tǒng)中的比重正在迅速增加。在工業(yè)控制中,交流電機的拖動越來越多的采用變頻器完成,不僅作為一個單獨的執(zhí)行機構,而是隨著不斷的智能化,同遠程計算機之間可以通過各種通訊方式結合成一個有機的整體。在實際工程實施時,變頻器的啟動、停止、方向、告警、故障指示以及故障復位等控制通常為端子排開關信號控制方式,速度控制采用模擬量給定值控制方式來完成。由于變頻器的輸出端會產生強烈的干擾信號,控制器有時會造成誤動作的情況。當控制距離遙遠時,還存在敷線工程量過大的問題。隨著現(xiàn)場總線的底層控制網絡的發(fā)展,變頻器生產廠家推出了具有數(shù)據通信功能的產品,采用RS-485通信接口用于系統(tǒng)配置和監(jiān)控是一種低成本的連接方案。
2 西門子變頻器的USS控制協(xié)議
2.1 USS協(xié)議的特點
USS是西門子公司為變頻器開發(fā)的通信協(xié)議,可以支持變頻器同PC或PLC之間建立通信連接,常適合于規(guī)模較小的自動化系統(tǒng)。它以主從方式構成工業(yè)監(jiān)控網站,在網絡內有一個主站,1~31個從站,各站點有唯一的標識碼識別。
這種結構的特點是:用單一的、完全集成的系統(tǒng)來解決自動化問題。所有的西門子變頻器都可以采用USS協(xié)議作為通信鏈路。數(shù)字化的信息傳遞,提高了系統(tǒng)的自動化水平及運行的可靠性,解決了模擬信號傳輸所引起的干擾及漂移問題。通信介質采用RS-485屏蔽雙絞線,最遠可達1000m,因此可有效地減少電纜的數(shù)量,從而可以大大減少開發(fā)和工程費用,并極大地降低客戶的啟動和維護成本;通信效率較高,可達187.5kbit/s。對于有10個調速器,每個調速器有6個過程數(shù)據需刷新的系統(tǒng),PLC的典型掃描周期為幾百毫秒,采用與PROFIBUS相似的操作模式,總線結構為單位站、主從存取方式,報文結構具有參數(shù)數(shù)據與過程數(shù)據,前者用于改變調速器的參數(shù),后者用于快速刷新調速器的過程數(shù)據,如啟動停止、速度給定、力矩給定等。具有極高的快速性和可靠性。利用西門子變頻器的主機上提供的USS接口,僅在終端機中插入一RS-485通信板,就可實現(xiàn)變頻器的全部遠程控制。
2.2 USS協(xié)議的通信數(shù)據格式
USS協(xié)議的通信字符格式為一位起始位、一位停止位、一位偶校驗位和八位數(shù)據位。數(shù)據報文最大長度位256個字節(jié),包括3字節(jié)的頭部、1字節(jié)的校驗碼和主數(shù)據塊,數(shù)據塊按照字的方式組織,高字節(jié)在前。通信數(shù)據報文格式如表1所示。
表1 USS協(xié)議的通信數(shù)據報文格式
表中:STX—起始字符,為02Hex;LGE—報文長度,為n+2,3≤n≤254;ADR—從站地址碼,其中bit0~bit4表示從站地址,bit5為1表示廣播發(fā)送,bit6為1表示鏡像發(fā)送,用于網絡測試,bit7為1表示特殊報文;BCC—校驗字符,為從STX開始所有字節(jié)的異或和。
在一幀內完成過程控制數(shù)據的同時,可以通過指定參數(shù)號完成設備控制參數(shù)的讀寫。數(shù)據快由參數(shù)值域(PKW)和過程數(shù)據域(PZD)組成,二者均為變長數(shù)據,其格式如表2所示。
表2 數(shù)據快的格式
表中:PKW域—參數(shù)值域,由參數(shù)識別碼、子參數(shù)號和參數(shù)值構成,參數(shù)個數(shù)可根據設備的定義值最大可有124個字;PZD域—過程控制數(shù)據域,包括控制字/狀態(tài)字,設定值/實際值,最多16個字;PKE參數(shù)識別碼;IND用來指定某些數(shù)組型設備參數(shù)的子參數(shù)號。
對于SIEMENS的MMV/MDV變頻器,協(xié)議有所簡化:
IND固定為0;PKW為3字格式,即只有PWE1;PZD域的PZD1是控制字/狀態(tài)字,用來設置和監(jiān)測變頻器的工作狀態(tài);PZD域的PZD2設定頻率。
3 PLC控制變頻器的程序設計
PLC通訊程序采用子程序方式編制,主控程序對變頻器的控制通過調用有關子程序發(fā)送命令完成。數(shù)據接受由后臺中斷程序完成。發(fā)送命令子程序將變頻器目標速度值和命令參數(shù)加工為USS協(xié)議格式,發(fā)送出去,并設置發(fā)送標志,復位接受完成標志,并開允許接受中斷和定時中斷。
當變頻器發(fā)送響應報文時,激活后臺中斷程序接受變頻器的狀態(tài)值和當前速度值,存入接受緩沖區(qū),并復位發(fā)送標志,設置接受完成標志。
3.1 主控程序
按照采樣時間間隔,主控程序根據發(fā)送標志和接受完成標志,檢查變頻器接受緩沖區(qū)內容,并進行相應的處理。通訊程序由通信口初始化、運行、停止、速度設定等5個子程序和一系列中斷服務子程序構成,主控程序的流程如圖1所示。
圖1 主控程序流程
3.2 通訊子程序
通訊子程序如下:
SBR0
//通訊初始化程序
MOVB 16#49,SMB30
//初始化P0為9600kb,8bit,偶校驗
MOVB 14,“P0-ST-LEN”
//設置發(fā)送緩沖區(qū),發(fā)送字符數(shù)
MOVB 16#2,“P0-ST-STX” //STX
MOVB 12,“P0-ST-LGE” //LGE
MOVB 0,“P0-ST-ADR” //主站地址
MOVB 255,“TO”
ENI
ATCH 4,25
ATCH 6,11
RET
SBR2
//電機啟動子程序
MOVB BPADR,,“P0-ST-ADR”
//取主控緩沖區(qū)的從機地址
MOVW 16#0C7F,“P0-ST-PZD0”
//設定停止電機啟動、正轉
CALL “Send-BP”
//調用發(fā)送程序
RET
SBR 4
//設定電機速度電機運行子程序
MOVB“BPADR”,“P0-ST-ADRS”
//取主控緩沖區(qū)的從機地址
MOVW 16#0C7F,“P0-ST-PZD0”
//設定電機啟動、正轉
MOVW “BIT/SP”,“P0-ST-PZD1”
//取主控緩沖區(qū)的速度值
LDW>=“P0-ST-PZD1”,16#4000
//判斷是否超過最大速度
MOVW 16#4000,“P0-ST-PZD1”
CALL “Send-BP”
//調用發(fā)送程序
RET
SBR5
//發(fā)送程序Send-BP
MOVD &VB3500,ACO
//計算BCC
MOVB 14,AC1
//循環(huán)計算BCC,存入“P0-ST-BCCS”置位重發(fā)次數(shù)計數(shù)器
XMT “P0-ST-LEN”,0
//發(fā)送
ATCH 0,9
//發(fā)送結束中斷的中斷服務程序號
MOVB 100,“h”
//定時時間100ms
ATCH 1,10
//定時中斷處理,未接受倒數(shù)據,重發(fā)數(shù)據
RET
3.3 中斷接收子程序
中斷接收子程序由一系列服務程序組成,包括3種情況。
(1) 判斷中斷接收的起始3個字符是否為制定字符,是將接收中斷指針指向下一個中斷程序,復位定時器,同時異或計算BCC值;否則將關閉接收中斷,等待定時中斷進行錯誤處理。
(2) 對于數(shù)據塊的接收,采用計數(shù)方式控制,當計數(shù)為零時,計算的BCC值應為0,否則關閉接收中斷。
(3) 定時中斷激活時表示接收超時,重發(fā)次數(shù)值減1,如果不為0,則自動將發(fā)送緩沖區(qū)的內容重新發(fā)送;為0,置位錯誤標志。
4 結束語
在變頻拖動工程應用中,傳統(tǒng)的方法是采用開關量和模擬量信號對變頻器進行控制,信號容易受到干擾,出現(xiàn)控制上的錯誤。采用基于RS-485接口的USS通信協(xié)議對變頻器進行控制的方法,大大 減少了系統(tǒng)布線,可以避免現(xiàn)場可能的各種電磁干擾對控制設備的影響,有效地提高系統(tǒng)的抗干擾能力。
文章版權歸西部工控xbgk所有,未經許可不得轉載。