原創(chuàng)|使用教程|編輯:黃竹雯|2018-08-09 10:52:37.000|閱讀 745 次
概述:你是否遇到需要根據(jù)某些預定義的變量或條件將特定過程數(shù)據(jù)記錄到數(shù)據(jù)庫或文本文件中卻無從下手的情況?本文將告訴你如何解決這個問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
你是否需要根據(jù)某些預定義的變量或條件將特定過程數(shù)據(jù)記錄到數(shù)據(jù)庫或文本文件中?我們通常將此概念稱為“條件”或“基于條件”的日志記錄。這聽起來很簡單,但如果沒有計劃,那么實施起來可能是一項棘手的任務。
在這篇文章中,我將向你介紹條件數(shù)據(jù)記錄所涉及的注意事項,并介紹如何輕松設置 OPC DataLogger 以根據(jù)各種條件記錄數(shù)據(jù),而不會帶來太多麻煩。
現(xiàn)在請考慮以下情形:你的任務是從生產(chǎn)線中創(chuàng)建區(qū)塊來收集重量信息。
當這些區(qū)塊中的每一個通過傳送帶移動時,它將通過檢重秤,該檢重秤將當前重量發(fā)送到正在運行該線的PLC,并且當塊穿過秤的前緣時,視覺系統(tǒng)讀取區(qū)塊的條形碼允許權重與正確的區(qū)塊相關聯(lián)。
你現(xiàn)在的任務是為每個區(qū)塊記錄一個權重,將其與正確的序列號相關聯(lián),并將其作為一行記錄到SQL數(shù)據(jù)庫中。聽起來不是那么難吧?
那你怎么來設置這個呢?
當然,有可能在PLC中對此進行編碼。但是,這是一個OEM線路安裝,我們無法訪問PLC代碼。
那么,我們可以在OPC服務器中設置掃描速率,以便不經(jīng)常輪詢PLC,使得我們可能不能獲得單個塊的多個權重值。但是當線路停止時會發(fā)生什么?你是否需要在重新啟動后將服務器掃描速率與線路重新同步?如果線速度改變怎么辦?
聽起來這對于需要長期維持的人而言會是一個巨大的麻煩,對于我們這些已經(jīng)有長串責任清單的人來說,絕對是不太理想的。
實際上,我使用過的大多數(shù)系統(tǒng)都只是連續(xù)地記錄值,并且使用一些“Macgyvered”解決方案,然后從數(shù)據(jù)庫中選擇正確的值。雖然這種方法沒有任何內(nèi)在錯誤,但它不僅使用了更多的數(shù)據(jù)庫空間,而且還需要進行大量修剪才能將數(shù)據(jù)降低到你實際感興趣的值。
那么什么是更好的替代方案呢?接下來,我將逐步介紹使用 OPC DataLogger 的條件記錄來處理這種情況是多么容易。
盡管我非常熟悉 OPC Data Logger,但我仍然使用項目向?qū)砼渲梦业娜罩卷椖浚?到今天,為了使這篇文章完全只是對向?qū)У闹鸩浇忉專业睦訉⒓俣ù嬖谑褂媚J設置的基本項目。
在單步向?qū)Р⒈3帜J值后,查看關鍵組件的存在:
1.我配置了一個指向我的OPC服務器的數(shù)據(jù)收集器:

2.我有一個配置了單個組的日志記錄任務,已經(jīng)添加了我感興趣的兩個OPC標記。當前的 BlockWeight(區(qū)塊重量)和相應的 SerialNumber(序列號)如下:

現(xiàn)在,我們將把 Group 的 Read 類型保留為 Subscription - 這是默認的 - 但我們稍后會再回過頭來看看。
3.日志記錄被任務配置為將數(shù)據(jù)記錄到我的SQL數(shù)據(jù)庫:

此時,我們有一個工作的OPC Data Logger項目,如果我們進入運行時,將每隔250ms檢查一次權重和序列號標記,并在任何一個值更改時記錄這兩個值。
然而,這將捕捉到我們不感興趣的各種數(shù)據(jù),包括區(qū)塊在部分檢查秤上的重量信息 - 重量數(shù)據(jù)對我們來說幾乎無用。因此,這是我們得到等式的條件部分,并在你需要時僅記錄你需要的部分。
1.讓我們首先添加我們將用于驅(qū)動實際日志記錄的觸發(fā)器。這將是一個受監(jiān)控的項目觸發(fā)器:

2.此觸發(fā)器將配置為監(jiān)視我們的OPC服務器中的 Boolean tag(布爾標記) - weighReady - 當區(qū)塊完全位于檢重秤上時,預計會變高:

這可以是傳感器或類似的外圍設備,用于測量區(qū)塊完全越過檢重秤的前沿時的數(shù)據(jù)。關鍵是Monitored Trigger配置為在此Boolean tag(布爾標記)變?yōu)楦撸?1 / True)時觸發(fā)。
3.回到我承諾將要重新訪問的 Group Properties 中的 Read 選項卡,讓我們將 Read 類型從 Subscription 更改為 Asynchronous Triggered Reads:

類似地,在Triggers選項卡上,我們現(xiàn)在想要添加我們配置的Monitored Trigger,并指定Effect是“One-shot Read Now”,即當觸發(fā)器變高時,我們應該讀取并記錄組中的每個標記一次:

此時,我們的配置已完成了。在運行時,這個OPC Data Logger項目將處于空閑狀態(tài),直到 WeighReady 位變?yōu)楦邽橹梗藭r我們將從OPC服務器(從PLC讀取數(shù)據(jù))中檢索當前的序列號和重量,我們將記錄一個我們的SQL數(shù)據(jù)庫。
隨著它越來越容易獲取數(shù)據(jù),你可以更輕松地訪問你在流程中,甚至是企業(yè)級別可能會需要的任何數(shù)據(jù)。我們注意到應用程序?qū)嶋H需要的數(shù)據(jù)變得越來越重要。整理成千上萬的標簽只是為了找到一個或兩個具有統(tǒng)計意義的標簽通常比手動記錄的更低效。
對于毫秒通常意味著節(jié)省或損失數(shù)萬,數(shù)十萬甚至數(shù)百萬元之間的差異的行業(yè),在正確的時間獲得正確的數(shù)據(jù)至關重要。你已經(jīng)看到了如何以最小的努力,使用條件日志與 OPC Data Logger配置起來非常容易,以確保你只需在需要時收集所需的數(shù)據(jù)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn