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