盧 磊,桂兵昌,覃光許,何耀華,王志威,李魏魏
(1.武漢理工大學汽車工程學院,湖北 武漢 430070;2.上汽通用五菱汽車股份有限公司技術中心,廣西 柳州 545007)
駐車制動自動調整系統用于汽車總裝生產線上駐車制動系統的調整,其作用是取代人工調整,自動完成調整、檢測等工序[1-2]。傳統的車輛駐車制動器調整為人工調整,很難滿足企業對于調整結果一致性的需求。因此,研發符合汽車總裝生產要求的駐車制動自動裝調系統,實現汽車駐車制動系統裝調生產的自動化是一種必然趨勢和客觀需要,是解決人為因素對汽車駐車制動裝調質量影響的重要途徑[3-5]。
自動裝調不受操作者主觀因素影響,裝調精度更高。為了實現自動裝調功能,需針對系統硬件組成進行需求分析,尋求合適的控制方法,完成系統軟件開發,實現自動裝調系統各模塊的功能,保證系統穩定可靠運行。
駐車制動自動裝調系統硬件部分由控制設備,駐車制動手柄操縱機構,調整螺母擰緊機構,數據采集和處理裝置以及輔助機構組成[6-7]。PLC與搭載LabVIEW的工控機為系統的控制設備,工控機作為上位機,實時監控PLC的運行狀態,PLC主要負責伺服電機的運動控制;駐車制動手柄操縱機構與調整螺母擰緊機構協同工作來完成裝調流程;數據采集和處理裝置由扭矩傳感器、變送器組成,共同完成裝調過程中的信號采集和處理工作;輔助機構負責輔助其他裝置完成相應功能。
駐車制動自動裝調系統運行時,需要操作者手動錄入車輛VIN碼,安裝好設備并按下“啟動”開關,待裝調過程完成后拆卸裝備即可,裝調流程均由軟件部分控制相應機構完成。以下從系統功能的角度進行需求描述:
(1)安裝設備前,需要將車輛VIN碼錄入系統,裝調完成后包含在裝調結果中。
(2)設備安裝到位,檢測到“啟動”開關被觸發后,系統能自動開始裝調流程。
(3)裝調過程中,系統能根據傳感器反饋的力矩信號控制相關硬件設備協調工作,指示燈需實時顯示裝調狀態。
(4)裝調完成后,需將裝調結果按照指定格式存儲至本地數據庫,同時上傳到生產網絡。
(5)系統需具備裝調參數設置以及裝調結果查詢功能。
結合裝調流程與系統的功能需求,得出系統的數據流圖如圖1所示。

圖1 系統數據流圖
系統的軟件設計需要對系統的軟件結構按照功能進行模塊劃分,完成各個功能模塊的軟件設計,再將各個模塊進行集成,完成整體軟件設計。按照功能可將駐車制動自動裝調系統的軟件結構劃分為通信模塊、主控制模塊、流程控制模塊、數據管理模塊和參數設置模塊。
要實現上位機與下位機的信息交互,需要通信程序結合相應的硬件設備共同完成。系統采用三菱FX-2NPLC,接口為RS485,PC端為RS232接口,可通過添加RS232-RS485轉換器來實現串口通信。
在LabVIEW編程中,系統利用虛擬儀器軟件規范VISA(virtual instrument software architecture) 實現串行通信[8]。其串口通信的主要步驟包括:初始化端口,讀寫端口和關閉端口。
首先使用“VISA配置串口”函數,配置串口通信的端口號、波特率、停止位、校驗、數據位等參數。然后利用“VISA寫入”函數和“VISA讀取”函數進行數據的寫入和讀取[9-10]。
為了檢測數據發送的狀態,進行“VISA寫入”后,利用屬性節點檢測串口中的數據位數,通過“VISA讀取”函數讀取緩沖區的數據。可根據數據的最高位是否為空字符串判斷數據是否已成功發送,數據發送成功后關閉串口釋放緩沖區。
PC端與PLC之間串口通信協議的格式如表1所示,一段完整的命令幀由控制字符STX(02H)、命令碼(CMD)、數據段、控制字符ETX(03H)以及和校驗碼五部分組成。其中控制字符STX(02H)與ETX(03H)分別表示正文的開始和結束。命令碼用來區分讀取和寫入操作,規定讀取時為E00,寫入時為E10。數據段只在執行寫入命令時添加,執行讀取命令時不添加。位數用來區分數據類型,規定16位數據對應的代碼為02,32位數據對應的代碼為04。首地址的計算方法由地址數據類型來決定,X,Y,M,D的地址偏移量均不相同,發送給PLC的首地址由用戶輸入的地址與地址偏移量經過幾何運算得到。校驗和由命令碼(CMD)、數據段、控制字符ETX等3部分的ASCII相加的結果最低兩位得到。
指令在LabVIEW中按照表1中的格式編寫好,然后通過串口發送給PLC,PLC接收指令后,按照指定格式返回數據。

