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

基于BACnet的PLC控制器的設計與實現

2018-01-22 21:13:15郭慶秦明達許金
現代電子技術 2018年2期

郭慶+秦明達+許金

摘 要: 為了使PLC控制器能夠與BACnet國際樓宇自動控制標準契合,設計并開發了基于STM32控制芯片和MS/TP協議的PLC控制器??刂破骺赏ㄟ^梯形圖進行現場編程,具有完整的控制邏輯,滿足BACnet的一致性要求。實驗測試表明,PLC控制器可以使用RS 485總線與PC上的BACnet虛擬機進行通信,達到0.596 ms的響應時間,并滿足PLC的穩定性,具有編程簡單、高效、實時性好、運行穩定的特點。

關鍵詞: PLC控制器; BACnet; MS/TP; STM32; 樓宇自動控制; 梯形圖編程

中圖分類號: TN876?34; TN710.1; TP368.2 文獻標識碼: A 文章編號: 1004?373X(2018)02?0038?06

Abstract: To make PLC controller fit with the international building automation control standard of BACnet, the programmable logic controller (PLC) based on STM32 control chip and MS/TP protocol was designed and developed. The controller can be programmed in spot by using the ladder diagram, and has complete control logic to meet the conformance requirements of BACnet. The experiment result shows that the PLC can communicate with BACnet virtual machine on PC via RS 485 bus, whose response time can reach to 0.596 ms, and meet the stability of the PLC. The PLC has the characteristics of simple and efficient programming, high real?time performance, and stable operation.

Keywords: PLC controller; BACnet; MS/TP; STM32; building automation control; ladder diagram programming

0 引 言

PLC(Programmable Logic Controller)作為靈活方便、通用性強、可靠性高、接口簡單、編程容易、穩定實用的現場控制器,是目前應用最廣泛的現場控制器之一。在空調控制系統、電梯控制系統以及其他樓宇控制系統中,PLC控制器的應用也十分廣泛,而隨著樓宇自動控制系統的發展和研究,BACnet(Building Automation and Control Networks)國際標準也更多地應用到樓宇控制系統中。由于不能便捷地與BACnet網絡通信,PLC控制器的發展和使用受到了極大的限制。

基于BACnet協議的PLC控制器,可以在不改變PLC編程方式的前提下,使操作人員可以從BACnet網絡中監控到PLC控制器以及其控制設備的狀態。這種新型的PLC控制器可以減少編程人員的培訓成本,對我國智能建筑的發展和BACnet的研究和應用是十分必要的。

1 基于BACnet協議的PLC控制器的設計實現

BACnet協議在OSI/RM(Open System Interconnection/Reference Model)模型的基礎上進行了最大程度上的精簡。精簡后的結構只留下應用層、網絡層、數據鏈路層和物理層[1]。根據協議結構,所設計的整體自動控制系統如圖1所示。系統采用MS/TP(Master?Slave/Token?Passing data link protocol)作為整個系統的數據鏈路層,其是BACnet標準自己定義的數據鏈路層協議,協議以技術成熟的EIA?485標準作為物理層,在樓宇自動控制中具有較好的穩定性和操作性,是目前BACnet標準中使用最多的數據鏈路層協議[1]。

PLC控制器選用STM32F103VET6作為主控芯片,其功能主要分為兩部分:一部分實現PLC控制器的基本功能,將梯形圖進行下載編譯實現控制功能;另一部分與MS/TP網絡中的上下層設備進行通信,實現獲取控制信息以及傳輸數據等功能。控制器的整體的結構框圖如圖2所示。

PLC功能實現部分:PLC部分程序的結構設計,根據PLCopen所規定使用的IEC 61131?3標準,通過RS 232總線,實現控制器與上位機梯形圖編程軟件通信以及現場控制功能。

BACnet通信部分:通信程序的設計基于MS/TP協議,通過RS 485總線與上位機BACnet虛擬軟件進行通信,獲取控制信息和數據。PLC根據控制信息調用FLASH內的PLC程序,進行相應的控制以及數據獲取。

在保證與BACnet網絡正常穩定通信的前提下,整體程序需要更新并調用PLC控制程序。整體程序的結構框圖如圖3所示。

