目前,在移動機器人控制技術和PLC應用方面有很多人已經做了相關的研究工作。本文研究的機器人(小車)工作在大約40 m深的漿液下,為防止水煤漿由于長時間的存貯而沉淀,在按照規劃的軌跡移動時完成攪拌水煤漿功能。基于超聲波傳感器和電子羅盤的實時測量位姿信息,查模糊控制表,控制電機,使機器人能及時、連續、平穩、按規劃軌跡運行。采用西門子S7-200系列PLC作為主控制器來實現對漿液下移動機器人的控制。
1 控制系統基本構成
在移動機器人的應用中,精確的位姿是跟蹤控制首要解決的問題。為此,本機器人的定位采用了超聲波網絡定位系統,導航采用了電子羅盤。整個控制網絡如圖1所示。
圖1 機器人控制網絡
PLC系統為控制系統的核心,做主站管理各從站,起到總的控制作用,通過RS-485總線同各個從站進行數據傳遞。PLC把各個從站得到的信息經過加工處理后,得到最終的控制命令傳給電機,控制機器人進行準確的行走。TD200可對PLC的參數進行實時的修改,達到實時控制的需要。
1號單片機、2號單片機、3號單片機記錄發射超聲波信號在介質中的傳播時間,乘以超聲波的傳播速度,可以計算出相應的距離,通過定位算法便可對機器人進行定位。超聲波在介質中的傳播速度隨溫度變化,有著特定函數關系,因此可以借助溫度傳感器對超聲波的速度進行修正。電子羅盤可獲得小車的姿態,實現小車的導航。
操作員通過無線通信的方式達到對機器人的無線控制。無線控制是對有線控制的一種輔助措施,使機器人能得到更理想的控制效果。當主控制系統控制失效,機器人出現意外情況,通過定位系統測量發現機器人偏離規劃軌道,此時,利用無線控制可使機器人及時回到規劃軌道。
2 網絡通信
2.1 通信協議的選擇
S7-200 PLC支持多種通信息協議,如點到點接口(PPI)、多點接口(MPI)、PROFIBUS及用戶自定義協議等。
通過使用接收中斷、發送中斷、字符中斷、發送指令(XMT)和接收指令(RCV),自由端口通信可以控制S7-200 CPU通信口的操作模式。利用自由端口模式,可以實現用戶定義的通信協議,連接多種智能設備。
CPU處于STOP模式時,自由端口模式被禁止,CPU重新建立使用其他協議的通信,例如與編程設備的通信。只有當CPU處于RUN模式時,才能使用自由端口模式。通過向SMB30(端口0)的協議選擇域置1,可以將通信端口設置為自由端口模式。處于該模式時,不能與編程設備通信。SMB30其他位還可以設置端口0通信的波特率和奇偶校檢等參數。在此,我們所研究的機器人采用了自由端口模式。通信協議我們采用Medbus協議。Modbus協議是美國可編程控制器供應商Modicon公司制定的一種工業通訊協議,現在已經被許多工控廠商所支持,廣泛應用于智能儀表、總線控制等領域。其物理層遵循RS-485標準,RS-485總線具有信號傳輸速率快、傳輸距離更遠、抗干擾能力強等優點,其接口可以有多個驅動器和接收器,很容易實現PLC與多臺智能設備之間的通信。
2.2 網絡通信的關鍵技術
在接收信息時我們采用了接收中斷而沒用接收指令(RCV)。接收字符中斷是每當接收緩沖區SMBZ中接收到一個字符便產生一次中斷,能在中斷中對所接收到的字符進行適時處理,如果不正確,能及時進行第二次或更多次的發射和接收一直到達成功,并不影響字符和字符間的接收工作。更確切的說對字符的處理是在接收字符之間的間隙進行的。但是RCV指令一次性的接收完對方發射的所有信息,最后一個字符接收完,執行中斷事件才能對所接收到的字符進行處理,如果不正確,到這時才能重新發射和接收,這與上一種方法相比浪費了時間。兩種方法所用到的全局變量VB是一樣的,用接收指令RCV程序會簡潔些,但是從適時的角度我們選擇了接收字符中斷。
PLC是主站,1號單片機、2號單片機、3號單片機、無線通信模塊、溫度傳感器、電子羅盤都作為從站,地址依次是3lH,32H,33H,34H,35H,36H。當各從站都沒有出現故障,且主站同各從站通信,從站都能給與正確的回應信息時,建立起的地址輪詢表是3lH,32H,33H,34H,35H,36H。主站按照這個地址輪詢表所建立起的地址同各從站進行數據通信。當某一個從站出現故障,如2號單片機同主站不能進行通信,建立起的地址輪詢表是31H,3H,34H,35H,36H。主站按照這個地址輪詢表同各從站進行數據通信,并及時報警要求查找故障。但是這時并不影響對小車的控制,因為通過1號單片機、3號單片機仍然能對小車進行定位,僅僅是定位的精度不十分精確。整個控制過程沒有間斷而是連續的進行。
我們可以根據報警信息,查出有故障的單片機。當查好后我們可以通過TD200或無線通信模塊向主站告訴故障已經解除。要求主站重新建立地址輪詢表,建立地址信息。按照重新建立的地址輪詢表發射數據信息。
3 電機控制
西門子S7-200系列PLC的高速脈沖輸出功能是指在PLC某些輸出端產生高速脈沖,用來驅動負載實現精確控制。PLC主機最多可提供2個高速脈沖輸出端,即Q0.0或Q0.1。每個高速脈沖發生器對應一定數量的特殊寄存器,包括控制字節寄存器,狀態字節寄存器和參數數值寄存器,它們用以控制高速脈沖輸出形式,反映輸出狀態和參數值。PLC控制電機中通過脈沖輸出指令(PLS)檢查為脈沖輸出(Q0.0或Q0.1)設置的特殊存貯器位(SM),然后啟動由特殊存儲器位定義的脈沖操作。脈沖由Q0.0或Q0.1輸出控制電機。
如何控制電機,使小車能及時以直線、曲線、停止的方式進行運行,且運行過程連續、平穩,避免小車出現異常行為,如突然的大轉彎、急剎車等,是我們必須要解決的一個重要問題。因此,小車的啟動、每步控制之間的過渡、停止都要處理好,輸出脈沖的周期要連續,解決方法如下。
圖2 電機控制
圖2中f軸表示:頻率;t軸表示:發射脈沖數。小車剛開始啟動階段以f1的頻率啟動,加速到f2,發射的脈沖數是t1-t0。,然后以f2的頻率勻速,規定每4 s對小車進行一次定位和控制,假設在t2時正好是4 s,開始對小車進行控制,但是,定位和控制過程需要一段時間,當發射控制命令時,小車可能已不在原來定位的點。此時時間已超過4 s,設此時滯的時間為t,計算所要執行的程序量,t的最大上限值是0.1 s,這么小的時間完全可以忽略,在時滯的時間內讓小車仍以原來發射脈沖頻率運行,當發射的脈沖數是t3時開始對小車進行了新的控制,小車進行下一步的運行。然而,此刻仍以前一步的頻率為開始發射頻率。
轉換辦法是通過兩條命令:①MOVB 0,SMB67;②PLS 0。使前一步的運行立刻停止,接著調用新的包羅段控制小車進行下一步的運行,下一步的開始周期是前一步的結束周期,加速或減速到本步規定的周期(如圖2所示),加速或減速的時間盡可能短,以此周期勻速運行。小車在運行的整個過程中每步之間處理方法都是這樣。圖中所示為頻率減小到f5小車停止。采用此方法后小車的運行是連續平穩的。
4 軟件設計
控制系統程序流程框圖如圖3所示,整個程序共有4大塊組成:①對S7-200各個變量、中斷初始化;②主站同各從站進行信息通訊;③進行定位處理;④控制電機。
圖3 程序流程框圖
整個程序量是巨大的,合理安排程序結構顯得很重要。當沒進行通信時,S7-200反復掃描執行周期,出現字符中斷時,對接收到的信息進行保存處理,因為S7-200順序執行的特點,這要在很多執行周期內完成。但是每個執行周期的時間都是短暫的。所有的從站都通信完畢,調用定位子程序求出小車所在的空間位置。然后順序調用模糊控制子程序、電機控制子程序。這三大塊子程序要在同一周期內完成,此周期執行時間是最大的,程序必須簡單實用,使執行周期盡可能的降到最小值,減小控制的時滯。從宏觀上看掃描周期顯現出伸縮性的特點。
5 結束語
針對漿液下移動機器人的功能要求及PLC所具有的特點,搭建的漿液下移動機器人控制網絡具有特性,實現了網絡間的通信,對電機控制方法進行了探討,使電機能連續平穩的運行,最后對整個控制系統的軟件程序進行了設計。本文所涉及到的工作已調試成功。
-
控制系統
+關注
關注
41文章
6611瀏覽量
110586 -
機器人
+關注
關注
211文章
28398瀏覽量
206986 -
plc
+關注
關注
5010文章
13283瀏覽量
463171 -
超聲波
+關注
關注
63文章
3014瀏覽量
138355
發布評論請先 登錄
相關推薦
評論