基于PLC的漿液移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)
目前,在移動(dòng)機(jī)器人控制技術(shù)和PLC應(yīng)用方面有很多人已經(jīng)做了相關(guān)的研究工作。本文研究的機(jī)器人(小車)工作在大約40 m深的漿液下,為防止水煤漿由于長(zhǎng)時(shí)間的存貯而沉淀,在按照規(guī)劃的軌跡移動(dòng)時(shí)完成攪拌水煤漿功能。基于超聲波傳感器和電子羅盤的實(shí)時(shí)測(cè)量位姿信息,查模糊控制表,控制電機(jī),使機(jī)器人能及時(shí)、連續(xù)、平穩(wěn)、按規(guī)劃軌跡運(yùn)行。采用西門子S7-200系列PLC作為主控制器來(lái)實(shí)現(xiàn)對(duì)漿液下移動(dòng)機(jī)器人的控制。
本文引用地址:http://www.ex-cimer.com/article/161173.htm1 控制系統(tǒng)基本構(gòu)成
在移動(dòng)機(jī)器人的應(yīng)用中,精確的位姿是跟蹤控制首要解決的問題。為此,本機(jī)器人的定位采用了超聲波網(wǎng)絡(luò)定位系統(tǒng),導(dǎo)航采用了電子羅盤。整個(gè)控制網(wǎng)絡(luò)如圖1所示。
圖1 機(jī)器人控制網(wǎng)絡(luò)
PLC系統(tǒng)為控制系統(tǒng)的核心,做主站管理各從站,起到總的控制作用,通過RS-485總線同各個(gè)從站進(jìn)行數(shù)據(jù)傳遞。PLC把各個(gè)從站得到的信息經(jīng)過加工處理后,得到最終的控制命令傳給電機(jī),控制機(jī)器人進(jìn)行準(zhǔn)確的行走。TD200可對(duì)PLC的參數(shù)進(jìn)行實(shí)時(shí)的修改,達(dá)到實(shí)時(shí)控制的需要。
1號(hào)單片機(jī)、2號(hào)單片機(jī)、3號(hào)單片機(jī)記錄發(fā)射超聲波信號(hào)在介質(zhì)中的傳播時(shí)間,乘以超聲波的傳播速度,可以計(jì)算出相應(yīng)的距離,通過定位算法便可對(duì)機(jī)器人進(jìn)行定位。超聲波在介質(zhì)中的傳播速度隨溫度變化,有著特定函數(shù)關(guān)系,因此可以借助溫度傳感器對(duì)超聲波的速度進(jìn)行修正。電子羅盤可獲得小車的姿態(tài),實(shí)現(xiàn)小車的導(dǎo)航。
操作員通過無(wú)線通信的方式達(dá)到對(duì)機(jī)器人的無(wú)線控制。無(wú)線控制是對(duì)有線控制的一種輔助措施,使機(jī)器人能得到更理想的控制效果。當(dāng)主控制系統(tǒng)控制失效,機(jī)器人出現(xiàn)意外情況,通過定位系統(tǒng)測(cè)量發(fā)現(xiàn)機(jī)器人偏離規(guī)劃軌道,此時(shí),利用無(wú)線控制可使機(jī)器人及時(shí)回到規(guī)劃軌道。
2 網(wǎng)絡(luò)通信
2.1 通信協(xié)議的選擇
S7-200 PLC支持多種通信息協(xié)議,如點(diǎn)到點(diǎn)接口(PPI)、多點(diǎn)接口(MPI)、PROFIBUS及用戶自定義協(xié)議等。
通過使用接收中斷、發(fā)送中斷、字符中斷、發(fā)送指令(XMT)和接收指令(RCV),自由端口通信可以控制S7-200 CPU通信口的操作模式。利用自由端口模式,可以實(shí)現(xiàn)用戶定義的通信協(xié)議,連接多種智能設(shè)備。
CPU處于STOP模式時(shí),自由端口模式被禁止,CPU重新建立使用其他協(xié)議的通信,例如與編程設(shè)備的通信。只有當(dāng)CPU處于RUN模式時(shí),才能使用自由端口模式。通過向SMB30(端口0)的協(xié)議選擇域置1,可以將通信端口設(shè)置為自由端口模式。處于該模式時(shí),不能與編程設(shè)備通信。SMB30其他位還可以設(shè)置端口0通信的波特率和奇偶校檢等參數(shù)。在此,我們所研究的機(jī)器人采用了自由端口模式。通信協(xié)議我們采用Medbus協(xié)議。Modbus協(xié)議是美國(guó)可編程控制器供應(yīng)商Modicon公司制定的一種工業(yè)通訊協(xié)議,現(xiàn)在已經(jīng)被許多工控廠商所支持,廣泛應(yīng)用于智能儀表、總線控制等領(lǐng)域。其物理層遵循RS-485標(biāo)準(zhǔn),RS-485總線具有信號(hào)傳輸速率快、傳輸距離更遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),其接口可以有多個(gè)驅(qū)動(dòng)器和接收器,很容易實(shí)現(xiàn)PLC與多臺(tái)智能設(shè)備之間的通信。
2.2 網(wǎng)絡(luò)通信的關(guān)鍵技術(shù)
在接收信息時(shí)我們采用了接收中斷而沒用接收指令(RCV)。接收字符中斷是每當(dāng)接收緩沖區(qū)SMBZ中接收到一個(gè)字符便產(chǎn)生一次中斷,能在中斷中對(duì)所接收到的字符進(jìn)行適時(shí)處理,如果不正確,能及時(shí)進(jìn)行第二次或更多次的發(fā)射和接收一直到達(dá)成功,并不影響字符和字符間的接收工作。更確切的說(shuō)對(duì)字符的處理是在接收字符之間的間隙進(jìn)行的。但是RCV指令一次性的接收完對(duì)方發(fā)射的所有信息,最后一個(gè)字符接收完,執(zhí)行中斷事件才能對(duì)所接收到的字符進(jìn)行處理,如果不正確,到這時(shí)才能重新發(fā)射和接收,這與上一種方法相比浪費(fèi)了時(shí)間。兩種方法所用到的全局變量VB是一樣的,用接收指令RCV程序會(huì)簡(jiǎn)潔些,但是從適時(shí)的角度我們選擇了接收字符中斷。
PLC是主站,1號(hào)單片機(jī)、2號(hào)單片機(jī)、3號(hào)單片機(jī)、無(wú)線通信模塊、溫度傳感器、電子羅盤都作為從站,地址依次是3lH,32H,33H,34H,35H,36H。當(dāng)各從站都沒有出現(xiàn)故障,且主站同各從站通信,從站都能給與正確的回應(yīng)信息時(shí),建立起的地址輪詢表是3lH,32H,33H,34H,35H,36H。主站按照這個(gè)地址輪詢表所建立起的地址同各從站進(jìn)行數(shù)據(jù)通信。當(dāng)某一個(gè)從站出現(xiàn)故障,如2號(hào)單片機(jī)同主站不能進(jìn)行通信,建立起的地址輪詢表是31H,3H,34H,35H,36H。主站按照這個(gè)地址輪詢表同各從站進(jìn)行數(shù)據(jù)通信,并及時(shí)報(bào)警要求查找故障。但是這時(shí)并不影響對(duì)小車的控制,因?yàn)橥ㄟ^1號(hào)單片機(jī)、3號(hào)單片機(jī)仍然能對(duì)小車進(jìn)行定位,僅僅是定位的精度不十分精確。整個(gè)控制過程沒有間斷而是連續(xù)的進(jìn)行。
我們可以根據(jù)報(bào)警信息,查出有故障的單片機(jī)。當(dāng)查好后我們可以通過TD200或無(wú)線通信模塊向主站告訴故障已經(jīng)解除。要求主站重新建立地址輪詢表,建立地址信息。按照重新建立的地址輪詢表發(fā)射數(shù)據(jù)信息。
3 電機(jī)控制
西門子S7-200系列PLC的高速脈沖輸出功能是指在PLC某些輸出端產(chǎn)生高速脈沖,用來(lái)驅(qū)動(dòng)負(fù)載實(shí)現(xiàn)精確控制。PLC主機(jī)最多可提供2個(gè)高速脈沖輸出端,即Q0.0或Q0.1。每個(gè)高速脈沖發(fā)生器對(duì)應(yīng)一定數(shù)量的特殊寄存器,包括控制字節(jié)寄存器,狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存器,它們用以控制高速脈沖輸出形式,反映輸出狀態(tài)和參數(shù)值。PLC控制電機(jī)中通過脈沖輸出指令(PLS)檢查為脈沖輸出(Q0.0或Q0.1)設(shè)置的特殊存貯器位(SM),然后啟動(dòng)由特殊存儲(chǔ)器位定義的脈沖操作。脈沖由Q0.0或Q0.1輸出控制電機(jī)。
如何控制電機(jī),使小車能及時(shí)以直線、曲線、停止的方式進(jìn)行運(yùn)行,且運(yùn)行過程連續(xù)、平穩(wěn),避免小車出現(xiàn)異常行為,如突然的大轉(zhuǎn)彎、急剎車等,是我們必須要解決的一個(gè)重要問題。因此,小車的啟動(dòng)、每步控制之間的過渡、停止都要處理好,輸出脈沖的周期要連續(xù),解決方法如下。
圖2 電機(jī)控制
評(píng)論