《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于LonWorks現場總線技術的組態控制
基于LonWorks現場總線技術的組態控制
摘要: 本文在介紹監控組態軟件和LonWorks網絡控制技術的基礎上,提出一種基于LonWorks網絡技術的組態控制方法,給出其設計思想和實現方法。
Abstract:
Key words :

    1 引言

  1.1 組態控制軟件

  組態控制軟件是可實現各種控制功能的具有配置性質的程序。通過組態就可以實現預定的控制方案。可以使用戶在不需要編代碼程序的情況下,便可生成適合自己需求的應用系統,這些應用系統軟件就是組態軟件,它由開發人員完成,本文提出了基于LonWorks網絡控制來實現對組態軟件的開發方法,提出了一種基于LonWorks網絡技術的組態方法,給出其設計思想和實現方法。

  1.2 LonWorks網絡控制方法 – 節點

  LON網上的每個控制節點稱為LON節點或LONWORKS 智能設備,它包括一片Neuron芯片、傳感器和控制設備、收發器和電源。

  Neuron芯片是節點的核心部分,它包括一套完整的通信協議,即LonTalk協議,從而確保節點間使用可靠的通訊標準進行互操作。因為Neuron芯片可以直接與它所監視的傳感器和控制設備相連,所以一個Neuron芯片可以傳輸。

  傳感器或控制設備的狀態、執行控制算法,和其它Neuron芯片進行數據交換等。使用Neuron芯片,開發人員可以集中精力設計并開發出更好的應用對象而無需耗費太多的時間去設計通訊協議、通訊的軟件和硬件,這樣減少了開發的工作量,節省了大量的開發時間。

  LonWorks節點編程是用Neuron C 來實現的,程序要經過編譯和燒錄后才能載入節點中運行;或者也有一些節點經過編譯可以直接下載到節點運行。在此我們把組態的思想引入組態控制軟件中,為控制網絡預先提供豐富的控制功能模塊,通過改變網絡節點之間的邏輯關系來達到改變網絡控制功能的目的。

  1.3 引入組態到LonWorks控制網絡的優點、特點

  ● 用戶不需要用Neuron C語言編程,只要根據實際需要進行適合自己的組態配置。

  ● 實現的功能多,方便用戶實現各種控制功能。

  ● LonWorks本身帶有通訊協議,組網方便、靈活。

