使用IOT-Tree消息流【标签读写】功能详细说明

IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了各种设备接入、数据组织管理、数据分享使用、消息流控制逻辑和人机交互多个方面的功能。当然,你也可以仅仅使用这个软件作为数据采集终端或边缘计算的软件。

这是IOT-Tree Server相关的系列文章,你可以参考其他文章更多了解IOT-Tree能给你带来的好处:

使用IOT-Tree Server通过MC协议连接三菱Q系列PLC

使用IOT-Tree Server连接西门子PLC S7-300/1200/1500

使用IOT-Tree Server通过PPI(RS485)连接西门子PLC S7-200

系列文章还包含IOT-Tree完成一个具体项目的过程,非常详细,如下:

机房自动化监控手把手分享给你 - 10 项目完成总结

IOT-Tree无论现场接入是哪种设备或哪种系统,最终配置组织完成之后,都形成了项目中的标签Tag。很明显,我们后续对数据的使用、处理等最基本的都应该先围绕标签进行。

而IOT-Tree对这些后续处理支持都通过消息流(MsgNet)进行,因此专门为项目中的标签提供了专门的处理节点。这些节点可以说是数据处理的基础,本文针对我们可能的数据处理需求,结合IOT-Tree提供的标签进行一个列表说明,以方便你对IOT-Tree在项目中的更好利用。

在任意一个消息流中,都可以在左边看到支持的功能节点。我们只需要展开"接入与设备"这个分类,可以看到如下标签:

我们对此进行封闭说明

1 标签数据读取

此节点允许你选择项目中的一些标签,并且为每个标签做个var命名。节点运行过程中,有消息触发此节点时,会在输出消息的负载(payload)中输出基于var名称作为成员的JSON对象,每个成员值由对应的标签提供。

这是最基本的标签读取------JSON对象转换支持。

2 标签数据写入

此节点在有输入消息触发时,会对内部选定的若干标签进行赋值操作,这些值可以是常数,也可以是输入消息中的payload成员值,也可以是流程上下文中的变量等。

3 标签读取过滤器

此节点对输入的消息不做任何处理,输入消息仅仅是一个触发运行的作用。这是通过过滤批量获取多标签数据的支持节点。

在项目数据组织中,所有的标签(Tags)都在一颗项目树中。如果我们要提取利用里面的部分数据,最简单的是以这棵树为基础,使用过滤的方式获取一颗子树,并发送到数据使用端。这也是IOT-Tree应用的典型场景。

4 标签写入过滤器

这也是批量写入多个标签节点支持

  • 写单个标签命令格

    "payload":{
    "tag":"ch1.gg1.tag11",
    "value":true,
    "cmd_ts":12312445345,"cmd_to":20000
    }

"cmd":"write_tag" 代表了单个标签写入

"cmd_ts":123124453 代表了这个指令创建时间戳

"cmd_to":20000 代表了这个指令的过期时间(毫秒),如果当前时间和创建指令的时间戳跨度超过这个过期时间,则消息不被处理

"tag":"ch1.gg1.tag11" 标签路径

"value":true 写入值

  • 写多个标签命 令格式

    "payload":{
    "cmd":"write_tags","cmd_ts":12312445345,"cmd_to":20000,
    "tags":[
    {"delay":0, "tag":"ch1.gg1.tag11","value":true},
    {"delay":2000,"tag":"ch1.gg1.tag11","value":false}
    ]
    }

"cmd":"write_tags" 代表了多个标签写入

"cmd_ts":123124453 代表了这个指令创建时间戳

"cmd_to":20000 代表了这个指令的过期时间(毫秒),如果当前时间和创建指令的时间戳跨度超过这个过期时间,则消息不被处理

"tags":[] 具体按顺序写入标签内容,每个写入标签有如下内容:

"delay":2000 写入前延迟毫秒

"tag":"ch1.gg1.tag11" 标签路径

"value":true 写入值

5 实时数据表同步

此节点专门支持项目中全部标签数据同步到关系数据库表,以支持基于传统关系数据的数据共享。

请参考:使用IOT-Tree消息流实现实时数据同步:标签实时数据--关系数据库表

6 标签变化触发器

通过选择的标签,监听标签在运行过程中更新变化,并根据一定策略产生消息输出

每个标签变化就会触发一个输出消息,每个消息payload格式如下:

复制代码
"payload": {
		"valid": true,
		"chgdt": 1752453543170,
		"tag_title": "TotalV",
		"tag_id": "r25",
		"tag_path": "dlb1.d1.eng",
		"updt": 1752462618027,
		"tag_val": 12407.9,
		"vt": "float"
	}

你可以选择监听标签只需要更新就会触发(而不考虑值是否变化)。同时,也可以选择只有在标签值变化时才会触发。

7 标签事件/报警触发器

在标签编辑界面中,可以设定是否要支持触发事件/报警,如下图:

只有设置了事件/报警的标签才会被此消息流节点选择使用。如下图:

此节点在参数配置时,会列举出项目中所有配置了事件/报警信息的标签。只需要选择需要监听的相关标签即可。

节点有3个输出端子,第一个是标签触发了事件/报警,就会产生一个消息输出;第二个是解除了这个事件/报警时输出;第三个是关系表资源关联,必须和关系数据库模块包含的数据库表资源节点配合使用------用来支持事件/报警的自动数据库表记录。

8 标签过滤存入时序数据库

这是在项目中支持对选定的标签往时序数据库中写入(记录)的支持节点。当有效性输入时,就会触发一次记录。目前支持InfluxDB实现数据库。

相关推荐
大气层煮月亮36 分钟前
Oracle EBS ERP开发——报表生成Excel标准模板设计
数据库·oracle·excel
云和数据.ChenGuang1 小时前
达梦数据库的命名空间
数据库·oracle
三三木木七1 小时前
mysql拒绝连接
数据库·mysql
蹦跶的小羊羔1 小时前
sql数据库语法
数据库·sql
唐古乌梁海1 小时前
【mysql】InnoDB的聚簇索引和非聚簇索引工作原理
数据库·mysql
我变秃了也没变强1 小时前
pgsql配置密码复杂度策略
数据库·postgresql
PawSQL1 小时前
企业级SQL审核工具PawSQL介绍(1) - 六大核心能力
数据库·sql·oracle
幼稚园的山代王1 小时前
NoSQL介绍
数据库·nosql
猫林老师2 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
沃达德软件2 小时前
视频图像数据库基础服务
数据库·图像处理·人工智能·计算机视觉·视觉检测