張博 霍天龍
摘要:實(shí)際生產(chǎn)中,中小型自動(dòng)化生產(chǎn)線很少攜帶生產(chǎn)過(guò)程信息。為解決生產(chǎn)過(guò)程信息實(shí)時(shí)掌握困難、可視化程度低等問(wèn)題,提出了一種基于以太網(wǎng)通訊的中小型自動(dòng)化生產(chǎn)線生產(chǎn)過(guò)程信息自動(dòng)化的設(shè)計(jì)。使用西門子CP343-1模塊的以太網(wǎng)通訊功能和C#進(jìn)行信息交互,依靠PLC強(qiáng)大的邏輯功能及信息處理能力,對(duì)物料信息進(jìn)行跟蹤記憶,實(shí)現(xiàn)生產(chǎn)信息自動(dòng)獲取、自動(dòng)傳輸。應(yīng)用結(jié)果表明了該方法的有效性。
關(guān)鍵詞:中小型;自動(dòng)化生產(chǎn)線;生產(chǎn)過(guò)程信息;以太網(wǎng)
中圖分類號(hào):TP278 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1009—9492(2021)03—0153—02
0引言
“中國(guó)制造2025”提出,以體現(xiàn)信息技術(shù)與制造技術(shù)深度融合的數(shù)字化、網(wǎng)絡(luò)化、智能化制造為主線,加快我國(guó)工業(yè)自動(dòng)化進(jìn)程。隨著人力成本的不斷增加,大部分生產(chǎn)制造類企業(yè)出現(xiàn)了用工難問(wèn)題,傳統(tǒng)的自動(dòng)化生產(chǎn)線要求完全脫離人工。然而實(shí)際生產(chǎn)中,雖然生產(chǎn)過(guò)程能夠?qū)崿F(xiàn)自動(dòng)化,但產(chǎn)品生產(chǎn)過(guò)程信息卻很少能夠達(dá)到設(shè)備的工位級(jí),即生產(chǎn)線上的產(chǎn)品是沒(méi)有“身份”的,往往需要操作人員參與。針對(duì)此問(wèn)題,本文以成品物料垛盤輸送生產(chǎn)線為例,結(jié)合PLC的以太網(wǎng)通訊功能,從上位機(jī)獲取產(chǎn)品的生產(chǎn)信息,依靠PLC強(qiáng)大的邏輯功能及信息處理能力對(duì)物料信息進(jìn)行跟蹤記憶,實(shí)現(xiàn)了物料信息的自動(dòng)化獲取和傳輸。
1 PLC以太網(wǎng)通訊
工業(yè)以太網(wǎng)是基于IEEE 802.3的強(qiáng)大區(qū)域和單元網(wǎng)絡(luò)。利用工業(yè)以太網(wǎng),西門子SIMATIC NET提供了一個(gè)無(wú)縫集成到新的信息世界的途徑。西門子PLC以太網(wǎng)通訊的類型有很多,不同的用戶技術(shù)需求下可以采用相應(yīng)性能的以太網(wǎng)。常見(jiàn)的以太網(wǎng)通信主要有ISO、ISO-on-TCP、TCP/IP、UDP等類型傳輸協(xié)議。ISO傳輸連接用于S5站和s7站或PC站之間的數(shù)據(jù)交換(S5兼容通訊)。ISO-on-TCP傳輸連接用來(lái)進(jìn)行S5站和S7站或PC站間的數(shù)據(jù)交換(兼容S5的通訊)。TCP/IP連接的配置用于西門子系列PLC與第三方的控制系統(tǒng)進(jìn)行數(shù)據(jù)交換。UDP類型的協(xié)議用于實(shí)現(xiàn)西門子控制器兩站間的數(shù)據(jù)交換。本文采用TCP/IP和C#軟件進(jìn)行通訊。TCP通信傳送數(shù)據(jù)前,雙方必須對(duì)通信進(jìn)行初始化,并得到對(duì)方的認(rèn)可。TCP協(xié)議位于ISO/OSI參考模型的傳輸層,是一種面向連接的通信,即發(fā)送方與接收方通信時(shí),必須首先建立連接,主動(dòng)方為客戶端,被動(dòng)方為服務(wù)器。本文中,PLC作為服務(wù)器,C#作為客戶端。
2系統(tǒng)通訊設(shè)計(jì)
2.1硬件
成品垛盤輸送控制系統(tǒng)集成有ABB機(jī)器人用于料袋碼垛,觸摸屏用于人機(jī)信息交互。ABB機(jī)器人掛接PLC的DP口,使用Profibus總線協(xié)議與PLC通信,觸摸屏連接在PLC的MPI口,采用MPI協(xié)議與PLC進(jìn)行信息交互。本案例中采用CP343-1以太網(wǎng)模塊和第三方的上位機(jī)軟件C#,利用網(wǎng)線連接采用TCP/IP協(xié)議建立通訊。通訊模型如圖1所示。
2.2軟件
打開(kāi)西門子SIMATIC Manager軟件,插入SIMATIC 300station站點(diǎn),根據(jù)實(shí)際PLC組成,分別插入對(duì)應(yīng)的CPU和I/O模塊,再插入CP343-1以太網(wǎng)模塊,如圖2所示。IP組態(tài)設(shè)置在“屬性Ethernet接口”對(duì)話框中,設(shè)置lP地址,配置CP343-1模塊IP地址為192.168.1.107,子網(wǎng)掩碼為255.255.255.0,并新建Ethernet子網(wǎng)。此外,還應(yīng)該寫入以太網(wǎng)模塊的MPI地址,如果PLC使用了MPI協(xié)議與其他控制器連接,應(yīng)注意此處的MPI地址不能和CPU中的地址重復(fù),否則會(huì)造成CPU報(bào)警,導(dǎo)致以太網(wǎng)模塊出錯(cuò),不能正常使用。
打開(kāi)通信連接,選中CPU模塊,插入新連接,項(xiàng)目中選擇默認(rèn)的未指定,連接類型選擇TCP連接,標(biāo)識(shí)號(hào)選擇002A050,本地端口號(hào)設(shè)置為2000。遠(yuǎn)程IP地址和端口號(hào)默認(rèn)為空白。以上步驟完成后,應(yīng)對(duì)配置進(jìn)行保存、編譯及下載,否則通信連接不能設(shè)置成功。如圖3所示。
OB1為PLC的主模塊,即PLC的程序執(zhí)行總是從OB1開(kāi)始。打開(kāi)OB1模塊進(jìn)行通訊部分程序編寫,從庫(kù)函數(shù)中分別插入FC5和FC6,用于PLC和C#的數(shù)據(jù)發(fā)送和接收。如圖4所示。新建DB1和DB2數(shù)據(jù)塊,分別用來(lái)對(duì)發(fā)送和接收的數(shù)據(jù)做存儲(chǔ)處理,CP343-1和C#發(fā)送以及接收數(shù)據(jù)長(zhǎng)度為10 WORD。FC5為信息發(fā)送功能塊,EN為該功能塊的使能端,ID和LADDR為配置硬件時(shí)自動(dòng)生成的,按照硬件配置填寫即可。SEND為發(fā)送數(shù)據(jù)的起始地址,該位置應(yīng)引用指針變量,LEN為發(fā)送數(shù)據(jù)的長(zhǎng)度,單位是WORD,DONE為發(fā)送數(shù)據(jù)結(jié)束通知位,數(shù)據(jù)發(fā)送完成后,在PLC的一個(gè)掃描周期內(nèi)該位置“1”。ERROR為出錯(cuò)通知位,使用FC5功能塊發(fā)送數(shù)據(jù)出錯(cuò)時(shí),該通知位將在一個(gè)周期內(nèi)置“1”,STATUS為發(fā)送狀態(tài)字,可以用來(lái)查詢發(fā)送數(shù)據(jù)的狀態(tài)。實(shí)際發(fā)送數(shù)據(jù)時(shí),當(dāng)ACT被觸發(fā)后,指針指向的起始地址P#DBl.DBX0.0以后的10個(gè)字被發(fā)送。FC6為信息接收功能塊,各個(gè)引腳功能與發(fā)送功能塊類似,在此不做贅述。當(dāng)有新信息傳送時(shí),NDR通知位M4.1置1,代表有新的數(shù)據(jù)從C#傳輸?shù)絇LC中。新的數(shù)據(jù)臨時(shí)存放在指針變量P#DB2.DBX0.0指向的起始地址為DB2.DBW0以后的10個(gè)字中??捎肕4.1作為條件把新的數(shù)據(jù)拷貝到其他的DB數(shù)據(jù)區(qū)中做處理。
3應(yīng)用實(shí)例
3.1系統(tǒng)模型
把第2節(jié)介紹的方法應(yīng)用于實(shí)際工程項(xiàng)目。如圖5所示,該系統(tǒng)為某化工廠成品物料后處理系統(tǒng)中的垛盤輸送系統(tǒng)。該系統(tǒng)完成的功能:對(duì)上游包裝機(jī)系統(tǒng)處理好的成品物料在托盤上進(jìn)行碼垛。碼垛完成的物料垛盤被自動(dòng)地輸送至薄膜纏繞工位進(jìn)行纏膜,以防止物料潮濕。纏膜完成后,垛盤自動(dòng)地被輸送至貼標(biāo)工位。當(dāng)垛盤在該工位停穩(wěn)后,PLC把需貼標(biāo)的信息經(jīng)過(guò)C#中轉(zhuǎn)后送入貼標(biāo)機(jī),控制其對(duì)物料貼標(biāo)簽。PLC收到貼標(biāo)完成信號(hào)后,控制垛盤輸送機(jī)運(yùn)行,把物料輸送至電梯井中升降轎廂中,升降機(jī)自動(dòng)把物料垛盤提升至二樓。升降機(jī)停穩(wěn)后,轎廂輸送機(jī)及垛盤緩存工位處輸送機(jī)同時(shí)運(yùn)行,帶動(dòng)垛盤經(jīng)由垛盤緩存工位進(jìn)入立體庫(kù)系統(tǒng),完成一垛物料的生產(chǎn)。本案例中,物料工位間的輸送均攜帶有垛盤上的物料信息。
3.2信息傳遞過(guò)程設(shè)計(jì)
系統(tǒng)運(yùn)行后,操作人員使用c#軟件從用戶數(shù)據(jù)庫(kù)找到當(dāng)前生產(chǎn)的物料信息,通過(guò)以太網(wǎng)通訊把物料信息發(fā)送給PLC。PLC根據(jù)當(dāng)前生產(chǎn)班組,把從觸摸屏收到的牌號(hào)、生產(chǎn)流水號(hào)等信息自動(dòng)累加,把累加結(jié)果儲(chǔ)存到指定的DB數(shù)據(jù)存儲(chǔ)區(qū),再把從C#接收到的物料信息等(包括批次號(hào)、班組號(hào)等信息)存儲(chǔ)到相應(yīng)的DB數(shù)據(jù)存儲(chǔ)區(qū)。當(dāng)碼垛完成一垛新的物料后,PLC收到機(jī)器人碼垛完成信號(hào),觸發(fā)垛盤從碼垛工位輸送至薄膜纏繞工位。利用PLC工位間的傳送記憶中間變量,把當(dāng)前生產(chǎn)班組、物料生產(chǎn)流水號(hào)、批次號(hào)、牌號(hào)等信息連同垛盤一起傳送至下一工位,其中信息傳遞采用SFC20,如圖6所示,為本案例中相鄰工位信息傳遞程序。
SFC20為數(shù)據(jù)存儲(chǔ)、移動(dòng)功能塊。使用SFC20“BLK-MOV”(塊移動(dòng))可將存儲(chǔ)器區(qū)(=源區(qū)域)的內(nèi)容復(fù)制到另一個(gè)存儲(chǔ)器區(qū)(=目標(biāo)區(qū)域)。M1.0為ON時(shí)為系統(tǒng)進(jìn)入運(yùn)行狀態(tài),Q36.3和Q36.4分別為薄膜纏繞工位與貼標(biāo)電機(jī)運(yùn)行,DB6.DBX1.6為上一工位向下一工位運(yùn)行中間過(guò)程記憶,垛盤被輸送至下一工位觸發(fā)薄膜纏繞工位檢測(cè)開(kāi)關(guān)后,該中間變量被復(fù)位。DB10.DBW80至DB10.DBW118區(qū)域?yàn)楸∧だp繞工位的信息記憶存儲(chǔ)區(qū)。垛盤輸送至貼標(biāo)工位時(shí),PLC把信息發(fā)送給組態(tài)好的貼標(biāo)機(jī),對(duì)垛盤上的物料自動(dòng)貼標(biāo)簽。垛盤進(jìn)入立體庫(kù)系統(tǒng)時(shí),PLC把相應(yīng)的物料進(jìn)入聯(lián)鎖請(qǐng)求信號(hào)以及生產(chǎn)過(guò)程信息一并發(fā)送給C#,C#根據(jù)收到的立體庫(kù)系統(tǒng)狀態(tài),把信號(hào)反饋給PLC。
4結(jié)束語(yǔ)
本文結(jié)合西門子PLC的以太網(wǎng)通訊模塊,使用TCP/IP協(xié)議與第三方C#軟件,提出了一種帶有信息自動(dòng)化的垛盤輸送生產(chǎn)線控制系統(tǒng)設(shè)計(jì)方法。實(shí)際應(yīng)用結(jié)果表明了其有效性,本研究得出以下主要結(jié)論。
(1)生產(chǎn)線上各個(gè)工位的生產(chǎn)信息清晰明了,便于查看。
(2)由于物料帶有生產(chǎn)信息,使得貼標(biāo)機(jī)標(biāo)簽信息更加全面,豐富了用戶的產(chǎn)品數(shù)據(jù)庫(kù)。
(3)與下游立體庫(kù)系統(tǒng)交接時(shí),免去了以往信息交互需人工參與的麻煩。
(4)為中小型自動(dòng)化生產(chǎn)線控制系統(tǒng)實(shí)現(xiàn)訂單式、數(shù)字化生產(chǎn)提供設(shè)計(jì)思路。