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