wincc读取变量归档.docx

上传人:牧羊曲112 文档编号:4926259 上传时间:2023-05-23 格式:DOCX 页数:8 大小:109.54KB
返回 下载 相关 举报
wincc读取变量归档.docx_第1页
第1页 / 共8页
wincc读取变量归档.docx_第2页
第2页 / 共8页
wincc读取变量归档.docx_第3页
第3页 / 共8页
wincc读取变量归档.docx_第4页
第4页 / 共8页
wincc读取变量归档.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《wincc读取变量归档.docx》由会员分享,可在线阅读,更多相关《wincc读取变量归档.docx(8页珍藏版)》请在三一办公上搜索。

1、WINCC 一起学VBS读取变量归档WINCC 一起学-VBS读取变量归档-一4、读取变量归档连接数据库成功,下一步就是从归档之中读取数据了,读取数据要用到两个对象,“ADODB.Recordset” 和“ADODB.Command” 对象4.1 ADODB.Recordset4.1.1简介ADO Recordset对象用于容纳一个来自数据库表的记录集。一个Recordset对象由记录和列(字 段)组成。在ADO中,此对象是最重要且最常用于对数据库的数据进行操作的对象。4.1.2创建对象方式Dim oRsSet oRs = CreateObject(ADODB.Recordset)4.1.3属

2、性屉性芍述。Ab solute Page 设置或返回一个可梏定Record set时象中页码的值匚AbsolutePosil un,设直成返回一个值,此值可指定Rordset对象中当前记录的顺序位直(序号位 =).卜ActiveComrrtaind /返回与Recordset对彖相关联的CDimnand对象、#ActiveConnecti on如果连度被关河 W置或返阡连接;匚走义.如吴连接打开.谖置或返回当前F; Connecticr 对象口EOF#如果当前的记录位置在第一条记录之前,则返回true.否剔旋回fasle.Bookmark*3设置或返三一八书笠*另签保令M前记录的在兰FGfld

3、ieSize援石或返三能珞袱曜有Ft录的数-CursQirLccation*3设置或返三旃和、服务的位置:#CursorType没置或遍回一个Recordset对象的诰标类型.DataMember1设置或返回要从JalaSource属性卧引目的时象中槌案的数据成员的仁称.DataSource指定一个包含要被表示为Recordset对貌的教拇的对象* /Edith4od返回花前ii录的编辑状态,。EDF*3如果当前记录的位置在是后的记录之后.回返回Tr. c沔瑚1返叵f司私卜-i返回一个.时朋wrdsEt对象中数据灼云滤器盘石或返回Recordset即景的=才雾弓山名秣、,LockType*11

4、设宣或返回当粮税Recordset中的一条二录时.W指J镇定类鱼的住Marshal Options设冒或返回一个值.此值指定卧些七录被返叵盅务融h。设置或返回从 个查询返三Recordset对象的K量大记录数栏#PageCount返回一个Recordset射暮中的散胳页数,#PageSizt设置或返回Recordset对段的一个单一页面上所允许的最大记录数.RecorclCcHjntQ返回一个Recordset时裁中:;己录数目=Sort*3设苣或返L-一个成多七为Rordset丰序基布:广字段在Source设直一个字符串百或Command对象引用,或返回一个字符串值,叱值可指 示Record

5、set时象的散据淑卜Stale ,返回一个值.此位习插遂.S会cordset对象是打广.共闭、正布盘接,正六说八 或r在取工数据、。Status*11返回有关批更新或其他大量操作灼M/.i己录的状态。StaylnSyrc 1盘石或返二当父尸录响石改变引对工正禾trl用是否成变:.方法尸描述户Add New*3创建一条新二录言乎Cancel撒铠一次抗行匚QCancel Batdi 撤销一次毗更新。CarcelLpdatR 尸撤销对Recordser对象的一条W量所做的更改,砂Clone p创建一个已有Recordset的副本尸Close)关用一八 Recordset #Go m pa reBoo

