在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 采用LabVIEW的PC機(jī)與變頻器的串口通信

            采用LabVIEW的PC機(jī)與變頻器的串口通信

            作者: 時(shí)間:2011-05-31 來源:網(wǎng)絡(luò) 收藏

            本文針對摩擦學(xué)試驗(yàn)研究的特點(diǎn),廣泛使用的編程語言,開發(fā)用于東元7200MA運(yùn)行頻率的控制通訊程序。

            本文引用地址:http://www.biyoush.com/article/156233.htm

            由于摩擦學(xué)試驗(yàn)機(jī)和摩擦學(xué)測試的特殊性,摩擦學(xué)試驗(yàn)中的調(diào)速有著不同于一般工業(yè)變頻控制的特點(diǎn)。一方面,要求調(diào)速能夠在較大范圍內(nèi)滿足摩擦學(xué)測試的要求,使得試驗(yàn)結(jié)果具有可比性;另一方面,摩擦磨損試驗(yàn)過程中,對控制有一些特殊的要求,例如需要特殊的速度、運(yùn)動的非周期性以及設(shè)備的快速啟動和停止等。在一些疲勞試驗(yàn)中,甚至要求電機(jī)進(jìn)行寸動或者往復(fù)運(yùn)動以檢測材料的性能,有的試驗(yàn)現(xiàn)場對人體的損害比較大,需要遠(yuǎn)距離進(jìn)行控制和檢測電機(jī)的運(yùn)轉(zhuǎn)情況。所以,必須利用計(jì)算機(jī)程序控制變頻器實(shí)現(xiàn)一些特殊控制功能。這就要求計(jì)算機(jī)與變頻器之間存在有效的通訊功能。

            2 通訊系統(tǒng)總體設(shè)計(jì)

            串行是一種常用的數(shù)據(jù)傳輸方法,占用的線路少、成本低,在工程方式上占有重要地位。本文以內(nèi)置RS 485通訊接口的東元7200MA變頻器為研究對象,設(shè)計(jì)基于的控制變頻器的通訊系統(tǒng)。圖1所示為系統(tǒng)總體結(jié)構(gòu)框圖。

            計(jì)算機(jī)通過RS 485通信口與變頻器相連,對變頻器進(jìn)行控制。RS 485串行總線平衡發(fā)送和差分接收的方式傳輸信號,具有傳輸距離遠(yuǎn)(約1 219 m)、抗干擾能力強(qiáng)等特點(diǎn)。而且總線收發(fā)器具有高靈敏度,能檢測低至200 mV的電壓,故傳輸信號能在千米以外得到恢復(fù)。由于目前機(jī)普遍只配有RS 232,所以在計(jì)算機(jī)上連接一個(gè)RS 232/485轉(zhuǎn)換器,然后再與變頻器的串口相連。將各種動作按照通訊協(xié)議編寫成命令,發(fā)送給變頻器,就達(dá)到了通過機(jī)來控制變頻器的目的。同樣,機(jī)讀取數(shù)據(jù)也必須由變頻器根據(jù)RS 485通訊協(xié)議進(jìn)行識別和響應(yīng)才能完成。

            3 軟件實(shí)現(xiàn)方案

            目前,串口通信程序的開發(fā)在Windows操作系統(tǒng)下一般用VB,VC,Delphi等編寫。當(dāng)VB,VC開發(fā)程序時(shí),操作者不得不面對非常繁瑣的API函數(shù)編程;而Delphi沒有自帶的串口通信控件,在它的幫助文檔里也沒有提及串口通信,給編程人員帶來許多不便。

            是美國NI公司開發(fā)的一種基于圖形化的編程語言,它內(nèi)置數(shù)據(jù)采集、儀器控制、過程監(jiān)控和自動測試功能,包括VISA,GPIB,RS 232,DAQ等模塊和基本分析庫;提供強(qiáng)大的數(shù)據(jù)分析、處理、顯示功能的同時(shí)還保證系統(tǒng)靈活性;LabVIEW具有開放的系統(tǒng)互連性及廣泛的硬件支撐,具有DDL和CIN接口,可以與多種設(shè)備直接連接;流程圖式的開發(fā)環(huán)境大大簡化了程序開發(fā)的復(fù)雜程度,縮短開發(fā)周期;界面良好、易于理解,方便調(diào)試和維護(hù),用它來實(shí)現(xiàn)PC機(jī)與變頻器的串口通信是最為簡捷的方法之一,已經(jīng)具有較廣大的用戶群。

            設(shè)置東元7200MA系列變頻器所涉及的主要參數(shù)有端口號、波特率、數(shù)據(jù)位等,具體說明如表1所示。

            本程序采用中文版LabVIEW 8.2進(jìn)行通訊編程,在編寫程序之前,安裝的NI VISA驅(qū)動必須和LabVIEW程序版本匹配,避免編程出錯(cuò)。從變頻器設(shè)置轉(zhuǎn)數(shù)到啟動再到停止有一個(gè)順序和時(shí)間過程,因此本程序主要采用順序結(jié)構(gòu)和層疊式結(jié)構(gòu)實(shí)現(xiàn)。具體步驟如下:

            (1)初始化串口,利用VISA Configure SerialPort.VI設(shè)置PC與變頻器通信的基本參數(shù):端口號、波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位、緩沖區(qū)大??;

            (2)利用VISA Write.VI寫端口,根據(jù)變頻器的通訊協(xié)議把設(shè)定轉(zhuǎn)數(shù)的動作參數(shù)變成命令符,然后把整個(gè)命令幀以ASCII碼字符串的形式發(fā)送到串口;

            (3)利用Wait(ms).VI延時(shí)等待,主機(jī)發(fā)送命令到變頻器,變頻器判斷命令正確后將數(shù)據(jù)返回給主機(jī)需要一定時(shí)間,故這一步需要設(shè)置延時(shí)等待。等待時(shí)間可根據(jù)變頻器的響應(yīng)時(shí)間確定,也可以通過LabVIEW的中的工具確定出程序運(yùn)行時(shí)間來設(shè)置等待時(shí)間;

            (4)再利用VISA Write.VI寫端口,把啟動的動作參數(shù)寫成命令幀并以字符串形式寫入VISA Write.VI的緩沖區(qū)。

            以上4步即可完成變頻器以一定的轉(zhuǎn)數(shù)轉(zhuǎn)動。寫命令到串口的過程在While循環(huán)里進(jìn)行,變頻器啟動后不需要停止,可以直接連續(xù)地設(shè)置變頻器的轉(zhuǎn)數(shù)來更改電機(jī)轉(zhuǎn)動速度,While循環(huán)內(nèi)采用延時(shí)等待處理,延時(shí)500 ms;

            同理,停止命令以一個(gè)層疊式順序結(jié)構(gòu)和上面(2),(3)兩步命令層疊進(jìn)行,同樣先需要設(shè)定變頻器轉(zhuǎn)數(shù)為零,然后延時(shí)等待,最后把停止命令以字符串形式發(fā)給串口,完成變頻器的停止動作;

            最后,利用VISA Close.VI關(guān)閉串口;串口不再使用時(shí)需要關(guān)閉,使其處于空閑狀態(tài),便于下一次打開串口。整個(gè)串口通信完畢后用Exit LabVIEW.VI退出此程序。程序的主要代碼框圖如圖2所示。

            程序的一個(gè)很大的優(yōu)點(diǎn)在于,將變頻器速度控制與變頻器的啟??刂普系揭黄穑沟贸绦虿僮骱唵?,更加優(yōu)化合理。程序中采用了調(diào)用子VI的方法,大大簡化了流程圖的復(fù)雜程度,提高可讀性,方便查看代碼和調(diào)試程序。

            由于變頻器接受的數(shù)據(jù)格式為ASCII碼字符串,所以在命令寫入串口之前必須先進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,這里子VI的作用就是將各種參數(shù)值轉(zhuǎn)換成ASCII碼字符串,然后寫入串口。以變頻器的啟動為例,根據(jù)東元變頻器的啟動數(shù)據(jù)格式,以十六進(jìn)制形式發(fā)送01100000 0001 0200 0167 90,利用反饋節(jié)點(diǎn)將此字符串拆分成字符串?dāng)?shù)組,再轉(zhuǎn)換為數(shù)值數(shù)組,然后利用字ByteArray To String.VI模塊,將字節(jié)數(shù)組轉(zhuǎn)換成ASCII碼字符串。變頻器接受ASCII碼后經(jīng)過算法還原,然后去執(zhí)行相應(yīng)的操作。就可以啟動變頻器,程序代碼框圖如圖3所示。

            程序中局部變量的使用也大大簡化了程序開發(fā)的復(fù)雜程度,和Visual C++等基于文本的編程語言不同,LabVIEW中的各個(gè)對象之間是靠連線來傳遞數(shù)據(jù)的,但是在需要兩個(gè)程序之間交換數(shù)據(jù)時(shí),靠連線的方式是不行的;即便是在同一個(gè)程序中的對象之間交換數(shù)據(jù),有時(shí)也會遇到麻煩。在這種情況下,就需要使用局部變量。

            串口通信操作前面板如圖4所示,直接在面板上設(shè)置參數(shù),簡潔明了,易于操作。在試驗(yàn)過程中可以隨意連續(xù)的更改轉(zhuǎn)數(shù),實(shí)現(xiàn)無級調(diào)速。

            4 結(jié)果驗(yàn)證

            這里主要是檢查電機(jī)的運(yùn)行狀態(tài)是否與設(shè)定狀態(tài)吻合,變頻器根據(jù)PC機(jī)發(fā)送的指令控制電機(jī),然后又將電機(jī)的當(dāng)前工作狀態(tài)讀取上來。讀取變頻器的狀態(tài)指令,可利用VISA Read.VI模塊,程序具體實(shí)現(xiàn)方法與上述寫入指令相同。

            針對不同情況進(jìn)行錯(cuò)誤處理:首先在前面板中發(fā)送指令給變頻器,然后去讀取此時(shí)變頻器運(yùn)行指令,將讀取上來的數(shù)據(jù)進(jìn)行指令校驗(yàn)和的驗(yàn)證,做條件判斷:

            (1)如果校驗(yàn)正確就說明數(shù)據(jù)指令執(zhí)行成功;

            (2)如果很長時(shí)間都沒有將變頻器上的轉(zhuǎn)數(shù)讀上來,或者變頻器根本就沒有動作,出現(xiàn)超時(shí)錯(cuò)誤,說明變頻器通訊故障。

            (3)讀取的值與設(shè)定轉(zhuǎn)數(shù)值不同,那么指令發(fā)送錯(cuò)誤,將重新發(fā)送指令??梢栽谇懊姘屣@示出變頻器的電壓狀態(tài)表,方便直觀地查看電機(jī)工作狀態(tài)。

            通過環(huán)一塊摩擦磨損試驗(yàn)機(jī)的試驗(yàn)運(yùn)用證明,所開發(fā)的變頻器控制軟件設(shè)計(jì)合理,使用方便,響應(yīng)速度快,盡管電機(jī)存在慣性作用,也能在較短的時(shí)間內(nèi)達(dá)到要求的速度,能夠保證當(dāng)摩擦學(xué)試驗(yàn)參數(shù)變化時(shí),電機(jī)仍保持很好的剛性,很好地解決了試驗(yàn)過程中電機(jī)速度控制問題。

            本文的創(chuàng)新點(diǎn)在于根據(jù)摩擦學(xué)試驗(yàn)機(jī)的具體試驗(yàn)要求,利用LabVIEW技術(shù)實(shí)現(xiàn)計(jì)算機(jī)與變頻器的通信,利用串行端口來控制變頻器的運(yùn)行,操作簡單,響應(yīng)速度快,能夠連續(xù)、動態(tài)地改變電機(jī)轉(zhuǎn)速,為環(huán)一塊摩擦磨損試驗(yàn)機(jī)的試驗(yàn)系統(tǒng)提供了強(qiáng)大的技術(shù)支持。該設(shè)計(jì)方法已應(yīng)用在筆者實(shí)驗(yàn)室的實(shí)際工作中,獲得很好的試驗(yàn)效果。同時(shí),該通信方式簡單、穩(wěn)定、可靠,具有很好的實(shí)時(shí)性和可移植性,可供其他串口通信系統(tǒng)參考。



            關(guān)鍵詞: 串口 通信 變頻器 PC LabVIEW 采用

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