?

基于 Laravel 與Workerman的不銹鋼數據采集與過程控制系統

2024-04-06 13:05湯日升張前進
電腦知識與技術 2024年3期
關鍵詞:過程控制數據采集不銹鋼

湯日升 張前進

關鍵詞:Laravel;Workerman;過程控制;數據采集;不銹鋼

中圖分類號:TP311.1 文獻標識碼:A

文章編號:1009-3044(2024)03-0103-04

0 引言

隨著“十四五”智能制造發展規劃和信息化和工業化深度融合發展規劃的貫徹實施,傳統制造業的工業互聯網平臺體系構建不斷加快,數字化轉型意識不斷提高。在實際信息化建設中,許多成熟商用軟件和通訊協議存在授權費用較高和效果未達到預期等問題,如何降低生產線信息化建設成本受到廣泛關注[1]。

“數據采集與過程控制系統”位于國內冶金企業多級計算機系統的第二級,也被俗稱為“二級系統”[2]。該類系統主要功能為數據采集和局部生產作業管控,解決第一級設備控制系統和第三層制造執行系統(Manufacturing Execution System, MES) 數據不互通的問題,實現產品質量跟蹤,提高生產管控和生產效率。

本文針對不銹鋼整卷磨生產線,提出一種基于PHP (PHP: Hypertext Preprocessor) 編程語言的數據采集與過程控制系統,下文均寫作“本文系統”。本文系統充分發揮 Laravel 框架和 Workerman 應用容器等開源技術優勢,實現了數據互聯互通,有效降低了不銹鋼整卷磨生產線的信息化建設的成本,具有一定的遷移價值和借鑒意義。

1 系統總體設計

1.1 設計思路

本文系統采用前后端分離的網頁與服務器結構,節省了維護客戶端的成本,分為四個模塊進行設計,分別為業務功能、通訊、前端和數據采集模塊,模塊之間相互獨立,系統的耦合度較低。

前端模塊是用戶與系統的交互界面。業務功能模塊是系統的主體,包含報文的解析和封裝、響應前端數據請求等業務功能。數據采集模塊負責可編程邏輯控制器(Programmable Logic Controller, PLC)的數據采集和存儲。通訊模塊負責建立和維持數據鏈路,選取 PLC 支持的通訊協議搭建系統與 PLC 的通訊,依據 MES 的通訊協議構建系統與 MES 的通訊。

1.2 系統架構設計

本文系統硬件主要包含一臺戴爾 T340 塔式服務器和一臺工控機,通訊依托光纖局域網。數據采集與過程控制系統服務器承載本文系統的軟件程序主體。工控機是用戶操作本文系統的實體終端,負責采集和存儲生產實績數據,部署有 KEPServerEX 工業連接平臺。

實際生產中,本文系統接收 MES 下發的生產計劃報文,解析報文中的不銹鋼卷號和生產工藝等參數,在用戶選擇計劃開始生產后,參數寫入 PLC 數據塊,用戶也可以在人機界面(Human Machine Interface,HMI) 中修改參數。生產結束后,生產實績數據上傳服務器,新的參數寫入 PLC 數據塊,開始生產。圖1 為系統網絡架構圖。

本文系統使用 MySQL 數據庫進行數據存儲,基于 Laravel 框架的業務功能模塊、基于 Workerman 應用容器的通訊模塊、基于 Vue-element-admin 框架的前端模塊和基于KEPServerEX 工業連接平臺的數據采集模塊相互獨立部署,圖2為系統功能設計圖。

1.3 開發與生產環境

本文系統在 Windows 平臺進行開發,使用 Php?Study 進行集成環境的配置和管理,使用 Git 進行開發版本的控制。服務器的生產環境為基于 Linux 的Ubuntu 系統,搭載了高性能的HTTP和反向代理網絡服務器Nginx。工控機的生產環境為 Windows 系統,搭載 Siemens TIA Portal 軟件和 KEPServerEX 工業連接平臺。生產線的 PLC 型號是西門子S7 15系列。

2 系統模塊設計

2.1 業務功能模塊設計

Laravel 框架是世界知名度較高的開源框架之一,應用于不銹鋼整卷磨生產線的主要優點是其成熟的案例模板和龐大的社區支持可快速解決編程問題,有效提高開發效率,節省開發成本[3-4]。

