很多液壓系統對流量都有控制要求,常用的流量控制方法是使用流量調節閥,變量泵來對系統流量進行控制。隨著變頻器技術的發展和應用,人們認識到利用變頻器控制電動機轉速來調節定量泵的流量也是一種很好的流量控制手段。 變頻調速以其優良的控制性能和高效的節能優點在工業領域和民用領域得到了廣泛的應用和發展。變頻調速是公認的最為理想,最有發展前景的調速方式之一。隨著計算機,可編程控制器以及其他智能控制設備在控制領域的廣泛應用,誕生了大量基于各種總線和通信協議的通信方式。RS-485就是一種基于RS-485總線的通信協議,它已經被應用在了上位機和變頻器的通信之中。本文采用RS-485通信協議,通過計算機來自動控制液壓系統的流量。 1、RS-485通信協議 為了讓上位機和變頻器之間進行有效的通信,必須約定它們的通信方式。在此,使用基于RS-485總線的RS-485通信協議。協議約定如下:采用異步傳輸,一臺主機發送,可以多臺從機(變頻器)接收,沒有接收到主機的請求,從機不能主動發送信息。 糾錯方法:在信息后加checksum,checksum等于所有字節(HEX)之和的最后一個字節,轉換成ASCII碼。 數據包格式:HeaderAKP1P0D3D2D1D0S Delimiter其中數據包中各部分意義如下:Header:3ah A,K,P1P0,D3D2D1D0,S分別是單字節十六進制數,轉換為ASCII碼。 A:從機(變頻器)地址。變頻器的地址范圍為(1-31),A必須存在。地址A=00H時對所有從機生效,且所有從機不回送信息,故A=00H時只能發運行命令操作等。 K:數據包功能。 P1P0:參數序號。參數標號,倆字節十六進制數,如P0100轉換為十六進制為0064. D3D2D1D0:參數值。去掉小數點的參數值,共四個字節的十六位進制數,先發高位,后發低位。 S:和校驗字。S是上面所有字節十六進制之和(A+K+P1P0+D3+D2+D1+D0)取最后一字節bit7bit0)值,轉換為ASCII碼。 Delimiter:0dh,0ah. 2系統設計 在本文所研究變頻調速液壓系統中,采用計算機上的RS-232串口來和變頻器通信,由于計算機上的RS-232接口和變頻器上的RS-485接口在電氣特性上存在著差異。兩種總線間不能直接進行通信,因此采用HY-811轉接模塊將兩種不同總線的信號進行轉換。 在本文中采用計算機為上位機,通過總線控制現場的變頻器,傳感器和執行部件。計算機采集來自流量傳感器的數據,通過比較實際的流量值和期望值之間的誤差,不斷調整電動機轉速,使系統流量的誤差符合要求。 3上位機與變頻器的通信程序實現 應用VB60中內嵌的MSComm控件來對計算機的串口編寫控制程序,建立上位機和變頻器之間的聯系。MSComm控件是微軟公司的串口通信ActiveX控件,該控件提供了對串口的各種操作,支持多線程。 MSComm控件通過串行端口傳輸和接收數據,為應用程序提供串行通信功能。該通信控件可以采用事件驅動和查詢方式來開發串口通信程序。 應用MSComm控件通信前,首先對其相關屬性進行設置:ComrnPort=1使用計算機上的第1串行口來和變頻器通信;Settings:9600,n,8,1設置傳輸波特率為960Obit/s,8位數據位,無偶校驗,1位停止位;InpuMtode=1按二進制方式收發數據;Inputlen=0每次讀出輸入緩沖區中全部的數據;主機向變頻器發送命令的子程序如下:PublicSubAdj(InverterAsInteger,FunAsString,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計算機控制系統根據設定的流量值,給變頻器發送一個初始的頻率值。液壓系統啟動后,計算機不斷的查詢系統的流量值,根據實際測量到的流量和設定流量之間的偏差來調整變頻器的輸出頻率,使系統流量符合要求。 4總結 變頻器通過調節電動機的轉速可以控制液壓系統的流量,并且能夠獲得較好的調節效果。RS-485協議是一種基于RS-485總線的通信協議,它使用方便,功能完善,抗干擾能力強。應用RS-485通信協議開發出的變頻調速系統能夠滿足系統的開發要求。 來源:工控網 |