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

開源自動化控制軟件Sedona在物聯網中的應用※

2012-06-25 02:46:08邱旭華
單片機與嵌入式系統應用 2012年12期
關鍵詞:嵌入式用戶設備

邱旭華

(公安部第一研究所,北京 100048)

引 言

如何在不更換設備的情況下,讓嵌入式智能設備和系統協調工作并且更好地管理是每個集成商和用戶所面臨的關鍵問題。Sedona軟件解決了這一問題。Sedona軟件為開發、部署、集成和管理無處不在的最底層的智能設備應用提供完整的軟件平臺,為廉價的設備提供可編程控制和連接Internet的能力。Sedona框架的分布式決策系統可以使所有的設備都具備控制和管理的能力,連接到網絡的任何地方。

1 物聯網簡述

物聯網(Internet of Things)概念是2005年正式提出來的,是互聯網的延伸。它是一個基于互聯網、傳統電信網等信息的承載體,讓所有能夠被獨立尋址的普通物理對象實現互聯互通的網絡。它具有普通對象設備化、自治終端互聯化和普通服務智能化3個重要特征。

在物聯網應用中有兩項關鍵技術:傳感器技術和RFID標簽。

編者注:關于物聯網特征、關鍵技術及展望的詳述略。

2 Niagara AX平臺

隨著物聯網技術的迅速發展和應用,如何使各種智能設備連接IP網絡并融入上層的應用系統,就變得至關重要。Tridium公司所研發的Niagara AX平臺正是用于解決設備連接應用的軟件框架平臺。它創造了一個通用的環境,幾乎可以連接任何能夠想到的嵌入式設備或系統,而不用太多考慮這些設備的制造廠家和所使用的通信協議。其關鍵在于Niagara AX可以與各種設備和系統通信,將它們的數據和屬性轉換成為標準的軟件組件,通過大量基于IP的協議,支持XML的數據處理和開放的API,為企業級應用提供無縫的、統一的設備數據視圖。圖1表示的是一種多對一架構的Niagara AX平臺。

通過轉換各種外部設備和系統的數據成為規范的軟件組件,Niagara AX創造了一種開發架構,大大優于基于網關集成的多對多的復雜架構。這種優勢體現在任何的設備和系統通過Niagara AX規范,就可以兼容其他連接到應用框架的設備和系統,為企業級應用提供真正的系統內的互操作能力和統一的數據呈現。開發者不再需要花費時間去創建、測試和重復驗證各種網關設施。圖2是傳統的多對多系統結構。

圖1 多對一架構的Niagara AX平臺

圖2 傳統的多對多系統結構

3 Sedona及其應用

Sedona是一個開源自控軟件體系框架,由Tridium公司研發,包含Sedona語言、Sedona工具包、Sedona虛擬機、Sedona編譯器、Sedona圖形化開發調試工具等部分,于2009年8月正式推出第1版,并開放源代碼。

Sedona語言繼承了Java、C#等面向對象語言的特點,使得開發非常簡單,而實現的功能又非常強大。以Sedona工具包形式發布的控制邏輯模塊,實現了“一次開發、隨處可用”的目的,大大降低了用戶的應用難度,同時也使很多行業應用經驗得到很好的積累與發展。Sedona虛擬機(Sedona Virtual Machine,SVM)專門針對樓宇自控設備進行了優化,能高效地運行在只有100KB左右內存的小型嵌入式設備上,并且實時性能得到很好的保證。采用Sedona圖形化開發工具進行在線實時開發調試,用組件模塊的方式簡單拖拽各種所需功能,并進行數據流向和控制邏輯的連線,就可以立刻完成用戶的應用邏輯開發,還能實時看見反饋結果,使用戶開發業務控制邏輯非常簡單、直觀,大大降低了用戶使用難度。

3.1 Sedona工作流程

圖3所示的流程列舉了在樓宇智能控制器上開發Sedona應用程序的整個過程。在Sedona軟件架構下進行開發,有兩種角色:一種是開發者(Developer),另外一種是集成者(Integrator)。雖然在實際工作中不可能將這兩種角色區分得很清楚,并且大多數情況下用戶是用兩種角色配合來完成工作的,但在這里區分這兩種角色將有助于對Sedona軟件框架的深入討論。

