咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2021-04-01 17:04:39 |來源:
國內(nèi)外都有對袋裝水泥自動裝車系統(tǒng)的研究[1-4],基于國內(nèi)外關(guān)于自動裝車系統(tǒng)的研究成果和經(jīng)驗(yàn),本課題組研發(fā)的袋裝水泥自動裝車系統(tǒng)由水泥包運(yùn)送系統(tǒng)、來包姿態(tài)轉(zhuǎn)換機(jī)構(gòu)、頂層移動系統(tǒng)、多自由度自動落包系統(tǒng)和收塵系統(tǒng)等功能模塊組成,如圖1所示。自動裝車系統(tǒng)的控制系統(tǒng)由DSP主控板、控制上位機(jī)和用戶觸摸屏等組成,其中主控板直接控制機(jī)構(gòu)運(yùn)動,控制上位機(jī)通過串口和主控板遠(yuǎn)程連接,給主控板發(fā)送控制指令,用戶觸摸屏可用于裝車信息的輸入。研發(fā)自動裝車系統(tǒng)的過程中,需要對其機(jī)構(gòu)進(jìn)行調(diào)試。對于設(shè)備調(diào)試,一般采用的方式是把電腦和主控板連接在一起,然后下載程序到主控板上進(jìn)行調(diào)試。然而對于一臺已經(jīng)安裝好的設(shè)備,能不能做到不需要額外設(shè)備,不增加額外連線,就能實(shí)現(xiàn)所有機(jī)構(gòu)的調(diào)試呢?如果將對機(jī)構(gòu)的調(diào)試功能加入到系統(tǒng)的控制上位機(jī)中,設(shè)計(jì)研發(fā)一種集控制和調(diào)試于一體的上位機(jī),則能很好地解決這個(gè)問題。本文將主要研究集控制和調(diào)試于一體的袋裝水泥自動裝車系統(tǒng)的上位機(jī)軟件設(shè)計(jì),以及上位機(jī)如何和主控板之間通過串口實(shí)現(xiàn)通信。
1系統(tǒng)設(shè)計(jì)
整個(gè)控制系統(tǒng)由三部分組成,分別為控制上位機(jī)、用戶觸摸屏和主控板??刂粕衔粰C(jī)通過RS232串口通訊實(shí)現(xiàn)和主控板的通信,主控板接收到指令后控制各機(jī)構(gòu)協(xié)同完成碼包工作。基于DSP主控板和控制上位機(jī)上都有COM口,并且控制上位機(jī)開發(fā)平臺提供了串口基本調(diào)用函數(shù),所以通信方式采用串口通信方式,節(jié)省了開發(fā)底層通信協(xié)議的時(shí)間和工作量,可以將更多時(shí)間用在具體的通信方案的研究上??刂粕衔粰C(jī)和用戶觸摸屏都是昆侖通泰的觸摸屏TPC1061TI,開發(fā)平臺為MCGS組態(tài)軟件,可以使用設(shè)備構(gòu)件中的網(wǎng)絡(luò)構(gòu)件快速建立通信[5-7]?;冢停铮洌猓酰螅裕茫袇f(xié)議,控制上位機(jī)實(shí)現(xiàn)了和用戶觸摸屏的通信,其中用戶觸摸屏為主機(jī),發(fā)送裝車基本信息到控制上位機(jī),并從控制上位機(jī)獲取裝車進(jìn)度信息。這種相當(dāng)簡單的建立通信方式,減少了通信開發(fā)難度,提高工作效率。
水泥包自動裝車系統(tǒng)進(jìn)行裝車碼垛時(shí),首先由用戶觸摸屏向控制上位機(jī)發(fā)送裝車信息,然后由控制上位機(jī)發(fā)送裝車指令信息給主控板,主控板接收到指令信息后,啟動水泥包自動裝車系統(tǒng)完成機(jī)構(gòu)初始化、車輛定位和車廂檢測,并將機(jī)構(gòu)狀態(tài)信息,測量信息和碼垛規(guī)劃信息反饋給控制上位機(jī),當(dāng)主控板收到反饋的裝車確認(rèn)信息后,開始裝車。開始裝車后,主控板會定期向控制上位機(jī)發(fā)送裝車進(jìn)度信息,機(jī)構(gòu)運(yùn)行狀態(tài)信息和故障信息等。控制上位機(jī)和用戶觸摸屏、主控板之間的關(guān)系如圖2。
控制上位機(jī)作為自動裝車系統(tǒng)的人機(jī)交互接口,除了要有控制主控板進(jìn)行自動裝車碼垛的窗口界面外,還要有控制主控板對自動裝車機(jī)的機(jī)構(gòu)進(jìn)行調(diào)試的窗口界面。這些被調(diào)試的機(jī)構(gòu)包括來包姿態(tài)轉(zhuǎn)換機(jī)構(gòu)、頂層移動系統(tǒng)、多自由度自動落包系統(tǒng)等。因此上位機(jī)的主要功能是接收用戶觸摸屏信息,向主控板發(fā)送裝車信息和指令,顯示接收到的裝車進(jìn)度信息和機(jī)構(gòu)狀態(tài)信息,向主控送調(diào)試命令,顯示接收到的機(jī)構(gòu)運(yùn)行參數(shù)信息等。
2軟件功能設(shè)計(jì)
上位機(jī)軟件是基于昆侖通泰MCGS組態(tài)軟件開發(fā)的,主要窗口界面如圖3和圖4。有兩種操作模式,分別是自動裝車碼垛模式和機(jī)構(gòu)調(diào)試模式。
在自動裝車碼垛模式下,上位機(jī)要控制主控板進(jìn)行自動裝車碼垛操作,首先上位機(jī)要獲取裝車基本信息,有兩種方式:一種是從用戶觸摸屏獲取,一種是在上位機(jī)的裝車信息輸入欄中直接輸入。在獲取裝車基本信息后,向主控板發(fā)送裝車信息。主控板接收到后,首先會控制自動裝車機(jī)構(gòu)進(jìn)行機(jī)構(gòu)初始化、車輛定位和車廂尺寸檢測,并根據(jù)檢測信息生成碼垛規(guī)劃,然后將這些信息反饋給上位機(jī)。上位機(jī)收到以上信息后,向主控板發(fā)送確認(rèn)裝車信息,主控板正式控制自動裝車機(jī)構(gòu)進(jìn)行裝車,并每隔一段時(shí)間向控制上位機(jī)發(fā)送裝車進(jìn)度信息,機(jī)構(gòu)運(yùn)行狀態(tài)信息和故障報(bào)警信息??刂粕衔粰C(jī)收到裝車進(jìn)度信息后,會以數(shù)據(jù)和動畫的模式顯示在窗口界面上,接到故障報(bào)警信息后,會通過按“暫停”鍵和“停止”鍵向主控板發(fā)送中斷操作和停止操作信號。如果主控板接收到這些信號,會暫停機(jī)構(gòu)運(yùn)行或者停止裝車過程。這樣的設(shè)計(jì),使得整個(gè)自動裝車碼垛過程都實(shí)時(shí)可控,并因?yàn)閯赢嫷榷喾N視覺的展現(xiàn)方式,使得操作者對操作對象的變化更加直觀,遇到情況也能及時(shí)處理。
在機(jī)構(gòu)調(diào)試模式下,上位機(jī)要向主控板發(fā)送針對某個(gè)機(jī)構(gòu)的調(diào)試命令,首先要在窗口左側(cè)一排按鈕選中對應(yīng)的調(diào)試機(jī)構(gòu),并輸入調(diào)試參數(shù),單擊“開始”按鍵,向主控板發(fā)送調(diào)試命令。主控板接收到調(diào)試命令后,控制對應(yīng)的機(jī)構(gòu)完成運(yùn)動,并將運(yùn)動情況反饋給上位機(jī),最后上位機(jī)會以統(tǒng)計(jì)數(shù)據(jù)和曲線等形式將結(jié)果顯示在窗口界面上。
上位機(jī)軟件功能設(shè)計(jì)有兩個(gè)關(guān)鍵設(shè)計(jì):
1)編寫功能通用的用戶策略模塊。在MCGS組態(tài)軟件不提供函數(shù)編寫功能的情況下,當(dāng)程序中多次需要實(shí)現(xiàn)相同的功能時(shí),可以通過編寫用戶策略模塊,調(diào)用用戶策略模塊來實(shí)現(xiàn),如通用接收串口數(shù)據(jù)策略的編寫。在控制自動裝車過程中,上位機(jī)和主控板之間有多次通信,而且每一次通信的字節(jié)數(shù)都可能不同,因此,上位機(jī)通信策略模塊可以這樣設(shè)計(jì),按單次通信接收字節(jié)數(shù)最大值定義接收變量成員數(shù)目,每一次調(diào)用該策略時(shí),首先讀取串口接收緩沖區(qū)有多少個(gè)字節(jié),用變量存儲,然后每次讀取一個(gè)字節(jié)后,將該變量減一,當(dāng)該變量等于零時(shí),就完成了一次讀取串口緩沖區(qū)的操作。
2)參考裝車過程,分段編寫程序代碼。對于自動裝車碼垛窗口來說,裝車正式開始前需要處理裝車信息的輸入和發(fā)送,車輛
測量信息和碼垛規(guī)劃信息的顯示,確認(rèn)裝車的接收和反饋,裝車正式開始后需要定時(shí)接收并顯示裝車進(jìn)度信息、機(jī)構(gòu)運(yùn)行信息和刷新裝車動畫等。因?yàn)榇蟛糠殖绦驎懺诖翱谘h(huán)腳本里面,并定期循環(huán)執(zhí)行。所以在程序編寫時(shí),將整個(gè)裝車過程的程序代碼分為獲取裝車信息的代碼段、提交裝車信息后等待確認(rèn)的代碼段和正式裝車后的代碼段,并在每一段代碼的入口處設(shè)置不同的判斷條件。當(dāng)上位機(jī)運(yùn)行后,自動裝車碼垛窗口循環(huán)程序定期執(zhí)行時(shí),會根據(jù)判斷條件,從而執(zhí)行不同的代碼段。這樣的設(shè)計(jì)可以減少程序執(zhí)行出錯(cuò)的概率和節(jié)省程序執(zhí)行時(shí)間。
3通信設(shè)置
按系統(tǒng)設(shè)計(jì)要求,要建立上位機(jī)與用戶觸摸屏之間的通信和上位機(jī)與DSP主控板之間的通信。上位機(jī)和用戶觸摸屏的軟件都是基于MCGS組態(tài)軟件開發(fā)的。上位機(jī)組態(tài)時(shí),由于MCGS組態(tài)軟件提供了設(shè)備窗口,用戶可以通過在設(shè)備窗口下掛接通用設(shè)備構(gòu)件或者專用設(shè)備構(gòu)件實(shí)現(xiàn)通信。具體的工作原理是MCGS組態(tài)軟件集成了大量的外設(shè)通信驅(qū)動,用戶在使用時(shí),不用開發(fā)外設(shè)驅(qū)動,只需要調(diào)用相應(yīng)的驅(qū)動,通過設(shè)置好通信參數(shù),就能實(shí)現(xiàn)基于MCGS開發(fā)的軟件與外設(shè)之間的數(shù)據(jù)通信[6],如圖5所示。
設(shè)計(jì)控制上位機(jī)和用戶觸摸屏之間的通信步驟如下:
1)添加通信設(shè)備。將用戶觸摸屏設(shè)計(jì)為客戶機(jī),上位機(jī)設(shè)計(jì)為服務(wù)器。首先在設(shè)備組態(tài)窗口中,分別添加“通用TCP/IP父設(shè)備”作為父設(shè)備,然后對上位機(jī)添加“ModbusTCP/IP數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備”作為子設(shè)備,對用戶觸摸屏添加“莫迪康ModbusTCP”作為子設(shè)備。
2)設(shè)置通信參數(shù)。分別設(shè)置好上位機(jī)和用戶觸摸屏的網(wǎng)絡(luò)類型、本地IP地址、本地端口號、遠(yuǎn)程IP地址和遠(yuǎn)程端口號,以實(shí)現(xiàn)局域網(wǎng)組網(wǎng)。
3)建立設(shè)備通道和實(shí)時(shí)數(shù)據(jù)庫的連接。上位機(jī)和用戶觸摸屏上地址相同的設(shè)備通道之間屬于映射關(guān)系,所以當(dāng)用戶觸摸屏上的某個(gè)設(shè)備通道連接的數(shù)據(jù)改變后,上位機(jī)上對應(yīng)的映射通道的數(shù)據(jù)也發(fā)生改變,或者上位機(jī)上的設(shè)備通道連接的數(shù)據(jù)變化時(shí),用戶觸摸屏上設(shè)備通道也會改變。在用戶觸摸屏上,將定義裝車信息的變量與設(shè)備通道連接后,當(dāng)設(shè)備運(yùn)行后,輸入裝車信息后,上位機(jī)相應(yīng)的設(shè)備通道就能收到裝車信息。
要建立上位機(jī)和DSP主控板之間的串口通訊,有兩種方式:方式一,在上位機(jī)組態(tài)設(shè)備窗口掛接“通用串口父設(shè)備”作為父設(shè)備,但MCGS軟件本身沒有提供DSP設(shè)備的驅(qū)動構(gòu)件作為子設(shè)備,這需要另外開發(fā);方式二,直接調(diào)用內(nèi)置的嵌入式系統(tǒng)函數(shù)實(shí)現(xiàn)串口連接,如調(diào)用!SetSerialBaud(參數(shù)1,參數(shù)2)設(shè)置串口波特率,調(diào)用!SetSerialDataBi(t參數(shù)1,參數(shù)2)設(shè)置串口的數(shù)據(jù)位,調(diào)用!SetSerialStopBi(t參數(shù)1,參數(shù)2)設(shè)置串口的停止位,調(diào)用!SetSerialParityBi(t參數(shù)1,參數(shù)2)設(shè)置串口的校驗(yàn)位,調(diào)用!WriteSeria(l參數(shù)1,參數(shù)2)向串口寫一個(gè)字節(jié),調(diào)用!ReadSeria(l參數(shù)1)從串口讀取一個(gè)字節(jié)。為了更快地完成串口通信的組建,本文采用方式二的串口通信方式。上位機(jī)運(yùn)行時(shí),首先設(shè)置好上位機(jī)串口通信參數(shù),然后如果要發(fā)送數(shù)據(jù),則將要發(fā)送的數(shù)據(jù)按字節(jié)寫入到串口發(fā)送緩沖區(qū),如果要接收數(shù)據(jù),則從串口接收緩沖區(qū)讀取數(shù)據(jù)。
上位機(jī)向主控板發(fā)送的數(shù)據(jù)格式如表1。一幀數(shù)據(jù)包括數(shù)據(jù)頭、命令字、參數(shù)數(shù)據(jù)包和數(shù)據(jù)尾。主控板根據(jù)接收的一幀數(shù)據(jù)中的命令字判斷數(shù)據(jù)的意義,并執(zhí)行相應(yīng)的命令。上位機(jī)接收主控板的數(shù)據(jù)格式如表2??刂粕衔粰C(jī)接收數(shù)據(jù)時(shí),采用先將數(shù)據(jù)一次取出,然后在根據(jù)命令字判斷意義的操作流程。
4結(jié)束語
本文設(shè)計(jì)的控制上位機(jī)已多次帶到設(shè)備現(xiàn)場,對設(shè)備的多個(gè)機(jī)構(gòu)進(jìn)行了調(diào)試,并在機(jī)構(gòu)調(diào)試窗口界面上用圖表曲線的方式顯示了調(diào)試對象的運(yùn)動情況,實(shí)際地輔助了機(jī)構(gòu)調(diào)試工作。這個(gè)集自動裝車碼垛控制和機(jī)構(gòu)調(diào)試一體化的上位機(jī)軟件達(dá)到了基本的設(shè)計(jì)目標(biāo)。
作者:王亞軍;李永新
深圳市卓禾儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產(chǎn)線的研發(fā)及生產(chǎn)的高新技術(shù)企業(yè),所生產(chǎn)的JY500系列稱重顯示控制器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。卓禾儀器有十?dāng)?shù)年的現(xiàn)場校驗(yàn)經(jīng)驗(yàn),在業(yè)內(nèi)有良好的口碑,且有專門的售后工程師幫忙解決產(chǎn)品使用過程中遇到的技術(shù)問題,客戶可以放心省心順心的使用我司的產(chǎn)品。如果對我司的產(chǎn)品感興趣,歡迎咨詢。