關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 嵌入式PLC芯片組實現(xiàn)kp3-05m06r型運動控制器

嵌入式PLC芯片組實現(xiàn)kp3-05m06r型運動控制器

作者: 時間:2011-11-19 來源:網(wǎng)絡(luò) 收藏
4 軟件設(shè)計方案

本文引用地址:http://m.butianyuan.cn/article/161404.htm

  4.1 主軟件設(shè)計

  主采用plc,完成開關(guān)量輸入輸出、uart0、uart1、can、rs485/232互連和通信功能?;拒浖蚣苡梢韵缕邆€子程序組成。

  init-config:端口初始化程序,完成輸入輸出端口配置,中間變量初始化,啟動spi。

  init-start:上電初始化程序,復(fù)位所有輸出口。

  init-set:設(shè)置初始化程序,復(fù)位所有輸出口。

  init-run:運行初始化程序。

  step:指令周期掃描程序

  tms:2.5ms周期掃描程序,采樣輸入口狀態(tài)、刷新輸出口狀態(tài)、spi通信報文的發(fā)送和接收。

  scan:演算周期掃描程序,輸入口狀態(tài)濾波,spi通信報文的解讀。

  4.2 從軟件設(shè)計

  從控制器采用c8051f330單片機,指令運算速度高達(dá)25mips。從控制器對輸入脈沖采樣,接受主控制器發(fā)送的命令并進(jìn)行相應(yīng)的處理,輸入脈沖經(jīng)過分頻后,輸出相應(yīng)頻率的脈沖,并將有關(guān)信息發(fā)送給主站控制器。從控制器的作用相當(dāng)于一個執(zhí)行機構(gòu),它接受主控制器的命令執(zhí)行不同的動作,并把執(zhí)行的狀態(tài)反饋給主控制器,主要由以下5個功能程序組成。

  start:上電復(fù)位初始化程序,輸入輸出端口配置,復(fù)位中間變量單元,啟動spi、int0中斷。

  int-int0:外部中斷0服務(wù)程序,對輸入脈沖進(jìn)行分頻處理及脈沖插補。

  int-spi:spi中斷服務(wù)程序,spi通信報文的接收和發(fā)送。

  int-t3:定時器t3中斷服務(wù)程序,監(jiān)控spi通信狀態(tài)和主程序執(zhí)行狀態(tài)。

  main:主程序,解讀spi通信報文,完成脈沖點動、定位。

  4.3主從控制器的組合設(shè)計

  主、從控制器之間以spi接口連接,spi通訊速率為500kbit/s,因此有利于提高系統(tǒng)的快速性和實時性。

  主站采用定時發(fā)送/接收模式,嵌入程序初始化時,啟動spi發(fā)送,定時時間到,先接收一字節(jié)數(shù)據(jù),然后發(fā)送下一字節(jié)數(shù)據(jù)。當(dāng)所有報文發(fā)送完成后,暫停發(fā)送等待主程序處理報文,報文處理完后才啟動下一輪發(fā)送。

  從站采用中斷接收/發(fā)送模式,進(jìn)入中斷服務(wù)程序后,先接收一字節(jié)數(shù)據(jù),然后發(fā)送一字節(jié)數(shù)據(jù),當(dāng)所有報文接收完成后,對應(yīng)的有相同字節(jié)的報文發(fā)送完成。此時從站停止接收報文,等待主程序處理接收到的報文,報文處理完后,又啟動下一輪報文接收過程。

  報文結(jié)構(gòu):stx+報文內(nèi)容+etx+crc。

  stx:報文起始代碼,固定為02h。

  報文內(nèi)容:起始2個字節(jié)為命令字對應(yīng)的ascii碼,以區(qū)別不同的報文,后面為報文實際 數(shù)據(jù),全部采用ascii碼。

  etx:報文結(jié)束代碼,固定為03h。

  crc:校驗和,報文內(nèi)容所有字節(jié)相加后再加etx的數(shù)值,然后轉(zhuǎn)換成ascii碼。

  5 應(yīng)用舉例

  5.1控制設(shè)備名稱

  控制設(shè)備名稱:4套色圓網(wǎng)印花機控制系統(tǒng)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