工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

SQL數(shù)據(jù)庫(kù)和事務(wù)管理器在工業(yè)生產(chǎn)中的應(yīng)用

SQL數(shù)據(jù)庫(kù)和事務(wù)管理器在工業(yè)生產(chǎn)中的應(yīng)用

2024/3/18 15:41:31

本文介紹了關(guān)系數(shù)據(jù)庫(kù)在工業(yè)生產(chǎn)中的應(yīng)用以及如何使用事務(wù)管理器將生產(chǎn)參數(shù)下載到PLC,以簡(jiǎn)化OT/IT融合過程。

 什么是配方(Recipe)

我們以一家汽車零件制造商的應(yīng)用舉例,該企業(yè)專業(yè)從事汽車輪轂生產(chǎn)制造。假設(shè)該輪轂的型號(hào)是“高級(jí)鎂合金”,而關(guān)于其制造方式的描述則有多達(dá)數(shù)千個(gè)參數(shù),例如尺寸、顏色、鉆孔位置、孔的大小、輪轂輻條等等,這就是所謂的配方(Recipe)

如果客戶訂購(gòu)“黑色高級(jí)鎂合金”或“灰色高級(jí)鎂合金”,則其配方都會(huì)有所不同。因?yàn)榕浞绞且唤M參數(shù)的集合,而這些數(shù)據(jù)的值是不固定的,并會(huì)根據(jù)生產(chǎn)線或客戶訂單進(jìn)行調(diào)整。與用于執(zhí)行重復(fù)任務(wù)的傳統(tǒng)PLC的靜態(tài)數(shù)據(jù)相比,這些可根據(jù)生產(chǎn)需求而實(shí)時(shí)變化的數(shù)據(jù)更為復(fù)雜。

配方不僅是一組參數(shù)的集合,還是處理復(fù)雜數(shù)據(jù)的一個(gè)優(yōu)秀工具。然而,對(duì)于PLC而言,配方是以什么形式提供?答案是一張表格(如圖1)。對(duì)于該輪轂制造示例,表格的每一行是一個(gè)配方,每一列都有配方的參數(shù):油漆類型(PAINTTYPE)、油漆級(jí)別(PAINTLEVEL)等。

01.jpg

圖1 通過配方,這種表格形式的參數(shù)集合,可以很好地處理復(fù)雜數(shù)據(jù)。而PLC在處理表格數(shù)據(jù)方面則面臨了一些挑戰(zhàn),對(duì)此可使用SQL數(shù)據(jù)庫(kù)來處理這種復(fù)雜數(shù)據(jù)。

為什么PLC在處理表格數(shù)據(jù)時(shí)會(huì)面臨一些挑戰(zhàn)?因?yàn)镻LC的內(nèi)存和性能是經(jīng)過優(yōu)化的,專門用于處理簡(jiǎn)單數(shù)據(jù):生產(chǎn)流程、移動(dòng)機(jī)器、移動(dòng)產(chǎn)品、制造產(chǎn)品,而處理復(fù)雜數(shù)據(jù)則需更多內(nèi)存,PLC難以滿足——在PLC中,內(nèi)存是相當(dāng)珍貴的。

那么,什么平臺(tái)能夠很好地處理復(fù)雜的表格數(shù)據(jù)并減輕PLC的負(fù)擔(dān)和風(fēng)險(xiǎn)呢?——SQL數(shù)據(jù)庫(kù)

 SQL數(shù)據(jù)庫(kù)的功能

什么是SQL數(shù)據(jù)庫(kù)?您可將其想象為一張表格,而且您很可能已經(jīng)擁有這樣一個(gè)表格——您的IT部門經(jīng)理或許已使用企業(yè)SQL數(shù)據(jù)庫(kù)以在整個(gè)組織中共享信息(如圖2)。因?yàn)槠髽I(yè)需要在整個(gè)公司范圍內(nèi)共享信息,而SQL數(shù)據(jù)庫(kù)正是為此而設(shè)計(jì)的。

例如,當(dāng)接收到新訂單后,該訂單將被存入SQL數(shù)據(jù)庫(kù)中。如果銷售經(jīng)理想要一份銷售報(bào)告,他可從SQL數(shù)據(jù)庫(kù)中獲取該報(bào)告;如果生產(chǎn)部門需生產(chǎn)該訂單產(chǎn)品,他們可從SQL數(shù)據(jù)庫(kù)中獲得訂單的詳細(xì)信息。此外,在零件生產(chǎn)完成后,其性能、質(zhì)量等指標(biāo)均可被存儲(chǔ)在SQL數(shù)據(jù)庫(kù)中。通過從SQL數(shù)據(jù)庫(kù)中提取這些指標(biāo)并分析數(shù)據(jù)之間的關(guān)系,可生成報(bào)告并優(yōu)化生產(chǎn)流程。

