999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種通用工業物聯網數據采集與控制軟件的實現

2021-09-22 07:44:10孫建庭班瑩
電子技術與軟件工程 2021年13期
關鍵詞:功能設備

孫建庭 班瑩

(水利部南京水利水文自動化研究所 江蘇省南京市 210012)

1 引言

數據采集和控制系統一種用于實時處理、過程控制以及高速數據采集等的系統。隨著工業4.0的發展,工業物聯網近幾年發展迅速,不斷改變著傳統工業領域的發展方向。但無論智能制造發展到何種程度,數據采集與控制都是生產中最實際最高頻的需求,也是工業4.0的先決條件。

由于存在大量異構的通信規范,物聯設備不同廠家、不同品牌、不同型號的信息獲取各種各樣,單獨為每一個設備編寫采集控制程序費時費力,因此需要一種通用的框架,盡可能地減少軟件開發成本。

2 軟件結構

軟件結構如圖1所示,由數據模塊、規約模塊、通信模塊、控制模塊四個部分組成。各模塊相互獨立,模塊之間通過接口API調用,完成相互關聯。

2.1 數據模塊

在數據模塊中,用數據對象表示數據。數據對象可以理解為比傳統變量具有更多功能的對象變量,一個數據對象通常包括:對象名稱、數據類型、實時值、時間郵戳、描述等信息。大多數情況下只需使用數據對象的名稱來直接操作數據對象,如同使用變量一樣來使用數據對象。

一個數據對象包括更新(UPDATE)、增加(INSERT)、刪除(DELETE)三種類型的觸發器,其它模塊可按單個對象的粒度綁定到數據對象觸發器。例如定義一個數據對象為某設備的開關動作,規約模塊綁定該對象的UPDATE觸發器,當該對象的值被置為ON時,觸發規約模塊生成控制命令,通過通訊模塊將命令文本下發到設備。

控制模塊可通過腳本的方式綁定觸發器執行觸發操作,如當某數據對象的值改變時進行相關計算等。

數據模塊是軟件的數據處理中心。軟件各個部分均以實時數據為公用區交換數據,實現各個部分協調動作。

2.2 規約模塊

參考OSI七層模型,規約模塊實現應用層和表示層的功能,即數據報文的編碼和解析。對上,規約模塊將數據模塊中相應的實時數據編碼成報文通過通信模塊發送出去;對下,規約模塊將通信模塊接收到的報文解析成各種數據存儲到數據模塊中。規約模塊負責報文的完整性和一致性檢查。

規約模塊提供一組接口函數供調度處理程序調用,包括:啟動、停止、時間片輪詢、數據推送處理、數據通知函數。

2.3 通信模塊

參考OSI七層模型,通信模塊實現會話層和傳輸層的功能,提供處于網絡連接中的兩臺計算機之間或計算機與設備之間的數據傳輸。通信模塊實現了RS232/422/485、Tcp、Udp、Port IO等通信協議。

通信模塊負責設備的打開、關閉、讀寫等操作,并實現連接故障斷開后自動重連,向上層通知讀寫錯誤等。通信模塊可以有同步、異步兩種工作模式,同步模式下由規約模塊調用通信模塊讀寫函數執行讀寫操作;異步模式由通信模塊主動監聽設備,當設備數據到達時調用規約模塊的數據通知函數。

通信模塊將提供了一組接口函數供規約模塊和控制模塊調用,包括:打開設備、關閉設備、讀設備、寫設備、設備IO命令、異步通知函數等。

圖1:軟件結構

2.4 控制模塊

控制模塊是微內核服務的核心,負責資源管理、為其它模塊提供運行服務環境、進行各項工作的調度等。控制模塊提供以下幾個方面的功能支持:模塊加載、事務分發、事務調度、資源管理、腳本管理、事件日志等功能。

控制模塊在程序初始化時根據配置文件加載插件模塊,分配線程環境,創建對象實例;當運行事件發生時,根據事件的優先級進行調用相應的處理函數;對象實例銷毀時,負責內存回收;調度腳本執行等。

3 關鍵技術

3.1 微內核架構

微內核是內核的一種精簡形式。將通常與內核集成在一起的系統服務層被分離出來,變成可以根據需求加入選件,這樣就可提供更好的可擴展性和更加有效的應用環境。使用微內核設計,對系統進行升級,只要用新模塊替換舊模塊,不需要改變整個操作系統。

微內核架構核心僅負責事務分發、調度處理及資源管理,通過插件向核心應用添加額外的功能,提供了可擴展性和功能的獨立和分離。

