六月婷婷综合-日韩理论在线-69久久久久-欧色图-蜜桃成人在线视频-色先锋在线-亚洲va中文字幕-香蕉影院在线-av一区免费-强开小嫩苞一区二区三区网站-国产视频九色蝌蚪

寧波市鄞州首南恒宇激光雕刻廠

利用LONWORK現(xiàn)場(chǎng)總線促進(jìn)控制
分享到:


一、引言

這項(xiàng)工作描述了照明設(shè)備ANKA控制系統(tǒng)的I/O控制子系統(tǒng)。控制系統(tǒng)基于PC,因此,采用現(xiàn)場(chǎng)總線作為接口設(shè)備適合的解決方案,從而避免復(fù)雜的VME。

我們尋找一種綜合的解決方案,將所有的通訊細(xì)節(jié)屏蔽,從而縮短開(kāi)發(fā)周期。LonWork技術(shù)被證實(shí)是目前最適合我們需求的實(shí)用解決方案。它的網(wǎng)絡(luò)協(xié)議包含國(guó)際標(biāo)準(zhǔn)組織開(kāi)放系統(tǒng)互連模型(ISO/OSI)的所有7層協(xié)議,將網(wǎng)絡(luò)設(shè)計(jì)簡(jiǎn)化為只需設(shè)定應(yīng)用層信息包格式或甚至只需要給變量幅值。LonWork網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)都有名為Neuron芯片的微控制器,這種芯片帶有內(nèi)置網(wǎng)絡(luò)、I/O接口以及應(yīng)用功能。它利用NeuronC編程語(yǔ)言進(jìn)行編程,除了滿足標(biāo)準(zhǔn)C語(yǔ)法外,還包括為定義I/O對(duì)象構(gòu)建的說(shuō)明語(yǔ)法,網(wǎng)絡(luò)變量以及軟件定時(shí)器,詳盡的I/O控制運(yùn)行時(shí)間庫(kù)以及網(wǎng)絡(luò)通訊等。編程和網(wǎng)絡(luò)通訊都屬于事件驅(qū)動(dòng),只需要簡(jiǎn)單定義任務(wù),當(dāng)事件發(fā)生時(shí)通過(guò)內(nèi)置的任務(wù)調(diào)度程序執(zhí)行。

所有這些特性允許我們?cè)谠O(shè)備層面上更多引入智能化,而不是僅僅將I/O口映射到PC。因此,我們?cè)诓煌瑢用嫔嫌袃煞N主要處理過(guò)程:設(shè)備驅(qū)動(dòng)器運(yùn)行在現(xiàn)場(chǎng)總線節(jié)點(diǎn)上。它監(jiān)視物理設(shè)備,產(chǎn)生警報(bào),以異步方式對(duì)數(shù)據(jù)進(jìn)行發(fā)送更新等。設(shè)備服務(wù)器運(yùn)行在PC上。作為一臺(tái)面向控制系統(tǒng)其余部分的公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CORBA)服務(wù)器,它與所有相同類型的設(shè)備驅(qū)動(dòng)器通訊并進(jìn)行管理,并輸出設(shè)備功能。

二、I/O板

盡管已經(jīng)存在很多實(shí)用的商業(yè)I/O接口板,但我們?nèi)匀粵Q定開(kāi)發(fā)自己的I/O板,這有助于我們將不同板子類型的數(shù)量最小化。總共三種類型包含了控制系統(tǒng)I/O要求的所有情況。我們的板子配備了帶有24k字節(jié)SRAM和32k字節(jié)FLASH存儲(chǔ)器的MC143150微控制單片機(jī)(Neuron芯片),固定尺寸為小型歐洲格式(160×100mm)。單獨(dú)的I/O板包括:

Ariadne串行接口板,它支持EIA-232、EIA-422以及EIA-485標(biāo)準(zhǔn),最大波特率可達(dá)115kbps。它包括16k字節(jié)的接收和發(fā)送緩沖器,板上電源能從230V交流線路、7V~12V未穩(wěn)壓直流電源以及5V穩(wěn)壓直流電源提供電流。

Hera通用數(shù)字I/O卡,帶24路輸入(50mA)、8路輸入/輸出(50mA)以及8路固體繼電器(1A)。所有I/O通過(guò)光耦隔離。它為輸入和輸入/輸出提供兩種運(yùn)行模式。卡上還帶有一個(gè)0~100kHz的16位計(jì)數(shù)式頻率計(jì)(絕對(duì)誤差1.53Hz)。

