info
直播將重點介紹針對新能源電池包內小型連接器的壓接方案,給電池生產商帶來高質高效的壓接新體驗
PTC
行業動態
MORE...
應用案例
MORE...
技術前沿
MORE...
當前位置:首頁 行業資訊 正文
「智」造未來|DELMIA Apriso Process Builder在博格華納項目中的應用
達索系統 :  zaoche168.com   2023年08月28日

在科技日新月異的當下,我們身旁的一切無時無刻不在發生著變化。大數據和高級分析、機器人和自動化、人工智能和虛擬現實,這些技術的融合及發展成熟,催生出了工業4.0。制造企業面臨著機遇和挑戰,達索系統的DELMIA Apriso為企業轉型提供了良好的解決方案,它是一個全球制造平臺,具有高柔性、高效率的流程設計,易于配置的多系統集成接口,內置了豐富的標準BC及開發控件,開箱即用的功能可以通過GPM包在各個工廠導入使用。

 

 

技術架構如下:

 

 

Process Builder的應用

工欲善其事必先利其器。Process Builder是低代碼平臺,通過項目導入,配置數據庫及SAP連接,即可實現系統登錄(可配置賬號密碼或單點登錄)。登錄進系統后,進行主數據配置,主數據是生產、質量、倉儲、設備、人力勞資五大功能的基礎數據,包括組織結構(工廠、部門、產線、工作中心、設備)、角色維護、雇員維護、權限維護、產品維護、打印機等維護。定制化開發過程使用BPM可視化界面,并且可以調用標準BC簡化工作。Process Builder中的大部分功能都包含了數據配置和定制化開發兩項工作,下面分別以數據采集、成品報工兩個功能做詳細論述。

 

數據采集

數據采集是MES系統最基礎,也是最重要的一個功能。項目實施過程往往把數據采集作為首要工作來做,博格華納是通過PLC-Connect(博格華納自建自動化產線通訊系統)將產線設備的PLC數據轉化成結構化數據發送給MES。

 

01  數據配置

接口開發首先需要完成雇員、設備、產線、產品、工作中心等主數據的配置,由于這些數據都是動態維護的,可以滿足用戶日后自主改擴線的需求。登錄DELMIA Apriso Desktop Client,在查找屏幕中輸入“雇員維護”,打開雇員列表,列表中可以增、刪、改、查操作,具體維護明細如下圖:

 

 

其他主數據都是按照這個方式進行配置。

 

02  定制化開發

接口定制化開發沒有用戶頁面,都是后臺的處理邏輯,Process Builder的流程處理基于BPM框架,通過可視化的箭線連接各個節點完成業務邏輯處理。

 

 

外形上是不是有點與當年火遍一時的微軟workflow產品相似,功能卻要比workflow強大的多。開發流程就與平時繪制流程圖一樣,所見即所得。在以后發生變更處理時,只要在兩個節點之間新增或移除節點,實現快速響應需求的變更。這也是Apriso產品最具亮點、最具吸引力的地方。下面是過站的部分處理邏輯:

 

 

流程中的Cycle開始和結束、物料消耗、質量數據上傳都包含一個子流程,業務邏輯復雜,處理速度慢,而這些操作不需要立即返回結果,把它們設置為異步操作。通過異步的設置,提高了接口并發處理數據的能力。

 

接口開發中使用了大量標準Business Component,以提高系統的通用擴展性。Business Component是管理單個業務概念的功能單元。業務邏輯封裝在實體中,可以直接集成到流程或標準操作中。一個BC組件包括用途和描述、參數信息、驗證、受影響的數據庫表及列四部分內容。使用時,從工具箱拖拽一個BusinessComponent組件到操作中,會立即彈出一個可供篩選的BC下拉列表,選中需要的組件,標題會自動使用BC名稱生成,也可以自定義修改。

 

 

 

GetSequences業務組件的目的是為任何需要系統生成的字母或數字范圍的地方獲取序列號。它用于生成一個唯一的序列名稱,然后將其傳遞給函數,根據需要可以添加前綴,后綴或函數應用等選項,返回范圍內的下一個序列。在返回范圍內的下一個序列之前,將驗證SEQUENCE_表中是否存在記錄。找不到記錄,則返回報錯信息。

 

 

 

CreateSerial業務組件的目的是創建一個可以在應用程序中使用的SerialNo。創建的序列號既可以用于生產,也可以用于倉庫。它將ProductID和序列號組合,生成SERIAL_NO表的一條記錄。在插入SERIAL_NO表之前,將驗證產品是否存在,并且產品是否被串行跟蹤。如果是批量跟蹤,則提供并驗證批次。還會確認生成的序列號是否存在。

 

