1. 程式人生 > >AGV車載控制系統搭建(初學者入門)

AGV車載控制系統搭建(初學者入門)

本文轉載:博主robinvista的http://blog.csdn.net/robinvista/article/details/78349627。

目的

  本文介紹 AGV 車載控制系統的實現過程,可以分為硬體搭建和軟體設計,並在其中穿插 AGV 控制的基礎知識講解。

1. 車載控制器

1.1 車載控制器的型別

  車載控制器是控制系統乃至整個 AGV 的核心,那麼應該選擇什麼樣的控制器呢?根據筆者的經驗,現在的 AGV 廠家採用的車載控制器基本可以分為以下三種: 


下面簡要介紹幾種控制器的特點: 
  1. PLC:代表產品例如西門子的 S7-1200和1500,使用廠家有新鬆、嘉騰。PLC 以穩定性好、可靠性高著稱,它主要用於邏輯控制。購買大廠家的產品,其附帶的程式設計除錯軟體會很完善、強大,幫助文件也比較詳細。西門子 PLC 的價格大概在3000元~12000元左右。 
  2. 工控機:代表產品例如倍福的 CX5130,使用廠家有昆船、海通、羅伯特木牛流馬。工控機其實就是一臺電腦,只不過經過精心的設計使其具有很強的抗干擾能力和穩定性,可以用於工廠惡劣環境。工控機結構緊湊、體積小巧,不佔用過多的空間,輸入電源可以是24V直流,因此適合AGV的電池供電。工控機上執行有通用的作業系統,比如 Windows、Linux。以倍福為例,安裝它的 TwinCAT 控制軟體後,會在 Windows 作業系統中插入實時核心,將電腦變成適合工業場合的實時控制系統。工控機中的高階品牌倍福的售價大概在4000到10000元左右。 
  3. 微控制器:代表產品例如 STM32,使用廠家有昆船、機科、嘉騰、科鈦。在十幾年前,微控制器的穩定性不好,容易受干擾,可能會出現宕機。但是電子技術突飛猛進,現在的微控制器已經非常可靠了,而且價格非常低廉,加上外圍器件成本最多也不過千元左右。使用微控制器的一個缺點是,如果要做成成熟的產品,你需要花費很多精力設計外部電路以及各種底層演算法。 
  上面的分類並不意味著三者是涇渭分明的,例如 PLC 的核心晶片可能就是一個微控制器;而工控機的程式語言很可能就採用了 PLC 領域使用的梯形圖、ST等語言;微控制器上面也可以裝載作業系統,從而形成一個完整的控制器。所以,雖然它們各有自己適用的領域,但是相互之間也會取長補短,演變成你中有我我中有你的局面。

1.1 西門子 S7-1200 PLC

  本文采用西門子的 S7-1215C 型 PLC 作為 AGV 的車載控制器(以後簡稱為S1200),訂貨號見下表(西門子公司的產品非常豐富,各個型號在介面種類、效能等方面有細微的差別,購買時為了準確描述具體是哪個型號,最好使用訂貨號。西門子的每種產品都有一個唯一的訂貨號,在採購時只需要提供這個編號即可)。

名稱訂貨號價格
西門子1200 CPU6ES7215-1AG40-0XB03400元
想了解 S1200 的功能特性和引數設定可以閱讀書籍《S7-1200 PLC 程式設計及應用》或者官方文件《S7-1200可程式設計控制器系統手冊》。讓筆者感到奇怪的是,網上竟然找不到這個手冊的完整版本(全長1862頁),所以我把它上傳到網盤供大家免費下載,點選
這裡下載

什麼是上位機和下位機?有些裝置能夠訪問其它的裝置,比如讀取記憶體中的資料、向記憶體寫資料,這樣的裝置具有較高的許可權和地位,因此被稱為上位機。有些裝置只能被其它裝置訪問,而沒有訪問其它裝置的權力,這樣的裝置就稱為下位機。在本文中,PLC就是下位機,而程式設計計算機就是它的上位機。

  想對PLC進行操作,需要使用普通網線將 S1200 與上位機連線,只需要將上位機的 IP 地址設定為與 PLC 同一網段即可。S1200 一般預設的 IP 地址是 192.168.0.1,所以可以將你的電腦的 IP 設定為 192.168.0.2。對於 AGV 來說,因為它是移動的,在除錯的時候如果拖著一根網線就顯得很不方便。實際上,你完全可以使用無線的通訊方式,例如 Wifi、ZigBee等等。由於 Wifi 在實際中使用較多,我介紹一下它的配置方法。使用 Wifi 連線西門子 PLC 非常方便,只需要用網線將 PLC 的乙太網口連線到無線路由器的 LAN 口,然後用筆記本搜尋到對應的 Wifi 後連線即可訪問 PLC。所用的無線路由器可以是任意品牌,甚至家用路由器都可以。如果你想追求更穩定可靠的通訊,可以選擇工業級路由器,例如摩莎(MOXA),它的體積非常小,供電電壓相容12V~48V。