02.jpg

圖2 公司使用企業(yè)SQL數(shù)據(jù)庫(kù)在整個(gè)組織中共享信息。(圖片來源:https://www.youtube.com/watch?v=s4BwNbnsjm0)

SQL數(shù)據(jù)庫(kù)經(jīng)過安全優(yōu)化,可嚴(yán)格限制數(shù)據(jù)存儲(chǔ)與讀取權(quán)限,因此只有經(jīng)過批準(zhǔn)的用戶才能訪問某些數(shù)據(jù)。SQL數(shù)據(jù)庫(kù)運(yùn)行在功能強(qiáng)大的PC服務(wù)器上,這些設(shè)備往往具有大內(nèi)存、大存儲(chǔ)等特點(diǎn),不僅支持冗余、故障轉(zhuǎn)移等功能,而且還支持從多個(gè)位置訪問,以確保整個(gè)公司始終處于在線狀態(tài)。

一般情況下,您可能會(huì)將配方或生產(chǎn)關(guān)鍵績(jī)效指標(biāo)(KPIs)和質(zhì)量參數(shù)直接以常數(shù)的形式存儲(chǔ)在PLC中,然而,PLC是專門處理業(yè)務(wù)邏輯的設(shè)備,若使用PLC來處理復(fù)雜數(shù)據(jù),則將導(dǎo)致其性能達(dá)到極限,容易出現(xiàn)故障,發(fā)生計(jì)劃外的中斷。對(duì)此,您完全可利用工廠中現(xiàn)有的這些服務(wù)器和數(shù)據(jù)庫(kù),來減輕PLC的重負(fù)。

如何充分利用這一龐大資源——企業(yè)SQL數(shù)據(jù)庫(kù)或設(shè)施中已有的其他數(shù)據(jù)庫(kù)來減輕PLC的負(fù)擔(dān)?接下來我們將從以下這三個(gè)方面來進(jìn)行闡述:準(zhǔn)備PLC準(zhǔn)備SQL數(shù)據(jù)庫(kù)準(zhǔn)備事務(wù)管理器

| 準(zhǔn)備PLC

您需要在PLC中做一些準(zhǔn)備工作,而無需在PLC中創(chuàng)建常數(shù)配方,比如,在您的PLC中有1000個(gè)常數(shù)×10種不同的車輪類型,您需要將這些常數(shù)更改為在PLC中的變量或用戶定義數(shù)據(jù)類型(UDTs),用于存放從SQL數(shù)據(jù)庫(kù)下載的配方,這樣您將擁有一個(gè)邏輯代碼庫(kù)。當(dāng)需要制造不同的零件時(shí),您可從SQL數(shù)據(jù)庫(kù)中下載新的配方到PLC,且這些新建的變量都將自動(dòng)更新。

您如何更新PLC中的這些變量來制造10種輪轂中的任意一種呢?——這便需要發(fā)揮SQL數(shù)據(jù)庫(kù)的作用。您可把1000個(gè)常數(shù)乘以10個(gè)車輪的數(shù)據(jù)存儲(chǔ)在一個(gè)SQL數(shù)據(jù)庫(kù)表中,并僅在需要時(shí),才將SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)下載到PLC,由此您的數(shù)據(jù)庫(kù)服務(wù)器和事務(wù)管理器將承擔(dān)存儲(chǔ)和響應(yīng)信息請(qǐng)求的任務(wù),而PLC只需在讀取到數(shù)據(jù)后進(jìn)行它所擅長(zhǎng)的邏輯控制處理即可。

如何準(zhǔn)備企業(yè)SQL數(shù)據(jù)庫(kù)呢?這就需要由工程師來引導(dǎo)管理SQL數(shù)據(jù)庫(kù)的IT部門經(jīng)理進(jìn)行接下來的操作。以下將介紹IT部門經(jīng)理需操作的內(nèi)容。

| 創(chuàng)建SQL關(guān)系數(shù)據(jù)庫(kù)

