亚洲电影av-亚洲第一综合网站-亚洲第一在线-亚洲第一影院-成年人视频在线免费-成年人视频在线观看免费

電子方案開發供應鏈平臺
一鍵發布任務
獲取驗證碼
返回

發布成功


贊賞作者

贊賞金額:

  • ¥2
  • ¥5
  • ¥10
  • ¥50
  • ¥100
  • ¥200

支付金額:5

支付方式:

微信支付

贊賞成功!
你的贊賞是對作者最大的肯定~?

當前位置 : 首頁 > 方案訊 > 方案訊詳情
C++ Builder實現組態王實時監控艾默生變頻器的設計方法
發布時間:2015-06-07 閱讀量:749 來源:我愛方案網 作者:
【導讀】我愛方案網小編為大家介紹C++ Builder實現組態王實時監控艾默生變頻器的設計方法,此方法彌補了組態王沒有相關驅動程序,而無法實現應用組態王的缺陷,值得推廣應用。

1 引言


工業自動化通用組態軟件——組態王軟件系統與最終工程人員使用的具體的變頻器或現場部件無關。對于不同的硬件設施,只需為組態王配置相應的通訊驅動程序即可。組態王支持的硬件設備包括:可編程控制器plc、智能模塊、板卡、智能儀表、變頻器等。工程人員可以把每一臺下位機看作一種設備,而不必關心具體的通訊協議,使用時只需要在組態王的設備庫中選擇設備的類型完成安裝即可,使驅動程序的配置更加方便。

窯爐監控系統是為滿足生產需要,減少能耗,提高效率而設計的,它的實現必須要借助一定的軟件及硬件條件,通過變頻器控制風機從而控制窯內多個點的溫度及通風量,保質保量的完成出磚要求。因此,對變頻器的監控就顯得十分重要。

窯爐實時監控系統以組態王畫面為主要運行畫面,首先在組態王界面上對被監控系統的參數。進行設置,然后起動,在組態王的界面上可以動態。顯示下位機的運行狀態、測量參數、作業位置以及完成對多個變頻器具體性能指標的測試等。由于組態王只提供這類變頻器的驅動程序,沒有提供其通訊協議,因此在功能并不很強大的組態王內部直接開發變頻器的通訊協議是有較大難度的。

2 c++ builder作為后臺間接實現組態王與變頻器的通訊


本文采取的方法是:利用c++ builder 提供的串行通訊功能,實現與變頻器的通訊,再利用bcb的dde功能完成組態王與c++builder之間的動態數據交換。這樣就把從變頻器采集到的外部信號通過c++builder間接動態地顯示在組態王界面上。其系統的結構圖如圖1所示。

C++ Builder實現組態王實時監控艾默生變頻器的設計方法

3 c++ builder與變頻器之間串行通信的實現

串行通訊 (serial communication)指的是兩個欲交換信息者的信息流動,其信息流動的方式是一個位接一個位,有順序的由一端向另一端流動。帶異步通訊適配器的pc機與變頻器只有滿足如下條件,才能互聯通信:帶有異步通訊接口的變頻器與帶異步通訊適配器的pc機互聯;雙方采用的總線標準一致,否則要通過“總線標準變換單元”變換之后才能互聯;雙方的初始化、波特率、數據位數、停止位數、奇偶校驗都相同;要對變頻器的通訊協議分析清楚,嚴格的按照協議的規定及幀格式編寫pc機的通訊程序。變頻器中配有通訊機制,一般不需要用戶編程。pc機與艾默生變頻器不能直接連接,要通過電纜進行rs232、rs485的變換。

3.1 c++ builder與變頻器的通訊協議

協議是一系列的定義了計算機應該怎樣管理通信的規則。協議可以規定數據應該以什么格式進行傳遞和每個節點在什么時間以及以什么方式進行傳遞。除了數據通道以外,一個連接可以使用其它線線路來表示什么時候一個發送者有數據要發送,什么時候一個接收者能夠接收新數據或者其它控制或狀態信息。

3.2艾默生變頻器的通訊協議


變頻器通訊協議為modbus協議,除了支持常用的寄存器的讀寫外,還擴充了部分命令對變頻器功能碼進行管理。modbus協議同時支持rtu模式和ascii模式,本文采用rtu模式。對應的幀格式如圖2所示。
C++ Builder實現組態王實時監控艾默生變頻器的設計方法

3.3 c++ builder中通訊協議的實現


