前言:我們精心挑選了數篇優質控制軟件設計論文文章,供您閱讀參考。期待這些文章能為您帶來啟發,助您在寫作的道路上更上一層樓。
本文設計的基于以太網的超聲檢測多軸運動控制系統是在復雜的多軸運動控制技術之上結合了遠程通信技術,以此來實現超聲檢測的遠程自動控制。此系統主要由上位機、多軸運動控制器、步進電機驅動器、步進電機、機械執行裝置、限位開關和超聲探頭等組成,其組成框圖如圖1所示。由上位機LabVIEW控制系統為多軸運動控制器發送運動指令,并由多軸運動控制器將運動信號拆分為步進信號和方向信號,再將這兩種電機控制信號發送給步進電機驅動器,步進電機驅動器將其轉化為角位移發送給步進電機,使步進電機轉動相應個步距角,以達到使步進電機按指令運動的目的。步進電機上安裝有機械執行裝置,用以固定超聲探頭,機械執行裝置上安有限位開關,以此控制電機的運動范圍,當電機運動到限位開關的位置時,限位開關發出限位信號到多軸運動控制器,運動控制器便停止發出使電機運動的脈沖信號。在進行自動超聲檢測時,Z軸方向機械執行機構上固定的超聲檢測探頭能夠在被檢測物體的表面按照上位機運動控制算法設計的運動軌跡進行連續檢測,并實時向PC機返回探頭的位置信息,并將數據采集卡采集的超聲信號與探頭返回的位置信息建立起對應關系,最終通過上位機的圖像處理系統形成超聲檢測圖像,以此來實現物體的超聲檢測。
2多軸運動控制器的方案設計
多軸運動控制器可以通過遠程以太網通信的方式接收上位機的控制信號,向步進電機驅動器發送脈沖信號和方向信號以完成對電機的運動控制。采用ARM9處理器S3C2440搭建硬件平臺,配有DM9000A以太網通信芯片使硬件平臺具備遠程通信的功能。在Linux操作平臺上進行控制系統軟件功能設計,并采用UDP通信協議實現上位機與運動控制器之間的遠程通信[3]。
2.1多軸運動控制器硬件電路設計
本文采用ARM9處理器S3C2440設計了系統中運動控制器的硬件電路部分,并采用DM9000A網絡接口控制器設計了運動控制器的以太網接口。運動控制器硬件整體框圖如圖2所示。運動控制器選用ARM9處理器作為運動控制器的核心芯片可以方便地嵌套Linux操作系統,在操作系統之上實現運動控制器的插補等多軸運動控制算法。選用DM9000A以太網控制芯片實現上位機LabVIEW與運動控制器之間的遠程通信,進而實現超聲檢測的遠程自動控制。為了解決步進電機驅動器與主控芯片信號匹配的問題,本文采用光耦器件設計了電壓轉換模塊,負責把主控芯片輸出的3.3V電壓信號轉換至5V電壓信號后輸入到步進電機驅動器中,同時負責把限位開關發出的24V限位信號轉換至3.3V輸入到主控芯片中。此外,電路中還搭載了用于存儲數據的擴展存儲器、以及用于調試的JTAG接口電路和RS232串口電路。
2.2多軸運動控制器軟件設計
本課題所用的限位開關為位置可調的限位開關,每個軸有2個限位開關,在每次超聲檢測前,把每個限位開關調節到被測工件的邊緣處,從而使探頭移動的范圍即為工件所在范圍。故此設計運動控制器的軟件時便可將限位開關做為邊界條件,以此來設計探頭的運動范圍。其運動控制流程:首先系統初始化,通過上微機控制界面人工控制探頭到被測工件的起點,然后X軸正向運動到X軸限位開關處,Y軸正向運動一個探頭直徑的長度,X軸再反向運動到X軸另一側的限位開關處,之后Y軸繼續正向運動一個探頭直徑的長度,如此往復運動直至探頭到達Y軸的限位開關處,檢測結束,探頭復位。運動控制軟件流程圖如圖3所示。
3多軸運動控制系統上位機軟件設計
基于以太網的自動超聲檢測多軸運動控制系統的上位機軟件是以LabVIEW開發平臺為基礎,使用圖形G語言進行編寫的,主要包括多軸運動控制軟件和以太網通信軟件。Lab-VIEW是一款上位機軟件,其主要應用于儀器控制、數據采集和數據分析等領域,具有良好的人機交互界面[4]。LabVIEW軟件中有專門的UDP通信函數提供給用戶使用,用戶無需過多考慮網絡的底層實現,就可以直接調用UDP模塊中已經的VI來完成通信軟件的編寫,因此編程者不必了解UDP的細節,而采用較少的代碼就可以完成通信任務,以便快速的編寫出具有遠程通信功能的上位機控制軟件[5]。上位機LabVIEW軟件的遠程通信模塊、運動控制模塊以及數據處理模塊相互協調配合,共同構成了超聲檢測多軸運動控制系統的上位機軟件。
3.1運動控制軟件設計
運動控制系統軟件部分主要由運動方式選擇、探頭位置坐標、運動控制等模塊組成,可完成對系統運動方式的選擇,運動參數、控制指令的設定以及探頭位置信息讀取等工作。運動方式選擇模塊可根據實際需要完成相對運動或是絕對運動兩種運動方式的選擇,并會依照選擇的既定運動模式將X、Y、Z三軸的相應運動位置坐標輸出在相應顯示欄中,以便進行進一步的參數核對以及設定;運動控制模塊可依照檢測規則實現對整個系統運動過程的控制,包括:設定相對原點、運行、復位、以及退出等相關操作。相對原點設定可以將探頭任意當前位置設為新的原點,并以原點作為下一個運動的起始點,即為探頭位置坐標的相對零點,并將此刻相對原點的絕對位置坐標值在文本框中顯示出來。運動控制系統軟件流程圖如圖4所示。
3.2以太網通信軟件設計
以太網通信模塊采用無連接的UDP通信協議,通過定義多軸運動控制器與上位機LabVIEW的以太網通信協議,實現下位機與上位機之間的遠程通信。具體設計如下:首先使用“UDPOpenConnection”打開UDP鏈接,使用“UDPWrite”節點向服務器端相應的端口發送命令信息,然后使用“UDPRead”節點讀取服務器端發送來的有效回波數據,用于后期處理,最后應用“UDPCloseConnection”節點關閉連接[6]。以太網通信模塊的程序框圖如圖5所示。
4實驗及結果
實驗平臺由步進電機及其驅動器、上位機控制軟件和自主研發的多軸運動控制器構成。在上位機的用戶控制界面中,首先輸入以太網的IP地址并選擇運動方式,然后根據用戶的檢測需求設定運動速度和運動距離,點擊運行后探頭即按所設定運行。探頭運動過程中還可以選擇設定當前位置為原點,探頭即按照新的原點重新開始運動。同時,在探頭運動時會實時顯示探頭當前所在位置坐標。模擬開關發送選通超聲探頭信號并發送脈沖信號激勵超聲探頭發射超聲波,FPGA控制A/D轉換電路對超聲回波信號進行轉換,并將數據存入雙口RAM,存儲完成后向ARM發送信號,ARM接收到采集完成信號將數據通過以太網向上位機發送。上位機的LabVIEW用戶控制界面如圖6所示。
5結束語
系統上電后,風門處于關閉狀態,系統周期檢測傳感器信號,人車運動過程中會觸發微波傳感器輸出信號,系統則根據傳感器信號執行開關風門和風門互鎖。人車接近風門時,兩側風門的微波傳感器檢測到有效運動速度信號,首先進行信號競爭,根據競爭結果開啟某一風門。2個風門入口信號4選1采取競爭方法進行選擇,即微波移動傳感器輸出信號A1、A4、B1、B4處于競爭狀態,一個檢測周期內,只有一個信號有效。2個風門各2個方向。
(2)控制策略
控制系統風門互鎖的控制要求并不復雜,關鍵是有效判斷風門區域人員車輛的狀態,并根據狀態進行開閉風門。人員在巷道內行進過程是隨意的,系統需要根據人員在微波傳感器檢測區域內的最終狀態,對人員行進完成狀態估計。如圖3所示,根據人員的位置和傳感器有效信號可以把人員行進的狀態和風門控制策略分成9種,如表1所示。風門控制策略是控制系統的核心,策略制定的優劣直接影響著風門控制的可靠性。表1中根據人員行進的最終位置分為不同的狀態估計,結合定時器對人員狀態進行狀態估計和制定控制策略。
(3)實現方法
有限狀態機(FSM)理論是本風門自動控制系統狀態轉換和控制策略的理論基礎。FSM包含有限的狀態,但在任一給定時刻必須而且只能處于其中的一個狀態,系統的狀態變化受事件的驅動,事件是系統的活動或外部輸入信號,它受當前狀態約束。因此,研究有限狀態機的關鍵就是在其狀態空間中找到狀態轉換的軌跡,這要求在每個狀態下全面分析驅動狀態轉換的事件(包括系統的活動和輸入信號)和轉換的目的地(即轉換后的狀態)。每個狀態都有其特定的輸出(系統的各項功能和性能指標),即系統狀態轉換伴隨著系統的性能指標隨時間的變化。風門自動控制系統的動態特性就是通過狀態轉換表現出來,巷道風門檢測區域內人員行進過程中的每個有效位置都相當于一個狀態,在任何時刻風門只能處于一個工況狀態,工況間的轉換受傳感器信號即事件的驅動。當傳感器信號滿足進入某一工況的條件時,風門立即進入該工況下運行,一旦外部事件不受該工況下條件的約束時,風門立即離開該工況尋找另一個工況。每個風門區域可以作為一個對象,該對象有微波傳感器和定時器屬性,屬性取值為開或關。2個操作開門和關門。根據人車通行過程和風門對象屬性值的不同組合,可以把工作流程劃分為5個狀態:初始態,狀態1,狀態2,狀態3,狀態4。用統一建模語言中的狀態機視圖表達,如圖4所示。圖門狀態轉移示意圖該視圖中對不同區域設置不同傳感器配合定時器對人車運動狀態進行分類。從初始狀態開始,當人車運動速度滿足最低傳感器1閾值接近區域入口時,風門開啟,進入狀態1,此時開啟定時器1;若在定時時間到后區域檢測不到信號則判斷為人車退出風門區域,返回初始狀態;若傳感器2信號有效則進入狀態2,同時開啟定時器2,此時判斷人車進入風門,人車的行走不會影響狀態的改變,直到傳感器3信號有效。狀態2和狀態3的人員已經進入風門,系統處于等待人車通過風門區域。傳感器4有效時進入狀態4,此時人車前端已經通過風門,系統等待其他部分通過風門區域。此時如果傳感器沒有信號則進行短暫延時后關閉風門。下一步就是根據狀態機視圖為PLC編寫梯形圖程序了。程序中使用了置位指令SET和復位指令RSET進行狀態的切換,有些型號的PLC沒有提供置位和復位指令,但都有實現置位和復位指令功能的變通方法,可以根據常開常閉寄存器切換,因此利用該狀態機視圖編程序具有很好的通用性。
(4)結語
車速傳感器可以發出一定占空比的方波信號,設計采用單片機的脈沖模塊來捕捉可以用來測量信號的周期。車速采集的程序流程如圖2所示。步進電機的轉動不但代表汽車的行駛速度,還代表節氣門的開度,每轉動一定角度就相當于節氣門的開度。因此,當輸入的實際車速A等于目標車速B時,步進電機將不轉動;當輸入的實際車速A大于目標車速B時,步進電機會反轉,減小節氣門開度,從而使實際車速降低至目標車速;當輸入的實際車速A小于目標車速B時,步進電機會正轉,加大節氣門開度,使實際車速升高至目標車速,汽車進入定速巡航控制。
2軟件可靠性措施
為了提高軟件系統的穩定性和可靠性,采取以下措施:(1)封鎖。實際系統中最強的干擾來自自身,如被控的負載電機的通斷、狀態的變化等,在設計軟件時應適當采取措施避開這些干擾。如:當系統要斷開或接通大功率負載時應暫停數據采集,等到干擾過去后再繼續進行;在適當的地方封鎖一些中斷源;幾個通道互相封鎖。這些都是避免或減少干擾的有效方法。(2)程序的失控保護措施。在控制系統中,一般情況下干擾都不會造成計算機系統硬件損壞,但會對軟件的運行環境造成不良影響。表現在:數據碼和指令碼的一些位受到干擾而出現跳變,使程序出現錯誤,最典型的是程序計數器發生跳變,可能把數據當作指令碼。這種程序盲目執行的結果,一方面造成RAM存儲器的數據破壞,另一方面可能會進入死循環,使整個系統失效。因此,應采取有效措施避免程序失控。
3Proteus仿真驗證
3.1定速巡航控制系統總體仿真電路設計
設計中定速巡航控制系統的主要參數是車速值及節氣門開度,因為進行實物測試有設備要求,設備比較復雜,而且測試結果不夠直觀,所以設計最終結果通過Proteus仿真來實現。仿真電路如圖3所示。Proteus軟件的元件庫中擁有AT89C52單片機、ULN2003驅動芯片、步進電機等元件,可滿足設計研究仿真需要。Proteus軟件中的車速采集信號可通過改變脈沖而改變車速,電動機的轉速可直觀地顯示出來,還可體現節氣門開度的大小。
3.2試驗結果與分析
在Proteus仿真平臺上分別對4種情況進行仿真,即實際車速A等于目標車速B、實際車速A大于目標車速B、實際車速A小于目標車速B及實際車速大于120km/h、小于40km/h,仿真結果分別如圖4~7所示。從圖4~7可看出:當輸入的實際車速A等于目標車速B時,步進電機不轉動;當實際車速A大于目標車速B時,步進電動機反轉,節氣門開度減小;當實際車速A小于目標車速B時,步進電動機正轉,節氣門開度加大;當實際車速A超過120km/h、低于40km/h(即脈沖頻率低于100Hz、高于999Hz)時,巡航控制系統會自動退出,步進電機不轉動。表明所設計的軟件能實現簡單的巡航控制系統指令,滿足預定要求。
4結語