您的配方將存儲(chǔ)在所謂的關(guān)系數(shù)據(jù)庫(kù)中。為了讓您的IT部門經(jīng)理在SQL數(shù)據(jù)庫(kù)中創(chuàng)建合適的表格,您需要向他/她提供三條信息:1)表頭;2)配方名稱;3)配方數(shù)據(jù)(如圖3)。

03.png

圖3 為了讓IT經(jīng)理創(chuàng)建SQL數(shù)據(jù)庫(kù),您需要向IT經(jīng)理提供三部分信息:表頭、配方名稱和配方數(shù)據(jù)。

表頭位于每一列的頂部,其只是您數(shù)據(jù)的一個(gè)簡(jiǎn)短描述或說是一個(gè)列標(biāo)題。如果您使用Microsoft Excel作為建立模板的工具,則可從定義電子表格中的表頭開始,然后將其放在每一列的頂部。

在SQL數(shù)據(jù)庫(kù)中,每一行被稱為一條記錄(Record)。配方名稱放在每一行的第一個(gè)單元格中,如圖2所示。如果您有10個(gè)配方,那您將有10行或說10條記錄。

為什么稱之為記錄?在關(guān)系數(shù)據(jù)庫(kù)中,我們有四個(gè)主要的任務(wù):插入(Insert)記錄、選擇(Select)記錄、更新(Update)記錄和刪除(Delete)記錄。

在我們的例子中,由于我們要從數(shù)據(jù)庫(kù)里獲取配方并將配方下載到PLC中,因此我們將使用“Select”命令。在您的配方電子表格中,需將配方名稱放在每一行的第一個(gè)單元格中,最后需填寫您的配方電子表格數(shù)據(jù)。這意味著,對(duì)于每個(gè)配方,您都要填寫每一列的常數(shù)數(shù)據(jù)。至此,您的電子表格已包含有配方名稱、列描述和數(shù)據(jù)——而這就是IT經(jīng)理構(gòu)建SQL表格所需的全部信息。

目前,我們已引導(dǎo)您完成了最難的部分——SQL數(shù)據(jù)庫(kù)模板構(gòu)建過程。SQL數(shù)據(jù)庫(kù)的另一個(gè)極其實(shí)用的應(yīng)用是“Insert”命令,而這恰好也是最容易使用的命令,因?yàn)闊o需修改PLC程序。通過使用“Insert”命令,我們可將PLC的值上傳到數(shù)據(jù)庫(kù)中。“Insert”主要用于在SQL數(shù)據(jù)庫(kù)中存儲(chǔ)PLC變量,例如,當(dāng)我們需要查看KPI(關(guān)鍵績(jī)效指標(biāo))或產(chǎn)品質(zhì)量時(shí),可將這些變量上傳到SQL數(shù)據(jù)庫(kù)中。

在PLC標(biāo)簽和SQL表格被創(chuàng)建后,如何在PLC和SQL數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)的雙向傳輸?如何將配方從SQL數(shù)據(jù)庫(kù)下載到PLC?對(duì)此,可通過使用事務(wù)管理器來輕松解決。

| 準(zhǔn)備事務(wù)管理器(Transaction Manager)

事務(wù)管理器有什么作用?如果您需要下載一個(gè)配方到PLC,則可使用“Select”命令,從SQL數(shù)據(jù)庫(kù)中獲取配方......

請(qǐng)點(diǎn)擊此處,查看剩余30%精彩內(nèi)容!

| 往期回顧

Softing dataFEED OPC Suite:輕松應(yīng)對(duì)工業(yè)4.0數(shù)據(jù)通信挑戰(zhàn)

Softing echocollect e:連接OT和IT的多協(xié)議工業(yè)網(wǎng)關(guān)

(更新1)工業(yè)技術(shù)發(fā)文-底部動(dòng)圖-關(guān)注我.gif

(更新2)工業(yè)技術(shù)發(fā)文-底部.png

審核編輯(
王靜
)
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

LinkXpert系列:可輕松進(jìn)行LAN網(wǎng)絡(luò)測(cè)試的多功能便攜設(shè)備

機(jī)器連接和邊緣計(jì)算?,知多少?

容器化軟件應(yīng)用簡(jiǎn)化傳統(tǒng)設(shè)備的連接

Softing smartLink產(chǎn)品系列“新成員”支持訪問PROFINET網(wǎng)絡(luò)

Softing線上研討會(huì) | 數(shù)字化工廠資產(chǎn)管理的設(shè)備連接方案——挖掘智能現(xiàn)場(chǎng)設(shè)備的潛力!