業務功能模塊在 Laravel 框架的基礎模型-視圖- 控制(Model-View-Controller, MVC) 架構中,添加了服務層(Service) 。服務層位于控制器和模型層中間,所有業務邏輯都封裝到相應服務層中,由控制器調用。該設計基于 Slim Model 理念,模型層只負責業務數據的表達,服務層的添加增強了模型層的細粒度,方便了后期本文系統的維護和升級。圖3為業務功能模塊接收請求流程圖。

在不銹鋼整卷磨生產線中,需要進行不間斷生產。不間斷生產是一種生產模式,生產過程中將后一卷鋼卷的頭部人工焊接到前一卷鋼卷的尾部,生產結束時進行裁切。不間斷生產的目的是節省重新穿鋼卷的時間,提高生產效率。在數據層面,某一時刻的生產線中存在兩條計劃數據,分別為開卷臺和收卷臺的計劃數據,使用收卷臺電機編碼器的轉速和鋼卷厚度換算生產的長度,以此進行生產跟蹤。收卷臺計劃生產結束的標志是鋼卷裁剪成功,該標志觸發時,收卷臺的數據上傳,開卷臺的數據寫入收卷臺,計劃緩存區的數據寫入開卷臺。

在不銹鋼整卷磨生產線中,需要按照計劃對鋼卷進行裁剪分卷。裁剪分卷需要修改鋼卷的特征標識,在數據層面需要把原計劃分解成多條獨立計劃連續下發,當第一條分卷計劃開始生產時,后續分卷計劃寫入計劃緩存區,等待裁剪成功信號。圖4為計劃管理服務開卷流程圖。

2.2 通訊模塊設計

通訊模塊基于多進程的開源 PHP 應用容器Workerman 進行開發,包含服務端和客戶端,其運行均不依賴 Nginx 服務器,進程常駐后臺。通訊模塊與MES 服務器通過建立 Socket 長連接方式進行報文通訊,與 PLC 通過 Modbus TCP 協議進行通訊。

Workerman 基于 Master-Worker 模型架構,主要包含 Master 和 Worker 兩種進程。Master 進程是主進程,只負責監控子進程,不負責接收數據也不做任何業務邏輯。監控子進程包括監控 Worker 子進程的退出、監控服務器的停止和平滑重啟等。Worker 進程是 Master 進程派生的子進程,繼承了父進程的監聽端口,可以實現業務處理,每個Worker 進程相互獨立。為了防止進程的意外關閉,安裝了 Supervisor 實現自動重啟隊列進程,Supervisor 是 Linux 系統中常用的進程守護程序。

服務端的設計在 Master-Worker 模型基礎上加入了 Gateway 進程,為Master-Worker-Gatewa 模型,主要包含三種進程,分別為 Gateway、Register 和 Busi?nessWorker。表1為進程功能明細表。

上述三類進程均受 Master 進程監控,關系如圖5 模型進程關系圖所示。當 MES 發起長連接時,Gate?way 進程監聽到端口信息并將信息傳遞給 Business?Worker 進程,BusinessWorker 進程調用業務邏輯函數進行業務處理。此外,針對常駐內存的進程在使用MySQL 數據庫時經常會遇到“ mysql gone away ”錯誤的問題,本項目使用 WorkermanMySQL 類保持連接的穩定性,避免 MySQL 數據庫服務端中斷靜置時間過長的連接[5]。

客戶端與服務端相比,主要區別為客戶端中Worker 進程啟動時,需要先借助AsyncTcpConnection 類異步建立一個到 MES 的連接對象,主動發送數據發起連接??蛻舳说慕⒒?Worker 進程,Worker 進程啟動時,異步連接到 MES 的IP 地址及端口,創建一個 TcpConnection 連接。

在本文系統與 MES 通訊中,本文系統是客戶端也是服務端,建立基于 Socket 的雙線長連接通訊鏈路,提高數據收發的效率。通訊邏輯由心跳報文、數據報文和自動應答報文三者構成。心跳報文由客戶端向服務端周期性發送,用于周期性檢測過程控制級系統與 MES 間的長連接通信狀態。數據報文由客戶端向服務端發送,包含數據內容。服務端收到數據報文后,自動應答報文由服務端向客戶端原路發送,作用是告知客戶端數據報文是否被成功接收和內容是否有效。服務端可以根據心跳報文的接收與否判斷連接狀態,客戶端可以根據數據報文發送后自動應答報文的接收情況判斷連接狀態。

本文系統共協定九條數據報文。六條發送報文分別為:生產開始報文、計劃刪除報文、產出實績報文、停機實績報文、工藝實績報文和操作應答報文。三條接收報文分別為:計劃信息報文、計劃撤銷報文和操作應答報文。其中,自動應答報文回應的是接收信息成功與否,操作應答報文回應的是接收信息后處理信息的操作成功與否。

