涂文特
(貴州航天林泉電機有限公司,貴州貴陽550000)
?
基于LIN通信與Labview平臺的電機控制上位機系統設計
涂文特
(貴州航天林泉電機有限公司,貴州貴陽550000)
摘要:在Labviw平臺下,通過解析LIN通信LDF格式數據庫與文本配置文件,搭建電機控制上位機程序框架,設計了一款能夠實現電機系統正常控制、狀態顯示、耐久試驗、數據記錄、波形顯示與存儲等功能的上位機軟件。該控制系統具備性能穩定、低成本、高效率、高靈活性、可移植性優異等優點,可靈活應用于各種數據采集及處理項目中,解決了系統設計復雜和移植困難等問題,使用狀況驗證了該系統的合理性與實用性。
關鍵詞:LabviewLIN電機控制上位機
0引言
電機設計完成后,還需經過樣機試制,經過測試找出電機性能上的偏差,進而進行測試、調試、定型[1]。因此除了要對電機和控制器系統進行研制外,還需增加上位機控制系統,輔助完成對電機及控制器的日常和耐久測試,并按需保存試驗數據及波形。常見的控制系統上位機通常采用MFC、Labview、QT等平臺搭建設計[2,3]。其中MFC和QT平臺采用C++語言進行編程,而Labview平臺則采用圖形化編程的G語言方式進行設計,且提供了豐富的擴展函數庫,廣泛應用于軍事、航天、航空等領域。LIN 是一種基于UART/SCI(通用異步收發器/串行通信接口)的低成本串行通信協議。該通信方式具備一主多從網絡節點、低成本、配置簡單、可預測EMC等特點,廣泛應用于汽車上低速通信部分,且提供信號處理、配置、識別和診斷功能。通過LIN通信方式在Labview平臺上搭建數據采集(DAQ)系統,以實現電機運行參數采集和進行環境耐久試驗,控制系統具備開發簡單、可移植性強等優點。
1程序框架設計
電機控制上位機主要實現與電機控制器的通信功能,并能發送電機啟停、給定速度、數據記錄、波形顯示等功能。以某電機控制平臺為例,上位機系統應具備圖1中程序框架內的實體內容。在登錄界面中設置波特率、COM口、LDF數據庫路徑等參數。工作模式可在手動與自動模式之間進行切換。手動模式下可完成電機正常性能測試,當需實現某項耐久環境類型的試驗時,可切換到自動模式以達到無人值守等功能。此外,在上位機界面上應具備電機實時狀態反饋,方便試驗人員觀察電機運行參數及波形。

圖1 上位機程序框架
2主要難點及LIN節點設計
2.1主要難點
編寫類似電機數據采集類型的上位機時,通常存在以下難點:
(1)多線程編程的處理
上位機平臺需要實時更新電機運行狀態參數,并顯示電機參數波形和存儲數據。通常需要調用多項函數,較復雜的多線程處理以及函數的可重入性容易遺留過多的錯誤機制處理,過多的占用系統內存。
(2)可移植性差
編寫好一個上位機控制平臺后,由于通信協議字長、內容等的改變,需要花費較大的精力去修改數據處理、波形顯示、協議更新等函數。
(3)開發周期長
通常一個項目的控制器上位機開發需要一個月或者數月的時間才能完成數據庫的搭建、信號的存儲等功能。
2.2LIN節點設計
LIN規范提供了開放式的API函數,通常下位機系統硬件上只需支持UART接口即可實現LIN通信功能。硬件上可使用UART接口連接LIN收發器(常見的如TJA1021等)。軟件上依次調用LIN規范提供的API函數,調用l_sys_init()函數完成初始化功能,調用l_sfc_read_statu()函數完成狀態讀取,調用l_ifc_connect()函數完成接口連接,調用l_sch_set()函數完成進度表的調度。
3具體功能實現
3.1LDF文件讀取
LIN數據庫文件可簡稱LDF文件。如下所示,LDF文件主要定義LIN協議版本號、配置語言版本號、總線速率、節點、信號、幀、調度表等內容。
{
LIN_protocol_version = "2.1"; //協議版本
LIN_language_version = "2.1"; //配置語言版本
LIN_speed = 9.6 kbps; //總線速率
Nodes{ } //節點
Signals{ } //信號
Frames{ } //幀
Schedule_tables{ } //調度表
}

圖2 匹配模式處理
在Labview平臺下可通過建立配置文件,寫入LDF文件路徑,然后打開、讀取文本文件并建立匹配模式,運用正則表達式[4-5]提取需要的信息并打包成簇。如圖2所示,讀取LDF文本文件之后,通過調用匹配模式函數去除“/*”和“*/”之間的注釋內容,并輸入到后續接口。同理可按照此辦法提取信號、幀等關鍵信息作為后續控制的輸入參數。
3.2LIN通信建立

圖3 建立LIN通信
項目中采用了NI公司的USB8476S作為LIN通信與上位機平臺的通信設備,Labview中提供了支持該設備打開LIN通信信道的vi函數用于調用。如圖3所示通過ncOpen.vi、ncSetAttr.vi和ncAction.vi函數即可完成對LIN通信的開始和錯誤處理。通過調用Labview中LIN通信子程序vi并按照LIN協議的通信標準可分別完成總線參數設置、總線數據寫入、總線數據讀出、總線關閉等步驟。
3.3波形顯示及存儲
Labview平臺提供了波形圖表圖形控件,只需將獲取到的數據添加到原圖形中,即可實現獲取數據的實時波形顯示。正常情況下電機控制需要將速度設定、啟動控制、母線電壓、電流、運行狀態、保護狀態等逐一顯示出來。如圖4所示,通過設定波形圖表顯示參數,即可建立各參數坐標軸及名稱坐標軸,簡單直接。