2. 基于LonWorks的組態控制

  2.1 組態軟件生成:

  有的組態軟件將控制功能模塊稱為“軟PLC或Soft PLC”,也有的稱“軟邏輯”。組態控制軟件編程工具采用圖形化編程語言,只需用鼠標“點擊、拖動”就可以建立一個可重復使用的控制方案,大大減少工程時間和人力。一個應用程序中可以有很多控制模塊。開發人員利用Neuron C 語言編制通用控制程序。通用控制程序由許多基本功能模塊組成,各個模塊可以實現不同的控制功能。基本功能模塊有若干個輸入和輸出,每個輸入和輸出管腳都有唯一的名稱,不同種類的功能塊其每個管腳的意義、取值范圍也不相同。

  控制模塊基本功能塊包括:數學運算模塊(實現數的加、減、乘、除、乘方、開方等基本運算);邏輯運算模塊(實現邏輯的與、或、非、延時、選擇開關等功能);變量模塊(提供運算的操作數并存放最終的運算結果)以及常用的控制算法模塊(例如PID控制等)。

  組態控制軟件存盤時自動對程序進行編譯、檢查語法錯誤,同時生成一定格式的消息包,準備傳遞給Neuron芯片。這些特定格式的數據包有:控制模塊綜合描述(例如所含的控制模塊總個數,參數總個數,中間變量總個數等),各模塊的描述(例如該模塊的模塊數,參數個數,中間變量等),各模塊的參數表,各模塊代碼表,各模塊的中間變量存放順序表等。

  組態Neuron節點通過顯式消息與PC機進行通訊,接收模塊消息包。該節點中存有與基本功能模塊相應的執行模塊代碼,將數學模塊、邏輯模塊、變量模塊和控制算法模塊等分別寫成單獨的函數,可按照組態軟件生成的消息包被調用,并可將執行結果傳送給PC機或其它 Neuron節點。假如組態中某個功能塊的參數發生了改變,則重新編譯程序并將最新生成的模塊消息包發給 Neuron芯片,使之總是執行最新的功能塊,實現組態的在線編譯與控制。組態Neuron節點在接收消息時,根據消息標簽將消息數據賦給該節點定義的不同的數據結構。只有當組態軟件生成的所有相關消息被收到后,功能塊才可以執行。

  Neuron各節點之間通過網絡變量進行通訊。在組態Neuron節點中,預定義一定數量的網絡變量,既有輸入類型,也有輸出類型。其總個數不超過Neuron C 語言中允許定義的網絡變量的總個數。

  網絡變量的使用極大的簡化了開發和安裝分散系統的處理過程,各節點可以獨自定義,然后簡單地連接在一起或斷開某幾個連接,以構成新的LONWORKS應用,大大增加了系統的靈活性,開放性。網絡變量通過給節點相互之間明確的網絡接口而極大地提高了節點產品的互操作性。互操作性帶來得好處是:節點能很方便地安裝到不同類型的網絡中,并保持節點應用的網絡配置獨立性。節點可以安裝到網絡中并且只要網絡變量數據類型匹配,就可以邏輯建立地與網絡上的其它節點的連接。

  一個網絡變量NV(Network Variables)是節點的一個對象,它可以定義為輸入也可以定義為輸出網絡變量。當一個網絡變量在一個節點的應用程序中被賦值后,LonTalk協議將修改了的輸出網絡變量新值構成隱式消息,透明的傳送到可與之共享數據的其它節點或PC機。這里的網絡變量其實為隱式消息。

  由于每個網絡變量的數據長度一經確定就不能改變,且最多只有31B,所以限制了它的使用范圍。為此,可考慮同時使用了Neuron C 提供的顯示消息這一數據類型。

  顯式消息的長度是可變的,且最長可以是228B。顯式消息必須使用一個預定的對象來構造,然后使用顯式函數以及預定事件來處理這些顯式消息。

  用預定事件msg_arrives來接收消息。

  本設計中,由message-code判斷要接收的消息數據msg_in.data應該存放到那一部分數據結構。message-code有head, stragehead, code, parameter, index, 和run等。其中,head為控制模塊頭,stragehead為控制模塊描述頭,code為接收代碼表,parameter為接收參數表,index為接收索引表,run為接收程序開始執行命令。這些消息分別對應組態軟件編譯生成的消息包格式。只有當組態Neuron節點收到全部的模塊消息和執行命令run后,模塊才被執行。

  2.2 實例

  對于實現一個加法運算(加法器)來講,其組態功能圖如圖:

 

 

  模塊1為變量模塊(輸入輸出模塊)中的常量模塊,模塊2、3都為變量模塊(輸入輸出模塊)中的網絡變量輸入模塊,模塊4為數學運算模塊中的加法模塊,模塊5為變量模塊(輸入輸出模塊)中的輸出模塊。

  若要實現這樣一個加法功能,首先在組態工具中畫出如圖2所示的功能組態圖,經編譯后生成所需的模塊代碼。如模塊頭文件為:

  Varsize 12 0 0 0 0 //中間變量所需暫存單元

  Stragenum 1 //控制模塊個數

  Parasize 2 //參數所需存儲單元

  Codesize 20 //代碼所需存儲單元

  Indexsize 24 //索引所需存儲單元

  Globalsize 0 //全局變量所需存儲單元

  在模塊進行執行時,

  1) 執行模塊1,將參數值從參數表中取值,放入中間變量表;

  2) 執行模塊2,將相應的輸入網絡變量放入中間變量表;

  3) 執行模塊3,將相應的輸入網絡變量放入中間變量表;

  4) 執行到模塊4時,從中間變量表中取使能端的參數,從中間變量表中取輸入端1的參數,從中間變量表中取輸入端2的參數,將兩操作數相加,運算結果放回中間變量表。

  5) 執行模塊5,從中間變量表中將數值賦給相應的輸出網絡變量。

  2.3 數據結構

  Ø 代碼結構:由4個字節組成,分別用16進制表示。

 

 

  Ø 代碼結構的含義:

  第一字節表示種類( category),即四大模塊(數學模塊、邏輯模塊、變量模塊和控制模塊)中的某一類;

  第二字節表示類型(kind),即某一模塊中的具體功能;

  第三和第四字節表示索引(index)。

  Ø 索引表的結構:由二個字節組成;在程序中用16進制表示。

 

 

  Ø 索引(index)表的含義:

  I. 占兩個字節。

  II. 分別由各個功能塊的四個部分組成:

  A. 第一部分表示某個功能塊由幾個輸入、輸出集成,分別對應中間變量表的指針數值。

  B. 第二部分表示輸入網絡變量。本設計中輸入數據由消息節點的消息變量發送,再由接受節點接受,通過網絡傳遞到另一個接受節點上來,并轉化成網絡變量,再由網絡變量送入PTAG表,以便進行運算。

  C. 第三部分表示輸出網絡變量。運算結果放入PTAG中間變量表,輸出時再從中間變量表中取出運算結果,送入接受方節點(本節點上)即NEUM節點上的輸出網絡變量,經網絡上傳遞后,再由連接后的輸入網絡變量從另一個節點(即消息節點)上可以讀出數據。

  D. 第四部分表示常量。其值由參數表中取出,參數表中的數據由消息發送過來。

  III. 各個功能塊的次序和每個功能塊中四個部分的次序,由組態的次序決定。

  第一部分的格式:

 

 

  第二部分(輸入網絡變量的格式):

 

 

  第三部分(輸出網絡變量)的格式:

 

 

  第四部分(常量)的格式:

 

 

  Ø 中間變量表的結構:由數據的類型決定字節長度。

 

 

  中間變量表通過賦初值來確定其結構,此時中間網絡變量只有空結構,沒有數據,其數據等待輸入,由變量模塊、取數據函數GET()、設置數據函數SET()來完成。變量模塊中分三個類型,有常量、網絡變量輸入和網絡變量輸出。這三種類型的數據最終都要放入中間變量表中,輸入時,如是常量,則從參數表中取出常量,放入中間變量表中。參數表中的數據預先由消息節點發送,在讀參數表時已讀入數據。由READP()程序完成。

  如不是常量,則由網絡變量輸入來接受數據,數據還是由消息節點發送過來,用GET()函數讀入,再由SET()函數放入PTAG中間變量表,以備運算使用。

  輸出時,再由中間變量表中取出,放進輸出網絡變量進行輸出。再由節點通過網絡傳遞到消息節點,通過消息節點上的輸入網絡變量可以觀察運算結果。

  特別要注意的是:中間變量表的字節長度是隨著常量數據的類型(只有整型和浮點型)、網絡變量的數據類型來確定,因而,不同的模塊運算中間變量表的長度是不同的,這也反映在索引表的內容上。

  Ø 中間變量(Ptag)表的格式:(一個模塊)

 

 

  Ø 參數表的格式:(放常量)

 

 

  要實現這樣的加法功能,先在組態工具中畫出如上圖的組態功能圖,經編譯后生成所需的控制模塊代碼。

  如設計代碼為:{0,0,0,0,0,1,0,2,0,1,0,4,1,0,0,6,0,2,0,10}。索引表設計為:{16,0,16,0,16,0,16,3,16,1,16,6,16,0,16,3,16,6,16,9,16,9,16,0}。//16 完全和程序中生成的數據類型的編程方法有關。