圖3 Sedona開發工作流程圖

(1)開發者角色

該角色主要是指軟件開發工程師,他們負責用Sedona編程語言開發各種Sedona應用組件模塊,如行業特殊應用功能模塊、設備I/O驅動模塊、特殊算法模塊等等。組件模塊開發好以后將以工具包(kit)的形式進行發布,這樣有利于版本的管理,同時也便于行業經驗的積累和延續。

(2)集成者角色

該角色主要是指某個行業或領域的專家,通常他們只需要在如圖3所示的圖形化開發工具里,將開發者發布的工具包中所需要用到的組件模塊拖拽到工作區,然后用連線方式將所選擇的組件模塊按照業務數據流程或者控制邏輯關系連接在一起,就完成了數據處理和控制邏輯的工作。對于開發者發布的每個組件模塊,集成者還可以通過屬性來配置和調整其實現功能的各項參數,以滿足具體應用的需要。這樣對于沒有軟件開發經驗的行業專家來說,Sedona允許他們采用組件模塊的方式來積累并延續行業經驗,并且以圖形化的方式讓用戶進行模塊的簡單連線組合,這就為行業專家在各自的領域中進行創造性應用奠定了堅實的基礎。

3.2 開發者工作流程

開發者的工作流程通常按如下步驟進行:

① 用面向對象的Sedona編程語言編寫Sedona組件,用于實現某種功能或者算法。

② 用sedonac編譯器工具將Sedona組件源代碼編譯成工具包。在編譯的過程中,工具包里所有包含的類都要先進行有效性檢查,然后才被編譯成一種特殊的中間格式代碼(Intermediate Representation,IR)。IR就像是Sedona的匯編語言一樣,它的引入使得用Sedona語言開發的組件或者應用有了很好的移植性,因為用IR實現的用戶邏輯代碼直到最后才會針對某個具體應用平臺編譯成對應的二進制Sedona虛擬機指令,這樣就能讓開發好的工具包適應所有的平臺,而不需要在不同平臺之間進行多次編譯。在編譯的同時,該編譯器也能針對每個類產生標準的Java classfile文件,從而可以在Java虛擬機上直接運行Sedona應用代碼,以便于開發者利用Java的開發調試工具對應用組件進行開發調試,大大提高開發效率。

③ 開發者將組件以工具包的形式發布,由集成者選擇將哪些工具包安裝到最終的設備上去,這樣就由sedonac工具將這些工具包編譯成二進制的scode映像文件(這一步通常由工具自動完成)。集成者選擇的工具包決定了在設備上能使用的組件功能,這樣的自由選擇能力,大大提高了設備的適用范圍,使得集成者可以根據具體應用環境進行靈活的裁剪。

④ 將Sedona虛擬機和scode映像文件加載到設備上運行。這些文件既可以預先保存在設備的ROM上,從而在設備上電之后直接運行,也可以由集成者臨時選擇,通過網絡用SOX協議動態加載。這樣就使得集成者能非常靈活、方便地根據不同需求進行現場定制。

3.3 集成者工作流程

在開發者將基本的組件模塊設計好并發布出來之后,就可以讓集成者自行進行設備功能的開發與定制,從而用標準的開發方式實現統一的“分散控制”思想。通常集成者是某個領域或者行業的專家,他們用圖形化工具,靈活地選擇哪些工具包用在設備上,然后選擇需要的控制組件拖拽到工作區上,依據組件之間的數據流向或者控制邏輯關系,采用連線的方式將它們組織在一起,從而實現最終的應用程序。

采用圖形化的工具來設計應用程序,既可以在現場直接連接設備,實時地用SOX協議對設備進行開發,直接觀察到設備的運行效果;又可以離線進行設計,然后將應用程序保存在“sax”文件里,之后在需要更新設備的時候用sedonac工具將其編譯成“sab”文件,并用SOX協議將編譯后的程序傳輸安裝到設備上,完成應用程序的更新。

3.4 控制邏輯實現

在Sedona開發軟件中并沒有現成的組件可以實現樓宇自控系統中風機的控制邏輯。雖然可以利用其基本的各種邏輯控制組件實現控制算法,但這里介紹如下步驟,讓開發者能很容易地開發用戶自定義的控制邏輯組件。