Zeus高精度I/O卡,帶16位ADC和DAC,DAC由觸發(fā)脈沖輸入,并且數(shù)字通路采用光耦隔離(8輸入和8輸出)。ADC的4個(gè)模擬通道標(biāo)稱采樣頻率為1kHz,以4kHz頻率過(guò)采樣時(shí)保證精度為0.3LSB。DAC最大工作頻率為10kHz。板上額外的外設(shè)微控制器(為控制升壓和存儲(chǔ)環(huán)電源而設(shè)計(jì))包括:與DAC觸發(fā)脈沖輸入同步的函數(shù)發(fā)生器,緩存DAC函數(shù)和ADC數(shù)據(jù)的32kb存儲(chǔ)器以及外設(shè)自檢。

三、軟件

1. 節(jié)點(diǎn)層

我們控制系統(tǒng)中,軟件對(duì)設(shè)備的控制是設(shè)備能夠感知的,并且從更高層面上屏蔽了I/O細(xì)節(jié)。由于Neuron芯片CPU功率限制,這種封裝只是在一種合理的范圍內(nèi)進(jìn)行,例如由于Neuron芯片低劣的浮點(diǎn)性能,十六進(jìn)制數(shù)值向工程單位的轉(zhuǎn)化在PC上完成。

我們的控制系統(tǒng)含有超過(guò)20種設(shè)備類型。使設(shè)備盡量智能化的要求增加了設(shè)備層面的編程量。考慮到所有這一切,有必要為實(shí)現(xiàn)器件驅(qū)動(dòng)器而定義一種帶通用通訊接口的通用API。通過(guò)這種API,我們簡(jiǎn)化了新設(shè)備驅(qū)動(dòng)器以及與設(shè)備通訊的軟件的開(kāi)發(fā)過(guò)程(設(shè)備服務(wù)器在PC上運(yùn)行)。

根據(jù)我們“設(shè)備感知”現(xiàn)場(chǎng)總線節(jié)點(diǎn)的范例,設(shè)備驅(qū)動(dòng)器API也允許在同一塊I/O板上實(shí)現(xiàn)多種相同或不同的設(shè)備。

通用設(shè)備成為控制系統(tǒng)的一部分必須滿足:

接收、處理并應(yīng)答外來(lái)請(qǐng)求;
向觀察者傳播監(jiān)控參數(shù)及其警報(bào);
設(shè)備內(nèi)部具有程式化的狀態(tài)機(jī)或附加邏輯。
通過(guò)LonWork,利用請(qǐng)求/應(yīng)答機(jī)制實(shí)現(xiàn)的簡(jiǎn)單RPC可以很容易滿足第一個(gè)要求。

通過(guò)定義適當(dāng)?shù)木W(wǎng)絡(luò)參數(shù)類型,以及每當(dāng)從設(shè)備讀取數(shù)據(jù)時(shí)更新網(wǎng)絡(luò)變量,可以實(shí)現(xiàn)第二個(gè)要求。這些網(wǎng)絡(luò)變量稱為監(jiān)控變量。一對(duì)可調(diào)的軟件定時(shí)器控制網(wǎng)絡(luò)監(jiān)視變量的傳播。“最大定時(shí)器”定義了監(jiān)控變量的周期,“最小定時(shí)器”定義了在兩個(gè)監(jiān)控變量更新之間所必須間隔的最小時(shí)間。最小定時(shí)器防止當(dāng)監(jiān)控參數(shù)值變化太快時(shí)造成網(wǎng)絡(luò)流量過(guò)大。一些參數(shù)類型也可以定義增量極限來(lái)防止過(guò)快的傳播。每個(gè)監(jiān)視變量都有稱為報(bào)警的互補(bǔ)網(wǎng)絡(luò)變量,用于傳達(dá)警報(bào)和對(duì)該警報(bào)的響應(yīng)值。

由于傳播受“定時(shí)器溢出”、“數(shù)值改變”或“報(bào)警條件”事件觸發(fā),因此監(jiān)控和報(bào)警為異步通訊。