3 結束語

  在LonWorks技術的基礎上實現組態控制有著廣闊的發展空間。依靠極強的Neuron芯片及LonTalk協議,使得組態控制得以在線編譯并實時運行。采用消息包的形式向Neuron 芯片傳送組態控制的模塊,減少了Neuron 編程的工作量以及編譯工作,增加了系統的靈活性和開放性。為組態軟件的發展提供了更為開闊的市場。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品欧美日韩| 99日韩精品| 一本色道久久综合亚洲精品不卡| 国产综合婷婷| 国产日韩综合一区二区性色av| 国产精品成人一区二区三区吃奶 | 亚洲一区二区综合| 一区二区三区视频免费在线观看| 亚洲人成网站精品片在线观看| 亚洲国产精品欧美一二99| 久久成人国产| 亚洲国产精品999| 亚洲国产精品v| 最新国产の精品合集bt伙计| 亚洲国产精品一区二区尤物区| 欧美一区午夜精品| 欧美制服丝袜第一页| 欧美一区在线直播| 久久精精品视频| 亚洲国产欧美一区| 亚洲伦理在线| 亚洲性xxxx| 性伦欧美刺激片在线观看| 香蕉成人啪国产精品视频综合网| 欧美一区二区三区久久精品茉莉花 | 亚洲欧美日韩高清| 欧美一区=区| 久久久亚洲国产天美传媒修理工| 久久久福利视频| 久久综合色8888| 欧美美女福利视频| 国产精品国产三级国产专播精品人 | 亚洲精品综合| 亚洲婷婷综合色高清在线| 亚洲制服av| 久久精品在线观看| 欧美国产日本高清在线| 欧美日韩在线视频首页| 国产伦精品一区二区三区高清| 国内久久婷婷综合| 亚洲精品久久久久久久久久久久久 | 国产精品一区在线观看| 含羞草久久爱69一区| 亚洲国产一区在线观看| 亚洲色图在线视频| 欧美专区中文字幕| av成人免费| 久久国产精品黑丝| 欧美成人视屏| 国产精品久久久久影院色老大 | 亚洲直播在线一区| 亚洲国产精品免费| 亚洲视屏在线播放| 久久精品亚洲国产奇米99| 欧美精品久久久久久久| 国产精品午夜国产小视频| 亚洲电影激情视频网站| 亚洲无吗在线| 91久久久久久久久久久久久| 亚洲影院高清在线| 久久久www成人免费无遮挡大片 | 依依成人综合视频| 一区二区激情视频| 久久成人精品电影| 在线一区二区三区做爰视频网站| 欧美综合第一页| 欧美精品一区二区三区久久久竹菊| 国产精品视频九色porn| 亚洲高清av| 亚洲欧美99| 在线一区二区视频| 久久尤物电影视频在线观看| 欧美日韩专区在线| 在线成人激情视频| 亚洲欧美国产视频| 一卡二卡3卡四卡高清精品视频| 午夜亚洲一区| 欧美精品亚洲精品| 狠久久av成人天堂| 亚洲一区二区三区四区中文 | 亚洲小说春色综合另类电影| 免费观看在线综合色| 国产精品中文字幕欧美| 最新国产の精品合集bt伙计| 欧美在线91| 欧美一级专区免费大片| 欧美色视频一区| 亚洲高清视频一区二区| 欧美在线一区二区| 久久岛国电影| 国产精品久久一区二区三区| 亚洲精品国产精品国产自| 久久国产精品99精品国产| 午夜精品久久久久久久99热浪潮| 欧美久久久久久| 亚洲国产精品久久精品怡红院| 欧美一区二区三区免费视频| 亚洲欧美日韩系列| 欧美午夜a级限制福利片| 亚洲国产精品久久久久秋霞蜜臀| 欧美在线不卡| 欧美在线免费观看| 国产精品久久久久7777婷婷| 亚洲精选91| 亚洲毛片在线免费观看| 蜜桃av一区二区在线观看| 国产日韩欧美精品一区| 亚洲一级黄色片| 亚洲午夜成aⅴ人片| 欧美美女操人视频| 亚洲精品一品区二品区三品区| 亚洲国产毛片完整版| 六月天综合网| 在线观看91精品国产麻豆| 久久gogo国模裸体人体| 久久精品国产亚洲aⅴ| 国产伦精品一区二区三区四区免费| 在线视频你懂得一区| 亚洲网站啪啪| 欧美午夜精品理论片a级按摩| 亚洲免费成人| 亚洲手机成人高清视频| 欧美视频国产精品| 在线亚洲自拍| 亚洲一二三区精品| 欧美日一区二区在线观看 | 91久久国产综合久久91精品网站| 久久尤物电影视频在线观看| 一区二区三区在线看| 亚洲国产日本| 欧美xxx成人| 亚洲精品偷拍| 亚洲欧美一区二区三区久久 | 99精品热6080yy久久| 亚洲午夜精品久久久久久app| 欧美天堂在线观看| 亚洲一区二区在线免费观看视频 | 久久综合激情| 亚洲高清在线观看| 一区二区三区视频在线观看| 欧美日韩美女| 亚洲图片在线| 久久久夜色精品亚洲| 1024亚洲| 一本色道久久88综合亚洲精品ⅰ| 欧美日韩午夜激情| 亚洲免费在线视频| 久久久久久午夜| 亚洲第一在线视频| 亚洲天天影视| 国产日韩视频| 亚洲日本在线观看| 欧美视频在线视频| 午夜精品久久久久久久99热浪潮| 久久久久久亚洲精品杨幂换脸| 亚洲国产国产亚洲一二三| 亚洲视频综合在线| 国产视频不卡| 亚洲精品在线看| 国产精品盗摄一区二区三区| 欧美一区二区三区四区视频| 男女视频一区二区| 中日韩高清电影网| 久久久综合免费视频| 亚洲人成网站999久久久综合| 亚洲男同1069视频| 黄色成人在线网站| 这里只有精品视频在线| 国产午夜精品一区二区三区欧美 | 欧美日韩中文字幕在线| 欧美一区二区三区在线观看 | 一本色道久久88亚洲综合88| 久久精品99| 亚洲精品乱码久久久久久| 欧美在线视频网站| 亚洲欧洲一区二区在线播放| 欧美亚洲日本国产| 亚洲国产一区二区精品专区| 午夜精品久久久| 亚洲日本精品国产第一区| 久久av红桃一区二区小说| 亚洲精品在线三区| 久久久久国产精品厨房| 一区二区不卡在线视频 午夜欧美不卡在 | 久久亚洲色图| 一道本一区二区| 久热精品视频| 亚洲在线免费| 欧美人与性动交a欧美精品| 香蕉av777xxx色综合一区| 欧美黑人多人双交| 欧美在线观看视频一区二区三区| 欧美日韩在线一区二区| 亚洲动漫精品| 国产欧美精品va在线观看| 日韩视频一区二区三区| 国内免费精品永久在线视频| 亚洲欧美国产制服动漫| 亚洲激情女人| 美女日韩欧美|