名稱型號價格
MOXA 無線APAWK-1131A-EU3000元
    

2. 驅動器

  如果說車載控制器是 AGV 的大腦,那麼 AGV 還要有心臟和肌肉才能運動起來,驅動器給車輪的電機提供電流,相對於心臟。

2.1 AGV使用的驅動器

  由於 AGV 普遍採用蓄電池供電,其電壓一般在 24V~72V 左右。因此 AGV 使用的驅動器屬於低壓直流型伺服驅動器。提供低壓驅動器的廠家有:AMCRobotQ、ZAPI、CURTIS等等。使用低壓供電附帶的一個好處是對人沒有任何危險(電壓太低電不死人)。

2.2 PLC與驅動器通訊

  PLC 要想控制驅動器就要向它傳送指令資料,這樣的通訊可以藉助 RS-232、RS-485、CAN 等協議實現。因為 S1200 的 CPU 模組沒有這些通訊介面,所以要想連線驅動器,需要購買額外的通訊模組(Communication Module)。上面提到的幾種協議西門子都有對應的通訊模組支援,比如西門子的 232 、485 和 CANopen 通訊模組如下圖所示(這三種模組外形完全一樣),注意 232 和 CANopen 模組的插頭是公頭,而485的則是母頭。 

 232通訊模組        485通訊模組       CANopen通訊模組

本文使用的驅動器採用 485 協議,所以我們選擇485模組。
名稱訂貨號價格
西門子485通訊模組6ES7 241-1CH30-0XB0500元
西門子232通訊模組6ES7 241-1AH32-0XB0500元
HMS CANOpen通訊模組021620-B3800元

  西門子485模組的接頭採用了標準9 針D型插孔式聯結器。為了將驅動器和PLC連線起來,我們要購買DB9接頭,並用訊號線將兩個頭連線起來。這裡我們只利用兩個訊號線即可。值得注意的是,西門子的485介面定義和常規的485不一樣,常規485的訊號收發是1、2頭,而西門子的485則是3、8頭(參考手冊的第1769頁)。所以在連線時,要按照 3-2、8-1的對應順序焊接,如下圖所示。 

 

3. 移動機構

  AGV要想實現移動就要有移動機構,使用最多的移動機構形式有舵輪、差速輪和麥克納姆輪。那麼它們各自有什麼特點呢?什麼場合又該使用哪種輪子呢? 
  小負載(<200kg)AGV通常採用差速輪和麥克納姆輪,而中大負載(>1000kg)AGV採用舵輪較多(也有使用麥克納姆輪的)。如下圖所示,麥克納姆輪的結構複雜,車輪兩側的支撐輪廓緊貼地面,因此只能用於平整的地面,遇到坑窪的地形容易出現接觸摩擦。如果AGV使用麥克納姆輪,那麼所有車輪全部都要用麥克納姆輪,這也就解釋了為什麼有的過載AGV用了很多麥克納姆輪(多的甚至能達到 12~24個)。而如果AGV使用舵輪則可以通過安裝承重輪(例如永珍支撐輪,俗稱腳輪)的方式分擔一部分重量,所以舵輪的數量不需要很多。 

 

舵輪由齒輪箱、驅動電機、轉向電機、編碼器、限位開關等組成,它既能提供牽引力(驅動),也可以主動轉向,因此一個舵輪有兩個自由度。AGV 使用一個或以上的舵輪就可以實現全向移動:原地旋轉、斜行、橫移等等。舵輪一般用於地面條件較好的室內環境,所以輪面的材料多為聚氨酯。舵輪的運動精度決定了AGV的重複定位精度,所以舵輪的好壞對AGV的效能有重要的影響。根據電機的安裝位置可以將舵輪分為兩種:臥式和立式,分別如下兩圖所示。臥式舵輪的驅動電機橫向安裝,因此整體高度很低,有些AGV對高度有要求(例如潛入式的AGV要很矮才能鑽到貨物底下),這時就適合使用臥式舵輪;立式舵輪的驅動電機豎著安裝,其整體高度偏高,它的優點是方便將電機隔離起來,在有些場合(例如危險品工廠),要求舵輪電機與外部環境隔離,這時就適合使用立式舵輪,因為它容易做防爆處理。國外主要的舵輪生產廠家有:義大利的 CFR 和德國的 schabmuller(夏伯穆勒),後來從CFR中又獨立出來了一個廠家——馬路達。這些舵輪生產廠家一般只賣舵輪,不提供驅動器,驅動器則由代理商提供。一臺AGV上最貴的部件就是舵輪,以一臺成本10萬元左右的AGV為例,如果配備兩個舵輪,就需要4~5萬元,佔整車成本將近一半。不過好訊息是,國內的舵輪廠家開始參與競爭,這將降低AGV的成本。 