我們還編寫了通用設(shè)備驅(qū)動(dòng)庫(kù),這樣經(jīng)過(guò)單純的編譯器指示,任何設(shè)備驅(qū)驅(qū)動(dòng)器都能編譯為設(shè)備的模擬。由于不同接口板的數(shù)目很少,并且詳細(xì)定義了通訊接口,這是可能實(shí)現(xiàn)的。模擬被證明非常有助于代碼調(diào)試和測(cè)試過(guò)程。

2. PC側(cè)通訊

美國(guó)埃施朗(Echelon)公司提供獨(dú)立的LNS(LonWork網(wǎng)絡(luò)服務(wù))平臺(tái),以及用于管理LonWork網(wǎng)絡(luò)的面向?qū)ο蠼Y(jié)構(gòu)。在Windows環(huán)境下,有稱為L(zhǎng)CA(LonWork組件結(jié)構(gòu))的ActiveX的LNS封裝。不幸的是,目前的LCA版本過(guò)于面向互操作。由于這種原因和網(wǎng)絡(luò)服務(wù)的自動(dòng)化和最簡(jiǎn)化實(shí)現(xiàn),它向開(kāi)發(fā)者隱藏了很多關(guān)鍵的細(xì)節(jié),使其被迫直接使用LNS API。

在開(kāi)發(fā)的初始階段,我們利用LCA在相對(duì)短的時(shí)間內(nèi)開(kāi)發(fā)控制系統(tǒng)原型。第二階段,我們引入顯示報(bào)文功能,為此需要LNS層。現(xiàn)在,我們完全避免了LCA,并由此實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)服務(wù)的完全控制,同時(shí)也避免了上層的ActiveX。

3. 設(shè)備配置

為了消除硬編碼常數(shù)從而讓設(shè)備驅(qū)動(dòng)器具有通用性,我們將配置參數(shù)下載到設(shè)備中。為此,與LonWork工程報(bào)告中相似,我們開(kāi)發(fā)了自定義的窗口式文件傳輸協(xié)議。我們同樣能夠利用FTP傳送大量數(shù)據(jù)。

每次設(shè)備服務(wù)器啟動(dòng)時(shí),它檢查節(jié)點(diǎn)上是否存在有效運(yùn)行的設(shè)備。如果沒(méi)有,在數(shù)據(jù)庫(kù)中找到可執(zhí)行路徑,將應(yīng)用程序下載到節(jié)點(diǎn)。如果需要,可以對(duì)節(jié)點(diǎn)配置文件進(jìn)行更新。

配置數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,被設(shè)備驅(qū)動(dòng)器和設(shè)備服務(wù)器共同使用。所有數(shù)據(jù)按工程單位存儲(chǔ),在Neuron應(yīng)用程序使用前必須轉(zhuǎn)化為原始格式。為簡(jiǎn)化設(shè)備配置過(guò)程,以及消除同樣的配置常數(shù)存在于數(shù)據(jù)庫(kù)內(nèi)多個(gè)位置或多種格式,編寫了一個(gè)模板編譯器。這個(gè)編譯器從NeuronC應(yīng)用程序中提取原始頭文件并將其編譯為模板,然后將其填滿數(shù)據(jù)庫(kù)數(shù)據(jù)并轉(zhuǎn)化為二進(jìn)制格式。這種二進(jìn)制格式能夠通過(guò)FTP下載,可以直接復(fù)制到用于創(chuàng)建模板的相同數(shù)據(jù)結(jié)構(gòu)中。從而,我們得到了一種將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)化為Neuron應(yīng)用程序可識(shí)別格式的通用方法。

聯(lián)系我們

地址: 浙江省.寧波市鄞州區(qū)寧姜公路(九曲小區(qū)二期旁)

郵編: 315040

聯(lián)系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機(jī): 13867861670

郵箱: 85400329@qq.com

聯(lián)系我們
主站蜘蛛池模板: 库车县| 溆浦县| 九江县| 莲花县| 大新县| 安新县| 区。| 界首市| 丰城市| 永顺县| 内黄县| 西贡区| 崇义县| 新昌县| 莲花县| 安多县| 松原市| 贺州市| 大新县| 太原市| 图片| 天津市| 灵台县| 辉县市| 青阳县| 孟津县| 苏尼特右旗| 沈丘县| 江西省| 大英县| 略阳县| 佛学| 娱乐| 德庆县| 象山县| 长汀县| 晋城| 浙江省| 合江县| 余庆县| 黄大仙区|