6、 km arks比较两个勺笠小Delete删除一条记旻或一连云录=in3 p搜索一八Recordset 口满也指定某个条1 土的一条记录#GetRows:E多条十二录从一个Record set对象中拷贝苗个二趋数蛆中户GetString 将Recordset作为宇符串回bjtavu 左喝幻rdwi对象中移动记录指针;*Move FirstJ无记汞指言十移动到第一条记录. 口Move Last *;正记亲有针移动到最后一条记柔。Mo vt小已:虹户祀记录捐汁科动到下一条记录-户MovePne.,iouE;l+巴记录指新移动到二一条记录,Ne?t Recordset*1通过执行一系列命令清除当前R

7、ecordset对盟并退回下一个Recordset, #Open ;一了1 个散据库元素,此兀圭口:美供对表的-:己录、酉洵由结果或保存的Recordset 的访问户Requiery耳封重新北行对象所基于的查询来瓮若Meo汩set对象中沿数垩“Resyrvs J从原始数据皆刷制当甬Recordset中的数据。Save*37L Records&t对象保百到讹或Etrear-对象Seekp悝素花srcks的索弓以快速3位与指定的值相区配的R 并更其成为当命并Supports返巨一八竖 此喧司定义Record sei对象是否盅持特定类至约功能匚力Jpdatc3保门淅有对Recordset对象中K一条

8、单一记录所做的更改、LpfdeBat:仲把肝有Recordset中的更改存入数据库。请在枇更新襟式中使用.宁4.1.5事件挂述zznidOfF?e cord set*21当试图移动到建过Hecordset结尾的门村被触发、口=ett h Complete?*3 二etc卜,网伯矛当异刁授作牛云所专录均被渎瑕苗破q在异步操作期位被期地袖发报告已谟取多少记录,=itd dChang eCom p J teField对象的值要改被触蓦pCompleteeccidset中的当前位置更改后被触发匚卢Record Cha ng&Comp ete#一条m录更改之层被触屋“ JR&cord setC h a

9、ngeComplete 户在Recordset更改之后被触发-WillChange Field 口生Helc对象的值更改之前被触友WillChangeRHcorrl 3左一条订.柬更改之前被触发“ QWil ICha nge Recordsc:。在Recordset更改之前被触发。与4.1.6集合集台尸描述/属性乎描述F二i elds指示在此Recordset 对象中 -ield对象的数目nCdu m 口返匚fields箕台中E匚的数日以指走始 例子co .rtf elds = Fields. Countzem(n aimed iteim/nu n ber)返回*出 寞台中的某个杉定叮虫::,

10、/ 例 f ttemfields = rs TielJslItemfl)*-1 我者 itemfields = ra.Fields.ItemCNarneProperties*包含所有Recordset 利 象中的 ftupeny 对 象 qCounts返匚pltlpT独垃合中项匚E噱l巨,H C起始悯J子:countprop = rs.Properties.CoLint3zem(n amed_iteni/nu e ber)-返互properties集合中某个指定的顷巨。 仰J 子:itempnop = rs.Pro perties.或者 ncnprop 一 rs -1 ropcrties. I

