日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

艾默生Ovation DCS OPC服务分析

發(fā)布時間:2023/12/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 艾默生Ovation DCS OPC服务分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ?艾默生的OPC DA服務(wù)器,使用的ProdId為“Ovation.OPCDAServer.1”,GUID值是{A3ABA03B-6CF7-4b13-A264-FD5AA251CC76}。

? ? ? OPC DA服務(wù)器版本方面,有支持OPC3.0的,也有支持OPC2.0的,影響的主要的OPC3.0支持直接讀取變量值。

? ? ? 在OPC的瀏覽層次方面,采用域(節(jié)點?工作站?)、單元、站、變量、變量屬性5層結(jié)果,第5層為變量的屬性值,不同類型的屬性值有所差別,幾十到上百不等。

? ? ? 比如我們定義了一個Pascal001的變量,最終包含的全部OPC點和對應(yīng)的點類型如下:

Pascal001.DROP1/51.UNIT1@NET1.1T,Integer Pascal001.DROP1/51.UNIT1@NET1.1V,Number Pascal001.DROP1/51.UNIT1@NET1.1W,Integer Pascal001.DROP1/51.UNIT1@NET1.2V,Number Pascal001.DROP1/51.UNIT1@NET1.2W,Integer Pascal001.DROP1/51.UNIT1@NET1.3D,Integer Pascal001.DROP1/51.UNIT1@NET1.3L,Integer Pascal001.DROP1/51.UNIT1@NET1.3M,Integer Pascal001.DROP1/51.UNIT1@NET1.3S,Integer Pascal001.DROP1/51.UNIT1@NET1.3V,Number Pascal001.DROP1/51.UNIT1@NET1.3W,Integer Pascal001.DROP1/51.UNIT1@NET1.3Y,Number Pascal001.DROP1/51.UNIT1@NET1.3Z,Number Pascal001.DROP1/51.UNIT1@NET1.4V,Number Pascal001.DROP1/51.UNIT1@NET1.4Y,Number Pascal001.DROP1/51.UNIT1@NET1.4Z,Number Pascal001.DROP1/51.UNIT1@NET1.5V,Number Pascal001.DROP1/51.UNIT1@NET1.6V,Number Pascal001.DROP1/51.UNIT1@NET1.7V,Number Pascal001.DROP1/51.UNIT1@NET1.8V,Number Pascal001.DROP1/51.UNIT1@NET1.AD,String Pascal001.DROP1/51.UNIT1@NET1.AP,,Integer Pascal001.DROP1/51.UNIT1@NET1.AS,Integer Pascal001.DROP1/51.UNIT1@NET1.AT,String Pascal001.DROP1/51.UNIT1@NET1.AV,Number Pascal001.DROP1/51.UNIT1@NET1.AW,Integer Pascal001.DROP1/51.UNIT1@NET1.AY,,Integer Pascal001.DROP1/51.UNIT1@NET1.AZ,Integer Pascal001.DROP1/51.UNIT1@NET1.BB,Integer Pascal001.DROP1/51.UNIT1@NET1.BH,Number Pascal001.DROP1/51.UNIT1@NET1.BL,Number Pascal001.DROP1/51.UNIT1@NET1.BV,Number Pascal001.DROP1/51.UNIT1@NET1.BW,Number Pascal001.DROP1/51.UNIT1@NET1.CE,Integer Pascal001.DROP1/51.UNIT1@NET1.CM,,Integer Pascal001.DROP1/51.UNIT1@NET1.CV,,Integer Pascal001.DROP1/51.UNIT1@NET1.CX,Integer Pascal001.DROP1/51.UNIT1@NET1.CY,Integer Pascal001.DROP1/51.UNIT1@NET1.DB,Number Pascal001.DROP1/51.UNIT1@NET1.DG,Integer Pascal001.DROP1/51.UNIT1@NET1.DJ,Number Pascal001.DROP1/51.UNIT1@NET1.DO,Integer Pascal001.DROP1/51.UNIT1@NET1.ED,String Pascal001.DROP1/51.UNIT1@NET1.EH,Number Pascal001.DROP1/51.UNIT1@NET1.EL,Number Pascal001.DROP1/51.UNIT1@NET1.EU,String Pascal001.DROP1/51.UNIT1@NET1.EV,Number Pascal001.DROP1/51.UNIT1@NET1.FD,,Integer Pascal001.DROP1/51.UNIT1@NET1.FL,Integer Pascal001.DROP1/51.UNIT1@NET1.FM,,Integer Pascal001.DROP1/51.UNIT1@NET1.FV,Number Pascal001.DROP1/51.UNIT1@NET1.FY,Integer Pascal001.DROP1/51.UNIT1@NET1.GS,Integer Pascal001.DROP1/51.UNIT1@NET1.HD,Integer Pascal001.DROP1/51.UNIT1@NET1.HL,Number Pascal001.DROP1/51.UNIT1@NET1.HR,Number Pascal001.DROP1/51.UNIT1@NET1.HS,Number Pascal001.DROP1/51.UNIT1@NET1.ID,Integer Pascal001.DROP1/51.UNIT1@NET1.IP,Integer Pascal001.DROP1/51.UNIT1@NET1.IQ,Integer Pascal001.DROP1/51.UNIT1@NET1.IT,Integer Pascal001.DROP1/51.UNIT1@NET1.IV,Number Pascal001.DROP1/51.UNIT1@NET1.KC,,Integer Pascal001.DROP1/51.UNIT1@NET1.KR,String Pascal001.DROP1/51.UNIT1@NET1.LB,Integer Pascal001.DROP1/51.UNIT1@NET1.LJ,String Pascal001.DROP1/51.UNIT1@NET1.LL,Number Pascal001.DROP1/51.UNIT1@NET1.LM,Integer Pascal001.DROP1/51.UNIT1@NET1.LR,Number Pascal001.DROP1/51.UNIT1@NET1.LS,Number Pascal001.DROP1/51.UNIT1@NET1.MP,Integer Pascal001.DROP1/51.UNIT1@NET1.MQ,,Integer Pascal001.DROP1/51.UNIT1@NET1.MR,Integer Pascal001.DROP1/51.UNIT1@NET1.OR,,Integer Pascal001.DROP1/51.UNIT1@NET1.P6,,Integer Pascal001.DROP1/51.UNIT1@NET1.P7,,Integer Pascal001.DROP1/51.UNIT1@NET1.P8,,Integer Pascal001.DROP1/51.UNIT1@NET1.P9,,Integer Pascal001.DROP1/51.UNIT1@NET1.PA,String Pascal001.DROP1/51.UNIT1@NET1.PF,String Pascal001.DROP1/51.UNIT1@NET1.PN,String Pascal001.DROP1/51.UNIT1@NET1.PZ,,Integer Pascal001.DROP1/51.UNIT1@NET1.RP,Integer Pascal001.DROP1/51.UNIT1@NET1.RT,,Integer Pascal001.DROP1/51.UNIT1@NET1.RV,Number Pascal001.DROP1/51.UNIT1@NET1.RW,Number Pascal001.DROP1/51.UNIT1@NET1.SD,Integer Pascal001.DROP1/51.UNIT1@NET1.SF,String Pascal001.DROP1/51.UNIT1@NET1.SJ,Integer Pascal001.DROP1/51.UNIT1@NET1.SK,Integer Pascal001.DROP1/51.UNIT1@NET1.SN,Number Pascal001.DROP1/51.UNIT1@NET1.SP,Integer Pascal001.DROP1/51.UNIT1@NET1.SR,,Integer Pascal001.DROP1/51.UNIT1@NET1.TB,Integer Pascal001.DROP1/51.UNIT1@NET1.TT,String Pascal001.DROP1/51.UNIT1@NET1.TV,Number Pascal001.DROP1/51.UNIT1@NET1.TW,Number Pascal001.DROP1/51.UNIT1@NET1.U4,Integer Pascal001.DROP1/51.UNIT1@NET1.U5,Integer Pascal001.DROP1/51.UNIT1@NET1.U6,Integer Pascal001.DROP1/51.UNIT1@NET1.U7,Integer Pascal001.DROP1/51.UNIT1@NET1.UH,Number Pascal001.DROP1/51.UNIT1@NET1.UL,Number Pascal001.DROP1/51.UNIT1@NET1.VH,Number Pascal001.DROP1/51.UNIT1@NET1.VL,Number Pascal001.DROP1/51.UNIT1@NET1.VN,Integer Pascal001.DROP1/51.UNIT1@NET1.YB,Number Pascal001.DROP1/51.UNIT1@NET1.YS,Number Pascal001.DROP1/51.UNIT1@NET1.ZH,Number Pascal001.DROP1/51.UNIT1@NET1.ZI,Number Pascal001.DROP1/51.UNIT1@NET1.ZL,Number Pascal001.DROP1/51.UNIT1@NET1.ZM,Number Pascal001.DROP1/51.UNIT1@NET1.ZY,Integer

