日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB
關注中國自動化產業發展的先行者!
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

世紀星控件DBComm:小塊兒有大“智慧”
  • 企業:北京世紀長秋科技有限公司     領域:自動化軟件     行業:電力    
  • 點擊數:575     發布時間:2010-12-16 11:16:39
  • 分享到:
DBComm.OCX控件 實現PID控制
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控件還可以訪問世紀星組態軟件的歷史數據庫,下次有機會我們再詳述。

熱點新聞

推薦產品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 天天噜噜色-天天看天天射天天视频-天天看天天射天天碰-天天看天天碰-国产成人高清-国产成人爱情动作片在线观看 | 黄色在线网站-黄色在线网页-黄色在线网-黄色在线视频网址-品色阁-品色成人网 | 久久免费高清视频-久久免费大片-久久免费播放视频-久久免费播放-午夜性色吃奶添下面69影院-午夜性色 | 一个人看的www观看免费-一个人看的www高清在线观看-一个人看的www高清视频-一个人看的www高清免费资源-久久999-久久996热精品xxxx | 免费黄色在线播放-免费黄色一级片-免费黄色一级毛片-免费黄色一级-亚洲婷婷综合网-亚洲婷婷天堂在线综合 | 玖玖射,国内高清久久久久久久久,久久婷婷丁香,91精品自在拍精选久久,不卡一区二区三区四区,奇迹少女第四季中文版免费全集 | 99re最新网址-99re这里只有精品在线观看-99re这里只有精品视频在线观看-99re这里只有精品视频-嗯好爽视频-嗯啊在线观看免费影院 99只有精品-99这里只有精品在线-99这里只有精品视频-99这里只有精品66视频-欧美国产视频-欧美国产日韩综合 | 国产精品成av人在线观看片-国产精品成久久久久三级-国产精品成久久久久三级四虎-国产精品成久久久久三级无码-国产精品成年片在线观看-国产精品成人 | 成人综合网久久-成人综合网亚洲伊人-成人综合网站-成人综合网站一区二区三区四区-成人综合网站在线-成人综合网址 | 久久久青青久久国产精品,www男人天堂,国产一级影视,成人伊人青草久久综合网破解版,四虎成人www国产精品,蜜臀精品 | 天堂网在线观看-天堂网在线www最新版在线-天堂网在线www资源在线-天堂网在线www资源网-精品久久一区二区-精品久久一区 | 一个人看的在线www高清视频-一个人看的小说在线阅读-一个人看的手机视频www-一个人看的视频在线观看免费播放动漫-久久99精品久久久久久秒播放器-久久99精品久久久久久秒播 | 伦理片天堂eeuss影院-伦理片秋霞免费影院-伦理片飘花手机在线-伦理片飘花免费影院-最新2017年韩国伦理片在线-最新 国产 精品 精品 视频 | 在线观看亚洲-在线观看网址-在线观看网站黄-在线观看网站国产-久久国产一区二区三区-久久国产一区二区 | 亚洲A片一区日韩精品无码-亚洲H成年动漫在线观看不卡-亚洲VA欧美VA天堂V国产综合-亚洲VA天堂VA欧美片A在线-亚洲爆乳精品无码AAA片-亚洲不卡高清免v无码屋 | 波多野结衣在线中文-波多野结衣在线影视免费观看-波多野结衣在线影视-波多野结衣在线一区二区-波多野结衣在线一区-波多野结衣在线网址 | 国产精品va在线播放我和闺蜜-国产精品va在线观看无码不卡-国产精品V日韩精品V在线观看-国产精品V无码A片在线看-国产精品wwwcom976con-国产精品XXXXX免费A片 | 制服师生一区二区三区在线-制服师生av在线-制服 丝袜 亚洲 中文 综合-直接看毛片-欧美视频在线观看视频-欧美视频在线观看免费最新 | 国产一区二区高清-国产一区二区福利久久-国产一区二区成人-国产一区二区不卡视频-亚洲高清网站-亚洲高清视频在线观看 | 二区乱码综合无码一区二区三-二区女人观看chinese中国真实乱-二区欧美三-二区欧美无遮挡中文字幕人成人-二区啪视频-二区日本成人动漫电影 | 亚洲A片一区日韩精品无码-亚洲H成年动漫在线观看不卡-亚洲VA欧美VA天堂V国产综合-亚洲VA天堂VA欧美片A在线-亚洲爆乳精品无码AAA片-亚洲不卡高清免v无码屋 | 免费毛片网站在线观看-免费毛片网-免费毛片基地-免费乱理伦片在线观看八戒-亚洲一级毛片免费看-亚洲一级黄色片 | 免费一区在线-免费一区视频-免费一区区三区四区-免费一区二区视频-97dyy影院理论片-97caoporn | 国产视频自拍一区-国产手机精品一区二区-国产手机视频在线-国产手机视频在线观看-国产手机在线播放-国产手机在线观看精品视频 | 国产精品高清免费网站-国产精品高清2021在线-国产精品福利在线播放-国产精品福利影院-色黄视频在线观看-色狐视频 | 欧美夜夜骑,青草视频在线观看完整版,久久精品99无色码中文字幕,欧美日韩一区二区在线观看视频,欧美中文字幕在线视频,www.99精品 热久久国产-热99这里只有精品-热99这里有精品综合久久-热99在线观看-国产精品99久久久-国产精品99久久99久久久看片 | 91噜噜噜在线观看-91露脸对白-91麻豆福利-91麻豆高清国产在线播放-91麻豆国产-91麻豆国产福利精品 | 婷婷五色,五月天激情婷婷大综合,亚洲综合久久久久久中文字幕,国产ww久久久久久久久久,婷婷综合缴情亚洲五月伊,欧美日韩不卡在线 九九香蕉-九九线精品视频-九九五月天-九九天天影视-天天干b-天天干2018 | 欧美黄网在线-欧美黄色影院-欧美黄色影视-欧美黄色一级网站-99免费看-99免费精品视频 | 欧美视频综合-欧美视频中文字幕-欧美视频在线观在线看-欧美视频在线观看网站-直接观看黄网站免费视频-正在播放久久 | 国产精品福利在线观看入口-国产精品福利在线观看秒播-国产精品福利在线观看免费不卡-国产精品福利一区二区亚瑟-四虎免费入口-四虎免费看片 | 国产欧美日韩在线观看精品-国产欧美日韩在线不卡第一页-国产欧美日韩在线播放-国产欧美日韩一区二区三区在线-婷婷日日夜夜-婷婷日韩 | 欧美人成在线视频-欧美人成一本免费观看视频-欧美人xxxxxbbbb-欧美区在线-在线不卡免费视频-在线播放周妍希国产精品 | 国产 在线 | 日韩,精品一区二区三区的国产在线观看,亚洲国产精品日韩在线,国产视频在,青青国产成人久久91网站站,国内精品视频免费观看 | 亚洲1卡二卡3卡四卡不卡-亚洲1卡2卡三卡3卡4卡网站-亚洲18gay1069-亚洲18gay video-国内精品久久久久久-国内精品久久久久激情影院 | 2018天天干天天射-2018天天干天天操-2018天天操夜夜操-2018天堂网-2018生活片性色生活片-2018精品国产一区二区 | 欧美成人国产一区二区-欧美成人黄色-欧美成人黄色片-欧美成人家庭影院-欧美成人精精品一区二区三区-欧美成人精品a8198v无码 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 | 与子敌伦刺激对白亂輪亂性-与嫂子同居的日子在线观看-与邻居换娶妻子2在线观看-瑜伽牲交AV-久久久96-久久久91精品国产一区二区 | 亚洲第一视频网-亚洲第一色在线-亚洲第一色网站-亚洲第一人黄所-亚洲第一区在线观看-亚洲第一区在线 | 波多野结衣在线中文-波多野结衣在线影视免费观看-波多野结衣在线影视-波多野结衣在线一区二区-波多野结衣在线一区-波多野结衣在线网址 |