由圖3可知,整體程序完成了PLC控制功能和BACnet通信功能兩部分程序的統一調用和整體功能的實現。與網絡中的設備通信后,依據獲取數據,控制器改變內部控制參數,調用控制程序;依照控制結果,被控變量更新,控制器對下層設備進行控制;如果需要更新PLC控制程序,控制器與上位機PLC編程軟件通信,更新程序,開始控制程序的下一個循環;如果不需要更新程序,控制器直接開始下一個循環。endprint

2 PLC基本功能的實現

PLC功能的實現主要由兩部分構成:一部分將依據梯形圖解析得到的程序通過RS 232總線下載到控制器中并將其解析存儲到FLASH中;另一部分程序負責循環調用FLASH內的程序,按照順序執行步驟,對被控變量做出相應改變,根據得到數據控制下層設備。

2.1 梯形圖的解析和下載

梯形圖是IEC 61131?3 PLC標準定義的5種PLC編程語言中應用最廣泛的一種,具有簡單、直觀、實用[2]等特點,是最簡單易學的PLC語言。

梯形圖的解析就是要將簡單直觀的圖形語言轉換成機器可識別的機器語言,轉換的過程如圖4所示。具體的轉換方法如下:

1) 將根據IEC 61131?3的圖形化編程語言所編寫的梯形圖程序按從左到右、從上到下的順序轉換成指令表。

2) 編譯指令表,形成機器語言。

3) STM32控制芯片通過RS 232總線將機器語言從PC端下載到芯片自帶的FLASH中,存儲的起始地址為0x8070000H。

解析得到的PLC程序由于存放在FLASH中,和總程序存放的區域不同。因此,PLC控制程序不會因為控制器掉電或者總程序的改變而改變。

2.2 PLC控制程序的調用

控制器在與BACnet通信之后,從上層獲得數據,更新控制參數數組。進入調用PLC控制程序中。調用具體過程如圖5所示。

控制器從PLC程序存儲的FLASH首地址0x8070000H開始讀取控制程序。根據PLC的特性,程序是順序執行,并沒有跳轉和循環,因此,調用程序按順序從起始地址開始,逐條讀取??刂谱兞繒鶕x取得到的控制邏輯而改變,直到讀取到“END”指令,PLC控制程序整體結束時,控制變量的參數更新。下層設備依據控制變量的變化,做出開關狀態的改變,控制程序調用完成一個周期。傳統的PLC控制器會一直不停地調用控制程序,進行一個又一個周期的循環,直至設備工作結束,或者需要更新程序。加入MS/TP的PLC控制器,在每個周期會與BACnet網絡上下層設備進行相應的數據交換,實時更新控制邏輯和控制變量的變化,操作人員可以實時監控被控設備的狀態變化,如圖6所示。

3 BACnet通信的實現

BACnet所規定的數據鏈路層協議中,MS/TP協議是使用最廣泛、最穩定的協議。MS/TP協議的工作過程通過接收狀態機、主站點發送狀態機和從站點發送狀態機三種狀態機之間的狀態轉換來實現[3]。由于主站點接收狀態機涵蓋了從站點接收狀態機的所有功能。因此,協議棧設計過程中將兩者合二為一,定義為發送狀態機。

3.1 接收狀態機的實現

接收狀態機從RS 485總線上接收得到數據和控制信息,過濾掉錯誤和目的地址不是本站點的信息。需要注意的是:接收狀態機只會從數據幀中獲取數據段內容和數據幀的類型,即BACnet報文的內容,并存儲起來,但不會讀取、解析報文的內容。所設計的接收狀態機中,共有4種狀態,分別是:

MSTP_RECEIVE_STATE_IDLE(空閑狀態)

MSTP_RECEIVE_STATE_PREAMBLE(前導同步狀態)

MSTP_RECEIVE_STATE_HEADER (幀頭狀態)

MSTP_RECEIVE_STATE_DATA (數據狀態)

