前文已经将松果实时数据库的安装、创建点表、创建测点、接入OPC DA的数据进行了介绍,没有了解的可以先看如下博客:
正弦实时数据库(SinRTDB)的安装
正弦实时数据库(SinRTDB)的使用(1)-使用数据发生器写入数据
正弦实时数据库(SinRTDB)的使用(2)-接入OPC DA的数据
正弦实时数据库(SinRTDB)的使用(3)-用户管理
首先需要介绍一下快照的概念,每个标签点都有一个快照,快照指的是该标签点最新的一个值。通常一个标签点对应一个可以采集的物理量,例如:锅炉压力、温度 等,快照值可以直接显示在大屏上进行实时监控,也可以用于数字孪生系统的最新状态。
我们还是以 正弦实时数据库(SinRTDB)的使用(2)-接入OPC DA的数据 中的标签点来举例
查询快照值的方式有如下几种:
1、根据标签点ID查询快照,如下所示:
各列信息含义如下:
tagid : 标签点ID
tstamp : 快照的时间戳
data: 快照的值
quality: 快照的质量码,0代表GOOD,其他快照值请参考使用手册。
fullTagName: 表示标签点全名称
errcode: 表示错误码,0 代表没有错误
2、使用标签点全名称查询快照,如下所示:
3、同时使用标签点ID和标签点全名称查询快照,如下所示:
4、查询的标签点不存在,返回结果集会如何处理:
从上面的执行结果可以看到,当查询的一个标签点不存在时(opcda.ramp3) 返回结果集只会包含存在的标签点,忽略不存在的标签点。
如果我们需要知道哪些标签点存在哪些标签点不存在只需要在查询的时候加一个whole标签即可,如下所示:
whole标签表示返回所有的数据,此时我们可以看到第三条数据的错误码为50706代表该标签点不存在。
5、查询性能
通过长时间的测试,一次查询1000个标签点的快照的平均耗时在5毫秒内,99.9的请求耗时低于10毫秒。总的来讲性能还是非常不错,快照不但可以用于实时监控,在数字孪生中也可以用于设备或对象的实时位置、实时状态等功能。
6、其他
上述就是正弦实时数据库快照的查询,目前我们提供了 java sdk、.net sdk、c/c++ sdk 通过对应的sdk执行通过SQL查询的方法即可。各个语言的sdk也封装了通过传递标签点ID或全名称来查询的API方法,具体参考对应的sdk文档。