嚴利強,沈琦琦,王榮揚
(1 湖州職業技術學院機電與汽車工程學院 浙江 湖州 313000)
(2 湖州市機器人系統集成與智能裝備重點實驗室 浙江 湖州 313000)
近年來制造業對技術數據共享的要求與日俱增,而在法蘭焊接實施過程中,工藝參數的選擇和設置依舊靠工人的工作經驗確定,不僅工作量大、科學程度低,焊接質量還難以保證[1]。因此企業內部對制定焊接標準以及焊接技術數據的共享十分迫切。為滿足上述要求,實現法蘭焊接數字信息化,讓整個企業,甚至是企業之間的法蘭焊接工藝信息集成與共享,形成綜合焊接數據網絡[2]。這就需要設計出一種能夠在工業環境中運行,且性能可靠、造價合理的數字化專家焊接系統[3-4]。
ABP 是ASP.NET Boilerplate 的簡稱,是一個最佳實踐的基于領域驅動設計(Domain-Driven Design)的體系框架[5]。該框架是一種針對復雜需求的軟件開發方法,它將軟件實現與發展的模型聯系起來,專注于核心領域邏輯,而不是基礎設施細節。本文設計一種基于ABP 框架的數字化法蘭焊接系統,運用ABP 框架的核心在VS2019 平臺上利用C#語言進行系統軟件開發,將所有的焊接工作站視為一個局域網,不同權限的用戶可通過電腦客戶端從服務器端獲取相應的焊接工藝參數,并導入至焊接工作站相應的設備,也可對工廠里所有焊接工作站的工作狀態進行監控,高效地解決了法蘭焊接過程存在的上述問題。整個數字化法蘭焊接系統總體架構圖如下圖1所示。

圖1 數字化法蘭焊接系統總體架構圖
數字化法蘭焊接系統由客戶端和服務器端兩部分組成,該系統總體架構如圖1所示。其中客戶端又分PC 應用端和Web 客戶端。
PC 應用端面向進行焊接操作的普通用戶,用來獲取法蘭焊接所需的各類工藝參數,并導入相應的焊接設備。
Web 客戶端面向數字化焊接系統的管理員用戶,主要進行用戶權限管理和焊接工藝參數管理。
服務器端通常為云服務器提供API 服務,主要為數字化法蘭焊接系統的客戶端提供業務邏輯、數據處理等服務。
客戶端和Web 服務器通過HTTP 協議進行通信。Web 服務器有時也叫HTTP 服務器或Web 容器。HTTP 協議采用的是請求/響應模式。即客戶端發起HTTP 請求,Web 服務器接收并解析處理HTTP 請求,然后將HTTP 響應發送給客戶端。
HTTP 協議全稱Hypertext Transfer Protocol 超文本傳輸協議,是一種建立在TCP 上的應用層協議,整個工作流程基本是由客戶端(client)向服務器端(server)發送一個HTTP 請求,向服務器端請求需要的資源,服務器端收到客戶端的請求后,根據請求做出相應的動作訪問服務器資源,然后通過HTTP 相應將結果返回給客戶端[6-7]。以Web 客戶端訪問服務器為例,用戶先在瀏覽器的地址欄里輸入域名,由DNS 將其解析為IP 和端口;通過TCP 的三次握手與服務器建立連接;接著瀏覽器向服務器發送報文;服務器收到報文后處理請求;再將響應發給瀏覽器,瀏覽器收到服務器的響應,解析報文,渲染出頁面;整個過程如下圖2所示。

