3.3工控機(jī)與變頻器通訊協(xié)議
臺達(dá)vfd-b系列變頻器使用modbus networks通訊協(xié)議。而modbus可使用ascⅱ或rtu兩種資料編碼。ascⅱ編碼是將所要傳送的資料先轉(zhuǎn)換成相對的ascⅱ碼后再傳送,而rtu則是把資料直接傳送,不再經(jīng)過轉(zhuǎn)換。下面以ascⅱ模式為例,說明工控機(jī)和變頻器的主要通信協(xié)議如下。
通訊功能碼有:
03h:讀出寄存器內(nèi)容
06h:寫入一筆資料至寄存器
08h:回路偵測
10h:寫入多筆資料至寄存器
由于臺達(dá)變頻器運行頻率的單位是0.01hz,當(dāng)需要的運行頻率是20hz時,應(yīng)寫入數(shù)值2000,轉(zhuǎn)換為十六進(jìn)制是7d0h。頻率命令寫到內(nèi)部設(shè)定參數(shù)2001h寄存器。
例如:對通訊地址01h,寫入2000(7d0h)至變頻器內(nèi)部設(shè)定參數(shù)2001h寄存器,格式見表3。
在測試現(xiàn)場需要時刻觀察變頻器的輸出電流,判斷試驗機(jī)有無異常狀況。監(jiān)視變頻器內(nèi)部參數(shù)2104h寄存器可觀察變頻器的輸出電流。
例如:對通訊地址01h,讀出2104h寄存器的資料內(nèi)容,格式見表4。
ascⅱ模式的檢查碼由通訊地址開始到數(shù)據(jù)內(nèi)容結(jié)束加起來的值,然后取2的補(bǔ)碼。
以表3詢問訊息為例檢查碼為:
01h+06h+20h+01h+07h+d0h=ffh,然后取2的補(bǔ)碼=01h。
4 通訊系統(tǒng)軟件設(shè)計
labview語言是美國ni公司為適應(yīng)計算機(jī)和軟件技術(shù)的發(fā)展、加快儀器的開發(fā)和完善其功能而推出的。它使用圖形化編程語言編程,執(zhí)行程序的順序是由數(shù)據(jù)流決定的,而不是傳統(tǒng)文本語言的按命令行順序連續(xù)執(zhí)行。labview語言具有界面友好、易學(xué)易懂、開發(fā)周期短等優(yōu)點,廣泛應(yīng)用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析和數(shù)據(jù)顯示等領(lǐng)域。
在labview中進(jìn)行串口通訊主要利用visa函數(shù)。包括visa configure serial port、visa write、visa read、visa close等vi。利用串口發(fā)送數(shù)據(jù),讀取數(shù)據(jù)的程序如下:
第一步:初始化端口,設(shè)定端口號、波特率、數(shù)據(jù)位、停止位、奇偶校驗等。
第二步:利用visa write.vi發(fā)送數(shù)據(jù)。
第三步:如需從串口讀取數(shù)據(jù),可利用visa read.vi讀取數(shù)據(jù)。
第四步:如串口不再使用,可利用visa close.vi關(guān)閉串口。
在labview 2009基本串行寫入和讀取程序框圖如圖5。
圖5labview 2009基本串行寫入和讀取程序框圖
5 結(jié)束語
本文的創(chuàng)新點在于利用labview實現(xiàn)工控機(jī)與變頻器通訊,通過工控機(jī)的串行端口來控制變頻器,可以方便、直觀地控制變頻器的運行,監(jiān)視變頻器的運行狀態(tài),設(shè)置變頻器的參數(shù),實現(xiàn)變頻器的聯(lián)網(wǎng)及遠(yuǎn)程控制。
轉(zhuǎn)載請注明出處。