表1 PLC命令幀格式
系統主控制模塊采用LabVIEW與PLC聯合控制的方式,利用搭載LabVIEW的PC作為上位機,PLC作為下位機。系統的主控制模塊需要實現的功能有:保證設備準備就緒后裝調流程才能開始,不會因為工人誤碰開關而出現設備尚未準備就緒而設備開始運轉的情況;保證設備可靠運行,在系統異常的情況下能正常急停與復位。
設備準備就緒的標志為設備上安裝的接近開關被觸發,且車輛的VIN碼已成功錄入系統。設備上的物理開關連接到PLC的輸入端口,接近開關被觸發后,PLC中相對應的軟元件X10狀態發生改變;掃碼槍掃描的車輛VIN碼信息通過串口進入工控機后,進行格式驗證,驗證合格的VIN碼通過通知器發送出去,將與之對應的VIN碼通知器接收端接收到信息作為VIN碼成功錄入系統的標志。VIN碼成功錄入后,PC端向PLC發送指令(將M2置1)。PLC中X10與M2都被觸發時,準備指示燈被點亮,系統可以繼續運行后續程序。
系統的可靠運行還需要合理的急停復位機制,系統的急停復位控制過程如圖2所示,急停及復位程序的優先級高于系統其他控制程序,一旦系統檢測到急停狀態變化,強行中止運行其他控制程序,系統運行急停復位控制循環。
急停復位的程序分為兩部分,分別位于PC端與PLC中,二者通過串口通信程序實現信息交互。PLC直接控制電機的運轉與指示燈的狀態,系統發生急停時,PLC能及時關閉電機使能,復位指示燈及相關軟元件的狀態。同時,PC端也需要啟動急停機制,關閉LabVIEW中的其他程序,運行急停復位程序。

圖2 系統急停與復位控制流圖
在LabVIEW中,急停功能的實現是通過將急停做成布爾元件,再將其加入到各個模塊的while循環中,作為循環的結束條件。急停狀態開啟時,各個模塊的循環便被無條件終止,從而達到急停優先級最高的目的。在PLC中,需要添加急停開關的軟元件X11以及表示急停狀態的輔助繼電器M30。將X11的常開和常閉開關添加到各個子程序的運行條件中,急停狀態開啟時,各個模塊就會直接被終止運行,M30為急停狀態標志,用于控制急停與復位子程序的運行。
系統設備準備就緒后,按下“啟動”開關,裝調流程開始。系統的裝調流程是根據裝調工藝要求設定的,PLC控制兩個伺服電機協調工作,根據扭矩傳感器反饋的信號來實現精確控制,裝調流程的步驟如表2所示。
進行裝調流程時,主電機(制動手柄操縱機構中的電機)需要來回正反轉,完成制動手柄的上抬和下放操作;副電機(調整螺母操縱機構中的電機)正轉兩次分別完成調整螺母的預擰緊與終擰緊操作,根據扭矩傳感器反饋的信號判斷是否已完成擰緊操作。
電機的運轉可以通過PLC向伺服驅動器發送帶方向的脈沖信號來實現,對應的指令是PLSYd1d2Y1(其中d1為脈沖頻率,d2為脈沖數,Y1為脈沖輸出端口)。由于主電機需要來回正反轉,為使程序簡化,可將脈沖發送指令置于PLC的主程序中,由開關量M100和M101來控制。M100和M101分別負責開啟和關閉脈沖發送指令,同時清空指令脈沖計數器內的數據。流程控制部分的子程序運行到需要電機運轉時,只需開啟電機的使能,再將M100置1即可,電機運行到指定位置后,將M101置1,進行下一步操作。

表2 裝調流程步驟
裝調流程的控制采用倒序編程的思路,裝調流程在流程控制的梯形圖中運行的順序為從下向上,與程序的掃描方向相反。表2中第5、第6步操作對應的梯形圖如圖3所示,M19與M20分別控制電機的正轉與反轉。主程序調用流程控制模塊的程序后,M19與M101已被置1,將設定脈沖數D280的值賦給D104,選定旋轉方向為正向,再回到主程序,通過PLSY指令發送脈沖,通過D8142高速計數器記錄已發射的指令脈沖數量,當已發送的脈沖數達到設定值時,M101被置1,且M20已被置1,開始執行電機反轉部分的程序。

