精品乱码一区内射人妻无码-亚洲中文AⅤ中文字幕在线-免费不卡国产福利在线观看-国产综合无码一区二区色蜜蜜

          您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>世紀(jì)星組態(tài)軟件和Visual Basic 6.0數(shù)據(jù)交換

          直播推薦

          更多>

          企業(yè)動(dòng)態(tài)

          更多>

          推薦展會(huì)

          更多>

          世紀(jì)星組態(tài)軟件和Visual Basic 6.0數(shù)據(jù)交換

          2009年11月24日 11:33:51人氣:972來(lái)源:北京世紀(jì)長(zhǎng)秋科技有限公司

           

          1  引言

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

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

          2  DBComm 世紀(jì)星數(shù)據(jù)交換標(biāo)準(zhǔn)控件

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

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

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

          相關(guān)函數(shù):

          DiscValue=tagReadDisc(Tagname) 讀取世紀(jì)星離散變量的當(dāng)前值

          IntValue=tagReadInt(Tagname) 讀取世紀(jì)星整數(shù)變量的當(dāng)前值

          FloatValue=tagReadFloat(Tagname) 讀取世紀(jì)星實(shí)數(shù)變量的當(dāng)前值

          MessValue=tagReadMess(Tagname) 讀取世紀(jì)星信息變量的當(dāng)前值

          tagWriteDisc(Tagname, DiscValue) 改寫(xiě)世紀(jì)星離散變量的當(dāng)前值

          tagWriteInt(Tagname, IntValue) 改寫(xiě)世紀(jì)星整數(shù)變量的當(dāng)前值

          tagWriteFloat(Tagname, FloatValue) 改寫(xiě)世紀(jì)星實(shí)數(shù)變量的當(dāng)前值

          tagWriteMess(Tagname, String) 改寫(xiě)世紀(jì)星信息變量的當(dāng)前值

          InitComm() DBComm初始化函數(shù)

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

          外部程序可以按時(shí)間和變量名稱讀取世紀(jì)星的歷史數(shù)據(jù)。

          TimeUINT=ConvertTime(Year, Month, Day, Hour, Minute, Second)

          時(shí)間轉(zhuǎn)換函數(shù)

          DiscResult=GetHistoryData(Tagname,StartTime,EndTime,DataArray,SizeOfArray, Interval)

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

          3  DBCommVB6.0中的應(yīng)用

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

          下面是一個(gè)應(yīng)用VB程序在外部計(jì)算PID輸出功率的一個(gè)簡(jiǎn)單實(shí)驗(yàn):

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

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

             如下圖所示為電器原理圖:

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

          3.1 世紀(jì)星監(jiān)控程序

              將控制電路配置好,將上位機(jī)連接到PLC。開(kāi)發(fā)世紀(jì)星監(jiān)控程序,配置相應(yīng)的串口驅(qū)動(dòng)、串口參數(shù),創(chuàng)建的監(jiān)控畫(huà)面如下:   

          3.2 VB外掛程序開(kāi)發(fā)

          * 創(chuàng)建一個(gè)VB標(biāo)準(zhǔn)工程。

          * Projiec—Components—DBComm ActiveX Control Moudle。

          * 初試化DBComm

          dbcomm_pid.InitComm

          * 從世紀(jì)星組態(tài)軟件讀取溫度設(shè)定和實(shí)際值

          SV= dbcomm_pid.tagReadFloat ("sv")

          PV= dbcomm_pid.tagReadFloat ("pv")

          *  y0輸出時(shí)間計(jì)算函數(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.3 加熱輸出控制

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

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

          3.4實(shí)驗(yàn)結(jié)果

          本工程利用世紀(jì)星組態(tài)軟件采集溫度實(shí)際值PLC),在組態(tài)軟件中設(shè)定溫度的目標(biāo)值,在VB6.0程序中計(jì)算輸出功率的百分比,VB再將加熱時(shí)間(Y0時(shí)間傳遞給組態(tài)軟件,組態(tài)軟件再傳給PLC,PLC控制加熱。

          由于采用了粗糙的PID,所以控溫精度在正負(fù)1度以內(nèi)精度不在本文研究范圍內(nèi),但是VB通過(guò)DBComm和世紀(jì)星組態(tài)軟件實(shí)時(shí)交換數(shù)據(jù)功能良好。

          4 總結(jié)

          綜上所述,世紀(jì)星所提供的DBComm 控件使用方便,為第三方程序提供了完備的數(shù)據(jù)交換接口。另外DBComm 控件還可以訪問(wèn)世紀(jì)星組態(tài)軟件的歷史數(shù)據(jù)庫(kù),本篇暫不詳述。

           
          全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

          免責(zé)聲明

          • 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://www.tzhjjxc.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
          • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
          • 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
          • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

          <
          更多 >

          工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉(cāng)儲(chǔ)物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


          我要投稿
          • 投稿請(qǐng)發(fā)送郵件至:(郵件標(biāo)題請(qǐng)備注“投稿”)1271141964.qq.com
          • 聯(lián)系電話0571-89719789
          工業(yè)4.0時(shí)代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺(tái)
          智能制造網(wǎng)APP

          功能豐富 實(shí)時(shí)交流

          智能制造網(wǎng)小程序

          訂閱獲取更多服務(wù)

          微信公眾號(hào)

          關(guān)注我們

          抖音

          智能制造網(wǎng)

          抖音號(hào):gkzhan

          打開(kāi)抖音 搜索頁(yè)掃一掃

          視頻號(hào)

          智能制造網(wǎng)

          公眾號(hào):智能制造網(wǎng)

          打開(kāi)微信掃碼關(guān)注視頻號(hào)

          快手

          智能制造網(wǎng)

          快手ID:gkzhan2006

          打開(kāi)快手 掃一掃關(guān)注
          意見(jiàn)反饋
          關(guān)閉
          企業(yè)未開(kāi)通此功能
          詳詢客服 : 0571-87858618