圖4 波形前面板樣式
3.4電機控制及狀態前面板設計
在電機控制前面板上,需完成對電機啟動、給定速度以及電機控制器反饋的電機實際運行速度、電壓、電流、溫度等參數。通過在工具選板上拖拽布爾、字符型控件即可搭建圖5所示的控制前面板。

圖5 控制前面板
3.5功能調度
由于LIN通信[8]采用一主多從的方式,其通信具備自己的特點。圖6所示,主機任務主要有:調度總線上幀的傳輸次序、監測數據、作為標準時鐘參考、處理錯誤、接收從機節點發出的總線喚醒命令。從機任務不能夠主動發送數據,需要接收主機發送的幀頭(即幀的起始部分),根據幀頭所包含的信息判斷是否發送應答(即幀中除幀頭外剩下的部分),接收應答;既不接收也不發送應答。以某項目為例,若主節點ID為0x01,從節點ID為0x02,則主節點在完成主任務時通過發送幀頭為0x01后,在總線上添加主任務數據幀。同理當主節點往總線上發送了從節點任務后,從節點應及時響應并發送從節點數據幀。
因此電機控制上位機系統應具備發送通信主幀、發送從機通信頭幀、獲取從機數據、顯示從機數據、顯示從機波形圖、存取相關參數、獲取控制狀態、改變控制狀態等功能。由于Labview滿足多線程工作,系統通過建立兩個while循環分別實現通信和數據處理功能,并在通信和數據處理功能內細分處理數據接收和發送、數據處理和波形顯示功能。

圖6 LIN總線拓撲圖
3.6自動模式簡介

圖7 模式詳情
當切換到自動模式下,可通過條件結構更改條件參數,選擇相應條件下的數據配置數組,并整合成簇文件,輸入到后續通信內容中。模式詳情數組如圖7所示。建立好模式詳情數組后,上位機按照所給定的時間、轉速、啟停指令,依次發送給電機控制下位機。下位機根據實時通信指令控制電機的運行。
4試驗驗證
由于LIN總線支持一主多從網絡通信,因此可在總線上連接少于16個的從節點[6-7]。如圖8,搭建通信測試系統,上位機控制系統選擇PC平臺即可,通過USB口連接到LIN總線上,并使用第三方檢測設備測試總線數據。其中第三方檢測軟硬件采用Vector公司的CANoe診斷工具。通過第三方軟硬件可方便的測試出總線上的數據,并診斷錯誤幀及通信時序。下位機控制器應具備LIN通信功能,并及時上傳電機運行相關數據。波特率可設置在20 kbps以下,通信周期選擇10 ms每幀。

圖8 通信測試

圖9 CANoe配置
CANoe配置如圖9所示,通過加載LDF數據庫文件,鼠標右鍵選擇主節點Master和從節點Slave處于非激活狀態。

圖10 實測波形圖
以某電機控制器為例,測試結果波形圖如圖10,可以清楚的在波形圖上看到指令變化和實時數據波形,例如母線電壓(Voltage)波動,速度(Speed)波動等。在CANoe軟件上通過在trace窗口也能夠實時的觀察總線數據。整套系統工作穩定可靠,可以正確的實現電機控制上位機指令的發送及總線數據的保持與處理。且整套系統圖形化編程過程明朗,配置簡單。通過修改配置文件即可實現其他LIN協議或者通信方式的上位機制作,有較好的工程實踐性。
5結論
通過Labview平臺設計電機控制上位機系統具備開發周期短、性能穩定等優點,且能夠很好的移植到各種嵌入式平臺。LIN通信作為一種單總線通信方式,具備一主多從、高EMC可靠性、診斷方便、規范開放的優點,能夠很好的應用于電機控制及各種儀表器盤控制領域。在Labview平臺下,通過讀取LIN配置文件,解析并處理通信數據具備經濟實用等優點。采用軟件編寫的上位機可替代專有的控制測試設備,并且可擴充接入多項傳感器數據的采集。本系統已長期應用于某電機控制器產品的控制,系統穩定。
參考文獻
[1]孫譯文. 基于LABVIEW軟件的數據采集與分析系統設計[J].電工電氣,2010(1)16-18,21.
[2]吳勇,熊振華,等.基于RTX和MFC的后封裝平臺數據采集和控制系統[J].系統工程與電子技術,2004,26(9):1257-1261.
[3]譚大鵬,李培玉,等.基于Qt/E的嵌入式工業監測輕型圖形用戶界面構件庫開發[J].計算機集成制造技術,2009,15(2):399-405.
[4]楊忠仁,饒程,鄒建,等. 基于LABVIEW數據采集系統[J].重慶大學學報,2004,27(2):32-35.
[5]劉君華, 等. 虛擬儀器圖形化編程語言[M].西安:西安電子科技大學出版社,2010.
[6]張新豐,楊殿閣,陸良,等. LIN總線的動態調度算法設計與應用[J].農業機械學報,2009,40(3):21-25.
中圖分類號:TM306
文獻標識碼:A
文章編號:1002-6886(2016)03-0087-04
作者簡介:涂文特(1986-),男,工學碩士學歷,研究方向:電機驅動及伺服控制。
收稿日期:2015-10-27
Design of a host computer system for motor control based on LIN communication and Labview
TU Wente
Abstract:Through analysis of LDF and the text configuration file of LIN communication, we built a host computer program framework on Labview platform, and designed a host computer software with the functions of motor system control, status display, endurance test, data record and storage, waveform display, etc. The system has stable performance, low cost, high efficiency, high flexibility and good portability, thus can be used in various data collection and processing projects, and can solve the problems of complexity in design and difficulty in porting. The practice has confirmed the rationality and practicality of the system.
Keywords:Labview; LIN; motor control; host computer