圖3 電機運轉控制
裝調過程中,力矩傳感器不斷采集數據,傳感器的信號經過中間裝置處理后,由PLC的A/D轉換模塊完成轉換,再經過濾波操作后,被存儲在D28中,D28中的數據即為實時力矩。裝調過程進行到表2中第8步完成時,傳感器會將瞬時力矩值記錄在D30中,D30中的數據即為檢測力矩。
LabVIEW通過通信模塊讀取實時力矩與檢測力矩的值,經過數據類型的轉換,將實時力矩顯示在前面板上。檢測力矩作為裝調結果的一項指標,需要與車輛VIN碼、測試時間等信息一起被存儲下來。數據存儲的路徑有2條,一是存儲至本地數據庫,二是上傳至生產網絡。
利用PC上的MySQL存儲裝調結果,先將裝調結果的各種信息放到簇中,通過通知器發送出去。數據管理部分的子VI接收到裝調結果后,對簇進行解綁,再按照MySQL規定的特定格式編寫語句,用“連接字符串”函數將裝調結果信息與格式語句連接成字符串命令。在與MySQL建立連接后,將命令語句發送出去,裝調結果就會以表格的形式被存儲在本地數據庫中。
裝調結果查詢模塊中,查詢方式有兩種,按照裝調結果查詢與按照VIN碼上下限查詢,兩種查詢方式均需輸入裝調時間的上下限以縮小數據篩選范圍。模塊將操作者輸入的查詢信息,按照MySQL對應的數據查詢語句格式編寫命令語句,將其發送到MySQL中,便能得到想要查詢的裝調結果,裝調結果的相關信息以表格的形式顯示在前面板上。
裝調結果上傳生產網絡是依托于TCP網絡連接完成的,通知器接收到裝調結果后,利用“平化至XML”函數將裝調結果的數據類型轉換為XML格式,方便進行數據交換。確定遠程端口的名稱及地址后,打開TCP網絡連接,將轉換后的數據寫入TCP網絡連接。為方便后期查驗傳輸情況,將數據寫入TCP網絡連接后,從TCP網絡連接中讀取字節,將發送與讀取的數據,地址及端口名稱等信息生成日志文件,存儲于PC的磁盤中。
進行參數設置時,基于LabVIEW與PLC之間的通信協議,LabVIEW程序可以直接對PLC中各個軟元件的狀態進行讀取,快速實現相應參數值的修改。程序分為3部分,即參數名稱的選定、參數的寫入和參數的讀取。
圖4為參數設置程序的寫入模塊。讀取模塊與之類似,區別在于讀寫標志位不同。程序采用在while循環里面嵌套一個事件結構的方式來實現,事件結構的3個分支分別為“參數名稱”值改變,“寫入”值改變及“讀取”值改變。在“參數名稱”值改變的分支下將選定參數對應的軟元件編號賦給“PLC地址”這一中間變量;在“寫入”和“讀取”值改變的分支下分別通過LabVIEW與PLC之間的通信協議對所選定的參數進行寫入和讀取操作。

圖4 參數設置程序的寫入模塊
出于生產安全的考慮,在參數設置之前需要添加密碼驗證模塊,只能由特定人員進行參數的設置。密碼驗證模塊如圖5所示。設計思路為:將需要設置的密碼寫入一個文本文件中,將文本文件隱藏起來,讀取文本文件中的內容,并與輸入的密碼進行比對,密碼正確的情況下才能對參數設置的子VI進行調用,否則提示密碼錯誤。

圖5 密碼驗證模塊
系統錄入車輛VIN碼信息是通過掃碼槍掃描條形碼實現的,而掃碼槍故障或是條形碼無法識別則會引起車輛VIN碼錄入失敗,從而造成裝調過程無法正常進行。為了消除車輛VIN碼信息錄入不正常對裝調過程的影響,需添加車輛VIN碼手動錄入的模式。添加手動模式后,當掃碼槍無法正常錄入車輛VIN時,便可將VIN碼信息錄入模式切換至手動輸入模式,由操作者直接將車輛VIN碼信息手動輸入系統。VIN碼錄入控制過程如圖6所示。

圖6 VIN碼錄入控制過程
為測試駐車制動系統軟件的性能,將設計好的軟件與系統硬件部分結合起來,應用到實際的工作環境中,進行軟件的功能測試和性能測試。
實驗過程為:操作者首先利用掃碼槍掃描車輛VIN碼,將其錄入系統;然后將設備按照規范安裝到位,觸發接近開關;其次按下“啟動”開關,觀察指示燈狀態,待裝調過程完成后按照規范拆卸設備;最后在PC端進行參數修改及裝調結果查詢的操作。
車輛VIN碼正常錄入系統,按下“啟動”開關后,系統能正常完成裝調流程并通過指示燈實時顯示當前狀態;整個裝調流程耗時43.5 s,滿足企業生產節拍要求;裝調結果在合格范圍內,經生產線專用檢測工具檢測為合格;裝調結果能正常保存至本地數據庫及生產網絡,系統能正常完成裝調參數讀寫以及記錄查詢操作。系統主界面顯示如圖7所示。

圖7 系統主界面
以上實驗表明,該系統運行狀況良好,能滿足汽車制造企業對于駐車制動自動裝調系統的基本功能要求。
(1)結合駐車制動自動裝調系統硬件組成及生產線裝調工藝要求對軟件部分進行了需求分析,并按照功能將其模塊化。
(2)完成了軟件結構中各個功能模塊的設計與編碼,實現了各模塊的基本功能。對系統的軟件部分進行了維護,系統運行的可靠性得以提升。
(3)結合系統的硬件部分,完成了系統的實車實驗,實驗結果表明,軟件部分能滿足系統的基本功能要求,具有一定的工業應用價值。