日本福利一区_最近中文高清在线观看_免费黄色电影在线观看_亚洲天堂成人在线 - 91人人

用戶中心
· 企業空間 首頁 | 資訊 | 技術 | 產品 | 企業 | 直播 | 專題 | 智能制造 | 論壇| 在線研討會
北京世紀長秋科技有限公司
企業空間 > 案例應用 > 正文
  • 世紀星控件DBComm:小塊兒有大“智慧”——DBComm.OCX控件 實現PID控制
  • 發布時間:2010/12/16 11:12:05   修改時間:2010/12/16 11:12:05 瀏覽次數:4071
  • 1 引言

      盡管組態軟件已經具備了很強的功能,但是在很多場合同樣有直接使用第三方代碼的要求。例如用戶需要將組態軟件采集的實時數據傳送到自己開發的VB程序中做更復雜的數據分析或者是將世紀星采集的數據做特定的處理之后再傳送給世紀星,這些都需要有一種數據交換機制。

      當然實現這種交換機制有很多傳統的方法,如使用文件共享數據DDE數據和交換機制。傳統的方法雖然能夠達到數據交換的目的,但其使用方法較為煩瑣。和使用文件共享數據就需要在組態軟件和外部程序內部進行文件讀取操作,這樣不但麻煩而且處理速度也相對較慢,在要求實時性較好的工程中就顯得力不從心。為了讓第三方程序方便地讀寫世紀星數據,世紀星提供了基于ActiveX技術的OCX控件,此控件可以在大多的開發環境中使用(如VC++6.0、VB6.0),它就是DBComm。

    2 世紀星數據交換標準控件——DBComm

      世紀星提供標準控件 DBComm.ocx 與外部第三方程序進行數據交換,其交換內容包括:

    2.1 實時數據交換

      外部程序可以讀取世紀星的系統變量(包括系統離散、系統整數、系統實數和系統信息)、內存變量(包括內存離散、內存整數、內存實數和內存信息)和IO變量(包括IO離散、IO整數、IO實數和IO信息);還可以改寫世紀星的內存變量和IO變量。

      相關函數如下:
      DiscValue=tagReadDisc(Tagname) 外部程序讀取世紀星離散變量的當前值;
      IntValue=tagReadInt(Tagname) 外部程序讀取世紀星整數變量的當前值;
      FloatValue=tagReadFloat(Tagname) 外部程序讀取世紀星實數變量的當前值;
      MessValue=tagReadMess(Tagname) 外部程序讀取世紀星信息變量的當前值;
      tagWriteDisc(Tagname, DiscValue) 外部程序改寫世紀星離散變量的當前值;
      tagWriteInt(Tagname, IntValue) 外部程序改寫世紀星整數變量的當前值;
      tagWriteFloat(Tagname, FloatValue) 外部程序改寫世紀星實數變量的當前值;
      tagWriteMess(Tagname, String) 外部程序改寫世紀星信息變量的當前值;
      InitComm() DBComm初始化函數;

    2.2 歷史數據讀取

      也就是說,外部程序可以按時間和變量名稱讀取世紀星的歷史數據,相關函數如下:
    TimeUINT=ConvertTime(Year, Month, Day, Hour, Minute, Second);

      時間轉換函數:
      DiscResult=GetHistoryData(Tagname,StartTime,EndTime,DataArray,SizeOfArray, Interval);

      根據指定的起止日期時間和世紀星的變量名稱讀取世紀星的歷史數據。

    3 DBComm在VB6.0中的應用

    3.1 VB工程和世紀星工程數據交換示意圖:

    圖 1

      下面是一個應用VB程序在外部計算PID輸出功率的一個簡單實驗:

      需要硬件:三菱FX2N系列PLC、FX2N-4AD-TC、加熱器、S分度熱電偶、固態繼電器。

      需要軟件:世紀星組態軟件7.22、VB6.0。

      電器原理圖如下圖所示:

    圖 2

      上圖是一個加熱控制系統。PLC主模塊負責控制繼電器的通斷(PID輸出);,TC模塊負責溫度采集(PID輸入);上位機世紀星部分負責溫度設定、采集下位機信號、曲線顯示、數據記錄、數據檢索等功能;上位機VB部分負責從世紀星獲取設定溫度SV、測量溫度PV以計算PID輸出(固態繼電器的通斷時間)。

    3.2 世紀星監控程序

      首先,正確配置控制電路,將上位機與PLC相連,然后開發世紀星監控程序,創建相應的驅動,便能得到如下監控畫面:

    圖 3

    3.3 VB外掛程序開發

      * 創建一個VB標準工程。
      * Projiec-Components-DBComm ActiveX Control- Moudle。
      * 初始化DBComm
       dbcomm_pid.InitComm
      * 從世紀星組態軟件讀取溫度設定和實際值
       SV= dbcomm_pid.tagReadFloat ("sv")
       PV= dbcomm_pid.tagReadFloat ("pv")
      * y0輸出時間計算函數(根據P=0.5,I=0.5,D=0)
       Private Function PIDCalc(pp As PID, ByVal NextPoint As Double) As Double
        Dim dError As Double
        Dim Error As Double
         Error = pp.SetPoint - NextPoint
         pp.SumError = pp.SumError + Error
         dError = pp.LastError - pp.PrevError
        pp.PrevError = pp.LastError
        pp.LastError = Error
         PIDCalc = pp.P * Error + pp.i * pp.SumError + pp.D * dError
       End Function

    3.4 加熱輸出控制

      根據2中計算的加熱時間(時間百分比,x%*1s),對PLC的Y0 進行輸出控制。

      YO ON/OFF:tagWriteDisc ("y0",1)/ tagWriteDisc ("y0",0),Y0脈寬調制如下圖所示:

    圖 4

    3.5 實驗結果

      本工程利用世紀星組態軟件采集溫度實際值(從PLC),通過在組態軟件中設定溫度的目標值,在VB6.0程序中計算輸出功率的百分比,VB再將加熱時間(Y0時間)傳遞給組態軟件,組態軟件最后再傳給PLC控制加熱。由于采用了粗糙的PID,所以控溫精度在正負1度以內(精度不在本文研究范圍內),但是VB通過DBComm和世紀星組態軟件實時交換數據功能良好。

    4 總結

      綜上所述,世紀星所提供的DBComm控件使用方便,為第三方程序提供了完備的數據交換接口。另外,DBComm控件還可以訪問世紀星組態軟件的歷史數據庫,下次有機會我們再詳述。

  • 企業介紹