在本文系統與 PLC 通訊中,本文系統只作為服務端。使用 Siemens TIA Portal 軟件對 PLC 進行編程,調用 TSEND_C 模塊建立客戶端發送數據。PLC 發送數據的格式與計算機中的存儲格式不同,十六位數據需要進行高八位和低八位對調循環讀取。

2.3 前端模塊設計

前端模塊使用Vue-element-admin 前端框架。該模塊為基于 Vue 系列技術和 Element-UI 開源庫的單頁面架構。Vue 是目前生產環境中使用最廣泛的 Ja?vaScript 框架之一,Element-UI 是一個桌面端用戶界面(User Interface, UI) 庫。圖6為前端模塊界面組件架構圖。

工藝實績數據的顯示存在數據量巨大的困難,本系統使用 ECharts 組件的異步請求加載、降采樣渲染和分段渲染進行解決。在不銹鋼整卷磨生產線中,一卷鋼卷生產時間可長達六小時,一個參數的完整生產周期數據達到十萬級別。前端模塊進行異步請求加載數據,結合 ECharts 組件的大數據加載方式 Ap?pendData 進行分片加載數據,使用散點圖方式渲染,禁用動畫效果,開啟 Sampling 降采樣渲染模式,更改Datazoom 的 startValue 和 endValue,進行分段渲染。圖7為實績顯示效果圖。

數據報表的導出使用 SheetJS 組件,其優點是可以直接把 JSON 數據寫入 Excel 表格,方便快捷。

2.4 數據采集模塊設計

數據采集模塊借助 KEPServerEX 工業連接平臺進行實現。在 KEPServerEX平臺中,使用 Siemens TCP/IP Ethernet 協議與西門子 S7 系列 PLC 建立連接,使用開放數據庫互連(Open Database Connectivity, ODBC) 協議與數據庫建立連接。

在不銹鋼整卷磨生產線中,使用了KEPServerEX 平臺的數據采集與數據映射功能。前者每間隔 250 毫秒采集PLC 數據直接寫入 MySQL 的數據表,后者分別把 PLC 中的數據與MySQL 中的數據建立標簽,通過標簽進行數據映射,實現數據源的數據變動時對應的標簽數據實時變動的效果。在數據庫設置讀取表與寫入表進行數據交互。圖8為數據映射原理圖。

3 測試與應用

本文系統的測試使用了 Wireshark 軟件監聽報文信息,使用了 Apifox 軟件管理接口文檔和調試服務器請求接口。測試后響應用戶需求,把部分登錄賬號的令牌(Token) 有效時限延長到一周,避免了生產中煩瑣的登錄行為。

本文系統實際運行界面如圖9系統實際運行圖所示,已成功于廣東省某不銹鋼整卷磨生產線試運行三個月。運行結果表明,本文系統穩定性較高,能以較低成本有效解決質量跟蹤與局部生產管控問題,提高生產效率,該系統方案是一種有效的信息化建設方案。

4 結束語

本文提出了一種應用于不銹鋼整卷磨生產線的數據采集與過程控制系統,并以總分結構對系統的主要設計進行了闡述。詳細闡述了基于Laravel 框架的業務功能模塊設計和基于 Workerman 應用容器的通訊模塊設計,簡單闡述了基于 Vue-element-admin 框架的前端模塊設計和基于KEPServerEX 工業連接平臺的數據采集模塊設計。

本文系統能有效解決不銹鋼整卷磨生產線的工業信息化建設成本較高的問題,解決質量跟蹤與局部生產管控問題,提高生產效率和信息化程度,可推廣應用于相似生產線,具有一定工程遷移價值和借鑒意義。后續的研究方向是使用開源協議編程升級數據采集模塊,避免 KEPServerEX 工業連接平臺的費用支出,進一步降低工業信息化建設成本。

【通聯編輯:梁書】

猜你喜歡
過程控制數據采集不銹鋼
80t不銹鋼GOR底吹轉爐工藝設備改造
你知道不銹鋼中“304”的含義嗎
不銹鋼微鉆削的切屑形成與仿真分析
基于廣播模式的數據實時采集與處理系統
通用Web表單數據采集系統的設計與實現
基于開源系統的綜合業務數據采集系統的開發研究
互聯網+背景下數學試驗課程的探究式教學改革
創新管理,完成鞍鋼自主集成的冷軋2130工程生產線
OCr18Ni9不銹鋼的微小孔鉆削
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合