<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
         首頁 | 公司簡介 | 聯(lián)系方式 | 公司動態(tài) | 產(chǎn)品 | 供應(yīng) | 應(yīng)用實例 | 下載 | 文摘 | 誠聘 | 論壇
        世紀星控件DBComm:小塊兒有大“智慧”——DBComm.OCX控件 實現(xiàn)PID控制

        北京世紀長秋科技有限公司
        收藏本文     查看收藏

        1  引言

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

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

        2  世紀星數(shù)據(jù)交換標準控件——DBComm

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

        2.1 實時數(shù)據(jù)交換

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

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

        2.2 歷史數(shù)據(jù)讀取

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

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

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

        3  DBComm在VB6.0中的應(yīng)用

        3.1 VB工程和世紀星工程數(shù)據(jù)交換示意圖:

        圖 1

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

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

          需要軟件:世紀星組態(tài)軟件7.22、VB6.0。

          電器原理圖如下圖所示:

        圖 2

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

        3.2 世紀星監(jiān)控程序

          首先,正確配置控制電路,將上位機與PLC相連,然后開發(fā)世紀星監(jiān)控程序,創(chuàng)建相應(yīng)的驅(qū)動,便能得到如下監(jiān)控畫面:

        圖 3

        3.3 VB外掛程序開發(fā)

          * 創(chuàng)建一個VB標準工程。
          * Projiec-Components-DBComm ActiveX Control- Moudle。
          * 初始化DBComm
           dbcomm_pid.InitComm
          * 從世紀星組態(tài)軟件讀取溫度設(shè)定和實際值
           SV= dbcomm_pid.tagReadFloat ("sv")
           PV= dbcomm_pid.tagReadFloat ("pv")
          * y0輸出時間計算函數(shù)(根據(jù)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 加熱輸出控制

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

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

        圖 4

        3.5 實驗結(jié)果

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

        4  總結(jié)

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


         

        狀 態(tài): 離線

        公司簡介
        產(chǎn)品目錄

        公司名稱: 北京世紀長秋科技有限公司
        聯(lián) 系 人: 徐向農(nóng)
        電  話: 010-84645656
        傳  真: 010-84646515
        地  址: 北京市朝陽區(qū)惠新東街8號設(shè)計大廈14層
        郵  編: 100029
        主  頁:
         
        北京世紀長秋相關(guān)文摘:
        世紀星油庫進出油量監(jiān)測方案
        《世紀星組態(tài)軟件》的獨特功能
        世紀星:罐區(qū)安全 全面監(jiān)控
        世紀星實現(xiàn)彈簧按鈕功能升級
        世紀星組態(tài)軟件完美的時間轉(zhuǎn)換函數(shù):DateTimeConvert
        世紀星組態(tài)軟件強大的數(shù)據(jù)庫查詢函數(shù)
        建立完美通信:世紀星與西門子S7-200以太網(wǎng)
        怎樣通過OPC Client與世紀星交互
        世紀星與硬件設(shè)備的連接秘笈
        世紀星組態(tài)軟件新技術(shù):短息報警功能
        世紀星組態(tài)軟件的數(shù)據(jù)存儲策略
        更多北京世紀長秋文摘...
        通過中華工控網(wǎng)在線留言北京世紀長秋科技有限公司:
        用戶名: 密碼: 免費注冊為中華工控網(wǎng)會員
        請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)
         
        中華工控網(wǎng) GKong.com制作發(fā)布 廣告聯(lián)系
        主站蜘蛛池模板: 国产成人久久综合一区| 色哟哟www网站入口成人学校| 四虎在线成人免费观看| 一本色道久久88综合日韩精品 | 人妻系列中文字幕精品| 另类 亚洲 图片 激情 欧美| 精品一区二区不卡无码AV| 国产亚洲精品2021自在线| 一本无码在线观看| 在线天堂最新版资源| 日韩精品一区二区三区免费在线观看| 综合国产av一区二区三区| 精品国产午夜福利在线观看| 国产精品人成视频免费国产| 国产精品一区二区日韩精品| 精品九九热在线免费视频| 国产午夜精品福利视频| 国产乱码一区二区三区免费| 最新精品国偷自产在线| 国产男人天堂| 综合亚洲伊人午夜网| 综合国产综合亚洲综合| 被灌满精子的少妇视频| 国产成人亚洲精品狼色在线| 国产精品推荐视频一区二区| 亚洲人妻系列中文字幕| 久久精品国产亚洲精品| 沈阳45老熟女高潮喷水亮点| 9999国产精品欧美久久久久久 | 久久99久国产精品66| 2020国产欧洲精品网站| 欧美牲交a免费| 青草视频在线观看入口| 日韩视频中文字幕精品偷拍| 亚洲人妻中文字幕一区| 国产成人亚洲综合| 99久久精品久久久久久婷婷| 亚洲天堂一区二区久久| XXXXXHD亚洲日本HD| 亚洲中文久久久久久精品国产| 成人国产精品一区二区不卡|