PLC/PAC
有一些朋友常常会说opcUA之所以能够如此普及是因为它能跨平台。远程I/O模块觉得这不是一个充分条件。我个人认为OPCUA之所以能够很广泛的普及是因为它的统一架构与信息模型做的太完善了。OPCUA的信息模型来源于面向对象编程(OOP)的思想,这也是最契合实际需求的。
假设在工业现场有若干台空调需要监控,首先我们需要监视它的温度,湿度,运行状态;其次我们需要对它进行启停操作;然后我们需要接受它的非停事故报警信息;最后我们常常需要分析某一时段的运行参数来判断空调的状态。运用面向对象编程的思想,我们创建一个类—空调,在这个类中分别定义相应的属性,方法和事件,其中属性即可以是简单的数据,也可以是复杂的结构体。这个类即可理解成OPC UA的信息模型。OPC UA将现场的这些实时数据(DA),历史数据(HDA)还有事故报警数据(A&E),在同一平台进行管理,即为统一架构。
用这种模式来通讯,效果怎么样呢?下面我们做一个简单的演示。在unified automation公司出品的demo server中,已经定义了若干个空调,我们通过该公司出品的客户端UA Expert进行监视。在菜单栏的左侧,列出了该空调的属性,方法和事件;在右侧中,这里只是监视空调的温度,湿度和运行状态。这时,空调是停止(OFF)状态。如果需要将空调启动,并将运行目标温度设定为比较舒服的25℃,只需要调用StartWithSetpoint方法,并在对话框中输入目标值即可。
监控事件与报警信息时,创建事件试图并订阅该空调的事件。空调的启停状态发生会触发一个事件,空调处于停止状态则会触发一个报警,同时在客户端也可以确认报警。
最后,如果在服务器端,将空调某个属性历史存储功能打开,经过一段时间的存储后,在客户端就可以读取历史数据了。
这就是信息模型与统一架构的魅力,让一个通讯软件有了hmi的感觉。
当然,OPC UA的这个信息模型其实也不是在工控界独领风骚的,在PTC的物联网平台Thingworx中的物模型(thing model),罗克韦尔的CIP协议也都是类似的面向对象的模型。所以说好的设计都是相似的,不好的设计各有各的磕碜。
责任编辑:lq
全部0条评论
快来发表一下你的评论吧 !