張鸚琦,徐世許,張萬(wàn)達(dá)
(青島大學(xué) 自動(dòng)化學(xué)院,青島266071)
在化工、食品、冶金等行業(yè)的生產(chǎn)過(guò)程中,配料環(huán)節(jié)對(duì)生產(chǎn)產(chǎn)品的質(zhì)量起關(guān)鍵性作用。 依靠傳統(tǒng)人工配料的方式,不僅存在精度低、效率低下、人力成本高、產(chǎn)品質(zhì)量參差不齊等問(wèn)題,而且稱(chēng)重過(guò)程中與化工原料的長(zhǎng)期接觸,會(huì)嚴(yán)重?fù)p害員工的身體健康[1]。 針對(duì)這些情況,本文設(shè)計(jì)一套基于以太網(wǎng)通信的液體配料監(jiān)控系統(tǒng),實(shí)現(xiàn)化工廠自動(dòng)配料操作以及配料過(guò)程的遠(yuǎn)程監(jiān)控、 參數(shù)寫(xiě)入和數(shù)據(jù)記錄功能,簡(jiǎn)化了操作流程,提高企業(yè)管理的便利性。
國(guó)內(nèi)現(xiàn)有的配料系統(tǒng)大多以RS-232 或RS-485實(shí)現(xiàn)PLC 和上位機(jī)之間的通信,但由于串口通信方式存在傳輸距離短、速率低、易受干擾等缺點(diǎn)[2],嚴(yán)重限制了配料系統(tǒng)與配料現(xiàn)場(chǎng)的距離,在一些危險(xiǎn)化工品的配料生產(chǎn)過(guò)程中,增加了操作人員受傷害的風(fēng)險(xiǎn)。 因此本設(shè)計(jì)采用以太網(wǎng)通信方式實(shí)現(xiàn)上位機(jī)、觸摸屏和PLC 之間的數(shù)據(jù)交互,上位機(jī)監(jiān)管軟件使用VB 編寫(xiě),減少了使用組態(tài)軟件的成本,利用Access 數(shù)據(jù)庫(kù)存儲(chǔ)配料數(shù)據(jù),便于企業(yè)回溯操作日志。
該液體配料系統(tǒng)由PLC、上位機(jī)、觸摸屏、稱(chēng)重儀表、電磁閥和操作面板組成,系統(tǒng)結(jié)構(gòu)如圖1 所示。 選用歐姆龍CP1H 系列PLC 作為系統(tǒng)的控制核心, 通過(guò)插入2 個(gè)CP1W-CIF01 串口通訊選件板實(shí)現(xiàn)與2 個(gè)托利多IND236 稱(chēng)重模塊的RS232-C 串口通信, 實(shí)時(shí)讀取稱(chēng)重罐的稱(chēng)重?cái)?shù)據(jù)并控制進(jìn)放料,PLC 通過(guò)擴(kuò)展CJ1W-ETN21 以太網(wǎng)通信單元和加裝工業(yè)交換機(jī)的方式搭建與觸摸屏和上位機(jī)之間的以太網(wǎng)通信,實(shí)現(xiàn)配方設(shè)置、遠(yuǎn)程狀態(tài)監(jiān)視和數(shù)據(jù)查詢(xún)功能。
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 Structure of supervisory control system
該液體配料系統(tǒng)包括7 個(gè)原料罐、2 個(gè)稱(chēng)重罐和1 個(gè)攪拌釜,遠(yuǎn)程監(jiān)控自動(dòng)工作時(shí)首先在上位機(jī)監(jiān)管軟件將配方下載至PLC 內(nèi), 啟動(dòng)自動(dòng)配料,系統(tǒng)按配方原料順序依次稱(chēng)重,電動(dòng)機(jī)帶動(dòng)進(jìn)料泵工作,相應(yīng)罐體的進(jìn)料閥門(mén)打開(kāi),將液體原料從原料罐注入稱(chēng)重罐內(nèi),PLC 通過(guò)串口通信得到稱(chēng)重值,上位機(jī)和觸摸屏通過(guò)以太網(wǎng)讀取PLC 數(shù)據(jù)區(qū)的稱(chēng)重?cái)?shù)據(jù)在監(jiān)視畫(huà)面實(shí)時(shí)顯示,當(dāng)稱(chēng)重?cái)?shù)值達(dá)到配方內(nèi)該原料設(shè)定值后PLC 停止注料操作,上位機(jī)將配料日志保存至Access 數(shù)據(jù)庫(kù),之后稱(chēng)重罐底部電磁閥門(mén)打開(kāi)使原料流入攪拌釜內(nèi)進(jìn)行攪拌反應(yīng)。 此外,系統(tǒng)還可通過(guò)手動(dòng)/自動(dòng)旋鈕切換至手動(dòng)操作,利用操作面板上的相應(yīng)按鈕完成的配方手動(dòng)調(diào)試操作。
歐姆龍CP1H 系列PLC 通過(guò)加載CJ1W-ETN21 Ethernet 通訊口適配器獲得與上位機(jī)和觸摸屏搭建以太網(wǎng)網(wǎng)絡(luò)的能力,以太網(wǎng)間采用歐姆龍公司在工業(yè)自動(dòng)化控制網(wǎng)絡(luò)中開(kāi)發(fā)的FINS 通信協(xié)議,F(xiàn)INS協(xié)議的使用可以迅速建立各種網(wǎng)絡(luò)間的無(wú)縫通信[3]。 通過(guò)編程發(fā)送FINS 指令,上位機(jī)和觸摸屏可以輕松讀寫(xiě)PLC 數(shù)據(jù)區(qū)的內(nèi)容,刪減了繁瑣的PLC通信程序。 在以太網(wǎng)FINS 通信中, 各種數(shù)據(jù)是以TCP/IP 數(shù)據(jù)包或UDP/IP 數(shù)據(jù)包的形式發(fā)送和接收的[4],以太網(wǎng)FINS 通信協(xié)議模型如圖2 所示。
圖2 以太網(wǎng)FINS 通信協(xié)議模型Fig.2 Ethernet FINS communication protocol model
FINS 指令通過(guò)在應(yīng)用層對(duì)不同設(shè)備的節(jié)點(diǎn)號(hào)、網(wǎng)絡(luò)號(hào)和單元號(hào)的地址定義,替代了傳統(tǒng)的IP 地址使用,為不同網(wǎng)絡(luò)間設(shè)備的通信提供了一種統(tǒng)一的尋址方式[5]。 在傳輸層中通過(guò)定義相應(yīng)的UDP 端口或TCP 端口號(hào),為FINS 通信提供通信端口,相應(yīng)的通信協(xié)議又被稱(chēng)為FINS/UDP 協(xié)議和FINS/TCP 協(xié)議。 該配料系統(tǒng)中選用了FINS/UDP 的方式,通訊時(shí)各節(jié)點(diǎn)間無(wú)明確對(duì)等聯(lián)系,省去了TCP 每次通訊前的握手過(guò)程,傳輸速率高。
使用FINS 協(xié)議前,首先需要對(duì)上位機(jī)、PLC 和觸摸屏的以太網(wǎng)單元進(jìn)行配置。 利用歐姆龍CXProgrammer 軟件新建CP1H 工程,在ETN21 以太網(wǎng)模塊中設(shè)置其IP 地址的前3 個(gè)網(wǎng)段與上位機(jī)IP 前3 個(gè)網(wǎng)段一致,IP 地址的最后1 個(gè)網(wǎng)段即PLC 的節(jié)點(diǎn)號(hào), 應(yīng)與以太網(wǎng)模塊的節(jié)點(diǎn)號(hào)撥碼一致,F(xiàn)INS/UDP 端口號(hào)設(shè)置為9600, 將配置下載至PLC 重啟即可。 相應(yīng)的利用MCGS 組態(tài)環(huán)境配置觸摸屏以太網(wǎng)參數(shù),在設(shè)備管理界面依次添加“通用TCP/IP 父設(shè)備”和“歐姆龍F(tuán)INS 以太網(wǎng)”,并在其屬性界面修改IP 地址和節(jié)點(diǎn)號(hào)。 以太網(wǎng)間配置如圖3 所示。
圖3 以太網(wǎng)間配置Fig.3 Ethernet configuration
自動(dòng)配料操作的第一步是進(jìn)行配方管理,利用上位機(jī)監(jiān)管軟件選擇配方并通過(guò)發(fā)送FINS/UDP 指令的方式將配方信息寫(xiě)入PLC 數(shù)據(jù)區(qū)內(nèi)。 配方信息儲(chǔ)存在上位機(jī)Excel 表格內(nèi),包括配料名稱(chēng)、配料重量、提前量,操作員可根據(jù)需求設(shè)定相應(yīng)值。 上位機(jī)配方管理界面如圖4 所示。
圖4 配方管理界面Fig.4 Formula management interface
FINS/UDP 指令是一種嵌套格式數(shù)據(jù)包,分為指令幀和響應(yīng)幀2 種形式[6]。FINS 幀結(jié)構(gòu)如圖5 所示,由一個(gè)10 字的FINS 報(bào)頭,2 字的FINS 指令碼和最大2000 字的FINS 參數(shù)/數(shù)據(jù)區(qū)構(gòu)成。 FINS 報(bào)頭存儲(chǔ)著傳輸控制信息,向PLC 寫(xiě)入配方時(shí)源網(wǎng)絡(luò)為上位機(jī),目標(biāo)網(wǎng)絡(luò)為PLC 以太網(wǎng)單元,利用VB 完成FINS 報(bào)頭的封裝,相應(yīng)代碼如下。
圖5 FINS 幀結(jié)構(gòu)Fig.5 FINS frame format
FINS 參數(shù)區(qū)封裝詳細(xì)的配方信息,使用VB 中的Excel 對(duì)象操作上位機(jī)配方文件,提取配方信息并將其轉(zhuǎn)換為十六進(jìn)制表示,之后分配PLC 數(shù)據(jù)區(qū)通道D100、D200……D700 分別存儲(chǔ)七種配料信息。以第一種配料A 設(shè)定重量300 kg, 提前量1 kg,存儲(chǔ)在D100 起始的數(shù)據(jù)區(qū)內(nèi)為例,F(xiàn)INS 參數(shù)區(qū)命令碼的格式為“010282006400000400010041012C0001”,其中指令碼“0102”代表寫(xiě)入指令,“82006400”代表起始地址為D100, 配料重量0x012C 和提前量0x0001 分別寫(xiě)入PLC 數(shù)據(jù)區(qū)D102 和D103 中。
以太網(wǎng)通信時(shí), 首先初始化VB 中的Winsock控件,設(shè)置端口號(hào)9600、遠(yuǎn)程PLC 地址和使用UDP協(xié)議,之后利用Winsock 控件的SendData 函數(shù)發(fā)送封裝好的WriteCommand 指令幀。 通過(guò)Winsock 控件的GetData 函數(shù)接收響應(yīng)幀, 若響應(yīng)幀的最后兩字校驗(yàn)位為0x0000 則代表配方寫(xiě)入成功。
PLC 通過(guò)RS-232C 與2 個(gè)稱(chēng)重模塊IND236 通信,設(shè)置稱(chēng)重模塊COM1 為連續(xù)發(fā)送模式,通過(guò)串口通信將稱(chēng)重值上傳至PLC 內(nèi),利用PLC 內(nèi)的稱(chēng)重?cái)?shù)據(jù)處理子程序處理得到稱(chēng)重值并存儲(chǔ)在DM1000數(shù)據(jù)區(qū)內(nèi)。 當(dāng)稱(chēng)重值等于配方設(shè)定值與提前量之和時(shí),稱(chēng)重到位標(biāo)志位置1,停止注料。
上位機(jī)和觸摸屏通過(guò)以太網(wǎng)通信向PLC 內(nèi)發(fā)送FINS/UDP 讀指令,讀取DM1000 內(nèi)的稱(chēng)重?cái)?shù)值,將接收的響應(yīng)碼解碼即可得出稱(chēng)重?cái)?shù)值,并在相應(yīng)的監(jiān)視窗口中實(shí)時(shí)顯示,便于操作人員觀察配料過(guò)程。 同時(shí)上位機(jī)讀取PLC 稱(chēng)重到位標(biāo)志,當(dāng)標(biāo)志位為1 時(shí), 利用VB 中的Adodc 控件和DataGrid 控件將操作員信息、時(shí)間、配料信息和實(shí)際稱(chēng)重值寫(xiě)入Access 數(shù)據(jù)庫(kù)內(nèi)。 企業(yè)可通過(guò)上位機(jī)監(jiān)管軟件的數(shù)據(jù)查詢(xún)窗口按條件檢索,也可將數(shù)據(jù)導(dǎo)出到Excel 表格內(nèi),提高數(shù)據(jù)可視性和操作便利性[7]。 數(shù)據(jù)查詢(xún)窗口如圖6 所示。
圖6 數(shù)據(jù)查詢(xún)界面Fig.6 Data query interface
本文基于以太網(wǎng)通信設(shè)計(jì)了由上位機(jī)、觸摸屏和PLC 組成的液體配料監(jiān)管系統(tǒng),實(shí)現(xiàn)了上位機(jī)和觸摸屏向PLC 寫(xiě)入配方信息,以及讀取稱(chēng)重?cái)?shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)控和數(shù)據(jù)存儲(chǔ)的功能。 該系統(tǒng)結(jié)構(gòu)精簡(jiǎn),系統(tǒng)穩(wěn)定性高,為企業(yè)提供了遠(yuǎn)程生產(chǎn)監(jiān)控和生產(chǎn)日志回溯的能力。 該系統(tǒng)經(jīng)調(diào)試成功已投入企業(yè)的實(shí)際使用,極大的提高了企業(yè)的自動(dòng)化生產(chǎn)水平。