ConvertToUTCTime方法可以實現本地時間轉換成UTC時間,只要傳入需要轉換的時間,時區默認,就可以輸出UTC時間。系統之間存在時區差異,轉換UTC存儲后,系統數據實現了全球化。

 

 

其他的BC還有綁定和解綁托盤,解綁序列號,扣減庫存,獲取機器設備速度和狀態等。在使用BC一定要先查看BC說明文檔,文檔既可以精確查找,也可以按照類型查找不同分類的BC。只有清楚了解BC功能,系統校驗邏輯和處理邏輯,以及影響的數據庫表,才能事半功倍。

 

每個業務組件至少影響一個數據庫表,業務組件完全依賴數據模型。使用業務組件的前提需要對數據庫非常熟悉。Apriso官方提供了數據庫文檔資料,文檔中可以按照類別查找相關表,也可以精確搜索。

 

 

每個業務表都包含表的用途說明,列描述,狀態值描述,主外鍵,索引等信息。通過表列中的最后Links可以查看表之間的關系,關聯表時以這些列作為關聯條件。每個數據庫表都會有一部分相同的列:LASTUPDATEON、LASTUPDATEDBY、CREATEDON、CREATEDBY用于顯示記錄是由誰在什么時間創建或更新的列,時間在插入時會以UTC存儲;ACTIVE用于標志記錄是否處于活動狀態,在做刪除操作時不用做物理刪除;ROWVERSIONSTAMP記錄當前的版本,用于并發驗證;TextID用于鏈接到Text表,實現表中數據的轉義顯示。

 

 

成品報工

成品報工是將產成品掃碼裝箱,將結果同步到SAP,并打印標簽轉運到倉庫準備發貨的過程。

 

01  數據配置

成品報工主要有產品截碼規則、報工臺、打印機等的配置。登錄DELMIA Apriso Desktop Client,在查找屏幕中輸入“成品報工校驗規則維護”,具體配置截圖如下:

 

 

點擊新增按鈕,增加一個空白行,輸入成品編號,序列號格式(X表示任意一位字符,N表示任意一位數字),序列號長度,截碼標記符,截取長度,截取開始位,截取結束位。

 

02  定制化開發

成品報工需要有生產操作員的交互頁面,生產操作員通過選擇工單、產線、報工工位,打印機。系統自動檢索出該產品的最大裝箱數,已報工數。當掃碼達到最大包裝數,則系統將新生成的HU連同報工信息同步到SAP系統,SAP系統將處理結果返回到MES系統,MES系統如果收到成功信息,則打印出標簽,現場生產操作員封箱發給倉庫準備發貨。

 

 

先創建一個框架,劃分成三部分,上面是輸入區控件有下拉框、文本框;下面等分成左右兩塊的Grid控件,左面是掃描槍掃入的序列號列表,右邊是滿箱自動提交或手動觸發的SAP返回信息列表。

 

文本框和下拉框的標題需要定義成數據字典,數據字典可以實現多語言顯示功能,在不同的語言設置下,顯示字典中維護的內容。以后需要修改標題,不需要再修改代碼發布程序,只要登錄DELMIA Apriso Desktop Client,在查找屏幕中輸入“字典翻譯”,搜索需要修改的標題項,修改在不同語言環境下需要顯示的內容。如下圖,客戶端在中文環境下運行頁面,顯示“生產訂單號”;客戶端在英文環境下運行頁面,則顯示“WipOrderNo”。

 

 

下拉列表的內容值定義成系統參數,系統參數可以是常量,靜態列表,也可以是一個查詢SQL,動態從數據庫表中取值。以后需要修改下拉列表值,同樣不需要再修改代碼發布程序,只要登錄DELMIA Apriso Desktop Client,在查找屏幕中輸入“系統參數”,搜索需要修改的參數項,修改其中對應值,重新打開客戶端頁面,就可以看到新維護的值。

 

下面的列表使用的是grid控件,在工具箱中拖拽Business Controls在操作中,或直接復制鏈接PortalGrid,新生成一個列表。Process Builder提供了豐富的工具箱控件,在流程設計中可以直接拖拽使用。

 

 

Grid包含兩部分,運行時的顯示,后端的配置。配置頁有三個標簽,數據查詢、屬性、權限設置。在查詢中輸入SQL語句,點擊Execute按鈕,下面列表顯示的內容就是要在頁面中加載的內容。屬性中可以對整個表格設置標題,樣式等;還可以對每一列做具體顯示設置,是否顯示,顯示寬度,顯示格式,是否變色等;表格上面可以設置按鈕列,按鈕操作的執行事件可以是同步也可以是異步的。在權限設置中,可以按用戶角色設置按鈕的是否顯示。

 