以HEADER狀態為例:當狀態機處于PREAMBLE狀態時,讀取到同步前碼為“55 FF”,即每一幀數據的頭兩個字節,表示同步前導正確,狀態機轉換為HEADER狀態。HEADER狀態主要功能是解析接收得到MS/TP數據幀中的目的地址和源地址,并對整個數據幀進行CRC校驗。接收狀態機處于HEADER狀態時,狀態機會做出以下不同動作:接收超時或錯誤時,數據幀會被狀態機丟棄,接收狀態機轉入IDLE狀態;經過解析得到的源地址不為令牌持有站點或者目的地址不為本站點時,數據傳輸錯誤或狀態機接收到了其他站點的信息,數據幀會被拋棄。接收到的數據幀將會被拋棄,接收狀態機轉入IDLE狀態;數據幀的CRC校驗錯誤時,數據幀被認為是錯誤的,狀態機將會拋棄該數據,并轉入IDLE狀態;接收到的數據幀的目的地址、源地址以及CRC校驗正確時,數據幀將會被保存,接收狀態機轉入DATA狀態,進行數據段的解析。

3.2 發送狀態機的實現

當控制器為主站點中的一個時,發送狀態機的功能除了發送數據幀和需要響應的內容外,還會發送令牌輪詢幀,并產生、收發令牌幀,以管理和維護令牌。當該站點為主站點并持有令牌時,會根據控制需求發送數據幀,并分析接收狀態機接收得到的數據判斷其他站點的響應狀態。當該站點為主站點但不持有令牌或者為從站點時,發送狀態機會分析接收狀態機接收得到的內容,發送對應的響應幀。所設計發送狀態機中,共有9種狀態,分別是:

MSTP_MASTER_STATE_INITIALIZE(初始化狀態)

MSTP_MASTER_STATE_IDLE(空閑狀態)

MSTP_MASTER_STATE_USE_TOKEN(使用令牌狀態)

MSTP_MASTER_STATE_WAIT_FOR_REPLY(等待應答

狀態)

MSTP_MASTER_STATE_DONE_WITH_TOKEN(令牌使用完畢狀態)

MSTP_MASTER_STATE_PASS_TOKEN(傳遞令牌狀態)

MSTP_MASTER_STATE_NO_TOKEN(無令牌狀態)

MSTP_MASTER_STATE_POLL_FOR_MASTER(主節點輪詢狀態)

MSTP_MASTER_STATE_ANSWER_DATA_REQUEST(應答數據請求狀態)endprint

當控制器作為從站點時,發送狀態機只有初始化狀態、空閑狀態和應答數據請求狀態三種。

發送狀態機的具體工作流程如圖7所示。

以POLL_FOR_MASTER狀態為例:發送狀態機處于NO_TOKEN狀態時,在500 ms內沒有監聽到總線上的數據時,發送狀態機判斷令牌丟失,需要產生令牌,狀態機宣布成為令牌持有主站點,并轉入POLL_FOR_MASTER狀態;當發送狀態機處于DONE_WITH_TOKEN狀態,并且站點作為主站點已經使用令牌50次或令牌在主站點傳遞次數達到50次,發送狀態機轉入POLL_FOR_MASTER狀態。POLL_FOR_MASTER狀態主要功能是發送主節點輪詢幀,詢問MS/TP網絡中是否有新的主站點加入。發送狀態機向MS/TP的主站點地址發送主節點輪詢幀。

發送狀態機處于POLL_FOR_MASTER狀態時:接收到其他主節點的響應幀,需要向該站點傳遞令牌,發送狀態機轉入PASS_TOKEN狀態;狀態機沒有接收到主站點的響應幀時,并且沒有輪詢到所有127個主站點時,發送狀態機繼續處于POLL_FOR_MASTER狀態,準備向下一個主站點發送主節點輪詢幀;狀態機沒有接收到主站點的響應幀時,并且輪詢到所有127個主站點時,本站點宣布成為單一主站點,MS/TP變為主?從網絡,發送狀態機轉入USE_TOKEN狀態。

協議棧的狀態機是控制器和BACnet網絡交互的最核心的內容。狀態機可以完成數據的接收和發送功能,并對上下層的請求做出正確的響應。在保證傳輸正確性和穩定性的前提下,協議棧將很多不必要的功能進行了刪減,并將很多功能進行了合并,保證了協議棧的輕量化,并在一定程度上加快了程序的運行速度。

