南充西門子專業(yè)變頻器代理商 南充西門子專業(yè)變頻器代理商
潯之漫智控技術(shù)有限公司 上海詩(shī)慕自動(dòng)化設(shè)備有限公司
本公司銷售西門子自動(dòng)化產(chǎn)品,*,質(zhì)量保證,價(jià)格優(yōu)勢(shì)
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動(dòng),西門子以太網(wǎng)
西門子電機(jī),西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價(jià)格優(yōu)勢(shì),*,德國(guó)*
很多液壓系統(tǒng)對(duì)流量都有控制要求,常用的流量控制方法是使用流量調(diào)節(jié)閥,變量泵來(lái)對(duì)系統(tǒng)流量進(jìn)行控制。隨著變頻器技術(shù)的發(fā)展和應(yīng)用,人們認(rèn)識(shí)到利用變頻器控制電動(dòng)機(jī)轉(zhuǎn)速來(lái)調(diào)節(jié)定量泵的流量也是一種很好的流量控制手段。
變頻調(diào)速以其優(yōu)良的控制性能和高效的節(jié)能優(yōu)點(diǎn)在工業(yè)領(lǐng)域和民用領(lǐng)域得到了廣泛的應(yīng)用和發(fā)展。變頻調(diào)速是*的想,展前景的調(diào)速方式之一。隨著計(jì)算機(jī),可編程控制器以及其他智能控制設(shè)備在控制領(lǐng)域的廣泛應(yīng)用,誕生了大量基于各種總線和通信協(xié)議的通信方式。RS-485就是一種基于RS-485總線的通信協(xié)議,它已經(jīng)被應(yīng)用在了上位機(jī)和變頻器的通信之中。本文采用RS-485通信協(xié)議,通過(guò)計(jì)算機(jī)來(lái)自動(dòng)控制液壓系統(tǒng)的流量。
1RS-485通信協(xié)議
為了讓上位機(jī)和變頻器之間進(jìn)行有效的通信,必須約定它們的通信方式。在此,使用基于RS-485總線的RS-485通信協(xié)議。協(xié)議約定如下:采用異步傳輸,一臺(tái)主機(jī)發(fā)送,可以多臺(tái)從機(jī)(變頻器)接收,沒(méi)有接收到主機(jī)的請(qǐng)求,從機(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í)對(duì)所有從機(jī)生效,且所有從機(jī)不回送信息,故A=00H時(shí)只能發(fā)運(yùn)行命令操作等。
K:數(shù)據(jù)包功能。
P1P0:參數(shù)序號(hào)。參數(shù)標(biāo)號(hà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.
( 6 )據(jù)是否聯(lián)網(wǎng)通信選型
若 PLC 控制的系統(tǒng)需要聯(lián)入工廠自動(dòng)化網(wǎng)絡(luò),則 PLC 需要有通信聯(lián)網(wǎng)功能,即要求 PLC 應(yīng)具有連接其他 PLC 、上位計(jì)算機(jī)及 CRT 等的接口。大、中型機(jī)都有通信功能,目前大部分小型機(jī)也具有通信功能。
( 7 )對(duì) PLC 結(jié)構(gòu)形式的選擇
在相同功能和相同 I/O 點(diǎn)數(shù)據(jù)的情況下,整體式比模塊式價(jià)格低。但模塊式具有功能擴(kuò)展靈活,維修方便(換模塊),容易判斷故障等優(yōu)點(diǎn),要按實(shí)際需要選擇 PLC 的結(jié)構(gòu)形式。
2 .分配輸入 / 輸出點(diǎn)
一般輸入點(diǎn)和輸入信號(hào)、輸出點(diǎn)和輸出控制是一一對(duì)應(yīng)的。
分配好后,按系統(tǒng)配置的通道與接點(diǎn)號(hào),分配給每一個(gè)輸入信號(hào)和輸出信號(hào),即進(jìn)行編號(hào)。
在個(gè)別情況下,也有兩個(gè)信號(hào)用一個(gè)輸入點(diǎn)的,那樣就應(yīng)在接入輸入點(diǎn)前,按邏輯關(guān)系接好線(如兩個(gè)觸點(diǎn)先串聯(lián)或并聯(lián)),然后再接到輸入點(diǎn)。
( 1 )確定 I/O 通道范圍
不同型號(hào)的 PLC ,其輸入 / 輸出通道的范圍是不一樣的,應(yīng)根據(jù)所選 PLC 型號(hào),查閱相應(yīng)的編程手冊(cè),決不可“張冠李戴”。必須參閱有關(guān)操作手冊(cè)。
( 2 )部輔助繼電器
內(nèi)部輔助繼電器不對(duì)外輸出,不能直接連接外部器件,而是在控制其他繼電器、定時(shí)器 / 計(jì)數(shù)器時(shí)作數(shù)據(jù)存儲(chǔ)或數(shù)據(jù)處理用。
從功能上講,內(nèi)部輔助繼電器相當(dāng)于傳統(tǒng)電控柜中的中間繼電器。
未分配模塊的輸入 / 輸出繼電器區(qū)以及未使用 1 : 1 鏈接時(shí)的鏈接繼電器區(qū)等均可作為內(nèi)部輔助繼電器使用。根據(jù)程序設(shè)計(jì)的需要,應(yīng)合理安排PLC 的內(nèi)部輔助繼電器,在設(shè)計(jì)說(shuō)明書(shū)中應(yīng)詳細(xì)列出各內(nèi)部輔助繼電器在程序中的用途,避免重復(fù)使用。參閱有關(guān)操作手冊(cè)。
( 3 )分配定時(shí)器 / 計(jì)數(shù)器
PLC 的定時(shí)器 / 計(jì)數(shù)器數(shù)量分別見(jiàn)有關(guān)操作手冊(cè)。
7.3 PLC 軟件系統(tǒng)設(shè)計(jì)方法及步驟
7.3.1 PLC 軟件系統(tǒng)設(shè)計(jì)的方法
在了解了 PLC 程序結(jié)構(gòu)之后,就要具體地編制程序了。編制 PLC 控制程序的方法很多,這里主要介紹幾種典型的編程方法。
2系統(tǒng)設(shè)計(jì)
在本文所研究變頻調(diào)速液壓系統(tǒng)中,采用計(jì)算機(jī)上的RS-232串口來(lái)和變頻器通信,由于計(jì)算機(jī)上的RS-232接口和變頻器上的RS-485接口在電氣特性上存在著差異。兩種總線間不能直接進(jìn)行通信,因此采用HY-811轉(zhuǎn)接模塊將兩種不同總線的信號(hào)進(jìn)行轉(zhuǎn)換。
在本文中采用計(jì)算機(jī)為上位機(jī),通過(guò)總線控制現(xiàn)場(chǎng)的變頻器,傳感器和執(zhí)行部件。計(jì)算機(jī)采集來(lái)自流量傳感器的數(shù)據(jù),通過(guò)比較實(shí)際的流量值和期望值之間的誤差,不斷調(diào)整電動(dòng)機(jī)轉(zhuǎn)速,使系統(tǒng)流量的誤差符合要求。
3上位機(jī)與變頻器的通信程序?qū)崿F(xiàn)
應(yīng)用VB60中內(nèi)嵌的MSComm控件來(lái)對(duì)計(jì)算機(jī)的串口編寫(xiě)控制程序,建立上位機(jī)和變頻器之間的。MSComm控件是微軟公司的串口通信ActiveX控件,該控件提供了對(duì)串口的各種操作,支持多線程。
MSComm控件通過(guò)串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。該通信控件可以采用事件驅(qū)動(dòng)和查詢方式來(lái)開(kāi)發(fā)串口通信程序。
應(yīng)用MSComm控件通信前,首先對(duì)其相關(guān)屬性進(jìn)行設(shè)置:ComrnPort=1使用計(jì)算機(jī)上的第1串行口來(lái)和變頻器通信;Settings:9600,n,8,1設(shè)置傳輸波特率為960Obit/s,8位數(shù)據(jù)位,無(wú)偶校驗(yàn),1位停止位;InpuMtode=1按二進(jìn)制方式收發(fā)數(shù)據(jù);Inputlen=0每次讀出輸入緩沖區(qū)中全部的數(shù)據(jù);主機(jī)向變頻器發(fā)送命令的子程序如下:PublicSubAdj(InverterAsInteger,FunAsString,PAs String