《物联网框架ServerSuperIO教程》- 23.动态数据接口增加缓存,提高数据输出到OPCServer和(实时)数据库的效率...
?22.1?? 概述及要解決的問題
????? 設(shè)備驅(qū)動有DeviceDynamic接口,可以繼承并增加新的實(shí)時(shí)數(shù)據(jù)屬性,每次通訊完成后更新這些屬性數(shù)據(jù)。原來是通過DeviceDynamic接口實(shí)體類反射的方式獲得最新的實(shí)時(shí)數(shù)據(jù),并輸出到關(guān)系數(shù)據(jù)庫、實(shí)時(shí)數(shù)據(jù)庫和OPC Server等接口。
?? ? 但是這種操作方式存在兩個(gè)問題:1.通過反射的方式,效率不高。2.如果是一個(gè)傳感器,那么定義的實(shí)時(shí)數(shù)據(jù)屬性不多;如果是一個(gè)站點(diǎn)(可以理解為生產(chǎn)單位或網(wǎng)關(guān)層)上傳的數(shù)據(jù),可能有成千上萬監(jiān)測點(diǎn),那么不可能在繼承DeviceDynamic接口的子類中定義這么多屬性。原來的操作方式如下圖:
???? 為了解決上述問題,在DeviceDynamic接口中定義了DynamicCache屬性緩存接口,以KeyValue的方式存儲監(jiān)測數(shù)據(jù)。也就是說如果設(shè)備驅(qū)動接收一批監(jiān)測數(shù)據(jù),可以循環(huán)放到DynamicCache緩存中,再輸出到關(guān)系數(shù)據(jù)庫、實(shí)時(shí)數(shù)據(jù)庫和OPC Server等接口。新的操作方式如下圖:
??? 下面介紹使用過程中注意的三個(gè)地方,設(shè)備驅(qū)動、配置輸出監(jiān)測點(diǎn)和配置參數(shù)等。
22.2? 設(shè)備驅(qū)動
???? 可能有的網(wǎng)友已經(jīng)寫好設(shè)備驅(qū)動了,需要在此的基礎(chǔ)上,把數(shù)據(jù)信息放到DynamicCache緩存中。如下代碼:
if (cr == CommandArray.RealTimeData) {Dyn dyn = (Dyn)obj;_deviceDyn.DynamicCache.AddOrUpdate("flow",dyn.Flow);_deviceDyn.DynamicCache.AddOrUpdate("signal",dyn.Signal); }22.3???? 配置輸出監(jiān)測點(diǎn)
??? 在根目錄下打開“ServerSuperIO.Tool.exe”工具,在【標(biāo)簽配置】里把設(shè)備驅(qū)動里DynamicCache緩存中想要輸出到關(guān)系數(shù)據(jù)庫、實(shí)時(shí)數(shù)據(jù)庫和OPC Server等接口對應(yīng)的標(biāo)準(zhǔn)名稱增加到配置項(xiàng)中。例如:flow和signal。如下圖:
22.4???? 配置參數(shù)
??? 同樣打開“ServerSuperIO.Tool.exe”工具,打開【基本配置】。
??? 如果想要把數(shù)據(jù)輸出到OPC Server接口,先安裝相應(yīng)的組件,在“OPC工具和組件”目錄中,最后配置如下參數(shù):
??? 如果想要把數(shù)據(jù)輸出到關(guān)系數(shù)據(jù)庫或?qū)崟r(shí)數(shù)據(jù)庫,配置如下參數(shù):
1.[連載]《C#通訊(串口和網(wǎng)絡(luò))框架的設(shè)計(jì)與實(shí)現(xiàn)》
2.[開源]C#跨平臺物聯(lián)網(wǎng)通訊框架ServerSuperIO(SSIO)介紹
2.應(yīng)用SuperIO(SIO)和開源跨平臺物聯(lián)網(wǎng)框架ServerSuperIO(SSIO)構(gòu)建系統(tǒng)的整體方案
3.C#工業(yè)物聯(lián)網(wǎng)和集成系統(tǒng)解決方案的技術(shù)路線(數(shù)據(jù)源、數(shù)據(jù)采集、數(shù)據(jù)上傳與接收、ActiveMQ、Mongodb、WebApi、手機(jī)App)
5.ServerSuperIO開源地址:https://github.com/wxzz/ServerSuperIO
物聯(lián)網(wǎng)&集成技術(shù)(.NET) QQ群:54256083?
下載地址:http://www.bmpj.net/thread-14-1-1.html
?
總結(jié)
以上是生活随笔為你收集整理的《物联网框架ServerSuperIO教程》- 23.动态数据接口增加缓存,提高数据输出到OPCServer和(实时)数据库的效率...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 走近RDD
- 下一篇: PostgreSQL、Greenplum