4. 磁循跡感測器和磁條

4.1 磁條

  磁條導航是目前 AGV 使用最多的導航方式之一。只需要預先在地面鋪設好磁條,AGV 就會沿著磁條形成的路徑運動。磁條一般寬3~5cm,它像膠帶一樣,一面光滑、一面帶有粘性,將粘性的一面貼上在地面即可完成鋪設。磁條具有極性,在購買時注意是N極還是S極,磁條的極性對應磁尋跡感測器的極性,但有些感測器兩種都相容。注意磁條一般不抗壓,所以如果被輪子反覆碾壓可能會壓扁。

4.2 磁循跡感測器

  瀋陽軍航電器有限公司磁循跡感測器如何與PLC接線?PLC有一個COM介面。

5. 電池

  AGV可以使用鋰電池或者鉛酸蓄電池,生產廠家有POWERCAN霍克HAWKER。下左圖所示的是POWERCAN公司的容量80Ah,輸出電壓12V的鉛酸蓄電池。下右圖所示的是霍克AGV專用電池。

名稱型號價格
PowerCan 電池6DM12V-80Ah1000元
 

  配套的充電器:

6. 開關

6.1 電源開關

  選擇電源總開關時要注意它是自鎖的還是自動復位的。自鎖的意思就是按下後即使手指鬆開,開關依然保持閉合使供電暢通;而自動復位的開關按下按鈕後如果鬆開手指,電路就會被切斷,如下圖所示。一般機箱上的電源總開關應該選擇自鎖型的,否則你要一直按著按鈕才能使電路暢通,因此不要購買下圖右所示的自復位型開關(代號:XB2-BA31C,價格在22元左右)。假如你買錯了也不要緊,你可以再買一個自鎖模組 ZB2-BZ21 C,將這個模組新增到 XB2-BA31C 開關上就能將它變成一個自鎖開關。 

 

6.2 急停開關

  在所有 AGV 車體上都能找到的一個東西就是急停開關。根據國家標準《GBT 20721-2006 自動導引車 通用技術條件》中第4.2.6項的規定:“AGV 應配備緊急停車按鈕,該按鈕的安裝位置在緊急情況下應便於操作。應採用紅色按鈕,急停按鈕按下應關閉 AGV 驅動電源”。在AGV失去控制的情況下,按下急停開關能讓它立即停止運動,從而防止傷害到人。因此急停開關構成了最後的安全屏障。為了保證使用可靠,可以購買施耐德的 XB2-BS542C。急停開關的按鈕一般設計得很大,方便按下,因此又被俗稱為蘑菇頭,它一般都是自鎖的,按下後需要旋轉才能鬆開。購買時唯一要注意的是它的安裝直徑,一般選擇 22mm 即可。 

7. 接觸器、斷路器、繼電器

  AGV 上既有強電也有弱電,例如舵輪的驅動器需要的電流通常很大,而控制器和一些感測器只需要很小的電流。我們要合理設計電路,防止它們相互干擾,更主要的是包含弱電器件。根據國家標準《GBT 30029-2013 自動導引車(AGV)設計通則》中第6.7.7.4項的規定,控制器應該具有過壓保護、欠壓保護、過流保護功能。 
  我們要在電路中加入以下器件: 
   接觸器:用小電流控制大電流。上面的電源開關只允許通過較小的電流,但有時裝置裡有些元件需要大電流才能啟動,例如舵輪驅動器。我們不能用一個開關既控制小電流也控制大電流,這時就需要藉助接觸器。接觸器內部有個電磁鐵,我們用小電流控制電磁鐵的吸合,電磁鐵帶動另一組開關閉合使大電流通過。 
   斷路器:起到過流、欠壓保護的作用。斷路器也相當於一個開關,在短路等電流過大時開關斷開; 
   繼電器:也相當於一個開關,它是用小電壓控制觸點開閉的,但是注意觸點不能流過太大電流。 
  AGV 採用電池作為能源,而電池的電壓通常不是很穩定,在使用時電壓會逐漸下降。雖然西門子的 PLC 對輸入電壓具有一定的適應能力,但是我們最好用一個24V到24V的穩壓模組將電池的電壓穩定後再供給 PLC。對於使用24V供電的其它器件,例如感測器,也是這樣。

