新闻中心
PRESS CENTER概述
延时节点可以按照设定的时间延迟收到的每一条消息,也可以限制消息的发送速率。
输入
msg.delay #消息的延迟时间(单位ms),仅当允许msg.delay覆写延迟时长时有效 msg.reset #收到该属性,则清空节点保留的所有未发送消息 msg.flush #收到该属性,则立即发送节点保留的所有未发送消息 |
输出
msg.payload #消息有效数据 |
功能
1延迟每一条消息
支持固定延迟时间、随机延迟时间、允许msg.delay覆写延迟时间
2限制信息速率
支持根据msg.topic来分组处理。
中间消息处理:无论消息输入速度多快,都会按照设定的速率输出,节点状态栏显示当前缓存的数据。
不传输中间消息:超过设定速率的消息输入会被丢弃。
中间消息通过另外的端口输出:超过设定速率的消息输入从另外的一个输出口输出。
1延迟3秒发送消息
2. 通过msg.delay属性设置延迟时长
3. 限制消息发送速率
4. 限制每个Topic的消息发送速率
5. 清除/释放所有未发送的消息
概述
触发节点收到消息时,会立即发送一条消息(此消息可自定义)。然后,根据设置项有三种工作模式,分别为:1-阻塞直到收到某个消息、2-等待一定时间后输出另一条消息、3-周期性发送一条消息直到收到某个消息。
输入
msg.delay #模式2和模式3下,勾选使用msg.delay覆盖延迟时间,允许外部控制等待或周期时长 msg.reset #如果输入消息包含此属性,则清除触发节点当前的工作状态 |
输出
#可以设置三种工作模式,详见下文功能介绍 |
功能
1等待被重置
触发节点收到消息时,会立即发送一条消息(此消息可自定义,类似注入节点,当然也可以选择不发任何消息)。然后会一直阻塞不执行任何动作,直到收到msg.payload的值为设定值。
例如:通过串口发送一条设置命令,该指令超时时间30秒,在这30秒内不允许发送任何数据,否则会出错。详见示例1。
2等待
触发节点收到消息时,会立即发送一条消息(此消息可自定义,类似注入节点,当然也可以选择不发任何消息)。然后等待设定的时间后,输出第二条消息。
例如:控制继电器闭合后延时200ms后断开,实现点动,详见示例2。
例如:如有新信息,延长延迟,可以实现一个看门狗的功能,详见示例3。
3周期性重发
触发节点收到消息时,会立即发送一条消息(此消息可自定义,类似注入节点,当然也可以选择不发任何消息)。然后按照设置好的时间,周期性的重发上条消息,直到收到msg.payload的值为设定值。
例如:通过TCP发送一条消息ping,等待回复pong。如果超过3秒未收到回复,则一直重发。如果收到了回复,则停止重发。详见示例4。
示例
1等待被重置
通过RS485-1发送AT+QIOPEN?指令,等待回复过程中,无法通过RS485-1继续发送任何数据,直到收到msg.payload=ok,才能再次发送数据:
2. 点动
继电器闭合后延迟250ms自动断开:
3. 看门狗
TCP建立连接后,如果超过10分钟没有收到任何消息,则会重启设备:
4. 周期性重发
TCP建立连接后,发送“ping”,等待回复“pong”,如果未收到回复,则一直周期循环发送“ping”: