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