伺服系統(tǒng)的軟件設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在伺服系統(tǒng)軟件設(shè)計(jì)過程中,采用了模塊化設(shè)計(jì)思想。把設(shè)計(jì)過程分成兩個(gè)模塊,即電機(jī)運(yùn)動控制系統(tǒng)程序模塊與分布式監(jiān)控網(wǎng)絡(luò)通信模塊。
在電動機(jī)運(yùn)動控制系統(tǒng)程序模塊中,主要形成對電動機(jī)運(yùn)動的多個(gè)命令數(shù)據(jù)。主要有如下的控制命令:在X軸單片機(jī)控制系統(tǒng)中,慢速左移Ⅳ步,慢速右移Ⅳ步,快速左移Ⅳ步,快速右移Ⅳ步;在y軸單片機(jī)控制系統(tǒng)中,慢速前移Ⅳ步,慢速后移Ⅳ步,快速前移Ⅳ步,快速后移Ⅳ步;在z軸單片機(jī)控制系統(tǒng)中,慢速上移Ⅳ步,慢速下移Ⅳ步,快速上移Ⅳ步,快速下移Ⅳ步;在物鏡切換單片機(jī)控制系統(tǒng)中,順時(shí)針轉(zhuǎn)動90°,逆時(shí)針轉(zhuǎn)動90°。II x軸步進(jìn)電動機(jī)控制系統(tǒng)程序?yàn)槔?,給出了其程序框圖(見圖1)。
在分布式監(jiān)控系統(tǒng)通信網(wǎng)絡(luò)軟件設(shè)計(jì)過程中,以PC為主機(jī),單片機(jī)為分機(jī),為了保證每臺單片機(jī)能與PC有序地通信,在系統(tǒng)網(wǎng)絡(luò)中定義了一個(gè)通信協(xié)議,其通信協(xié)議規(guī)則如表1 所示。
表1 通信協(xié)議規(guī)則
表1 所形成的通信協(xié)議組成了一個(gè)數(shù)據(jù)幀,并在通信網(wǎng)絡(luò)中傳輸,以保證通信的可靠性。在表1中,SYNC,HCD1,HCD2為同步頭,分別用54H,5AH,5BH三個(gè)字節(jié)組成24位數(shù)據(jù)流,以提高通信時(shí)的抗干擾能力。DAB為目的地址,一個(gè)字節(jié),地址從1到FEH,共254個(gè)地址,地址0不用,用FFH表示廣播地址。在本系統(tǒng)中,有5個(gè)單片機(jī),其地址號從01H到05H。SAB為源地址,一個(gè)字節(jié),只有一個(gè)主機(jī),故SAB取01H。COMD為命令字,最多可表示255個(gè)命令,用在本系統(tǒng)中己經(jīng)足夠了◇DATA1~DATA4為四個(gè)字節(jié)的數(shù)據(jù)。CHSUM為一幀數(shù)據(jù)的校驗(yàn)碼,一個(gè)字節(jié),在本系統(tǒng)中采用的是校驗(yàn)和的方式。
在通信過程中,由PC(上位機(jī))發(fā)送一數(shù)據(jù)幀給單片機(jī)(下位機(jī)),在單片機(jī)接收到一幀數(shù)據(jù)之后,根據(jù)本身的地址來分析當(dāng)前數(shù)據(jù)幀是否為自己所接收的數(shù)據(jù)幀,若是則接收進(jìn)來,否則放棄該數(shù)據(jù)幀,準(zhǔn)備接收下一數(shù)據(jù)幀。
為了保證單片機(jī)能及時(shí)地處理數(shù)據(jù)幀,單片機(jī)所接收的數(shù)據(jù)幀全部放在單片機(jī)的串行口中斷完成,其程序框圖如圖2所示。