朱永平,廖 洵
(湖北工業大學機電研究設計院,湖北 武漢430070)
隨著科技的發展,工業自動化水平的不斷提高,如何應對不斷增長的人力成本,降低物流費用,提高生產效率,提高制造業企業的效益,成為各個公司亟待解決的問題.在汽車組裝車間使用AGV自動導向車按順序運送每臺汽車所需零部件到生產線,再由工人把零件組裝成整車,這是日產2005年引進的IFA(Integrated Factory Automation)理念[1],確定了“零部件合理化”和“廉價自動化”兩大主題.自動導向車的廣泛使用,方便作業人員拿取零部件,減輕勞動強度.通過生產、物流現場及設備制造等各個環節,通過相互緊密協作,使得物流速度加快,物流時間縮短,占用空間縮小,大大節省成本,實現物流環節的合理銜接并取得最佳經濟效益,從而增加企業利潤[2].
AGV自動導向車主要機械部分由車身、控制面板、驅動輪、充電蓄電池組成.電氣部分由PLC、伺服電機、傳感器、喇叭、無線發射裝置組成(圖1).AGV自動導向車采用固定導引線方式[3],原理是在AGV自動導向車行駛路徑上埋設磁帶,通過安裝在底盤的磁感應傳感器,AGV自動導向車感知磁場強度的強弱,作為糾偏輸入信號,進而控制AGV自動導向車的行駛.AGV自動導向車運行線路上垂直于主線路設置有3條不同磁極的短磁條,行駛過程中車身磁極感應器將其轉化為減速、停止、加速等不同速度指令.車頭安裝有障礙物傳感器,實現對前方料車、人等障礙物的識別,當遇到障礙物時發出停車指令從而保護人和車輛安全.目前大多數試驗性AGV的研究都依賴于有線的通訊系統控制和反饋數據,將上位機安裝在車體上,占用車體空間,且對硬件要求較高,導致了在AGV運行時難以迅速有效地進行人工干預,控制方式不靈活[4],本文引入無線通訊技術從而提高了控制的靈活性,車載PLC把AGV自動導向車所在位置、電池電量、故障信號通過無線局域網發送到上位工控機,工控機可對AGV車進行速度控制、狀態調整,實現計算機遠程監控.

圖1 自動導向車結構
可編程控制器(PLC)作為工業控制專用的電子設備,由于其結構簡單、可靠性高、易于編程、調試方便,成為工業現場最主要的控制裝置,在工業控制現場已廣泛應用.同時PLC具有較好的通信功能,在工業現場設備分布分散,不具備架設線纜的條件下,利用無線通信功能可方便地將現場信號接入監控管理系統.
AGV自動導向車控制系統采用OMRON公司的CP1H系列PLC.該PLC帶有模擬量輸入/輸出,USB口可供上位計算機編程,還帶有2個可擴展的串口接口,配合工業無線串口轉換設備實現數據接收發送.
在每臺AGV自動導向車上安裝有無線串口轉換設備,負責PLC串口數據的轉換,并將數據通過無線信號發送至AGV行走軌道線路旁最近的無線接入點AP.環形軌道周圍可以布置多個鏈接到以太網的無線接入點AP,每臺AGV自動導向車在沿軌道運行中尋找最近的無線接入點AP,并且根據信號的強度自動切換接入點,實現無縫快速漫游功能.無線接入點AP負責接收PLC數據并通過交換機傳至上位計算機.無線串口轉換設備和無線接入點 AP 通過802.11a/b/g及 TCP/IP 協議實 現通訊,最終由上位機完成PLC監控和AGV管理.
上位機的功能是用來監控AGV車運行狀態和控制PLC.上位機通信使用主從總線通信方式,以上位機作為工業局域網的主站,通過無線串口轉換設備及無線AP連入該網的所有AGV車上的PLC皆為從站(圖2).

圖2 系統結構
在本系統中,上位機監控各個AGV自動導向車的運行狀態,由于AGV自動導向車之間是獨立運行的,它們之間無數據交換,故屬于主從通信.主站與從站建立好連接后,采用應答方式進行通信,主站發出命令幀,從站使用響應幀應答,命令幀或響應幀中包含相應的數據即可使需要交換的數據送至對方.上位機在正常運行過程中使用輪詢方式進行通信,以避免通信總線發生沖突,確保定時刷新從站PLC中的信息.對于PLC主動發出的報警或者異常信息,上位機采用中斷方式進行處理,實現通信.上位機向PLC發出接收數據的指令,PLC判斷是否正確,如果正確則向上位機傳送數據,上位機接收到數據也同樣判斷是否來自PLC發出的正確指令,如果正確則上位機和PLC雙向實現通信線路的建立.上位機控制流程如圖3所示.

圖3 上位機控制流程圖
用Visual C++實現端口初始化的源代碼[5]如下
BOOL Cserial::Open(int nPort) //nPort為計算機串行通信端口號nport=1為端口1,nport=2為端口2
{
Char szPort[15];
DCB dob;
m_hIDCComDev=CreaterFile(szPort,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NOMAL|FILE_FLAG_OVERLAPPED,NULL);
dcb.DCBlength-sizeof(DCB);
GetCommState(m_hIDComdev,&dcb);//取得通信資源當前設置
dcb.BaudRate=9600;//設定數據傳輸速率為9600
dcb.Bytesize=7;//7數據位
dcb.Parity=2;//偶校驗
dcb.StopBits=0;//設定1個停止位
if(SetCommState(m_hIDComDev,&dcb))
return(TRUE);
else return(FALSE);//設置端口,若設置成功則返回TRUE,否則返回FALSE
}
握手聯絡Visual C++語言的源代碼如下
BOOL CNTJDlg::ReadFormPLC(char*Read_char char*Read_address,int Read_bytes)
{
Cserial Serial;//用戶串行通信的類
Char read_BUFFER;
if(Serial.Open(2))//初始化串行通信口COM2
{
Serial.SendData(&ENQ_request,1);//發送聯絡信號
Sleep(1000);//等待1s
Serial.ReadData(&read_BUFFER,1);//讀取 PLC響應信號
If(read_BUFFER==ACK)//如果PLC響應信號等于ACK,則對PLC進行操作
{
Serial.Close();//操作完畢,關閉通信口
Return(TRUE);//成功
}
else
return(FALSE);//失敗
}
}
使用PLC無線通訊技術進行監控和控制,工作人員能及時準確知道AGV自動導向車故障位置與類型并加以解決,減少了因為物流運輸故障導致生產線停線對整個生產造成的影響.達到了企業提高物流運轉效率、降低成本的目的,提高了企業的整體管理水平.
[1]《Material Flow》編輯部.日產汽車利用 AGV提高混流生產效率[J].張 毅譯.物流技術與應用,2009(7):46-53.
[2]金玉萍,向光義.AGVS在現代生產物流系統中的應用[J].物流技術與應用,2005(8):90-94.
[3]于國英,高 峰,張小麗,等.現代制造車間AGV導航與控制的研究[J].科技信息,2011(20):204.
[4]汪焰恩,魏生民,王碧輝.無線傳輸的視覺引導式AGV系統[J].西安工業大學學報,2010,30(1):25-29.
[5]李現勇.Visual C++ 串口通信技術與工程實踐[M].北京:人民郵電出版社,2004:301-302.