很多液壓系統(tǒng)對流量都有控制要求,常用的流量控制方法是使用流量調(diào)節(jié)閥,變量泵來對系統(tǒng)流量進行控制。隨著變頻器技術(shù)的發(fā)展和應(yīng)用,人們認識到利用變頻器控制電動機轉(zhuǎn)速來調(diào)節(jié)定量泵的流量也是一種很好的流量控制手段。
變頻調(diào)速以其優(yōu)良的控制性能和高效的節(jié)能優(yōu)點在工業(yè)領(lǐng)域和民用領(lǐng)域得到了廣泛的應(yīng)用和發(fā)展。變頻調(diào)速是公認的最為理想,最有發(fā)展前景的調(diào)速方式之一。隨著計算機,可編程控制器以及其他智能控制設(shè)備在控制領(lǐng)域的廣泛應(yīng)用,誕生了大量基于各種總線和通信協(xié)議的通信方式。RS-485就是一種基于RS-485總線的通信協(xié)議,它已經(jīng)被應(yīng)用在了上位機和變頻器的通信之中。本文采用RS-485通信協(xié)議,通過計算機來自動控制液壓系統(tǒng)的流量。
1RS-485通信協(xié)議
為了讓上位機和變頻器之間進行有效的通信,必須約定它們的通信方式。在此,使用基于RS-485總線的RS-485通信協(xié)議。協(xié)議約定如下:采用異步傳輸,一臺主機發(fā)送,可以多臺從機(變頻器)接收,沒有接收到主機的請求,從機不能主動發(fā)送信息。
糾錯方法:在信息后加checksum,checksum等于所有字節(jié)(HEX)之和的最后一個字節(jié),轉(zhuǎn)換成ASCII碼。
數(shù)據(jù)包格式:HeaderAKP1P0D3D2D1D0S Delimiter其中數(shù)據(jù)包中各部分意義如下:Header:3ah A,K,P1P0,D3D2D1D0,S分別是單字節(jié)十六進制數(shù),轉(zhuǎn)換為ASCII碼。
A:從機(變頻器)地址。變頻器的地址范圍為(1-31),A必須存在。地址A=00H時對所有從機生效,且所有從機不回送信息,故A=00H時只能發(fā)運行命令操作等。
K:數(shù)據(jù)包功能。
P1P0:參數(shù)序號。參數(shù)標號,倆字節(jié)十六進制數(shù),如P0100轉(zhuǎn)換為十六進制為0064. D3D2D1D0:參數(shù)值。去掉小數(shù)點的參數(shù)值,共四個字節(jié)的十六位進制數(shù),先發(fā)高位,后發(fā)低位。
S:和校驗字。S是上面所有字節(jié)十六進制之和(A+K+P1P0+D3+D2+D1+D0)取最后一字節(jié)bit7bit0)值,轉(zhuǎn)換為ASCII碼。
Delimiter:0dh,0ah.
2系統(tǒng)設(shè)計
在本文所研究變頻調(diào)速液壓系統(tǒng)中,采用計算機上的RS-232串口來和變頻器通信,由于計算機上的RS-232接口和變頻器上的RS-485接口在電氣特性上存在著差異。兩種總線間不能直接進行通信,因此采用HY-811轉(zhuǎn)接模塊將兩種不同總線的信號進行轉(zhuǎn)換。
在本文中采用計算機為上位機,通過總線控制現(xiàn)場的變頻器,傳感器和執(zhí)行部件。計算機采集來自流量傳感器的數(shù)據(jù),通過比較實際的流量值和期望值之間的誤差,不斷調(diào)整電動機轉(zhuǎn)速,使系統(tǒng)流量的誤差符合要求。
3上位機與變頻器的通信程序?qū)崿F(xiàn)
應(yīng)用VB60中內(nèi)嵌的MSComm控件來對計算機的串口編寫控制程序,建立上位機和變頻器之間的聯(lián)系。MSComm控件是微軟公司的串口通信ActiveX控件,該控件提供了對串口的各種操作,支持多線程。
MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。該通信控件可以采用事件驅(qū)動和查詢方式來開發(fā)串口通信程序。
應(yīng)用MSComm控件通信前,首先對其相關(guān)屬性進行設(shè)置:ComrnPort=1使用計算機上的第1串行口來和變頻器通信;Settings:9600,n,8,1設(shè)置傳輸波特率為960Obit/s,8位數(shù)據(jù)位,無偶校驗,1位停止位;InpuMtode=1按二進制方式收發(fā)數(shù)據(jù);Inputlen=0每次讀出輸入緩沖區(qū)中全部的數(shù)據(jù);主機向變頻器發(fā)送命令的子程序如下:PublicSubAdj(InverterAsInteger,F(xiàn)unAsString,PAs String,DataAsLong) DimAAsInteger DimP0AsString DimP1AsString DimDAsLong DimD3AsString
DimD2AsString DimD1AsString DimD0AsString DimSumAsLong DimSAsString A=Hex(Inverter)
D=Hex(Data)
P0=Mid(P,3,2)
P1=Mid(P,0,2)
D3=Mid(Str(D),0,2)
D2=Mid(Str(D),3,2)
D1=Mid(Str(D),5,2)
D0=Mid(Str(D),7,2)
Sum=A+Val(Fun)+Val(P0)+Val(P1)+Val(D3)+Val(D2)+Val(D1)+Val(D0)
S=Right(Str(Hex(Sum)),2)
IfMSComm1PortOpen=FalseThenMSComm1. PortOpen=True MSComm1Output
='3ah' MSComm1Output=ASCII(Asc(Left(Str(A),1)))
MSComm1Output=ASCII(Asc(Right(Str(A),1)))
MSComm1Output=ASCII(Asc(Left(Str(Fun),1)))
MSComm1Output=ASCII(Asc(Right(Str(Fun),1)))
MSComm1Output=ASCII(Asc(Left(Str(P0),1)))
MSComm1Output=ASCII(Asc(Right(Str(P0),1)))
MSComm1Output=ASCII(Asc(Left(Str(P1),1)))
MSComm1Output=ASCII(Asc(Right(Str(P1),1)))
MSComm1Output=ASCII(Asc(Left(Str(D3),1)))
MSComm1Output=ASCII(Asc(Right(Str(D3),1)))
MSComm1Output=ASCII(Asc(Left(Str(D2),1)))
MSComm1Output=ASCII(Asc(Right(Str(D2),1)))
MSComm1Output=ASCII(Asc(Left(Str(D1),1)))
MSComm1Output=ASCII(Asc(Right(Str(D1),1)))
MSComm1Output=ASCII(Asc(Left(Str(D0),1)))
27 HydraulicsPneumatics&Seals/No42010 MSComm1Output=ASCII(Asc(Right(Str(D0),1)))
MSComm1Output=ASCII(Asc(Left(Str(S),1)))
MSComm1Output=ASCII(Asc(Right(Str(S),1)))
MSComm1Output='0dh' MSComm1Output='0ah' EndSub
計算機控制系統(tǒng)根據(jù)設(shè)定的流量值,給變頻器發(fā)送一個初始的頻率值。液壓系統(tǒng)啟動后,計算機不斷的查詢系統(tǒng)的流量值,根據(jù)實際測量到的流量和設(shè)定流量之間的偏差來調(diào)整變頻器的輸出頻率,使系統(tǒng)流量符合要求。
4總結(jié)
變頻器通過調(diào)節(jié)電動機的轉(zhuǎn)速可以控制液壓系統(tǒng)的流量,并且能夠獲得較好的調(diào)節(jié)效果。RS-485協(xié)議是一種基于RS-485總線的通信協(xié)議,它使用方便,功能完善,抗干擾能力強。應(yīng)用RS-485通信協(xié)議開發(fā)出的變頻調(diào)速系統(tǒng)能夠滿足系統(tǒng)的開發(fā)要求。
國內(nèi)外知名變頻器:ABB變頻器,施耐德變頻器,西門子變頻器,艾默生變頻器,三菱變頻器,日立變頻器,艾默生變頻器,SEW變頻器,德力西變頻器,日普變頻器,神源變頻器,科姆龍變頻器,LG變頻器,安邦信變頻器,美之源變頻器,三晶變頻器,丹佛斯變頻器,三墾力達變頻器,博世力士樂變頻器,富士電機變頻器,艾倫-布拉德利變頻器 |