? 點的層級和瀏覽的節(jié)點層級剛好相反。?

? 重點需要關(guān)注點的屬性有.ED、.1W、.AV,ED是點的描述,1W的整數(shù)值,AV的模擬量的值。艾默生的數(shù)據(jù)點1W還有一個特殊寫法,后面可以加":0",表示取整數(shù)的第0位的值,這時變量實際上已經(jīng)是開關(guān)量了。

? ?OPC對應(yīng)點的名稱沒有過多的約束,艾默生的點名稱充分體現(xiàn)了這一點,點中可以包括很多特殊符號,如:“-”、“/”、“#”、">"、"<"、"("、")"等,路徑中還有"@"符號。

? ?點的OPC Item Properties方面,有常規(guī)的數(shù)據(jù)類型、數(shù)據(jù)值、數(shù)據(jù)質(zhì)量和時戳等,也有OPC擴展的數(shù)據(jù)描述(Item Description,對應(yīng)ID 101)等。

?

? ? ?在采集數(shù)據(jù)時,可以考慮從DCS直接導(dǎo)出數(shù)據(jù)點的定義文件,這個方法比較簡單和直接。

? ? ?如果采用枚舉方法,只能采用BRANCH方式,不支持FLAT方式。需要考慮他的特殊的結(jié)構(gòu)帶來的龐大的點名稱。在艾默生中定義10萬個點,瀏覽出來的數(shù)據(jù)點數(shù)量可能達到千萬級別。

總結(jié)

以上是生活随笔為你收集整理的艾默生Ovation DCS OPC服务分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。