PLC的漿液下移動機器人控制系統(tǒng) 2011-05-10 08:21:34來源:互聯(lián)網(wǎng)
摘要:結合漿液下移動機器人系統(tǒng)的功能要求及PLC的特點,構建了槳液下移動機器人的控制系統(tǒng)。為提高該機器人系統(tǒng)的經(jīng)濟效益和實用性,簡化機器人控制系統(tǒng),以西門子PLC為主控制器構成整個機器人的控制網(wǎng)絡。對網(wǎng)絡通信,電機控制的關鍵技術進行了探討,并完成了整個控制系統(tǒng)的軟件程序設計。該系統(tǒng)的實現(xiàn)對于研究以PLC控制移動機器人的相關技術具有指導意義。

  目前,在移動機器人控制技術和PLC應用方面有很多人已經(jīng)做了相關的研究工作。本文研究的機器人(小車)工作在大約40 m深的漿液下,為防止水煤漿由于長時間的存貯而沉淀,在按照規(guī)劃的軌跡移動時完成攪拌水煤漿功能?;诔暡?a href="http://www.zkxxing.cn/tags/chuanganqi.html" target="_blank" class="keylink">傳感器和電子羅盤的實時測量位姿信息,查模糊控制表,控制電機,使機器人能及時、連續(xù)、平穩(wěn)、按規(guī)劃軌跡運行。采用西門子S7-200系列PLC作為主控制器來實現(xiàn)對漿液下移動機器人的控制。

  1 控制系統(tǒng)基本構成

  在移動機器人的應用中,精確的位姿是跟蹤控制首要解決的問題。為此,本機器人的定位采用了超聲波網(wǎng)絡定位系統(tǒng),導航采用了電子羅盤。整個控制網(wǎng)絡如圖1所示。


點擊看大圖

  圖1 機器人控制網(wǎng)絡

  PLC系統(tǒng)為控制系統(tǒng)的核心,做主站管理各從站,起到總的控制作用,通過RS-485總線同各個從站進行數(shù)據(jù)傳遞。PLC把各個從站得到的信息經(jīng)過加工處理后,得到最終的控制命令傳給電機,控制機器人進行準確的行走。TD200可對PLC的參數(shù)進行實時的修改,達到實時控制的需要。

  1號單片機、2號單片機、3號單片機記錄發(fā)射超聲波信號在介質中的傳播時間,乘以超聲波的傳播速度,可以計算出相應的距離,通過定位算法便可對機器人進行定位。超聲波在介質中的傳播速度隨溫度變化,有著特定函數(shù)關系,因此可以借助溫度傳感器對超聲波的速度進行修正。電子羅盤可獲得小車的姿態(tài),實現(xiàn)小車的導航。

  操作員通過無線通信的方式達到對機器人的無線控制。無線控制是對有線控制的一種輔助措施,使機器人能得到更理想的控制效果。當主控制系統(tǒng)控制失效,機器人出現(xiàn)意外情況,通過定位系統(tǒng)測量發(fā)現(xiàn)機器人偏離規(guī)劃軌道,此時,利用無線控制可使機器人及時回到規(guī)劃軌道。

  2 網(wǎng)絡通信

  2.1 通信協(xié)議的選擇

  S7-200 PLC支持多種通信息協(xié)議,如點到點接口(PPI)、多點接口(MPI)、PROFIBUS及用戶自定義協(xié)議等。

  通過使用接收中斷、發(fā)送中斷、字符中斷、發(fā)送指令(XMT)和接收指令(RCV),自由端口通信可以控制S7-200 CPU通信口的操作模式。利用自由端口模式,可以實現(xiàn)用戶定義的通信協(xié)議,連接多種智能設備。

  CPU處于STOP模式時,自由端口模式被禁止,CPU重新建立使用其他協(xié)議的通信,例如與編程設備的通信。只有當CPU處于RUN模式時,才能使用自由端口模式。通過向SMB30(端口0)的協(xié)議選擇域置1,可以將通信端口設置為自由端口模式。處于該模式時,不能與編程設備通信。SMB30其他位還可以設置端口0通信的波特率和奇偶校檢等參數(shù)。在此,我們所研究的機器人采用了自由端口模式。通信協(xié)議我們采用Medbus協(xié)議。Modbus協(xié)議是美國可編程控制器供應商Modicon公司制定的一種工業(yè)通訊協(xié)議,現(xiàn)在已經(jīng)被許多工控廠商所支持,廣泛應用于智能儀表、總線控制等領域。其物理層遵循RS-485標準,RS-485總線具有信號傳輸速率快、傳輸距離更遠、抗干擾能力強等優(yōu)點,其接口可以有多個驅動器和接收器,很容易實現(xiàn)PLC與多臺智能設備之間的通信。

  2.2 網(wǎng)絡通信的關鍵技術

  在接收信息時我們采用了接收中斷而沒用接收指令(RCV)。接收字符中斷是每當接收緩沖區(qū)SMBZ中接收到一個字符便產(chǎn)生一次中斷,能在中斷中對所接收到的字符進行適時處理,如果不正確,能及時進行第二次或更多次的發(fā)射和接收一直到達成功,并不影響字符和字符間的接收工作。更確切的說對字符的處理是在接收字符之間的間隙進行的。但是RCV指令一次性的接收完對方發(fā)射的所有信息,最后一個字符接收完,執(zhí)行中斷事件才能對所接收到的字符進行處理,如果不正確,到這時才能重新發(fā)射和接收,這與上一種方法相比浪費了時間。兩種方法所用到的全局變量VB是一樣的,用接收指令RCV程序會簡潔些,但是從適時的角度我們選擇了接收字符中斷。

  PLC是主站,1號單片機、2號單片機、3號單片機、無線通信模塊、溫度傳感器、電子羅盤都作為從站,地址依次是3lH,32H,33H,34H,35H,36H。當各從站都沒有出現(xiàn)故障,且主站同各從站通信,從站都能給與正確的回應信息時,建立起的地址輪詢表是3lH,32H,33H,34H,35H,36H。主站按照這個地址輪詢表所建立起的地址同各從站進行數(shù)據(jù)通信。當某一個從站出現(xiàn)故障,如2號單片機同主站不能進行通信,建立起的地址輪詢表是31H,3H,34H,35H,36H。