① 以3.4.43版本的軟件為例,假設應用軟件安裝在“C:\Niagara\Niagara-3.4.43”下根目錄,后面為表述方便,將根目錄簡述為{Root}。

② 在{Root}\sedona\src目錄下創建一個新的工具包目錄,這里取名為LongDHuaTools。

③ 在{Root}\sedona\src\LongDHuaTools目錄下創建“kit.xml”文件,該文件是用來描述編譯器編譯時所需要的相關源代碼目錄及其他信息,詳細的內容如下:

④ 在{Root}\sedona\src\LongDHuaTools目錄下創建“Fan.sedona”文件,該文件是用戶自定義風機控制邏輯的源代碼文件,詳細的內容如下:

⑤ 啟動一個DOS命令行窗體,轉到{Root}\sedona\src\LongDHuaTools目錄下,輸入如下命令執行編譯的過程:

⑥ 在經過上述5個步驟之后,將會自動創建{Root}\sedona\kits\LongDHuaTools目錄,并將編譯好的工具包文件拷貝到該目錄下,如 LongDHuaTools-182eba01-1.0.0.kit。其命名分3個部分,第1部分是工具包名稱,包含供應商信息,第2部分是校驗碼,第3部分是工具包的版本號。至此一個新的風機控制邏輯組件已經創建成功。

4 總 結

Sedona軟件框架主要是面向基于互聯網的智能型嵌入式設備而設計的,其主要特點如下:

①Sedona語言是一種通用的面向組件化的編程語言,非常類似Java或者C#;它支持單一繼承、多態等面向對象的特性,不支持接口擴展;采用靜態內存設計模式,不支持new關鍵字,從而非常適合只有100KB左右的嵌入式設備,用戶可以編寫自定義的擴展功能函數或者對象組件等,從而可以不斷擴充新的功能。

②Sedona虛擬機是一個小型解析器,采用ANSI C編寫,具有良好的可移植性,無論底層有沒有操作系統的支持,移植都很方便。由于有了Sedona虛擬機,也就實現了類似Java語言的“一次編程、隨處可運行”的目標,只要是采用Sedona語言編寫的代碼,只要編寫一次,就可以在任何支持Sedona虛擬機的設備上運行。

③ 支持Java。Sedona編譯器不僅能將Sedona程序編譯成Sedona虛擬機能識別的二進制代碼,也能將其編譯成標準Java字節碼,從而可以在Java虛擬機上運行用戶的Sedona應用程序,這就允許像使用Java的JAR文件那樣運行Sedona應用程序。在Java虛擬機上運行Sedona應用程序有兩點好處,一方面類似HotSpot這樣的Java虛擬機擁有高效的即時編譯技術(JIT),能在運行時將Java字節碼編譯并優化成本機代碼執行,從而提高運行效率,使得Sedona應用程序在Java上能運行得更快;另外一方面,在Java環境下能有更多的開發調試工具可以使用,這樣就能在程序運行出現異常情況的時候,充分利用Java下的開發工具進行邊界檢查和堆棧跟蹤,方便快速開發調試程序。

④ 面向小型設備。在Java上運行的Sedona所需要的資源和性能使其并不適合大多數嵌入式設備。Java通常需要好幾兆的內存來運行,并且有些Java虛擬機還需要運行時的授權費用,所以Sedona的虛擬機就專門針對只有100KB左右內存的嵌入式設備進行設計。Sedona虛擬機不支持new關鍵字,并且采用靜態內存設計模式,這樣就避免了Java虛擬機在運行時存在垃圾回收算法影響運行效率的問題,使得Sedona虛擬機在嵌入式領域中能滿足對實時性的特殊要求。

⑤ 面向組件化的編程。Sedona采用組件化的方式編程,組件可以是某種服務程序,也可以是其他組件的組合連接,從而完成某種數據處理或者流程控制。在已經開發好的組件基礎上,將各個預先編譯好的組件連接起來,形成最后的應用程序,這樣的編程模型非常適合采用圖形化編程工具來進行開發,同時也便于用戶的理解和使用。

