關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于LabVIEW的PC機與變頻器的串口通信

        基于LabVIEW的PC機與變頻器的串口通信

        作者: 時間:2009-05-05 來源:網絡 收藏

        最后,利用VISA Close.VI關閉不再使用時需要關閉,使其處于空閑狀態,便于下一次打開。整個串口完畢后用Exit .VI退出此程序。程序的主要代碼框圖如圖2所示。

        程序的一個很大的優點在于,將速度控制與的啟停控制整合到一起,使得程序操作簡單,更加優化合理。程序中采用了調用子VI的方法,大大簡化了流程圖的復雜程度,提高可讀性,方便查看代碼和調試程序。

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

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

        串口操作前面板如圖4所示,直接在面板上設置參數,簡潔明了,易于操作。在試驗過程中可以隨意連續的更改轉數,實現無級調速。

        4 結果驗證

        這里主要是檢查電機的運行狀態是否與設定狀態吻合,變頻器根據機發送的指令控制電機,然后又將電機的當前工作狀態讀取上來。讀取變頻器的狀態指令,可利用VISA Read.VI模塊,程序具體實現方法與上述寫入指令相同。

        針對不同情況進行錯誤處理:首先在前面板中發送指令給變頻器,然后去讀取此時變頻器運行指令,將讀取上來的數據進行指令校驗和的驗證,做條件判斷:

        (1)如果校驗正確就說明數據指令執行成功;

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

        (3)讀取的值與設定轉數值不同,那么指令發送錯誤,將重新發送指令。可以在前面板顯示出變頻器的電壓狀態表,方便直觀地查看電機工作狀態。

        5 結 語

        通過環一塊摩擦磨損試驗機的試驗運用證明,所開發的變頻器控制軟件設計合理,使用方便,響應速度快,盡管電機存在慣性作用,也能在較短的時間內達到要求的速度,能夠保證當摩擦學試驗參數變化時,電機仍保持很好的剛性,很好地解決了試驗過程中電機速度控制問題。

        本文的創新點在于根據摩擦學試驗機的具體試驗要求,利用技術實現計算機與變頻器的,利用串行端口來控制變頻器的運行,操作簡單,響應速度快,能夠連續、動態地改變電機轉速,為環一塊摩擦磨損試驗機的試驗系統提供了強大的技術支持。該設計方法已應用在筆者實驗室的實際工作中,獲得很好的試驗效果。同時,該通信方式簡單、穩定、可靠,具有很好的實時性和可移植性,可供其他串口通信系統參考。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泰州市| 玉山县| 犍为县| 云浮市| 义马市| 新津县| 林西县| 鄂托克旗| 永平县| 城步| 湟源县| 合作市| 勐海县| 广昌县| 华亭县| 汶上县| 黄陵县| 诸城市| 江孜县| 义乌市| 天峨县| 专栏| 阿城市| 雅江县| 堆龙德庆县| 宜阳县| 慈利县| 潼关县| 美姑县| 西安市| 梁平县| 温宿县| 三原县| 昌宁县| 大冶市| 双鸭山市| 同江市| 白银市| 石景山区| 天气| 云南省|