11、tc n ( TJ ame)4.2 ADO Command 4.2.1简介ADO Command对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。如果该查询用于取回数据,此数据将以一个RecordSet对象返回。这意味着被取回 的数据能够被RecordSet对象的属性、集合、方法或事件进行操作。Command对象的主要特性是有能力使用存储查询和带有参数的存储过程4.2.2属性属性-描述ActiveConnecl: onu设置或返回包含了定义连接或Connector对象的字符季宁Command Text*3设置丈返回包含提供者(provider)命令(

12、如SOL语句、表格名称 或存偕的过程调用)的宇符串值.默认信为零长度宇符串).。Command 1 irn(?oui,设置或彼史长整七值.该鱼指示等待命令执匕的时K (单气为秒)“ 默认值为30-Com ma nd Type 1设置或返回一个Command对象的类主设置或返回一个Command对象的名称+Jiepai ud 指示执行新是否保佗命令的编译版本尸经准备好#成本).#States返回一个值,此值可描述该Command对象处于打开、关闭、连接、 执打还是段曰数据的波态。方法描述1Cancel取消一个方法的一次执行。Createfarameter创建一个新的Parameter对象户Exe

13、cute*执气Commannipxt属性中的查询、SQL圣句或存储工程 户4.2.4集合方法、描述1Cancel取消一个方法的一次执行.Createframetcr创建一个新的Parameter对象/Execute执行Connmanrll nxt属性中的查询、SQL名口或存储至:程,户4.3查询归档数据4.3.1查询语法和参数语法:8字节长ValuelD的请求:TAG_LLVID:R,4字节长ValueID的请求:TAG:R,参数:ValueID*1裁据原表勺值ID 4可以使用害中音辑,惆如,TAG;R,(V3lualD_l Valu0lO_2;ValuelD_!),1 /Valu eName

14、Value Maine 的格式为ArdimeWalueLNanne . 必须 将舞数传在单引号中。可以使用多个芒栋.例如TAG RIValueNarr-.l Value Name_2. VaI ueNarnfr.),p-Tirre?gi n , *TimeDegin开始 H 尸 格式灼.W-MH LLJhhnim;相.msc:-蜓用TimEStepf时,必须将TimeBegin指定为坝对酎间。源止使用吒对语苴F0加-如-5;如00;叩,(W . rimeEnd+!聘束时间.格式为:tVWY-MM-DDhlunm:sS.m5c,-SQL Clause3QL 语法中的过显标准:WHERE sear

15、ch_mnditi0n| ORDER BY 做曲r展xpressim hSC|DSC-ORDER BY1 标准 iE V IH 于绘出的排屏顺序 u(Dider. -Mp-EsaionLft5C|DESC K n实例以下卉徇晅回更诵Vml典mmmJT和-ValueNmfr_2的所有IS.这芟恒小于50或大于100.-TAG:RJValueNme_l;Wai底Namw :-TimeBeginKnFeEnd, WHI-RE Real Value n 10D C:R R.ialVa ue c EO1.TimeStep密明的时* 格式:nr . =E寸间间悄 y=汇总类立 下列值可用T习间隔中的值被汇

16、总,从开始时间TimeHegin开圈*5EWEPW i皈秒计)。y :上义时向隔与果】中二汇总琵型:-无插补-有插补,指述,1 FIRST) -257 (FIRSTJNTERPOLATED),第一千恒2 LA5T) p25B (LAST.INTERPOLATED)最后一中借3|MIN) *259 MIN INTERPOLATED)最小值4 :MAXI -260IMAXJNTERPOLATED) 最大条5 .:L lL:惹和7 (COUNT)263 (COUNTJNTERPO LATED) 归档TAGR 变毋主型摧瞄套蚩记量J曰疽竖 &0切炯 r JJJ I.BS哄闻1童 二诳TACR TACR

17、 TMR TGR TAGR TMR TAGR TURik ;i-tI ;:!:-计fl Hr ,:;: ir-周朋逢禁-!1E i;留证.i I i:ifl 11- :.挡111厂!_! 3副怛ffi沮蛛残按瞬览送洗5毛弟.系季券.系*系具体详细信息参考手册C4.3.2注意事项归档查询的语句也只有几个地方需要修改1、:常用的是ValueName方式查询,较为直接,在 WINCC7.3SE版本中,从变量记录里也看不到各个归档的ValuelD参数是多少 了,而且使用ValueName参数,很直观的就能看到是在归档名称和变量名称,很容 易找到位置。ValueName 的格式为“ArchiveName