⑥ 聯網性能。Sedona內嵌多種通信協議,可以運行在任何基于IP通信的網絡上,包括6LoWPAN等。通過聯網通信協議,可以讓用戶實時觀察設備運行數據并進行遠程控制,也允許用戶通過聯網遠程實時對應用程序進行增加、刪除、修改操作,甚至可以遠程更新整個嵌入式系統的固件代碼。Sedona不僅提供標準的通信協議,如BAC-net、Lonworks、Modbus等,還允許用戶自行開發新的通信協議,以便兼容傳統的控制設備或者擴展新的用途。

⑦ 開源的系統。Sedona核心技術基于一種靈活的學術性授權,因此對于制造廠家來說很容易在其設備上集成Sedona技術,并且保證用Sedona開發的工具或者應用很容易地移植到任何Sedona設備上。Sedona開源框架整合了最新的IT技術,如面向對象編程語言、虛擬機、圖形化組件開發技術等,給樓宇自動化領域帶來了一種新的解決方案。相信經本文的拋磚引玉,會有越來越多的人參與到這個開源項目的開發與建設中來,那時就會有源源不斷的新思路補充到這個開源框架里來,使其不斷壯大,給樓宇自動化領域也注入新的活力。希望本文能為Sedona在國內的應用與發展開個好頭。

編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。

[1]朗德華信(北京)自控技術有限公司.開源樓宇自控軟件體系框架 Sedona簡介[OL].[2012-07].http://www.1000bas.com/html/2009-10/8100.html.

[2]吳財軍.開源樓宇自控軟件體系框架Sedona簡介[OL].[2012-07].http://www.jielizhun.com/Read.Asp?NewsID=3.

猜你喜歡
嵌入式用戶設備
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 亚洲AV无码久久精品色欲| 人妻无码中文字幕第一区| a亚洲视频| 欧洲欧美人成免费全部视频| 国产在线欧美| 女人爽到高潮免费视频大全| 国产成人亚洲综合A∨在线播放| 国产99视频精品免费观看9e| 波多野结衣在线se| 无码aaa视频| 久久人与动人物A级毛片| 日韩福利视频导航| 色婷婷视频在线| 免费人成视网站在线不卡| 日韩在线第三页| 最新国产精品第1页| 波多野结衣久久精品| 国产在线啪| 亚洲欧洲AV一区二区三区| 久久久久久久久久国产精品| 综合色天天| 99精品免费在线| 亚洲首页在线观看| 亚洲男女在线| 99re经典视频在线| 91小视频在线观看| 久久精品66| 国产午夜福利亚洲第一| 曰AV在线无码| 国产国拍精品视频免费看 | 国产在线精品香蕉麻豆| 视频国产精品丝袜第一页| 最新日韩AV网址在线观看| 国产激情无码一区二区免费| 日韩人妻精品一区| 夜精品a一区二区三区| 国产一区亚洲一区| 一本一道波多野结衣一区二区| 国产欧美在线视频免费| 国产成人免费观看在线视频| 日韩麻豆小视频| 国产麻豆精品手机在线观看| 色偷偷一区二区三区| 日韩美一区二区| 亚洲人成网站在线播放2019| 日本午夜视频在线观看| 国模沟沟一区二区三区| 99re视频在线| 欧美成人精品一级在线观看| 日韩精品资源| 国产精品护士| 中文无码日韩精品| 亚洲无码电影| 国产麻豆福利av在线播放| 久久免费成人| 伊人中文网| 91久久青青草原精品国产| 国产一级α片| 色婷婷综合激情视频免费看| 色婷婷在线影院| 国产91精品久久| 亚洲免费播放| 88av在线| 国产h视频在线观看视频| 性视频一区| 国产乱人伦偷精品视频AAA| 国产精品一区在线麻豆| 国产成人无码综合亚洲日韩不卡| 国产在线麻豆波多野结衣| 欧美在线视频不卡第一页| 国产精品午夜电影| 成人午夜网址| 国产综合无码一区二区色蜜蜜| 国产精品成人一区二区不卡| 在线无码私拍| 欧美劲爆第一页| 亚洲美女一级毛片| 成人午夜网址| 国产精品19p| 亚洲天堂777| AⅤ色综合久久天堂AV色综合| 日韩亚洲综合在线|