SQL數(shù)據(jù)庫和事務(wù)管理器在工業(yè)生產(chǎn)中的應(yīng)用
本文介紹了關(guān)系數(shù)據(jù)庫在工業(yè)生產(chǎn)中的應(yīng)用以及如何使用事務(wù)管理器將生產(chǎn)參數(shù)下載到PLC,以簡化OT/IT融合過程。
一 什么是配方(Recipe)
我們以一家汽車零件制造商的應(yīng)用舉例,該企業(yè)專業(yè)從事汽車輪轂生產(chǎn)制造。假設(shè)該輪轂的型號是“高級鎂合金”,而關(guān)于其制造方式的描述則有多達(dá)數(shù)千個參數(shù),例如尺寸、顏色、鉆孔位置、孔的大小、輪轂輻條等等,這就是所謂的配方(Recipe)。
如果客戶訂購“黑色高級鎂合金”或“灰色高級鎂合金”,則其配方都會有所不同。因為配方是一組參數(shù)的集合,而這些數(shù)據(jù)的值是不固定的,并會根據(jù)生產(chǎn)線或客戶訂單進(jìn)行調(diào)整。與用于執(zhí)行重復(fù)任務(wù)的傳統(tǒng)PLC的靜態(tài)數(shù)據(jù)相比,這些可根據(jù)生產(chǎn)需求而實(shí)時變化的數(shù)據(jù)更為復(fù)雜。
配方不僅是一組參數(shù)的集合,還是處理復(fù)雜數(shù)據(jù)的一個優(yōu)秀工具。然而,對于PLC而言,配方是以什么形式提供?答案是一張表格(如圖1)。對于該輪轂制造示例,表格的每一行是一個配方,每一列都有配方的參數(shù):油漆類型(PAINTTYPE)、油漆級別(PAINTLEVEL)等。
圖1 通過配方,這種表格形式的參數(shù)集合,可以很好地處理復(fù)雜數(shù)據(jù)。而PLC在處理表格數(shù)據(jù)方面則面臨了一些挑戰(zhàn),對此可使用SQL數(shù)據(jù)庫來處理這種復(fù)雜數(shù)據(jù)。
為什么PLC在處理表格數(shù)據(jù)時會面臨一些挑戰(zhàn)?因為PLC的內(nèi)存和性能是經(jīng)過優(yōu)化的,專門用于處理簡單數(shù)據(jù):生產(chǎn)流程、移動機(jī)器、移動產(chǎn)品、制造產(chǎn)品,而處理復(fù)雜數(shù)據(jù)則需更多內(nèi)存,PLC難以滿足——在PLC中,內(nèi)存是相當(dāng)珍貴的。
那么,什么平臺能夠很好地處理復(fù)雜的表格數(shù)據(jù)并減輕PLC的負(fù)擔(dān)和風(fēng)險呢?——SQL數(shù)據(jù)庫。
二 SQL數(shù)據(jù)庫的功能
什么是SQL數(shù)據(jù)庫?您可將其想象為一張表格,而且您很可能已經(jīng)擁有這樣一個表格——您的IT部門經(jīng)理或許已使用企業(yè)SQL數(shù)據(jù)庫以在整個組織中共享信息(如圖2)。因為企業(yè)需要在整個公司范圍內(nèi)共享信息,而SQL數(shù)據(jù)庫正是為此而設(shè)計的。
例如,當(dāng)接收到新訂單后,該訂單將被存入SQL數(shù)據(jù)庫中。如果銷售經(jīng)理想要一份銷售報告,他可從SQL數(shù)據(jù)庫中獲取該報告;如果生產(chǎn)部門需生產(chǎn)該訂單產(chǎn)品,他們可從SQL數(shù)據(jù)庫中獲得訂單的詳細(xì)信息。此外,在零件生產(chǎn)完成后,其性能、質(zhì)量等指標(biāo)均可被存儲在SQL數(shù)據(jù)庫中。通過從SQL數(shù)據(jù)庫中提取這些指標(biāo)并分析數(shù)據(jù)之間的關(guān)系,可生成報告并優(yōu)化生產(chǎn)流程。
圖2 公司使用企業(yè)SQL數(shù)據(jù)庫在整個組織中共享信息。(圖片來源:https://www.youtube.com/watch?v=s4BwNbnsjm0)
SQL數(shù)據(jù)庫經(jīng)過安全優(yōu)化,可嚴(yán)格限制數(shù)據(jù)存儲與讀取權(quán)限,因此只有經(jīng)過批準(zhǔn)的用戶才能訪問某些數(shù)據(jù)。SQL數(shù)據(jù)庫運(yùn)行在功能強(qiáng)大的PC服務(wù)器上,這些設(shè)備往往具有大內(nèi)存、大存儲等特點(diǎn),不僅支持冗余、故障轉(zhuǎn)移等功能,而且還支持從多個位置訪問,以確保整個公司始終處于在線狀態(tài)。
一般情況下,您可能會將配方或生產(chǎn)關(guān)鍵績效指標(biāo)(KPIs)和質(zhì)量參數(shù)直接以常數(shù)的形式存儲在PLC中,然而,PLC是專門處理業(yè)務(wù)邏輯的設(shè)備,若使用PLC來處理復(fù)雜數(shù)據(jù),則將導(dǎo)致其性能達(dá)到極限,容易出現(xiàn)故障,發(fā)生計劃外的中斷。對此,您完全可利用工廠中現(xiàn)有的這些服務(wù)器和數(shù)據(jù)庫,來減輕PLC的重負(fù)。
如何充分利用這一龐大資源——企業(yè)SQL數(shù)據(jù)庫或設(shè)施中已有的其他數(shù)據(jù)庫來減輕PLC的負(fù)擔(dān)?接下來我們將從以下這三個方面來進(jìn)行闡述:準(zhǔn)備PLC、準(zhǔn)備SQL數(shù)據(jù)庫和準(zhǔn)備事務(wù)管理器。
| 準(zhǔn)備PLC
您需要在PLC中做一些準(zhǔn)備工作,而無需在PLC中創(chuàng)建常數(shù)配方,比如,在您的PLC中有1000個常數(shù)×10種不同的車輪類型,您需要將這些常數(shù)更改為在PLC中的變量或用戶定義數(shù)據(jù)類型(UDTs),用于存放從SQL數(shù)據(jù)庫下載的配方,這樣您將擁有一個邏輯代碼庫。當(dāng)需要制造不同的零件時,您可從SQL數(shù)據(jù)庫中下載新的配方到PLC,且這些新建的變量都將自動更新。
您如何更新PLC中的這些變量來制造10種輪轂中的任意一種呢?——這便需要發(fā)揮SQL數(shù)據(jù)庫的作用。您可把1000個常數(shù)乘以10個車輪的數(shù)據(jù)存儲在一個SQL數(shù)據(jù)庫表中,并僅在需要時,才將SQL數(shù)據(jù)庫中的數(shù)據(jù)下載到PLC,由此您的數(shù)據(jù)庫服務(wù)器和事務(wù)管理器將承擔(dān)存儲和響應(yīng)信息請求的任務(wù),而PLC只需在讀取到數(shù)據(jù)后進(jìn)行它所擅長的邏輯控制處理即可。
如何準(zhǔn)備企業(yè)SQL數(shù)據(jù)庫呢?這就需要由工程師來引導(dǎo)管理SQL數(shù)據(jù)庫的IT部門經(jīng)理進(jìn)行接下來的操作。以下將介紹IT部門經(jīng)理需操作的內(nèi)容。
| 創(chuàng)建SQL關(guān)系數(shù)據(jù)庫
您的配方將存儲在所謂的關(guān)系數(shù)據(jù)庫中。為了讓您的IT部門經(jīng)理在SQL數(shù)據(jù)庫中創(chuàng)建合適的表格,您需要向他/她提供三條信息:1)表頭;2)配方名稱;3)配方數(shù)據(jù)(如圖3)。
圖3 為了讓IT經(jīng)理創(chuàng)建SQL數(shù)據(jù)庫,您需要向IT經(jīng)理提供三部分信息:表頭、配方名稱和配方數(shù)據(jù)。
表頭位于每一列的頂部,其只是您數(shù)據(jù)的一個簡短描述或說是一個列標(biāo)題。如果您使用Microsoft Excel作為建立模板的工具,則可從定義電子表格中的表頭開始,然后將其放在每一列的頂部。
在SQL數(shù)據(jù)庫中,每一行被稱為一條記錄(Record)。配方名稱放在每一行的第一個單元格中,如圖2所示。如果您有10個配方,那您將有10行或說10條記錄。
為什么稱之為記錄?在關(guān)系數(shù)據(jù)庫中,我們有四個主要的任務(wù):插入(Insert)記錄、選擇(Select)記錄、更新(Update)記錄和刪除(Delete)記錄。
在我們的例子中,由于我們要從數(shù)據(jù)庫里獲取配方并將配方下載到PLC中,因此我們將使用“Select”命令。在您的配方電子表格中,需將配方名稱放在每一行的第一個單元格中,最后需填寫您的配方電子表格數(shù)據(jù)。這意味著,對于每個配方,您都要填寫每一列的常數(shù)數(shù)據(jù)。至此,您的電子表格已包含有配方名稱、列描述和數(shù)據(jù)——而這就是IT經(jīng)理構(gòu)建SQL表格所需的全部信息。
目前,我們已引導(dǎo)您完成了最難的部分——SQL數(shù)據(jù)庫模板構(gòu)建過程。SQL數(shù)據(jù)庫的另一個極其實(shí)用的應(yīng)用是“Insert”命令,而這恰好也是最容易使用的命令,因為無需修改PLC程序。通過使用“Insert”命令,我們可將PLC的值上傳到數(shù)據(jù)庫中?!癐nsert”主要用于在SQL數(shù)據(jù)庫中存儲PLC變量,例如,當(dāng)我們需要查看KPI(關(guān)鍵績效指標(biāo))或產(chǎn)品質(zhì)量時,可將這些變量上傳到SQL數(shù)據(jù)庫中。
在PLC標(biāo)簽和SQL表格被創(chuàng)建后,如何在PLC和SQL數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)的雙向傳輸?如何將配方從SQL數(shù)據(jù)庫下載到PLC?對此,可通過使用事務(wù)管理器來輕松解決。
| 準(zhǔn)備事務(wù)管理器(Transaction Manager)
事務(wù)管理器有什么作用?如果您需要下載一個配方到PLC,則可使用“Select”命令,從SQL數(shù)據(jù)庫中獲取配方......
請點(diǎn)擊此處,查看剩余30%精彩內(nèi)容!
| 往期回顧
? Softing dataFEED OPC Suite:輕松應(yīng)對工業(yè)4.0數(shù)據(jù)通信挑戰(zhàn)
? Softing echocollect e:連接OT和IT的多協(xié)議工業(yè)網(wǎng)關(guān)
提交
LinkXpert系列:可輕松進(jìn)行LAN網(wǎng)絡(luò)測試的多功能便攜設(shè)備
機(jī)器連接和邊緣計算?,知多少?
容器化軟件應(yīng)用簡化傳統(tǒng)設(shè)備的連接
Softing smartLink產(chǎn)品系列“新成員”支持訪問PROFINET網(wǎng)絡(luò)
Softing線上研討會 | 數(shù)字化工廠資產(chǎn)管理的設(shè)備連接方案——挖掘智能現(xiàn)場設(shè)備的潛力!