北京世紀長秋科技有限公司是從事工業自動化軟件研發的高新技術企業,提供軟件開發、銷售、服務及工業自動化系統集成等整套服務,以創新為本的理念,為用戶提供量身定做的解決方案。 我們的團隊由充滿創新活力、綜合素質高的業內精英組成,擁有經…  更多>>
  • 產品分類
  • 聯系方式

北京世紀長秋科技有限公司

聯系人:徐向農

地址:北京市順義區空港工業區B區裕東路7號

郵編:100029

電話:010-84645656

傳真:010-84646515

公司網址:http://www.chncla.com

  • 該空間手機版

掃描此二維碼即可訪問該空間手機版

  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
您還沒有登錄,請登陸,
如果您還沒有注冊,點擊這里注冊.
  • 網友反饋
  • 王工 在2023/10/17 10:43:00留言
  • 留言類型:得到貴公司產品的價格信息,
  • 詳細留言:買軟件,系統一些的東西,聯系您這邊一直聯系不上
  • 鄭文瑞 在2022/8/8 13:14:00留言
  • 留言類型:得到貴公司產品的價格信息,貴公司產品銷售人員聯系我,
  • 詳細留言:需要組態軟件
  • 崔文濤 在2022/4/14 14:14:00留言
  • 留言類型:我想得到貴公司產品的價格信息,
  • 詳細留言:得到貴公司產品詳細資料,得到貴公司產品的價格信息,
  • 馬成亮 在2021/5/23 10:32:00留言
  • 留言類型:得到貴公司產品詳細資料,得到貴公司產品的價格信息,
  • 詳細留言:組態軟件
  • 方雪峰 在2021/4/13 16:22:00留言
  • 留言類型:得到貴公司產品詳細資料,
  • 詳細留言:我是一名大四學生,無機非金屬材料專業,畢業設計為混凝土攪拌站的設計 希望貴公司能提供一些生產資料進行學習借鑒,祝貴公司生意興隆
更多請進入空間管理中心查看
關于我們 | 網站地圖 | 聯系我們
© 2003-2018    經營許可編號:京ICP證120335號
公安機關備案號:110102002318  服務熱線:010-82053688
我要反饋