前端頁面中的序列號是通過掃碼槍輸入,掃碼速度特別快。這個功能很容易出現兩個問題:第一個頁面掃碼輸入框沒有反應,掃不進來序列號;第二個丟碼問題。這兩個問題的根本原因是處理速度慢,實際業務場景是每個序列號都需要經過截碼,跨不同數據庫做數據規則校驗,達到條件還需要與SAP系統接口同步,最終結果輸出打印機。在做性能優化基礎上,最好的處理方式是做異步提交,每掃一個序列號異步調用后端一個操作。因為現場操作員并不關心每個序列號處理的返回結果,掃碼過程并不看電腦屏幕,將一個批次全部掃完,才查看所有件的掃碼結果,這個實際的業務操作完全符合每次掃碼的異步提交。

 

異步操作是通過HTML Layout Editor實現,這個面板中可以通過編寫html生成頁面,JavaScript面板中編寫JS事件,CSS面板中設置控件的樣式。Apriso中的控件不能通過ID獲取,只能通過Class獲取。

 

 

丟碼問題是比較普遍的問題,事實上有不少同業者被這個問題困擾,因做成了異步的處理方式,很難實現代碼跟蹤,也就不知道問題出現在哪里。這個問題通過分析后端的操作,在可能出現問題的節點處增加日志輸出,然后分析日志,其結果也就與調試模式下擁有同樣的效果,整個操作的處理步驟由此清晰可見。Apriso中的所有操作都是事務的,這樣能有效地保證數據庫表中數據的一致性,所以就會有明明有插入表的操作,而表中沒有新增數據,這是出現了異常錯誤,導致整個提交做了事務的回滾。

 

與SAP系統的握手是一個通用模塊開發,Apriso內置封裝了SAP BC功能,只需要配置好BC連接憑證就可以與SAP BC通過通用xml格式做數據交互。兩個系統都在實時監控SAP BC的一個叫IDOC的容器,只要偵聽到新文件存入,就觸發相應的操作,將對方系統字段根據提前配置好的Mapping文件,映射成本系統所需要的字段,實現兩個系統的快速交互,整個交互過程的性能表現確實是很好的。成品報工是由MES系統發起,將新的HU和工單等信息輸出xml文件,Apriso的相應文件目錄下要提前將xml文件轉換成XSD文件、XLST文件和MFD文件。這樣就將MES系統輸出的xml文件轉換成了提前約定好的SAP系統所需要的文件,存入到IDOC中。SAP系統接收到文件做數據處理后,將處理結果以同樣方式輸出到IDOC,MES系統監控到文件立即調用后端的指定操作,將數據做序列化處理,并以結構化數據存儲。這里推薦三個工具,xmlLinguist(把CSV,DAT等平文件,轉換為自定義結構的XML文件。)、XMLSpy(把CSV,DAT等平文件,轉換為自定義結構的XML文件。)、MapForce(根據不同格式XML文件的定義文件(XSD)作結構轉換的工具,XSD源文件與目標文件的字段做映射。)。經過實踐證明,如果不是特別熟練,手動創建這些文件還是比較繁瑣的,而利用工具會使工作簡化從而提升效率,也減少了錯誤的發生。

 

總結

低代碼思想已經有近20多年的發展歷程,早期出現過以易語言為代表的開發語言工具變革,經過大量的業務和技術積累,封裝出了許多BC組件,后期逐漸發展為產品化平臺。Apriso Process Builder無疑是一款比較成熟的產品,為企業信息化建設提供良好的解決方案,從系統的考量標準(健壯性、可擴展性、可維護性)來看,它滿足所有技術指標,并在后期可持續開發上表現尤為突出。

 

產品的成長一定要有一個迭代過程,Apriso Process Builder流程是事務的,在異步并發情況下會出現鎖表、存儲表主鍵沖突等問題,可以通過異常處理機制規避事務回滾。如果能將是否執行事務做成可選項,應該會更便于開發操作??傮w上Apriso Process Builder優勢是明顯的,我們期待它越來越完善,越來越好,能夠助力中國制造業高質量可持續發展。

 

關于上海江達

上海江達是達索系統的合作伙伴,專注于制造業、基礎設施和生命科學領域的數字化轉型及創新的咨詢和實施服務,擁有兩百余人的專家顧問實施團隊和二十多年的項目經驗。具備汽車、工業裝備、建筑、能源、材料、高科技電子、醫療裝備、航空航天、船舶、消費品包裝等多個行業的應用案例和最佳實踐。運用數字化創新手段,助力企業成就未來!

国产精品艾草在线观看|欧美一区二区精品性色|锦绣民国下载久久小说网|自拍偷自拍亚洲精品被多人伦好爽