3.3 BACnet報文(數據段)內容解析與包裝

從MS/TP數據幀中得到的數據段數據包含網絡層數據(NPDU)和應用層數據(APDU)。目前,控制器只針對在一個局域網內使用的情況,因此,控制器的設計將網絡層數據的解析進行了刪減,控制器只針對APDU數據進行解析。

應用層數據采用的是BACnet標準的標記編碼方式,這種編碼方式基本上采用ASN.1的基本編碼規則中的編碼算法,但根據自身的特點定義對TLV編碼方式進行修改,使之更好地適用于APDU[4]。BACnet的標記編碼結構如圖8所示。

解析過程為:數據段的前16位數據與BACnet標準中APDU的標準編碼類型進行對比,得到服務類型。從第17位開始的數據內容,與BACnet的標記編碼結構進行對照,解析APDU內容。

以解析“10 00 C4 02 00 00 01 22 01 E0 91 00 21 05”為例。根據圖8所示數據結構和BACnet標準中相應的數據格式的規定,以上數據可以做出如下解析:

“10 00”:非證實服務“請求”產生的I?AM報文;

“C4 02 00 00 01”:設備的對象類型為8,即為設備類型;

“22 01”:最大長度為280 B;

“91 00”:不支持分段;

“21 05”:生產廠商的識別號為5。

4 實驗結果及分析

實驗對設計的8BI,8BO,2AI的基于MS/TP的PLC控制器進行測試。測試使用BACnet上位機對控制器的輸出口進行控制,測試上位機控制到控制器動作經過的時間,即為控制器的響應時間,測試到的響應時間的數據如表1所示。

從表1可以看出,控制器的響應時間在0.596 ms左右,而一般的PLC響應時間在4.5 ms左右,相當于響應速度提升了將近9倍,并且可以靈活應用于BACnet網絡中,相對于傳統PLC有很大的優勢。

PLC另一個很重要的參數是控制器的穩定性。分別對8BO口進行500次的開關測試,記錄其正確動作的次數,具體數據如表2所示。

從表2可看到,每個BO在100次的開關中,均可正確的動作,控制器具有良好的穩定性,可在控制系統中穩定工作。

5 結 語

基于MS/TP的PLC控制器是針對國際標準BACnet設計的。在保證快速響應和穩定性的前提下,相對于傳統的PLC,更加靈活、應用方式更加簡便。而和其他的MS/TP現場控制器相比,有著編程簡單、現場調試更加便捷,對操作人員的要求也相應的降低。熟練使用PLC編程的工程師,可以不經過培訓直接對控制器編程,減少了人員培訓的成本。因此,隨著BACnet的不斷發展和應用,基于BACnet協議的PLC控制器會很廣泛地應用于樓宇自動控制系統中,對促進樓宇自動控制系統的發展而言,有著重大意義。

參考文獻

[l] 董春橋.智能樓宇BACnet原理與應用[M].北京:電子工業出版社,2003.

DONG Chunqiao. Intelligent building BACnet principle and application [M]. Beijing: Electronic Industry Press, 2003.

[2] 李衛華.基于IEC 61131?3標準的PLC底層開發[D].北京:北京工業大學,2008.

LI Weihua. PLC system program design based on IEC61131?3 [D]. Beijing: Beijing University of Chemical Technology, 2008.

[3] 董春橋.智能建筑自控網絡[M].北京:清華大學出版社,2008.

DONG Chunqiao. Intelligent building automation network [M]. Beijing: Tsinghua University Press, 2008.endprint

[4] 王再英,韓養社,高虎賢.樓宇自動化系統原理與應用[M].北京:電子工業出版社,2004.

WANG Zaiying, HAN Yangshe, GAO Huxian. Building automation system principle and application [M]. Beijing: Electronic Industry Press, 2004.

[5] 汪志鋒.可編程控制器原理與應用[M].西安:西安電子科技大學出版社,2004.

WANG Zhifeng. Principles and applications of programmable logic controller [J]. Xian: Xidian University Press, 2004.