在c++builder中mscomm控件可以采用輪詢或事件驅動的方法從端口獲取數據。這里采用的是事件驅動的方法。就是在一個事件發生的時候,讓程序自動的跳到一段程序。該控件的oncomm事件執行這個功能。oncomm程序負責對諸如在串口的硬件中斷或者一個軟件緩存的計數器到達了一個觸發值這樣的事件時做出反應。在bcb的classwizard中為新創建的通信控件定義成員對象,通過該對象可以對串口屬性進行設置。通過設定其settings、commport、inputmode、handshaking、portopen屬性來實現設定bcb的通訊協議。這里設定settings屬性為:9600,n,8,1,即該協議的波特率為9600,無奇偶校驗,每個字符的數據位為8位。

4 bcb與組態王軟件數據交換的實現

“組態王”之間通訊的實現主要是通過“組態王”提供的動態數據交換 (dde)來完成的。dde是windows平臺上的一個完整的通信協議,它使應用程序能彼此交換數據和發送指令。dde過程可以比喻為兩個人的對話。提問的一方稱為“顧客”(client),回答的一方稱為“服務器”server)。一個應用程序可以同時是“顧客”、“服務器”:當它向其他程序中請求數據和時,它充當的是“顧客”若有其他程序需要它提供數據,它又成了“服務器”這里關鍵要實現的是。“組態王”作為顧客程序從bcb得到數據。使bcb成為“服務器”很簡單,只需在“組態王”中設置服務器程序的三個標識名(應用程序名、主題名、項目名),并把vb應用程序中提供數據的窗體的linkmode屬性設置為1,不必在vb中增加任何程序。值得注意的是,將vb窗口的屬性設定成和在組態王中定義dde設備時的“話題名”一樣;在組態王定義要顯示的變量時,選擇“項目名”為要顯示bcb的textbox控件名。這樣組態王界面上可以顯示出指定的bcb可執行文件中指定的textbox控件的值。

5 一種通過用bcb做控件實現組態王監控變頻器的方法


利用bcb中能生成activex控件的項目編寫器new-》other-》activex-》activeform,編寫相關程序實現控制變頻器的功能,并通過bcb自帶的view工具欄中的typelibrary工具來編譯生成控件,此控件經打包可生成在組態王中認始的ocx控件,此控件同樣可設置是否具有可讀可寫的屬性,此屬性是在typeliabrary工具中設置編譯后得到的,需要幾個參數,其各是什么屬性,完全可以自由添加,非常簡單方便。并可通過bcb相關程序,設置相關屬性對內對外的具體連接功能。實際上,此過程實現的就是變頻器與bcb控件的通信,控件與組態王的通信,此方式彌補了組態王中不提供的相關變頻器等的驅動程序,而無法利用組態王的缺陷,可通過bcb方便實現相關功能的驅動,而又間接實現了組態王控制變頻器等的驅動。實際bcb與變頻器等的通信也非常簡便,只要確定了通信協議,就可利用mscomm控件,方便的編寫通信程序,實現變頻器等的控制。用bcb制作通用控件嵌入組態王從而實現組態王與變頻器的通訊,其運行畫面如圖3所示。
C++ Builder實現組態王實時監控艾默生變頻器的設計方法

當用bcb作為后臺時,當系統開始運行前,要求首先運行c++builder的可執行文件作為后臺運行程序,然后才能運行組態王系統。當變頻器發送數據的時候,由bcb接受到此數據,再通過組態王提供的dde功能,將該數據顯示到組態王界面上。這樣就把從變頻器采集到的外部信號通過bcb間接動態的顯示在組態王界面上。該方法實現了組態王對變頻器的實時監控。經過測試可知,系統的實時響應速度能達到ms級,并且這種實現系統實時監控的方法可移植性強,對于監控其他類型可編程控制器plc或單片機也適用。

當用bcb制作控件時,只要用bcb制作完相應功能的控件就可實現脫離bcb環境,作為普通的ocx控件應用于組態王,非常簡便。在兗礦鮑店磚窯監控系統中,我們利用了bcb作為后臺間接實現組態王對變頻器的控制。其窯爐一鼓風機變頻控制監控畫面如圖4所示。經現場調試運行后,所得反饋效果良好。
C++ Builder實現組態王實時監控艾默生變頻器的設計方法

相關文章

智能交通卡口系統中高清監控設備的應用

講解網絡電子圍欄與視頻監控聯動實現的報警方案

智能監控技術特性分析
文章評論

您需要登錄才可以對文章進行評論。

沒有賬號?立即注冊

最新活動
意見反饋
取消