圖2 HTTP 請求過程
應用層:決定了向用戶提供應用服務時通信的活動。
傳輸層:提供處于網絡連接中的兩臺計算機之間的數據傳輸。
網絡層:網絡層用來處理在網絡上流動的數據包。數據包是網絡傳輸的最小數據單位。該層規定了通過怎樣的路徑(所謂的傳輸路線)到達對方計算機,并把數據包傳送給對方。
鏈路層:用來處理連接網絡的硬件部分。包括控制操作系統、硬件的設備驅動、NIC(Network Interface Card,網絡適配器,即網卡)及光纖等物理可見部分(還包括連接器等一切傳輸媒介)。硬件上的范疇均在鏈路層的作用范圍之內。
系統包括:用戶權限管理模塊、法蘭規格管理模塊、機器人管理模塊、電焊機管理系統、焊槍管理模塊、焊接工藝參數管理模塊,具體內容如下:
(1)用戶權限管理模塊。該平臺的角色主要有三種:普通用戶、管理員、超級管理員。普通用戶角色的功能有個人信息管理、查閱法蘭焊接相關說明和獲取法蘭焊接工藝參數[8]。管理員的角色功能除了具備普通用戶的功能外,還擁有普通用戶管理的功能。超級管理員的功能主要是法蘭焊接工藝參數的管理和管理員的管理。
(2)法蘭規格管理模塊。法蘭規格的增加、刪除、修改、查詢。
(3)機器人管理模塊。機器人類別的增加、刪除、修改、查詢。
(4)電焊機管理模塊。電焊機類別的增加、刪除、修改、查詢。
(5)焊槍管理模塊。焊槍類別的增加、刪除、修改、查詢。
(6)焊接工藝參數管理模塊。該系統管理各類別的機器人、焊槍、焊機對應法蘭焊接的工藝參數如焊接電壓、焊接電流、焊接速度、送絲速度、焊絲直徑、焊絲干伸長度、氣體流量等。
用戶打開系統首頁,輸入用戶名和密碼進行登錄,系統根據用戶的權限彈出相應的頁面。其中呈現給普通用戶的頁面,如果是首次登錄的用戶,則顯示用戶向導操作;否則用戶可直接設置焊接機器人的品牌、型號,焊接的品牌、型號,焊槍的品牌、型號,以及法蘭的規格,從而獲取相應的焊接工藝參數。普通管理員的頁面顯示普通焊接用戶的相關信息如姓名、部門、權限使用時間等,可對已有用戶的焊接權限功能進行修改。超級管理員的頁面有兩大選項:管理員權限管理和焊接工藝參數管理,每一個管理界面都有增刪查改功能,詳見圖3。

圖3 系統操作流程
在實際數據庫設計中,既要盡量滿足三大范式[9],從而避免數據冗余和各種數據庫的操作異常,同時也要考慮數據的訪問性能。有時候,為了提高數據庫的訪問效率,適當地允許少量冗余數據的存在。本系統數據庫采用Sql Server 2008 R2 數據庫進行設計和建表,共設計了11 張表格,并確定了表與表之間的關系,其中圖4為用戶權限數據關系圖,圖5為焊接工藝參數關系圖。

圖4 用戶權限數據關系圖

圖5 焊接工藝數據關系圖
本項目程序采用領域驅動設計開發,在保持多層架構優勢前提下,具備軟件的可維護性和可擴展性。其主要分為展現層、應用層、領域層、持久化層、基礎設施層(見圖6)。各層相互獨立各司其職,具體如下:

圖6 程序架構圖
表現層:系統和用戶的交互層。負責接收用戶的輸入如用戶名和密碼以及焊接工藝所需的設備參數、并將輸出內容呈現給用戶,同時驗證數據的正確性和有效性。
應用層:該層不包含任何領域邏輯,它主要用來對任務進行協調,它構建了表現層和領域層的橋梁。對應一個具體的業務,指揮領域對象來解決問題,包含應用服務接口、數據傳輸對象、映射、異常、行為和業務邏輯。
領域層:系統的核心,負責具體的業務概念、狀態、規則等信息。該項包含實體、值對象、領域服務、領域事件、領域對象模型、規約、倉儲接口等。
持久化層:為整個項目提供一個銜接高低層、統一、安全和并發的數據持久機制,完成對各種數據庫進行的持久化的編程工作,并為系統業務邏輯提供服務。
基礎設施層:提供整個焊接系統的基礎服務,存放一些公共的基礎類庫和組件,如Code First、EF Core、工具類、日志記錄、異常處理、數據驗證等。
數字化法蘭焊接管理系統登錄首頁界面如下圖7所示,用戶輸入賬號和密碼訪問服務器,系統根據用戶的權限ID 返回相關數據并在客戶端顯示相應的界面。以普通用戶為例,呈現給用戶為焊接操作說明選項和焊接工藝參數獲取功能選項,如下圖8所示的獲取法蘭焊接工藝參數的設置頁面。用戶根據下拉列表選擇與焊接現場一致的法蘭型號,機器人、焊槍以及焊機的品牌型號,從服務器端查詢法蘭焊接對應的工藝參數。

圖7 數字化法蘭焊接管理系統登錄首頁

圖8 普通用戶獲取工藝參數的操作界面
超級管理員的工藝參數管理頁面與普通用戶的工藝參數獲取頁面類似,區別在于前者對參數可讀可寫,后者只能進行讀取。此外,超級管理員具有所有人員管理的權限,能夠預覽本系統內所有人員的相關信息,同時可對普通用戶和管理員的權限進行調整甚至收回,如下圖9所示。

圖9 超級管理員的權限管理頁面
大數據時代,數據成為關鍵生產要素和重要戰略資源。因此,構建企業乃至行業的大數據平臺,打破信息孤島,加快數據共享,對企業生產經營起著至關重要的作用。本文以數字化法蘭焊接系統為背景,采用領域設計架構模式進行軟件設計開發,由法蘭焊接領域專家和軟件設計開發人員共同建立領域模型,降低了整個焊接系統的復雜性,極大地提高了系統的可擴展性和可維護性。