吳 熙
(廣東澳美鋁業(yè)有限公司,廣東 佛山 528000)
隨著鋁擠壓行業(yè)競(jìng)爭(zhēng)日益激烈,擠壓效率的提升意味著成本的降低,能給企業(yè)帶來(lái)更高的競(jìng)爭(zhēng)力,國(guó)外在鋁擠壓效率改善案例中比較有代表性的一項(xiàng)是對(duì)擠壓機(jī)的擠壓周期進(jìn)行分析,一個(gè)擠壓周期分為擠壓時(shí)間和非擠壓時(shí)間兩個(gè)范圍,針對(duì)非擠壓時(shí)間進(jìn)行統(tǒng)計(jì)分析,盡可能縮短非擠壓時(shí)間,是提高擠壓效率的重要方向。國(guó)內(nèi)鋁行業(yè)對(duì)此也做了相關(guān)研究,定義了非擠壓時(shí)間概念,提出了減少非擠壓時(shí)間的重要性以及方法[1-3]。
在擠壓生產(chǎn)實(shí)際應(yīng)用中,要實(shí)施非擠壓時(shí)間改善,首先要做到的是對(duì)非擠壓時(shí)間進(jìn)行實(shí)時(shí)監(jiān)控,管理人員需要獲得實(shí)時(shí)的數(shù)據(jù)反饋,加快對(duì)擠壓生產(chǎn)效率變化的反應(yīng)速度。目前國(guó)內(nèi)外獲取非擠壓時(shí)間數(shù)據(jù)的方法,普遍是通過(guò)人工在擠壓現(xiàn)場(chǎng)使用秒表定期進(jìn)行收集統(tǒng)計(jì)擠壓機(jī)非擠壓時(shí)間的作業(yè),而該方法因耗時(shí)、耗力導(dǎo)致獲取周期太長(zhǎng),無(wú)法密集地獲取非擠壓時(shí)間數(shù)據(jù),同時(shí)記錄的非擠壓時(shí)間數(shù)據(jù)因人而異,數(shù)據(jù)可靠性較低;少數(shù)擠壓機(jī)利用自身PLC計(jì)算非擠壓時(shí)間,把最近幾次非擠壓時(shí)間數(shù)據(jù)顯示于設(shè)備操作屏上,但是因?yàn)镻LC內(nèi)存空間的限制,不能保留歷史數(shù)據(jù)以供分析;行業(yè)內(nèi)也出現(xiàn)了采集記錄非擠壓時(shí)間數(shù)據(jù)的系統(tǒng)[4],但此系統(tǒng)應(yīng)用技術(shù)采用RS232、RS485總線技術(shù),不適宜進(jìn)行遠(yuǎn)程數(shù)據(jù)采集,同時(shí)需要針對(duì)性地對(duì)每種擠壓機(jī)進(jìn)行專項(xiàng)線路和程序改造。以上這些方案實(shí)際應(yīng)用時(shí)的成本、效率以及可擴(kuò)展性問題,對(duì)于擠壓機(jī)進(jìn)行全面的狀態(tài)監(jiān)控和改善分析都有極大限制。
本文基于工業(yè)以太網(wǎng),設(shè)計(jì)了通過(guò)OPC通訊技術(shù)遠(yuǎn)程采集鋁擠壓機(jī)設(shè)備運(yùn)行數(shù)據(jù)并呈現(xiàn)的方法,過(guò)程中主要完成對(duì)鋁擠壓機(jī)以太網(wǎng)接入的硬件改造,網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)和部署,遠(yuǎn)程KepserverEX OPC服務(wù)器的架設(shè)以及與PLC通訊的實(shí)現(xiàn)[5-6]。同時(shí)基于SQL Server數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)數(shù)據(jù)儲(chǔ)存[7];基于帆軟網(wǎng)頁(yè)報(bào)表平臺(tái)實(shí)現(xiàn)網(wǎng)頁(yè)報(bào)表式的數(shù)據(jù)呈現(xiàn)[8];達(dá)到了對(duì)鋁擠壓機(jī)非擠壓時(shí)間的密集監(jiān)控、實(shí)時(shí)分析和數(shù)據(jù)追溯的目的。
非擠壓周期指的是擠壓機(jī)在上一輪擠壓過(guò)程完畢,主缸開始泄壓到下一根鋁棒被送入擠壓筒,主缸推進(jìn)達(dá)到一定的壓力值開始下一輪擠壓的時(shí)間,這期間擠壓機(jī)會(huì)有多個(gè)固定機(jī)械動(dòng)作,對(duì)于非擠壓周期的詳細(xì)流程及其英文對(duì)照如圖1所示。
圖1 擠壓周期流程
鋁擠壓機(jī)的設(shè)備數(shù)據(jù)都產(chǎn)生并存放于其核心部件可編程控制器PLC中,通過(guò)設(shè)立一臺(tái)24 h保持運(yùn)行的采集主機(jī)即服務(wù)器,在服務(wù)器與PLC之間搭建相互聯(lián)通的硬件架構(gòu)和通訊協(xié)議,即可實(shí)現(xiàn)遠(yuǎn)程自動(dòng)采集獲取PLC中的數(shù)據(jù)。
硬件方面,需要滿足遠(yuǎn)程、實(shí)時(shí)地對(duì)整個(gè)生產(chǎn)區(qū)域的所有鋁擠壓機(jī)進(jìn)行數(shù)據(jù)采集的需求,適宜采用以太網(wǎng)傳輸?shù)姆绞?。本案例中服?wù)器設(shè)置在離擠壓機(jī)較遠(yuǎn)的機(jī)房中,要在PLC與服務(wù)器之間構(gòu)建一個(gè)以太網(wǎng)網(wǎng)絡(luò),首先采用以太網(wǎng)的星型拓?fù)浣Y(jié)構(gòu)將各個(gè)擠壓機(jī)PLC節(jié)點(diǎn)通過(guò)點(diǎn)到點(diǎn)的方式連接至匯聚交換機(jī),然后將其與服務(wù)器端網(wǎng)口連接,各節(jié)點(diǎn)完成相互連接后需要設(shè)定同一個(gè)網(wǎng)域的IP地址,在服務(wù)器端使用CMD命令PING通各個(gè)節(jié)點(diǎn)PLC即完成硬件網(wǎng)絡(luò)搭建。
以上方式的實(shí)現(xiàn),要求服務(wù)器和各PLC節(jié)點(diǎn)端均具備一個(gè)以太網(wǎng)接口,服務(wù)器端硬件接口豐富,配置以太網(wǎng)接口容易實(shí)現(xiàn),硬件對(duì)接問題主要在PLC端,較為老舊的PLC型號(hào)基本只配備了RS485通訊端口并沒有配備以太網(wǎng)端口,本案例鋁擠壓機(jī)實(shí)際采用西門子S7-300系列CPU314-2DP PLC,需要通過(guò)加裝以太網(wǎng)模塊或通過(guò)串口轉(zhuǎn)以太網(wǎng)口的方式設(shè)立一個(gè)可通訊的以太網(wǎng)接口,如加裝西門子S7-300系列PLC以太網(wǎng)模塊CP343-1實(shí)現(xiàn)以太網(wǎng)通訊。
以太網(wǎng)的引入也為數(shù)據(jù)采集系統(tǒng)的后續(xù)發(fā)展提供了較大可拓展性,后期采集需求升級(jí)時(shí)無(wú)需重復(fù)投入,將需要采集設(shè)備接入以太網(wǎng)絡(luò)即可。硬件架構(gòu)如圖2所示。
圖2 硬件架構(gòu)
軟件方面,不同品牌型號(hào)的PLC會(huì)有不同的通訊協(xié)議。本案例采用KEPServerEX軟件,將服務(wù)器端架設(shè)為OPC服務(wù)器。KEPServerEX做為一款專業(yè)的數(shù)據(jù)采集軟件,向上其提供了標(biāo)準(zhǔn)的OPC接口以對(duì)接各類信息系統(tǒng),向下其對(duì)各品牌的PLC均有適用的通訊驅(qū)動(dòng),支持各類型PLC通訊協(xié)議,可以與PLC進(jìn)行穩(wěn)定的通訊。
在此KEPserver OPC服務(wù)器首先需與網(wǎng)絡(luò)內(nèi)已連接的PLC進(jìn)行通訊協(xié)議匹配,于KEPserverEX界面創(chuàng)建一個(gè)新的通訊通道,在通道選擇列表中選取西門子以太網(wǎng)通訊驅(qū)動(dòng)Siemens TCP/IP Ethernet Driver,通過(guò)設(shè)定IP地址等通訊參數(shù)成功與S7-300 CPU314-2DP PLC建立通訊,實(shí)現(xiàn)KEPserverEX OPC服務(wù)器對(duì)該P(yáng)LC寄存器地址進(jìn)行數(shù)據(jù)讀取和寫入的操作,軟件架構(gòu)如圖3所示。
圖3 軟件架構(gòu)
鋁擠壓機(jī)機(jī)械部件的動(dòng)作通過(guò)液壓進(jìn)行驅(qū)動(dòng),其動(dòng)作開關(guān)信號(hào)由PLC發(fā)出以控制液壓油管道的電磁閥開關(guān)來(lái)驅(qū)動(dòng)機(jī)械部件運(yùn)動(dòng),比如非擠壓周期中的盛錠筒打開動(dòng)作,在PLC中必然存在其對(duì)應(yīng)的開關(guān)信號(hào),當(dāng)該信號(hào)為1時(shí),盛錠筒開始打開,當(dāng)盛錠筒打開到位后,信號(hào)變?yōu)?;本文所列采集方法是定時(shí)記錄PLC輸出的控制每個(gè)動(dòng)作的開關(guān)信號(hào)的值,再計(jì)算動(dòng)作信號(hào)為1的持續(xù)時(shí)間,即為鋁擠壓機(jī)完成該動(dòng)作所耗費(fèi)的時(shí)間,采集記錄PLC控制信號(hào)方法如表1所示。
表1 數(shù)據(jù)采集示意
表中,設(shè)定每秒記錄一條包括擠壓開始、盛錠筒開、剪刀下等所有擠壓機(jī)狀態(tài)的數(shù)據(jù),可以看到在時(shí)間點(diǎn)yyyy/mm/dd 00:00:01.000時(shí),擠壓開始信號(hào)為0,此時(shí)進(jìn)入非擠壓時(shí)間,同時(shí)盛錠筒打開信號(hào)為1觸發(fā)盛錠筒打開動(dòng)作,持續(xù)2 s后盛錠筒打開到位,盛錠筒打開信號(hào)復(fù)0,動(dòng)作結(jié)束。以此類推,以表中記錄計(jì)算時(shí)間標(biāo)記可得此次非擠壓時(shí)間的總共持續(xù)時(shí)間為4 s,期間盛錠筒開動(dòng)作持續(xù)了2 s,剪刀下動(dòng)作持續(xù)了2 s,如此通過(guò)完整的擠壓狀態(tài)信號(hào)記錄表就可以計(jì)算得出非擠壓周期內(nèi)的每一個(gè)動(dòng)作的信號(hào)持續(xù)時(shí)間,此處定時(shí)記錄間隔關(guān)系到所計(jì)算時(shí)間的精確度,如設(shè)定為每1 s定時(shí)記錄則計(jì)算時(shí)間精度為秒(s),設(shè)定為每100 ms定時(shí)記錄則計(jì)算時(shí)間精度為100 ms。
本案例中所使用鋁擠壓機(jī)非擠壓時(shí)間內(nèi)的每個(gè)動(dòng)作是以PLC程序設(shè)定的動(dòng)作順序嚴(yán)格進(jìn)行的,在完成上個(gè)階段的動(dòng)作后,下個(gè)階段的動(dòng)作才會(huì)執(zhí)行,有部分新型鋁擠壓機(jī)實(shí)現(xiàn)了非擠壓周期動(dòng)作同時(shí)進(jìn)行的功能,該采集記錄非擠壓時(shí)間的原理和方法,也同樣適用于這類不同動(dòng)作特性的鋁擠壓機(jī)。
第3節(jié)中KEPServerEX已經(jīng)與鋁擠壓機(jī)PLC成功建立了通訊,根據(jù)非擠壓數(shù)據(jù)的采集方法,在PLC程序中確定了非擠壓周期動(dòng)作的各個(gè)開關(guān)信號(hào)的數(shù)據(jù)地址后,即可在KEPServerEX中創(chuàng)建標(biāo)記以循環(huán)讀取PLC中非擠壓周期動(dòng)作信號(hào)的值,根據(jù)本案例擠壓機(jī)所使用西門子PLC其程序中各個(gè)擠壓狀態(tài)信號(hào)的數(shù)據(jù)地址信息,在KEPserverEX中建立的變量標(biāo)記如圖4所示。
圖4 PLC程序中非周期動(dòng)作信號(hào)的變量標(biāo)記
數(shù)據(jù)循環(huán)讀取的頻率即掃描速率要根據(jù)計(jì)算所需時(shí)間精度進(jìn)行設(shè)定,掃描速度必須保證低于定期記錄的頻率,在成功讀取PLC地址獲得標(biāo)記數(shù)值后,應(yīng)用KEP?serverEX的Data Logger插件,該插件支持ODBC驅(qū)動(dòng),可以將服務(wù)器中標(biāo)記的值定期的存入到支持ODBC協(xié)議的數(shù)據(jù)庫(kù)中,在此設(shè)定以每次100 ms的頻率將讀取到的數(shù)據(jù)通過(guò)ODBC協(xié)議存入到SQL Server數(shù)據(jù)庫(kù)中,實(shí)際存儲(chǔ)入數(shù)據(jù)庫(kù)的部分?jǐn)?shù)據(jù)如表2所示。
表2 SQL server中存儲(chǔ)的非擠壓動(dòng)作信號(hào)數(shù)據(jù)
另外,通過(guò)KEPserverEX軟件所提供的OPC開放協(xié)議,其他信息系統(tǒng)可以方便地讀取服務(wù)器內(nèi)所設(shè)定的標(biāo)記的值并進(jìn)行計(jì)算、存儲(chǔ)和分析,以實(shí)現(xiàn)其他信息化需求擴(kuò)展。
位于數(shù)據(jù)庫(kù)中的數(shù)據(jù)可通過(guò)SQL查詢語(yǔ)句進(jìn)一步統(tǒng)計(jì)計(jì)算得出所需的擠壓時(shí)間數(shù)據(jù),比如統(tǒng)計(jì)一天中擠壓時(shí)間和非擠壓時(shí)間的占比,SQL查詢語(yǔ)句示例如下:
select
convert(date.max(TimeStamp))日期.
(sum(Extrusion)/count(*))擠壓時(shí)間占比.
(1-(sum(Extrusion)/count(*)))非擠壓時(shí)間占比
from A
where convert(date.TimeStamp)=′2021-03-22′
此SQL語(yǔ)句意義為:查詢2021年3月22日擠壓信號(hào)為1在一天中的占比。通過(guò)這種方式可以按需求查看每天、每班組、每小時(shí)的擠壓時(shí)間和非擠壓時(shí)間占比,查詢結(jié)果如表3所示。
表3 擠壓時(shí)間占比數(shù)據(jù)分析
同樣,非擠壓時(shí)間的數(shù)據(jù)也通過(guò)SQL查詢語(yǔ)言進(jìn)行統(tǒng)計(jì)計(jì)算,實(shí)際應(yīng)用SQL查詢語(yǔ)句計(jì)算所得數(shù)據(jù)如圖5所示。鋁擠壓機(jī)每次開始非擠壓周期的時(shí)間,以及非擠壓周期中各個(gè)動(dòng)作耗時(shí)數(shù)據(jù)全部可以查詢得出,如第一行數(shù)據(jù)信息為:2021-03-22 14:42:11時(shí)有一次非擠壓周期,期間盛錠筒打開ContainorBack耗時(shí)4.3 s,壓余剪刀下ButtShearDown耗時(shí)2.6 s……。
圖5 SQL查詢所得非擠壓時(shí)間數(shù)據(jù)
圖7 網(wǎng)頁(yè)式報(bào)表展示每小時(shí)非擠壓時(shí)間平均值
圖8 網(wǎng)頁(yè)式報(bào)表總覽
基于SQL數(shù)據(jù)庫(kù)也可配合Web報(bào)表平臺(tái),比如帆軟報(bào)表,可以實(shí)現(xiàn)在可互通的網(wǎng)絡(luò)內(nèi),包括局域網(wǎng)或者廣域網(wǎng),通過(guò)瀏覽器訪問網(wǎng)頁(yè)的方式圖形化地去展示數(shù)據(jù),管理人員可以通過(guò)控件實(shí)現(xiàn)在瀏覽器端自助查詢數(shù)據(jù)的功能,比如查看每小時(shí)、每天或每周的統(tǒng)計(jì)數(shù)據(jù),如圖6~8所示。
圖6 網(wǎng)頁(yè)式報(bào)表展示每小時(shí)擠壓時(shí)間占比數(shù)據(jù)
本文針對(duì)鋁擠壓機(jī)擠壓效率改善工作需要實(shí)現(xiàn)非擠壓時(shí)間自動(dòng)采集的需求,采用了以太網(wǎng)通訊、OPC服務(wù)器、數(shù)據(jù)庫(kù)、Web報(bào)表等技術(shù),通過(guò)創(chuàng)新的數(shù)據(jù)采集方法,實(shí)現(xiàn)了鋁擠壓機(jī)包括擠壓、非擠壓周期內(nèi)狀態(tài)數(shù)據(jù)的采集與呈現(xiàn)。
該方法對(duì)設(shè)備的基礎(chǔ)信號(hào)直接進(jìn)行采集并存儲(chǔ),將所有獲得非擠壓時(shí)間所需要進(jìn)行的一些邏輯運(yùn)算提到了數(shù)據(jù)庫(kù)層面。此方法的優(yōu)點(diǎn)是無(wú)須改動(dòng)任何PLC程序,直接讀取其基礎(chǔ)信號(hào)即可,節(jié)省了PLC有限的數(shù)據(jù)處理能力,并且適用于各種類型的擠壓機(jī),當(dāng)然該方法會(huì)提高數(shù)據(jù)庫(kù)的運(yùn)算能力要求,但相比較來(lái)說(shuō)服務(wù)器的硬件擴(kuò)充會(huì)比PLC簡(jiǎn)單得多。
最后,本案例針對(duì)鋁擠壓機(jī)的擠壓數(shù)據(jù)采集和分析方法的設(shè)計(jì)與實(shí)踐,通過(guò)實(shí)際生產(chǎn)中長(zhǎng)時(shí)間的穩(wěn)定運(yùn)行證明了該方法完全具備可行性,可靠性高。并且通過(guò)該數(shù)據(jù)采集方法可以實(shí)現(xiàn)鋁擠壓機(jī)其他狀態(tài)數(shù)據(jù)和擠壓生產(chǎn)線其他設(shè)備數(shù)據(jù)分析的持續(xù)拓展。