按照接口不變原則,微內核框架設計步驟如下:

(1)設計標準統一的插件接口;

(2)根據配置文件加載相應插件(Windows系統下為動態鏈接庫dll),獲取每個dll導出函數;

(3)根據操作調用相應函數。

3.2 通信接口的標準化

在物聯網應用中,計算機與外設或計算機之間的通信接口通常有網絡接口、串行通信接口、IO板卡等,相應的通信協議有TCP、UDP、RS232/422/485、PORT IO。在 Unix和其衍生系統中,一切都可以看做文件,因此參照Unix系統文件的概念,通信接口可以標準化為打開、關閉、讀寫等幾個函數。

3.3 通信規約的標準化

通信規約是為了保證數據通信系統中通信雙方能有效和可靠地通信,而規定的雙方應共同遵守的一系列約定。在物聯網應用中,通信規約表現為將本方的數據或命令按規定的格式發送給對方,將接收到對方的報文解析為數據或命令動作。

通信規約函數按調用時機可標準化為:在通信接口打開后調用啟動函數,進行規約的初始化操作,如通信雙方的連接握手等;調用輪詢函數輪詢讀寫設備或通設備數據到達后調用數據推送處理函數;數據模塊數據對象改變后調用數據通知函數;設備模塊關閉時調用停止函數進行規約的終止,如關閉揮手等。

3.4 輪詢模式和推送模式

軟件使用多線程模式,每個通信接口實例運行在自己的線程環境中。

在輪詢模式下,每個通信接口實例維護一個輪詢定時器,按時間片檢查最近的任務是否到期,調用規約模塊輪詢函數。

在推送模式下,通信接口實例線程監聽設備是否有數據到達,有數據到來就接收數據,回調處理函數進行解析。

如果設備通信故障則關閉設備,啟動重新連接設備的定時器,定期進行設備重連。

3.5 嵌入式腳本

腳本語言是一種解釋性語言,不需要編譯,可以直接用,由解釋器來負責解釋。腳本語言一般都是以文本形式存在,簡單、易學、易用。通過腳本語言可以動態改變主程序的邏輯行為,而不需要重新編譯整個主程序。

Lua是一種輕量小巧的腳本語言,用標準C語言編寫并以源代碼形式開放,其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定制功能。

Lua的主要特性就是它的可擴展性。Lua除了是一種可擴展的語言,還是一種“膠水語言”,支持一種基于組件的開發方法:通過粘合現有的高層組件來創建新的應用程序。而所粘合的組件可以是已編譯好的,也可以是靜態類型語言編寫的。另外,不同于其他膠水語言,Lua還可以適配、改造組件。

軟件使用Lua腳本語言作為擴展,將自身一些重要、安全的功能封裝成腳本,讓腳本解釋器來控制使用這些功能,實現軟件系統自身功能的重利用。

4 主要優點

(1)易于擴展。由于采用微內核架構,各插件模塊功能相對獨立,當開發了新的模塊時,只須進行相應的配置即可。同時也改善了系統的靈活性,不僅可增加新的功能,還可修改原有功能,刪除無用功能。新的功能以插件的形式給出,是相對獨立的,不影響整個系統框架和其它的功能。甚至可以把擴展軟件的功能開放給用戶或第三方廠商,以達到最大限度的功能擴展。

(2)易于維護。易于維護體現在對插件功能的維護。當一個系統功能修改或發現問題時,可以以插件這樣的最小粒度更新,一是能盡可能地降低維護成本,二是修改后的功能對其它完整功能帶來的影響降到最低。軟件模塊插件體現為獨立的dll,這就使得開發人員修改功能時只重新編譯相關的dll即可。

(3)高效靈活。軟件將一部分邏輯功能外置并腳本化,采用嵌入腳本Lua作為擴展,增強應用邏輯的可配置性和適應性,對程序邏輯的修改更加方便。某些功能的實現可以只用腳本來開發,不用頻繁的編譯/重啟程序,只需重新加載lua腳本即可,提高了開發效率。

5 應用示例

某水質自動站需對上游來水水量、水質的全面實時監測,并將監測數據發送至巡測基地,實現基地遠程查看測站數據,全面監測省界水量、水質變化。

主要功能需求如下:

(1)實時數據管理。在內存中建立測點信息(測點名、量程、單位、實時值等),按測點名建立索引表,支持按測點名稱快速存取;

(2)數據采集。實時采集各種儀表數據、電氣控制、PLC、或其他類型傳感器的數據;

(3)設備控制。控制命令緩存和下發。將組態軟件發送的控制指令根據設備的規約下發到設備,并監視設備的指令執行狀態;

