<abbr id="v33i8"><listing id="v33i8"></listing></abbr>

  • <blockquote id="v33i8"></blockquote>
  • 亚洲自拍偷拍一区二区三区,亚洲精品一区二区18禁,国产福利精品一区二区,蜜桃av无码免费看永久,亚洲区日韩精品中文字幕,亚洲悠悠色综合中文字幕,国产成人高清亚洲一区91,日韩精品一区二区在线看
    鄭州變頻器維修銷售廠家

    公司logo

    16年專注于河南變頻器維修銷售
    變頻器行業誠信企業、質量、服務

    全國咨詢熱線155-155-98858

    技術資訊

    技術資訊
    當前位置:首頁 > 新聞動態 > 技術資訊

    世紀星控件DBComm

    發布時間:2019-08-02 16:21:31來源:

    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控件還可以訪問世紀星組態軟件的歷史數據庫,下次有機會我們再詳述。

     

    【|中心,維修電話:15515598858 】

    用手機看
    世紀星控件DBComm

    拍下二維碼,信息隨身看

    試試用手機掃一掃,
    在你手機上繼續觀看此頁面。

    主站蜘蛛池模板: 91久久偷偷做嫩草影院免费看| 国产综合有码无码中文字幕| 久热这里只有精品视频3| 久久精品亚洲国产成人av| 日本中文字幕有码在线视频 | 青春草公开在线视频日韩| 国产午夜精品福利视频| 婷婷综合在线观看丁香| 国产在线观看91精品亚瑟| 91密桃精品国产91久久| 亚洲一区久久蜜臀av| 国产v综合v亚洲欧美大天堂| 免费看黄色亚洲一区久久| 亚洲国产成人综合自在线| 国产精品午夜精品福利| 国产日韩综合av在线| 99精品国产一区二区三区| 国产网友愉拍精品视频手机| 亚洲国产五月综合网| 国产亚洲精品第一综合麻豆| 亚洲日本欧洲二区精品| 樱花草在线社区WWW韩国| 欧美日本一区二区视频在线观看| 国产精品一区二区国产馆| 最新国产AV最新国产在钱| 日本一区二区三区在线播放| 亚洲精品一区二区三区大| 综合色一色综合久久网| 国产日韩精品欧美一区灰| 亚洲一区二区三午夜福利| 夜鲁鲁鲁夜夜综合视频| 国产精品白浆免费视频| 国产亚洲亚洲国产一二区| 国产成人精品无码免费看| 国产精品小视频一区二页| 无码日韩av一区二区三区| 久久亚洲国产欧洲精品一| 一区二区三区日本久久九| 丁香五月亚洲综合在线国内自拍| 日韩精品一区二区三区视频 | 极品少妇的粉嫩小泬看片 |