8. 觸控式螢幕

  現在的 AGV 越來越多地開始配備觸控式螢幕了。使用觸控式螢幕可以方便地設定AGV的引數,例如運動速度、充電電壓等等,而不需要每次都將程式下載到 PLC。既然我們選擇了西門子的PLC,當然觸控式螢幕選擇西門子是最配對的,但是考慮到西門子的觸控式螢幕有點貴,我們選擇國產的品牌。國產觸控式螢幕的質量也很可靠,而且價格合理,代表廠家有:崑崙通態、威綸通、步科。

名稱型號價格
崑崙通態 觸控式螢幕TPC1561Hi3800元

   
  我們選擇崑崙通態的觸控式螢幕,它採用24V直流供電,並配有網口,用普通網線將觸控式螢幕和 S1200 連線,並將觸控式螢幕的 IP 地址設定為與 PLC 所在同一網段(例如192.168.0.3)即可實現和 PLC 的互聯。設定 IP 的方法是上電後在進入正式介面之前,在螢幕的任意位置點選一下即可進入設定介面。 
  我們如何使用觸控式螢幕呢?我們需要對觸控式螢幕進行程式設計,或者說“組態”。程式設計需要使用崑崙通態自己的組態軟體:MCGS,可以在它的官方網站免費下載。 


在你的電腦上安裝該軟體,注意在軟體中需要輸入 PLC 的地址才能讀寫資料。觸控式螢幕上只有一個網口,所以你可以用網線將觸控式螢幕連線到你的電腦。我們注意到 S1200 有兩個網口,所以一種更方便的連線方式是,將觸控式螢幕連線到 S1200 上,然後將 S1200 連線到你的電腦,這樣同樣能對觸控式螢幕進行程式設計。 
  觸控式螢幕最基本的功能就是讀寫 PLC 的記憶體(因此它也是PLC的上位機)。要實現這個功能非常簡單,只需要在 MCGS 中對 PLC 的變數進行關聯即可。 

8. PLC程式設計

  要對西門子 PLC 程式設計必須使用專用的軟體:STEP 7 。不過現在西門子將它和另外幾個自動化軟體都整合到一起,形成一個大軟體包,稱為:TIA Portal(博途),安裝這個軟體包就能使用 STEP 7 了。本文使用的就是 TIA V14 版,如下圖所示。 


購買了S1200並不意味著你能免費使用博途軟體,但是沒關係,網上有很多破解版本可以下載。有意思的是,其中有些資源就是西門子公司的人故意釋放出來的,他們可能想佔有更多的市場。

8.1 西門子PLC的特點

  要想用好PLC,就要熟悉它的一些特點,下面我們就瞭解一下這款PLC的特點。 
  1215C的記憶體有多大呢? 
  我們用電腦連線上PLC,如何開啟博途軟體,在左側雙擊“線上和診斷”,然後在開啟視窗中點選“儲存器”,如下圖所示。 


可以看到這裡有三個儲存器,分別是:裝載儲存器、工作儲存器和保持儲存器。並且可以看到三個儲存器的大小,分別是: 
  1. 裝載儲存器: 4194304 Byte ÷1024÷1024=4MB 
  2. 工作儲存器: 128000 Byte ÷1024=125KB 
  3. 保持儲存器: 10240 Byte ÷1024=10KB 
  這和系統手冊中給出的數值是一樣的,如下: 

你看完是不是都哭了,10年前的手機儲存器都比這要大。 
  這三個儲存器各有什麼作用呢? 
  1. 裝載儲存器:用於儲存使用者專案檔案(例如:使用者程式、組態資訊),相當於硬碟; 
  2. 工作儲存器:CPU在執行使用者程式時會將一些專案內容從裝載儲存區複製到工作儲存區,相當於電腦的記憶體; 
  3. 保持儲存器:掉電後資料仍然保持。如果你希望一些資料能在斷電後一直保持就要使用這個儲存器。但遺憾的是,小氣的西門子公司只給了我們10KB。 
  PLC 掃描一次程式需要多長時間呢? 
  PLC會自動記錄時間,在同一頁面,開啟“迴圈時間”,就能看到PLC完整執行一遍程式需要的時間,如下圖所示。這個時間不是固定的,取決於你的程式長短,一般的執行時間在3毫秒以內。