ARM嵌入式控制器應(yīng)用于印染設(shè)備監(jiān)控中
圖4 控制器通信流程
以下為ARM控制器發(fā)送數(shù)據(jù)的主程序流程:
while(1){ //主循環(huán)
if(recv_cmd(type)==0)//CRC校驗(yàn)發(fā)生幀錯(cuò)誤
continue;
switch(type){
case_ADDR: //是本機(jī)地址
send_ack(_OK,0,dbuf);//發(fā)送應(yīng)答信息
break;
case_GETDATA_: //是發(fā)送命令幀
len= strlen(dbuf);
send_data(_DATA,len,dbuf);//發(fā)送采集數(shù)據(jù)信息
case_RESET: //是復(fù)位幀
break;
default:
break;//偷令類型錯(cuò)誤,丟棄當(dāng)前幀后返回
?。?br /> }
5 實(shí)驗(yàn)結(jié)果
PC機(jī)采用VB6.0做上位機(jī)監(jiān)控畫面,使用其Activex控件一MSComm,方便地實(shí)現(xiàn)了和多臺變頻器及嵌入式控制器的通信。為了使軟件更友好,采用了多文檔(MDI)Windows界面,支持下拉菜單,彈出式窗口,最大限度地方便了用戶的操作。軟件主要由以下幾大模塊組成,即:用戶登陸模塊,實(shí)時(shí)監(jiān)控模塊、參數(shù)設(shè)定模塊,歷史數(shù)據(jù)查詢模塊和文件管理模塊。圖5為實(shí)時(shí)監(jiān)控模塊,它的三塊儀表可以顯示兩臺主、從電機(jī)的轉(zhuǎn)速和烘房的溫度,當(dāng)溫度超過或低于設(shè)定值時(shí),烘房溫度報(bào)警指示燈會點(diǎn)亮紅色,并發(fā)出報(bào)警聲。同樣,當(dāng)主、從電機(jī)轉(zhuǎn)速之差超過規(guī)定偏差的2%時(shí),相應(yīng)的報(bào)警指示燈也會點(diǎn)亮紅色,并發(fā)出報(bào)警聲。中間17個(gè)指示燈組成光柱,可以直觀地顯示主、從電機(jī)轉(zhuǎn)速的正負(fù)偏差。當(dāng)偏差為零時(shí),中間的綠燈亮;有偏差時(shí),兩邊的黃燈亮,偏差量越大,黃燈亮得越多,光柱越長;偏差超限時(shí),位于光柱左、右兩端的紅燈亮,表示主、從電機(jī)的轉(zhuǎn)速失去同步,發(fā)出報(bào)警停車信號,這種設(shè)計(jì)使人機(jī)界面更加友好。
圖5 實(shí)時(shí)監(jiān)控模塊畫面
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論