(4)數據計算。對采集的原始數據,按相應的公式進行計算;

(5)報警判別及管理。根據測點的量程上、下限等信息產生報警信息,對報警信息進行分類、存儲等管理;

(6)事件日志處理。對系統運行過程中產生的各種事件生成日志;

(7)歷史數據存儲。將數據寫入到歷史數據庫;

(8)與其它軟件交互數據。

實現步驟如下:

(1)數據模塊:

1.配置水質、水量監測點變量,配置計算點變量;

2.配置設備控制命令變量;

(2)規約模塊:

1.復用其它項目編寫的通用Mobus規約插件;

2.編寫數據入庫插件;

3.編寫外部數據交互規約插件;

(3)控制模塊:

1.編寫公式計算腳本,綁定相關對象變量UPDATE事件實時觸發計算;

2.編寫報警判別腳本,綁定相關對象變量UPDATE事件實時觸發報警判別;

(4)通訊模塊:

1.配置RS232通訊接口項,綁定到Mobus規約插件,實現從計算機串口輪詢讀取設備數據,并接收其它軟件交互數據觸發控制命令;

2.配置虛擬設備接口配置項,綁定到數據入庫插件,實現定時將歷史數據寫入數據庫;

3.配置TCP通訊接口配置項,綁定到數據交互規約插件,接收其它軟件讀數據請求和發送控制命令。

6 結論

從工業物理網底層的數據采集與控制遇到的傳輸接口不一致、協議不統一、相關軟件開發難度大等問題出發,開發了一種通用的工業物理網數據采集與控制軟件,基于模塊化設計、采用微內核架構和嵌入式腳本技術,極大的拓展了軟件的應用范圍,目前應用于多個物聯網系統中,效果顯著,具有良好的應用前景。

猜你喜歡
功能設備
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應分析在設備減振中的應用
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 色偷偷一区二区三区| 中文字幕伦视频| 亚洲高清无码精品| 色综合婷婷| 喷潮白浆直流在线播放| 免费在线国产一区二区三区精品| 久久先锋资源| 中文国产成人精品久久一| 91在线丝袜| 久久人妻xunleige无码| 啪啪免费视频一区二区| 久久精品无码一区二区日韩免费| 国产情侣一区二区三区| 综合五月天网| 国产香蕉在线视频| 国产又粗又爽视频| 91小视频在线观看| 秋霞国产在线| 在线看片中文字幕| 午夜影院a级片| 亚洲欧美日韩中文字幕在线一区| 欧美一区二区三区国产精品| 波多野结衣二区| 亚洲中文字幕精品| 亚洲欧美在线精品一区二区| 亚洲Va中文字幕久久一区| 青青青国产在线播放| 午夜视频免费试看| 中国国语毛片免费观看视频| 亚洲日韩AV无码一区二区三区人 | 国产在线视频自拍| 久久久久无码国产精品不卡| 欧美色亚洲| 制服丝袜亚洲| 性欧美久久| 99色亚洲国产精品11p| 老司机精品99在线播放| 亚洲国产成人久久77| 暴力调教一区二区三区| 国产精品丝袜视频| 亚洲无码精彩视频在线观看| 亚洲经典在线中文字幕| 日韩免费成人| 欧美激情第一欧美在线| 亚洲欧美精品在线| 91小视频版在线观看www| 毛片视频网址| 伊人无码视屏| 国产午夜精品一区二区三| 亚洲天堂在线免费| 日韩a在线观看免费观看| 97人人模人人爽人人喊小说| 国产毛片基地| 孕妇高潮太爽了在线观看免费| 91福利片| 成人福利视频网| 91青青草视频在线观看的| 中文成人在线视频| 国产日本欧美在线观看| 国产一二三区视频| 午夜国产精品视频黄| 国产极品嫩模在线观看91| 国产男女免费完整版视频| 久久精品中文字幕少妇| 国产高清无码麻豆精品| 国产亚洲现在一区二区中文| 亚洲婷婷六月| 亚洲无码视频喷水| 在线中文字幕日韩| 亚洲精品人成网线在线| 久久午夜夜伦鲁鲁片不卡| 美女被操黄色视频网站| 99re在线免费视频| 天天摸夜夜操| 国产又色又刺激高潮免费看| 日韩一区精品视频一区二区| 国产成人亚洲欧美激情| 国产在线精品美女观看| 国产日韩精品欧美一区灰| 国产精品久线在线观看| 亚洲国产亚综合在线区| 亚洲一区第一页|