姚天曉





摘要:由德國西門子Siemens公司提出的PROFINET現場總線作為一種在工業控制中發展起來,應用于現場設備之間的以太網通訊網絡,具有組網簡單、可靠性高、通訊高效等優點。該文以全國智能制造應用技術技能大賽比賽設備,切削加工智能制造系統具體應用為例,詳細闡述了在PROFINET現場總線中,以西門子自動化設備為基礎的以太網通訊應用。
關鍵詞:現場總線;以太網通訊;智能制造;MES系統
0? 引言
全國智能制造應用技術技能大賽中,以切削加工智能制造單元技術平臺作為競賽平臺,通過機器人代替人工為數控車床與加工中心上下料作業,實現上料、加工、檢測、下料等過程自動化。為了智能制造產線實現自動化智能化的生產,MES系統、RFID讀寫器、數控車床、加工中心、觸摸屏、PLC、工業機器人等設備必須有大量的信息交互的,所以必須建立設備之間的通訊。
1? 基于S7-1200的MODBUS TCP通訊
該比賽賽項的設備是多家公司提供的,我以江蘇匯博機器人技術股份有限公司提供的設備為例來說:首先,簡單闡述一下智能制造系統中各設備之間的通訊關系。匯博公司的MES系統是自己研發的MES系統,通過計算機搭建服務器,組建一個工業互聯網,CAD/CAM軟件設計系統以及負責現場調度的中央控制系統主控PLC均通過TCP/IP的方式接入到工業互聯網與MES系統相連。MES系統還直接與設備層的數控機床及加工中心相連,實現加工程序的上傳。機器人與中央控制器德國西門子S7-1200PLC交互的信號較多,是通過Modbus TCP來實現的。中央控制器配有一個人機界面,它和安裝于機器人末端的RFID 讀寫器均通過Profinet與中央控制器相連。
1.1 PLC與機器人的MODBUS TCP通訊
PLC是這套設備負責現場調度的中央控制系統,指定使用的是西門子S7-1200PLC,而機器人是匯博HB3-760-C10型機器人。因為PLC是由西門子公司生產,機器人是國產品牌匯博公司生產,它們之間走以太網通訊會比較方便,又因為MODBUS TCP通訊協議常常為PLC、I/O模塊以及其他現場總線設備提供網關服務。所以我們是使用MODBUS TCP通訊來實現S7-1200PLC與匯博工業機器人的信息交互。
為了實現PLC與工業機器人的MODBUS TCP通訊,必須分四步來完成:
第一步,系統硬件組態,就是使用西門子公司TIA Portal V14的自動化軟件,按這套設備的硬件匹配的型號對S7-1200PLC、觸摸屏TP700comfort、RFID讀寫頭進行硬件組態。第二步,設備的IP地址設定,PLC的IP地址設成192.168.8.10、HMI的IP地址設成192.168.8.11、機器人的IP地址設成192.168.8.103等等。其中要注意的是,設備的IP地址192.168.8.11前三個數據是網段,要一樣,最后一個是地址,不能相同。第三步,為通訊設備數據編寫存儲數據的讀寫DB塊。從PLC寫到機器人的命令是16個實數,從機器人讀到PLC的機器人狀態也是16個實數。第四步通訊程序編寫,如圖1所示,PLC與機器人的MODBUS TCP通訊使用的指令是“MB_CLIENT”,“MB_CLIENT”指令作為MODBUS TCP客戶端通過 S7-1200 CPU的PROFINET以太網連接進行通信。 使用該指令,無需其它任何硬件模塊。 通過“MB_CLIENT”指令,可以在客戶端和服務器之間建立連接、發送請求、接收響應并控制Modbus TCP服務器的連接終端。其中要注意的是:指令中的REQ是指與Modbus TCP服務器之間的通信請求,只要REQ=1,指令就會激活,發送通信請求。指令的DISCONNECT參數,通過該參數,可以控制與Modbus服務器建立和終止連接,DISCONNECT=1就會斷開通訊連接,所以設成0就可以了。IP地址就設成機器人的地址192.168.8.103。MODE為1就是PLC的命令寫到機器人,MODE為0就是PLC讀取機器人狀態。我認為就是因為有了PLC的命令寫到機器人,并且機器人把它的狀態反饋給PLC,有這樣的信息交互,才能使智能制造產線生產更加的穩定。例如,我的程序讓PLC讀取機器人的第五個實數DB2.DBW8為3,是機器人通過PLC來控制車床把安全門打開,而車床的門打開后,PLC寫給機器人的第五個實數DB2.DBW40也為3,是告訴機器人車床門已經是打開狀態,機器人接收到信息后,才能拿著工件去車床加工。這些設備生產就會更加可靠。
1.2 PLC與MES系統的MODBUS TCP通訊
智能產線MES系統作為是部署在電腦上的、運用于自動產線的控制系統。負責現場調度的總控PLC對MES下發的指令進行分析處理后,再給七軸工業機器人、機床下發指令。匯博的MES系統與西門子S7-1200plc也是通過MODBUS? TCP來進行通訊,它們用的是指令MB_SERVER來實現的。為了實現PLC與MES系統的MODBUS TCP通訊,必須分四步來完成:其中前三步跟PLC與機器人的MODBUS? TCP通訊一樣,就不重復敘述,只講第四步程序編寫,通訊程序如圖2,注意的是,參數MB_HOLD_REG為指向“MB_SERVER”指令中 Modbus 保持性寄存器的指針,MB_HOLD_REG為P#DB3.DBX0.0 WORD 200表示的是PLC與MES系統通訊的區間是在數據塊DB3的前200個實數。這200個實數的定義是已經被MES系統設定好了。像是匯博編寫的MES系統,它規定,第一個實數到第四個實數D1、D2、D3、D4,分別是MES系統給PLC的命令、取料位、放料位和設備號,例如下發訂單時,MES下發一個D1=102、D2=10、D3=10、D4=1,意思就是MES下發加工訂單,讓機器人從10號倉位取物料,拿去車床加工,加工完放回10號倉位。如果PLC在D3、D32、D33、D34這四個實數中,也會給MES一個D31=102、D32=10、D33=10、D34=1,這就是告訴MES系統,PLC已經接到并響應MES的命令了,而MES接收到PLC給MES的響應信息后,就會把數據清零,最后PLC也把數據清零,這樣就完成了一個信息的交互。這樣如果PLC或者MES系統發生了故障,就不能完成命令與反饋,PLC就不會給機床與機器人下達錯誤命令了。從而提高了智能產線的可靠度。
2? 以太網通訊
S7-1200PLC與觸摸屏TP700、RFID讀寫器RF180C的通訊方式是PROFINET通訊,實現PROFINET通訊,第一步設定IP地址,設備間通過IP地址互相訪問,其中S7-1200PLC與觸摸屏只需要第一步設置設備的IP地址就能正常使用,而RFID讀卡器就要繼續往下設置才能使用。第二步分配設備名稱,RFID讀寫器就還要繼續分配設備名稱,組態設備參數,這時設備已經配置好。第三步編寫數據塊,編寫用于存儲讀出的數據、寫入的數據DB8、DB9兩個數據塊。
第四步,編寫RFID讀卡器的復位及讀寫程序。首先我們要了解在機器人末端安裝有RFID讀卡器,用于對倉庫各RFID芯片進行讀寫,以讀取或更新各倉位工件狀態。讀寫器上帶有感應裝置,當讀寫器靠近RFID芯片,感應裝置被觸發,控制器獲得到位信號,即可對RFID芯片進行讀寫操作。如圖3,當我們配置好西門子讀寫器RF180CV2.2并且編寫出RFID的復位指令RESET_rf300,讀寫器就會亮綠光,就能執行讀寫任務。如果沒有位置好,讀寫器就會亮藍光,這時讀寫器是不能正常使用的。
如圖4,當執行“寫”的命令時,就會把我們做好DB塊db9的前十個字節通過讀寫器的數據塊DB1寫進芯片。同樣,如圖5當執行“讀”的命令時,就會把芯片中的數據通過讀寫器的數據塊DB1傳送到我們做好數據塊塊db8的前十個字節。而MES系統通過PLC就可以掌握30個料倉的設備、類型、材質、狀態等信息。而MES系統只有準確掌握了料倉的情況,才能夠發布生產命令。
通過搭建MES系統、PLC、機器人等設備間的MODBUS TCP通訊和PLC、HMI、RFID讀卡器設備間的PROFINET通訊,經過一個月的測試發現,通訊相當可靠,為智能制造生產線的調試提供了可靠的通訊保障。
3? 結束語
在智能制造生產線的整個通信網絡中,主控PLC起到一個連接的紐帶作用,PLC往上通過Modbus TCP連接MES系統,往下與RFID、機器人通過Profinet、Modbus TCP連接,把這些單獨的設備給組成一個聯系緊密的整體。而像這樣用一根網線就能把生產線設備給連接完的以太網通訊方式將在今后的工業控制中會得到更多的應用。
參考文獻:
[1]廖常初.S7-1200/1500PLC應用技術[M].北京:機械工業出版社,2017,11.
[2]向曉漢,李潤海.西門子S7-1200/1500PLC學習手冊:基于LAD和SCL編程[M].北京:化學工業出版社,2018,8.
[3]馮振華.分析工業機器人的“智能制造”柔性生產線設計[J].內燃機與配件,2019(13):119-120.