WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
关于异步读写WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
有了前面同步读写的基础,异步读写就轻松多了。同样是在定时器事件里面启动group的asynchread方法,但是数据接收则是在group的asynchreadcomplete事件中,所以异步读就显得比较效率高点,发完请求以后就等着数据来了再触发接收事件,而这期间可以干点其它事情了。WWW_PLCJS@_COM%-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
而所谓的订阅方式就更简单了,在group的datachange事件中等数据来就行了,根本就不用发数据请求出去,只要把group的isactive属性置为true就可以了。不过我测试中发现,有时候该事件接收不到数据,而切换到同步或者异步再切换回来,订阅的数据就变化了,不理解啊。看来还是异步的方式在三者中可靠且完善点。P.L.C.技.术.网——可编程控制器技术门户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
关于异步写,看了写觉得差不多就偷懒不写代码测试了。毕竟碰到大批量数据写下去的情况几乎不会被我碰到吧。我的出发点还是立足于读数据出来转到其它地方去处理:或者入数据库,或者入excel去打印等等。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PL※CJS_COM-PLC-技.术_网
另外,顺便试了opcserver的几个属性:启动时间,运行时间和版本号,发现还有有用的,可以查看server的状态。而item的几个属性也试了下,比如质量、时标,数据类型,但是其中一个工程单位的属性(EUInfo)始终报错,很郁闷。换了opcserver都一样。可用标准的opcclient软件-Factroy OPC Client却能够读取该属性,不晓得人家是怎么弄的(当然人家肯定是用c之类写的吧,vb实在是太傻瓜化了,隐藏了太多的细节)——可——编——程——控-制-器-技——术——门——户