18、Value_Name”:其中 ArchiveName 就是变 量归档的归档名称,Value_name:是指该归档名称内的,变量名称,如下图:2、TimeBegin和TimeEnd参数:这两个参数是采用的SQL格式的UTC时间,具体格式必须 是:“YYYY-MM-DD hh:mm:ss.msc”,毫秒可以省略,主要是日期的分隔符为“-”。有朋友用 FormatDate或者其他函数把当前时间转换成UTC时间之后,没有注意最终的时间格式,导致 查询不成功,把时间转成SQL格式时间,有两种方式一是设置电脑的上的时间设置,在控制面 板里面的区域语言里面,如图日底和时可惜式辰E朗(LJ:|由年月由曰短时间

19、HU|HH:m!fn51消理E购2017-01-24201713 24 B剧掴;2214长可间疝 1459一周的管TWA: I星期日确定K:时间 g)i:HMTimiSS还有就是可以自己写脚本,计算UTC时间,同时转成yyyyMMdd这种格式,使用文档中提供 的脚本如图:FunctLcn UTC_3QLiTIME (Eyral v匕C占匚二卜iTt-Date - TaceMd(nhn -a, vcDateUTC_SLTIS:4E = Year (vrdre) : n-n & kigbr (nC-D,1 & Maneb(TriaLe) r jj & HQhr |n0Dn & &ay |v匚疝匚耳

20、|2UTCSQLTIME - OTSaLTIME h RLaht Knur | in: date |-r 2 f A 七” Right (DO代 Mintt e (rtdatej r2)UTCSCJLTIME - aTCSQLTIME 4 r,;17 S R1 jhc CQO seconde ivrdaceF r2 S RighcS r,DOn & Mlnoce (Trtdate) r 2)End Functian4.3.4读取测试从历史趋势上看,自2017-02-08 16:40:00至2017-02-08 17:18:00之间有数据。通过读取记录集的RecordCount属性,看看查询到的

21、结果只要不等于0,就 说明查询成功,脚本如图:Silb OnClick (Byval Tten)Dim 5Pko nDg- 35rrr 5Conr gddh走义薮 IS 连接 拘斐WDim 瓯.。皿十 sSqlDim u, m” m 日匚 aTlnae, sEndl Em已= PrQviderWinCCOLEM-PrDfvider -1; w 1DB 提供程序的在称MJan. . CatalDg- 4 HMIRontime, Taas t !,Data3CiUEGcNnineRTB) - Read & r,;H 设置UinC:匚 数据犀的名称 35er = Lata 5ource=r, MI

22、Rurtinte. Tags | 5er verNairer,) u Re ad 4KiiiCC,T没置沃务矗名稼sCnn = jsPzn + slsn + js3crsStaTcTme - UTC_SQLI IME (H20n-02-00 1:10:00*)SEmllime - UTC_SQLIIME ( 2017-02-00 17!12:DQrri3Sql = nTag:R, TaGE-VL1 r sSnar匚T宜m巴 & ni r& sEndTlme 女匕 conn 二 GreatrObject (A1X3DB. Connection1,1) ,曾量对象conn. Connect i D

23、iiStTinij seen,设暨数捱连斐的匚口 nnwcicmSmiLm 眉哇eonn. Cur sox-Lc cat-lcm = 3coim.npen1打开数椎京连接也可以不设置3orinectionSt-irrj-宣接注用conn. open 3ConS式Sec oRb = CreareOtject nADCEBtRecord.secnI*EJ建i己录涎.廿家5-st c-Cara = CeatsDbject (AZX5D3 .CommiZid11 直 * 夸询时方oCon. CcimiLaindl ifpe = 1,旋贸Canm混类至1;技施夺或存馅过程调用的吏本定义计具C皿yuTwt

24、5ec oCon.icriveCcnziecticn caim设量定点度差oChra-CDinnuiindText a5ql :设置包含提供者Cprcvidcr命令的字符串值.,/狄值为*等长度字符率-X匕cRn = DComBEMtGute 喙-行CjrmandTeMt呈桂中的直询、SQL i吾句或存倚过建io a Rs. Reao r ESCaunt下直是测试属性的脚亦:请哆过EMIRuntine .Trace vforlf & ncCoF, Stntr-T & oConB StateEMlRuncune .Trace vt&Crlt & nsCom. CnnziCoLndTexc=rr

25、& cCoin. GciuEandTeKCrJ-URunciiae .Trace vbCrir & ncR3. PagejZoQnt=,n Q oRs. PageCaunrrafERuntiin.E rTince vfoCrlf 旨cRs. RcgordCount- 6 B.s, RrcaidCountHMIRuncuEe.Trace vi&Crlf & NcRs.StacB=n & oRs.Stace关研可象释依蜜海oRs-Cldseconn-Cloae5sc oRb = Kothlng目三 t: c-Cara = lQ-thi ng&黄匕 conn = NothingEndL 5W执行结果如图:oCom.State=GoCom.CommandText=Tag:R/,TAGR.L,J,2O17-D2-O0 &8:40:DD,J,2017-02-0& 09:18:Q01oRs.PageCount=4oRs.RecordCount= 34|&Rs.State=l通过上图看出,oRs的RecordCount属性是34,说明有34个数值,读取成功。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号