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