[6] 劉賢德,石巖,惠曉實.BACnet的體系構[J].工程設計CAD與智能建筑,1999,6(9):16?20.

LIU Xiande, SHI Yan, HUI Xiaoshi. Architecture of BACnet [J]. Engineering design CAD and intelligent building, 1999, 6(9): 16?20.

[7] 羅秀秀.IEEE 802.5令牌環協議的一種簡化協議[J].計算機工程與應用,2002,38(11):168?170.

LUO Xiuxiu. A simplified protocol of IEEE802.5 token ring protocol [J]. Computer engineering and applications, 2002, 38(11): 168?170.

[8] 周亞軍,許毅平,周曼麗.BACnet協議應用層編解碼實現[J].艦船電子工程,2004(2):34?37.

ZHOU Yajun, XU Yiping, ZHOU Manli. BACnet protocol application layer codec implementation [J]. Ship electronic engineering, 2004(2): 34?37.

[9] 王鶯.工業可編程序控制器的現狀與發展趨勢[J].航天技術與民品,1999(5):12?15.

WANG Ying. Status and development trend of industrial programmable logic controller [J]. Aerospace technology and civilian products, 1999(5): 12?15.

[10] LUCAS M R, TILBURY D M. A study of current logic design practices in the automotive manufacturing industry [J]. International journal of human?computer studies, 2003, 59(5): 725?753.

[11] FRIEDRICK J. Building automation′s lead in open systems presents options [J]. Security systems news, 2004(74): 59?66.endprint

主站蜘蛛池模板: 亚洲中文字幕23页在线| 国产综合无码一区二区色蜜蜜| 久青草国产高清在线视频| 国产自视频| 污污网站在线观看| 国产另类视频| 国产成人av一区二区三区| 国产成人免费手机在线观看视频| 色偷偷一区二区三区| 欧美在线网| 色偷偷一区二区三区| 无码aaa视频| 国产成人精品一区二区| 性69交片免费看| 青草国产在线视频| 亚洲一区二区约美女探花| 第一页亚洲| 国产免费高清无需播放器| 九九线精品视频在线观看| 国产综合精品日本亚洲777| 精品偷拍一区二区| 国产91蝌蚪窝| 久久精品66| 国产精品v欧美| 亚洲欧美日韩天堂| 色婷婷电影网| 在线国产毛片手机小视频| 亚洲免费毛片| 久草视频中文| 97超爽成人免费视频在线播放| 亚洲大学生视频在线播放| 国产手机在线ΑⅤ片无码观看| 一级香蕉视频在线观看| 六月婷婷激情综合| 伊人丁香五月天久久综合| 欧美成人午夜视频| 久久一色本道亚洲| 国产成人艳妇AA视频在线| 夜色爽爽影院18禁妓女影院| 高清免费毛片| 日韩成人午夜| 免费看a级毛片| 亚洲欧美国产五月天综合| 精品综合久久久久久97超人| 国产呦视频免费视频在线观看| 日本一区二区三区精品AⅤ| 免费中文字幕一级毛片| 精品国产污污免费网站| 亚洲精品777| 一级毛片免费播放视频| 欧美成人精品一级在线观看| 国产成人综合亚洲网址| 国产99久久亚洲综合精品西瓜tv| 99视频在线免费观看| 在线国产三级| 成人在线天堂| 又黄又湿又爽的视频| 国产欧美日本在线观看| 亚洲欧美成人网| 午夜限制老子影院888| 国产亚洲男人的天堂在线观看| 亚洲国产综合精品一区| 亚洲人成高清| 99久久这里只精品麻豆| 一级毛片免费不卡在线视频| 国产成人一区| 日韩精品欧美国产在线| 91在线精品免费免费播放| 免费黄色国产视频| 欧美亚洲中文精品三区| 亚洲中文字幕av无码区| 久久久久中文字幕精品视频| 国产精品综合久久久 | 精品久久香蕉国产线看观看gif| 欧美一级在线看| 精品国产成人三级在线观看| 四虎精品国产永久在线观看| 中文字幕免费在线视频| 欧美日韩成人在线观看| 国产福利观看| 美女无遮挡拍拍拍免费视频| 99热这里只有成人精品国产|