基于ARM的剪切生產(chǎn)線數(shù)控系統(tǒng)
0 引言
本文引用地址:http://m.butianyuan.cn/article/201611/316886.htm隨著我國制造業(yè)的飛速發(fā)展,對機(jī)加配件的加工精度和生產(chǎn)效率的要求越來越高,對企業(yè)生產(chǎn)過程的自動化程度也提出了很高的要求。棒料是各種模鍛件、輥鍛件、輾壓件生產(chǎn)用的主要原料,而棒料剪斷機(jī)就是為這些鍛壓工藝準(zhǔn)備坯料的剪切下料設(shè)備。早期的剪切系統(tǒng)電氣控制普遍采用交流接觸器和繼電器進(jìn)行控制,經(jīng)過長年使用,部件老化,設(shè)備故障頻發(fā)。在維護(hù)中由于分立元件眾多,集成度差,許多故障不能及時處理,給企業(yè)生產(chǎn)帶來諸多不便。
由于PLC伺服控制系統(tǒng)具有定位精度高、響應(yīng)速度快、抗干擾能力強(qiáng)、運(yùn)行平穩(wěn)等特性,采用可編程序控制器(PLC)控制系統(tǒng)的高精度自動剪切生產(chǎn)線的應(yīng)用越來越廣泛。但PLC還是軟PLC技術(shù),都有實(shí)時性不強(qiáng)的缺點(diǎn),很難實(shí)現(xiàn)復(fù)雜、快速的時序控制,而且對網(wǎng)絡(luò)的支持能力較差,因此,在需要對傳感器信號進(jìn)行高速A/D轉(zhuǎn)換、實(shí)時采樣以及實(shí)現(xiàn)企業(yè)生產(chǎn)過程智能化、信息化、網(wǎng)絡(luò)化管理時,PLC就不適用了。而基于ARM嵌入式系統(tǒng)的出現(xiàn),為工業(yè)控制提供了更好的開發(fā)與應(yīng)用平臺。它外設(shè)資源豐富,具備各種接口,同時提供可擴(kuò)展接口,擴(kuò)展方便;采用嵌入式實(shí)時操作系統(tǒng),具有強(qiáng)大的軟件處理能力,可實(shí)現(xiàn)復(fù)雜控制;具有PC機(jī)的諸多特點(diǎn),同時又比PC機(jī)和工控機(jī)價格低;軟硬件(包括操作系統(tǒng))可裁剪、配置靈活;支持大屏幕液晶顯示,可提供可視化界面顯示;具備聯(lián)網(wǎng)能力,可通過直接通過網(wǎng)口接入本地局域網(wǎng)或遠(yuǎn)程網(wǎng),為生產(chǎn)的遠(yuǎn)程實(shí)時監(jiān)控和管理提供了可能。
基于以上比較,本文提出一種基于ARM的嵌入式棒料剪切生產(chǎn)線數(shù)控系統(tǒng),該系統(tǒng)以ARM處理器為核心,搭載嵌入式Linux操作系統(tǒng),具有可擴(kuò)展的輸入、輸出控制I/O節(jié)點(diǎn)及多種現(xiàn)場總線接口、能實(shí)現(xiàn)剪切自動控制、擋料器控制、自動翻轉(zhuǎn)送料架控制、提高棒料加工精度;支持大尺寸LCD顯示屏,支持網(wǎng)絡(luò)和嵌入式數(shù)據(jù)庫,智能性、實(shí)時性好,方便生產(chǎn)過程協(xié)調(diào)監(jiān)管、監(jiān)控,嵌入式數(shù)據(jù)庫能夠?qū)崿F(xiàn)加工數(shù)據(jù)的有效管理,可自動完成加工軌跡的各種調(diào)整與控制,實(shí)現(xiàn)自適應(yīng)的模型參數(shù)調(diào)整。
1 總體設(shè)計
整個剪切生產(chǎn)線系統(tǒng)包括中心控制機(jī)、切割系統(tǒng)、擋料器和自動翻轉(zhuǎn)送料系統(tǒng)。總體框圖如圖1所示。
圖1 總體框圖
實(shí)際的電氣部件包括操作臺按鈕、顯示燈,各種控制開關(guān)及電動機(jī)。其中操作臺包括旋轉(zhuǎn)編碼器、自鎖式按鈕、普通按鈕、鑰匙按鈕、二位置旋轉(zhuǎn)按鈕、轉(zhuǎn)換開關(guān)、計數(shù)器、顯示燈;控制開關(guān)包括接近開關(guān),壓力開關(guān),液位開關(guān),行程開關(guān),凸輪開關(guān),光電開關(guān);電磁閥,交流繼電器,交流接觸器;電機(jī)包括主電動機(jī)、出料電機(jī)、擋板電機(jī)、潤滑電機(jī)。此外還有變壓器、斷路器及噪聲濾波器等部件。
2 中控機(jī)系統(tǒng)
該中控系統(tǒng)以ARM9核心板為中心,通過GPIO擴(kuò)展板將有限的輸入輸出I/O擴(kuò)展成足夠數(shù)量的輸入輸出控制節(jié)點(diǎn),能夠接收系統(tǒng)中各種按鈕、凸輪開關(guān)、光電開關(guān)等輸入開關(guān)信號;根據(jù)程序和預(yù)先設(shè)定的參數(shù),給出輸出開關(guān)量,控制電磁閥、繼電器、接觸器的動作,同時通過高速脈沖輸出向伺服驅(qū)動器發(fā)出一定數(shù)量的脈沖數(shù),控制伺服電機(jī)的運(yùn)轉(zhuǎn)。輸入及輸出接口都使用光電隔離模塊,既實(shí)現(xiàn)了抗干擾的目的,又能夠?qū)崿F(xiàn)對接口部分的電平轉(zhuǎn)換。根據(jù)ARM輸出端信號,變頻器控制電動機(jī)的正反轉(zhuǎn)及轉(zhuǎn)速,從而實(shí)現(xiàn)對卷料的釋放和回收。伺服驅(qū)動器根據(jù)ARM板高速脈沖輸出端發(fā)出脈沖的個數(shù)、頻率控制伺服電機(jī)的轉(zhuǎn)動位置及速度,從而精確地給出送料長度。采用10英寸液晶顯示屏,為用戶提供了良好的人機(jī)交互界面,用戶可以通過該屏幕直接設(shè)定參數(shù),整個剪切系統(tǒng)的工作狀態(tài)、動作信息可以直觀地反映給用戶。ARM與變頻器、伺服器之間通過RS232串口通信,實(shí)現(xiàn)程序下載、參數(shù)設(shè)置、狀態(tài)查詢等即時的數(shù)據(jù)交換,最終使整個生產(chǎn)線設(shè)備能夠協(xié)調(diào)運(yùn)行。中控機(jī)框圖如圖2所示。
圖2 中控機(jī)框圖
2.1 ARM核心板
ARM核心板基于ARM處理器S3C2410X,采用6層板設(shè)計。S3C2410X使用ARM920T核,內(nèi)部帶有全性能的MMU(內(nèi)存處理單元),具有高性能、低功耗、接口豐富和體積小等優(yōu)良特性。該芯片集成了大量的功能單元,包括:內(nèi)部1.8V,存儲器3.3V,外部I/O3.3V,MMU;內(nèi)置外部存儲器控制器;LCD控制器,1個LCD專用DMA;4路帶外部請求線的DMA;3個通用異步串行端口,2通道SPI;一個多主IIC總線,一個IIS總線控制器;SD主接口版本1.0和多媒體卡協(xié)議版本2.11兼容;2個USBHOST,一個USBDEVICE(V1.1);4個PWM定時器和一個內(nèi)部定時器;看門狗定時器;117個通用I/O;24個外部中斷;電源控制模式:標(biāo)準(zhǔn)、慢速、休眠、掉電;8通道10位ADC和觸摸屏接口;16/32位RISC體系結(jié)構(gòu),使用ARM920TCPU核的強(qiáng)大指令集。
該核心板在盡可能小的板面上集成了64MSDRAM、64MNandFlash、1MBootFlash、RJ-45網(wǎng)卡、音頻輸入與輸出、USBHost、USBSlave、標(biāo)準(zhǔn)串口等設(shè)備接口,最為重要的是使用2.0mm插針槽引出CPU的大部分信號引腳,包括系統(tǒng)中尚未使用的GPIO引腳。
ARM920T帶MMU的先進(jìn)的體系結(jié)構(gòu)支持WINCE、EPOC32、LINUX等,文中選擇的是免費(fèi)開源的嵌入式Linux操作系統(tǒng)。基于該硬件平臺及嵌入式Linux,做了操作系統(tǒng)移植、驅(qū)動程序編寫和應(yīng)用程序開發(fā)等軟件工作。
2.2 控制母板
中控機(jī)箱內(nèi)采用母板+ARM核心板+I/O擴(kuò)展板方式,母板用來與ARM9板連接,實(shí)現(xiàn)網(wǎng)口USB、串口、電壓轉(zhuǎn)換、連接液晶屏等功能,同時在母板上還包括一定數(shù)量的可用的GPIO,包括10個輸入,12個輸出。I/O輸入輸出選用DB頭接插件,方便連接。中控機(jī)內(nèi)的開關(guān)電源為24V,電流可達(dá)4A.電源電路實(shí)現(xiàn)24V電壓到12V/9V/5V/3.3V的轉(zhuǎn)換,滿足不同電路需要,穩(wěn)壓芯片使用LM338。ARM9核心板自身帶有3個RS232串行接口,考慮到傳輸距離和抗干擾要求,在底板上設(shè)計了專門的轉(zhuǎn)換模塊將RS232轉(zhuǎn)換為RS485電平。ARM9核心板自帶USBHOST,使用USBHUB將其分為多路,分別可供鍵盤電路和鼠標(biāo)使用,其他路向外輸出。
2.3 GPIO擴(kuò)展及隔離
GPIO擴(kuò)展及隔離電路被設(shè)計到獨(dú)立的電路板,用來實(shí)現(xiàn)I/O端口數(shù)量的擴(kuò)展,可互換。每塊擴(kuò)展板上包括64個輸入,64個輸出。擴(kuò)展板放在母板上方,用金屬柱支撐,高度能保證二者不干涉即可。擴(kuò)展板與母板之間以扁平電纜連接。擴(kuò)展板的擴(kuò)展I/O輸入輸出也選用DB頭接插件。GPIO擴(kuò)展有2種方案。一種是采用CPLD擴(kuò)展,目前ARM板可使用的I/O口,大約有20個。如果用最簡單的擴(kuò)展方法,使用8個I/O用作數(shù)據(jù)線,使用4個I/O產(chǎn)生16個譯碼片選信號,這樣可擴(kuò)展成128個I/O。如果對外部按鍵采用掃描方式,那么可以節(jié)約一部分引腳。該方案只要ARM確保提供一定數(shù)量的I/O腳,具有較大可行性。ARM針對普通的I/O口操作既可,編程控制起來較容易,但在CPLD的編程上要花一些時間。第二種方案為使用專用擴(kuò)展芯片實(shí)現(xiàn)擴(kuò)展。現(xiàn)有ARM板擴(kuò)展口中有2種串行總線接口:IIC總線和SPI總線。如果選用現(xiàn)成的I/O擴(kuò)展芯片,如MAX6957,為IIC接口,一片可以擴(kuò)展28個I/O,如果用4片就可以擴(kuò)展到100多個I/O。該方案需要開發(fā)ARM的針對IIC設(shè)備的驅(qū)動程序。文中實(shí)際選用的是74HC595及74HC166芯片,多片串聯(lián),使用較少的I/O引腳成功實(shí)現(xiàn)并入串出和串入并出控制。
GPIO實(shí)現(xiàn)擴(kuò)展后,可提供足夠數(shù)量的輸入I/O和輸出I/O。系統(tǒng)中的大量開關(guān)或顯示燈,作為開關(guān)量輸入或輸出,連接到這些擴(kuò)展I/O即可。由于這些開關(guān)量的電平值大部分不是TTL電平或CMOS電平,需要進(jìn)行電平轉(zhuǎn)換;顯示燈需要足夠的驅(qū)動電流,繼電器需要一定的驅(qū)動電壓和電流;而且,系統(tǒng)中有大量的強(qiáng)電信號,為充分考慮提高系統(tǒng)的抗干擾能力。基于以上考慮,設(shè)計了電氣隔離及驅(qū)動模塊,普通的較慢變換的開關(guān)信號采用TLP521隔離光耦,針對高速脈沖采用高速光耦。
2.4 電機(jī)控制
根據(jù)ARM板輸出端信號,變頻器控制電動機(jī)的正反轉(zhuǎn)及轉(zhuǎn)速,從而實(shí)現(xiàn)對卷料的釋放和回收。
對變頻器來說,輸入控制信號來自于隔離擴(kuò)展板,通過設(shè)置不同的短路和開路組合,可以實(shí)現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、高速輸出及低速輸出,其中高速、低速是可以通過速度選擇端口來預(yù)設(shè)的。其他有關(guān)特征、狀態(tài)的參數(shù)可以通過操作面板預(yù)設(shè)。
3 數(shù)控系統(tǒng)軟件設(shè)計
數(shù)控系統(tǒng)軟件要實(shí)現(xiàn)用戶接口、剪切控制、故障檢測、數(shù)據(jù)庫管理、聯(lián)網(wǎng)等功能,由于系統(tǒng)軟件引入嵌入式操作系統(tǒng),所以各任務(wù)可以并行執(zhí)行,任務(wù)間可以通過消息傳遞、隊列等實(shí)現(xiàn),軟件流程圖見圖3。由于篇幅所限,僅畫出用戶接口、剪切控制、故障檢測3個任務(wù)的流程,省略數(shù)據(jù)庫管理、聯(lián)網(wǎng)兩個模塊。為實(shí)現(xiàn)用戶接口、剪切控制、故障檢測、數(shù)據(jù)庫管理、聯(lián)網(wǎng)等功能,需要對嵌入式操作系統(tǒng)及Bootloader移植、驅(qū)動程序開發(fā)、應(yīng)用層剪切控制程序軟件開發(fā)及數(shù)據(jù)庫開發(fā)幾個部分進(jìn)行研究,從而支撐整個系統(tǒng)軟件流程,實(shí)現(xiàn)系統(tǒng)功能。系統(tǒng)軟件流程圖如圖3所示。
圖3 系統(tǒng)軟件流程圖
3.1 嵌入式操作系統(tǒng)及Bootloader的移植
Linux移植就是根據(jù)具體目標(biāo)平臺,對原有Linux的源碼進(jìn)行必要的改寫,主要是修改體系結(jié)構(gòu)相關(guān)部分,安裝到目標(biāo)平臺,使其正確運(yùn)行起來。為了引導(dǎo)操作系統(tǒng),必須依賴Bootloader在上電初始化硬件設(shè)備,準(zhǔn)備軟件環(huán)境,因此,在項(xiàng)目中,以ARM9硬件系統(tǒng)為平臺,選擇VIVI作為Bootloader,完成了Bootloader和嵌入式Linux操作系統(tǒng)的移植。
其基本過程是:
(1)獲得VIVI源碼并對其進(jìn)行修改;
(2)獲得Linux2.4.18內(nèi)核源碼及該版本針對ARM的補(bǔ)丁,并對源碼進(jìn)行必要的修改;
(3)準(zhǔn)備交叉編譯環(huán)境。交叉編譯環(huán)境工具鏈一般包括Binutils工具,ARM-GCC,GLIBC等;
(4)交叉編譯Bootloader,生成映像文件并下載;
(5)增加GPIO等外設(shè)驅(qū)動;
(6)交叉編譯Linux內(nèi)核,生成內(nèi)核映像文件,并下載內(nèi)核映像文件。
3.2 驅(qū)動程序及通訊程序開發(fā)
根據(jù)實(shí)際需要,以ARM9為核心,研制系統(tǒng)主板,并針對實(shí)際需求進(jìn)行硬件驅(qū)動程序開發(fā)。其中GPIO驅(qū)動程序既包括對按鍵、LED顯示的支持,也包括對繼電器控制等I/O的支持。在編譯內(nèi)核時,選擇在需要時動態(tài)插入內(nèi)核,增加靈活性。針對跨平臺通訊,編制代碼轉(zhuǎn)換程序,并對Linux操作系統(tǒng)環(huán)境進(jìn)行配置,完成上位機(jī)GB2312編碼與下位機(jī)AMR9—LinuxQTEUNICODE編碼間代碼格式轉(zhuǎn)換;系統(tǒng)軟件支持10英寸DSTNLCD及TFT真彩LCD,采用嵌入式圖形系統(tǒng)之Qt/EmbeddedC++進(jìn)行程序開發(fā),以便于跨平臺移植、方便數(shù)據(jù)庫連接和開發(fā)過程,并增加了產(chǎn)品的可靠性。
3.3 剪切控制程序
3.3.1 系統(tǒng)控制要求
(1)運(yùn)行方式。生產(chǎn)線各主要設(shè)備具有手動/自動兩種工作方式。當(dāng)采用自動工作方式時,系統(tǒng)將按預(yù)先設(shè)定的工藝流程不間斷地循環(huán)工作。而手動工作方式是在設(shè)備單動、調(diào)試和檢修階段使用。
(2)實(shí)時顯示。系統(tǒng)中各個工序的運(yùn)行情況、報警信息、送料長度、質(zhì)量和加工工件數(shù)量等信息都要求在屏幕上顯示。
(3)故障檢測。系統(tǒng)能夠自動檢測各個工序的運(yùn)行是否正常,如果出現(xiàn)異常,在屏幕上顯示錯誤信息,同時生產(chǎn)線停止運(yùn)行。故障解除后按啟動按鈕生產(chǎn)線繼續(xù)運(yùn)行。
(4)緊急停止。當(dāng)出現(xiàn)緊急情況時,一按下急停按鈕,所有正在運(yùn)行的設(shè)備全部停止。
(5)安全保護(hù)。在程序設(shè)計過程中,對關(guān)鍵環(huán)節(jié)設(shè)置多重防護(hù),避免人身及設(shè)備事故的發(fā)生。系統(tǒng)上電后將自動啟動。
3.3.2 基本操作
初次運(yùn)行,將控制臺的聯(lián)機(jī)-脫機(jī)狀態(tài)切換至脫機(jī)狀態(tài),手動按控制臺上的定尺+/定尺-,控制擋料器運(yùn)動到原點(diǎn)。通過系統(tǒng)校零,并輸入棒料直徑、重量補(bǔ)償、比重、擋料原點(diǎn)等值后,系統(tǒng)將自動計算出需要剪切的長度值并顯示出來。當(dāng)按下“自動補(bǔ)償”,系統(tǒng)將調(diào)整擋料器位置,當(dāng)“計算長度”與“實(shí)際長度”一致時,發(fā)出“同步信號”,同步輸出燈變綠,機(jī)床可進(jìn)行剪切動作了。此外,系統(tǒng)還可通過“重量補(bǔ)償”,使棒料剪切更加精確。系統(tǒng)控制開始為正轉(zhuǎn)高速工作狀態(tài),當(dāng)快接近目標(biāo)時改為“低速正轉(zhuǎn)”工作狀態(tài);系統(tǒng)在工作時,實(shí)時監(jiān)控?fù)趿掀鞯奈恢?,每?dāng)擋料器發(fā)生串動后,數(shù)控機(jī)自動進(jìn)行調(diào)整,并設(shè)有“急停”按鍵,停止機(jī)床的工作;系統(tǒng)能夠自動濾掉錯誤操作。
3.4 嵌入式數(shù)據(jù)庫
嵌入式數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫的三級模式,支持標(biāo)準(zhǔn)SQL,支持?jǐn)?shù)據(jù)查詢、插入、更新、刪除多種標(biāo)準(zhǔn)的SQL語句,充分滿足嵌入式應(yīng)用開發(fā)的需求;具有事務(wù)處理功能,自動維護(hù)事務(wù)的完整性、原子性等特性;支持多種通訊協(xié)議,備份和恢復(fù),錯誤日志等;具有高的靈活性、可擴(kuò)展性及穩(wěn)定性;同時為嵌入式應(yīng)用的開發(fā)提供了靈活的應(yīng)用編程接口:C語言例行程序接口,內(nèi)存需求低,且具有較高的執(zhí)行效率。目前很多嵌入式設(shè)備是依靠數(shù)據(jù)為中心的,如果只有文件系統(tǒng),在并發(fā)、共享、結(jié)構(gòu)化存取上無結(jié)構(gòu),全依賴操作系統(tǒng)和文件系統(tǒng),是遠(yuǎn)遠(yuǎn)不夠的。因此,采用嵌入式數(shù)據(jù)庫,完成工業(yè)控制數(shù)據(jù)的采集、存儲,及指令存儲與下達(dá),實(shí)現(xiàn)控制機(jī)方便快捷移動、大數(shù)據(jù)量存儲、當(dāng)前和歷史數(shù)據(jù)查詢。通過采集數(shù)控網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù),完成機(jī)床加工程序的實(shí)時還原,根據(jù)反饋信息制定新的解決方案,為質(zhì)量管理的分析提供原始依據(jù)。實(shí)現(xiàn)了管理信息與控制信息融合。通過JNI的方式調(diào)用C/C++編寫的數(shù)據(jù)庫驅(qū)動—動態(tài)連接庫(DLL)進(jìn)行數(shù)據(jù)操作,解決嵌入式數(shù)據(jù)庫不提供Java的JDBC數(shù)據(jù)訪問接口問題。
4 結(jié)論
文中采用了高性價比的嵌入式處理器ARM9,替換了老式工業(yè)控制微機(jī),進(jìn)行了Linux操作系統(tǒng)裁剪移植、自主開發(fā)硬件控制驅(qū)動程序,采用TCP/IP協(xié)議,美觀優(yōu)雅的QT用戶圖形界面以及符合國際標(biāo)準(zhǔn)SQL的嵌入式數(shù)據(jù)庫。應(yīng)用了該數(shù)控技術(shù)的剪切系統(tǒng),具有較強(qiáng)的高速數(shù)據(jù)采集和多種直接I/O節(jié)點(diǎn)控制能力,可以實(shí)現(xiàn)任意設(shè)定加工參數(shù),既具備PC數(shù)控機(jī)床的信息處理、存儲、網(wǎng)絡(luò)傳輸能力,又滿足了精度高、體積小、功耗低的現(xiàn)代工控理念,是對現(xiàn)有的數(shù)控技術(shù)的一次技術(shù)革新。
評論