Node-Red第五章函数控件的使用.pptx
- qingfengxulai个人认证 |
- 2021-06-22 发布|
- 755.75 KB|
- 26页
Node-Red;目;函数控件介绍;函数控件介绍;输出-简单输出;输出-多路输出;输出-判断输出;算法计算:function节点处理数据,用函数节点实现数字计算。;
function节点拆分数组:数组某些位的截取
现在,假如收到了一串数据,
数据共16位,我们只用到后
8位,前边的8位都不要了,
我们可以通过拆分截取后8位
有用的数据,放到一个新的
8位数据的数组里
如何来操作?;对于截取后8位放到新的数组的编写代码的方式,最好的方法是利用for循环,实现代码简洁,高效率工作。
;function节点组装数组:我们的原始数据是8位的,通信协议要求的数据是16位的,我们要把原始数据放在通信数据的后8位。逻辑跟刚刚的拆分数组正好相反。
;03;使用inject节点输入温度数组[0xd,0x80],由于inject节点里不支持直接输入十六进制的数字,所以输入十进制温度数据数组[13,128]。我们现在规定,温度高位×256+低位=温度实际值×100。接下来尝试温度数值的计算。
;目;函数控件介绍;function节点中context的应用实现计数器功能:
context它可以理解为上下文,或者语境,用于保存变量内存中的数据,这个数据可以保存到下一个消息到来之前。;下面来对计数器示例进行分析:Context的一些API(应用程序接口)如下 context.get(..) : 获取一个节点范围内的上下文属性 context.set(..) : 设置一个节点范围内的上下文属性 context.keys(..) : 返回所有节点范围上下文属性键的列表
执行Context.get以后,就可以获取到之前保存的值。
执行Context.set以后,就可以设置新的变量保存。
触发一次程序执行一次,count每次都+1,最后输出递增的数据。
Context实现在当前节点范围内数据的保存与传递使用;