0


【云原生】设备云之FlexManager边缘计算[Javascript]

文章目录

前言

使用边缘计算,可以单独针对每一个设备进行相应的计算和分析。一旦设备或者参数相同,还可以复制使用同一套计算标准或算法。此外,将计算脚本开放出来给用户,用户就可以自定义去添加自己的计算公式和行为。

一、新建脚本

边缘计算”–>“脚本”,点击“新建脚本”,点击+加号新建变量新建变量。如下图所示:
在这里插入图片描述

然后点击写入添加盒子分组修改脚本,点击添加盒子分组可以删除脚本。

编写完脚本之后,用户可以点在说明右侧的小三角调试图标,先运行一遍查看是编写是否有误。下方的“输出”与“监控”窗口可以看到调试效果,确认无误后,点击右下方的保存并关闭 按钮。
添加盒子分组这个图标是运行的功能,点击这个功能可以把程序模拟运行一遍。
添加盒子分组这个图标是单步运行功能,执行在当前一行的指令。
点击运行选项之后,下方的输出和监视窗口会出现信息。
输出窗口显示的是各个变量的输出值。
监视窗口显示的是各个变量的地址偏移量和具体数值。
完成脚本之后,需要设置盒子的执行。请看执行策略。

二、读写函数

1、getMultiS64

getMultiS64(“地址别名”,地址偏移,长度);
“地址别名”:选定一个64位有符号地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
长度:要读取的数据类型的个数。
返回:返回一个浮点型的数组。

注意:长度限制50

错误信息:
使用getError函数获得错误码。
var error = getError();

使用示例:
var power = getMultiS64(“power_on”,2,4);
power_on地址设定为LW0,则本例表示从LW2读取8个数据长度的值,返回到浮点类型的数组power。

2、setS16

setS16( “地址别名”,地址偏移,设定值 );

设定一个16Bit数到指定寄存器字地址。
“地址别名”:选定一个字地址类型
地址偏移:整数,读取地址="地址别名"声明的地址+地址偏移
设定值:有符号整数,要设定到指定寄存器地址的值
返回值:int型,返回的错误码:
0-未执行
1-成功
2-超时
3-错误
4-套接字错误
16-通讯未完成

使用示例:
var speed;
var error=setS16(“speed_on”,3,speed);
"speed_on"地址设定为LW0,则本例表示将speed的值设定到LW3,值为变量speed的值。

3、getMultiS32

getMultiS32(“地址别名”,地址偏移,长度);
“地址别名”:选定一个有符号双字地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
长度:要读取的数据类型的个数。
返回:返回一个双字类型的数组。

注意:长度限制50

错误信息:
使用getError函数获得错误码。
var error = getError();

使用示例:
var power = getMultiS32(“power_on”,2,4);
power_on地址设定为LW0,则本例表示从LW2读取4个S32数据长度的值,返回到有符号双字类型的数组power。

4、setMultiU64

setMultiU64(“地址别名”,地址偏移,长度);
“地址别名”:选定一个u64地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
长度:要读取的数据类型的个数。
返回:返回一个浮点型的数组。

注意:长度限制50

错误信息:
使用getError函数获得错误码。
var error = getError();

使用示例:
var power = getMultiDouble(“power_on”,2,4);
power_on地址设定为LW0,则本例表示从LW2读取8个数据长度的值,返回到64位无符号数据power。

5、setU64

setU64( “地址别名”,地址偏移,设定值 );

设定一个64Bit数到指定寄存器地址,地址可以是一个双字寄存器或两个连续的单字寄存器。
“地址别名”:选定一个无符号字或双字地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
设定值:无符号整数,要设定到指定寄存器的值
返回值:int型,返回的错误码:
0-未执行
1-成功
2-超时
3-错误
4-套接字错误
16-通讯未完成

使用示例:
var speed;
var error=setU32(“speed_on”,3,speed):
"speed_on"地址设定为LW0,则本例表示将speed的值设定到LW3,LW4,LW5,LW6组成的双字。

6、setU32

setU32( “地址别名”,地址偏移,设定值 );

设定一个32Bit数到指定寄存器地址,地址可以是一个双字寄存器或两个连续的单字寄存器。
“地址别名”:选定一个无符号字或双字地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
设定值:无符号整数,要设定到指定寄存器的值
返回值:int型,返回的错误码:
0-未执行
1-成功
2-超时
3-错误
4-套接字错误
16-通讯未完成

使用示例:
var speed;
var error=setU32(“speed_on”,3,speed):
"speed_on"地址设定为LW0,则本例表示将speed的值设定到LW3和LW4组成的双字。

7、getMultiU16

getMultiU16(“地址别名”,地址偏移,长度);
“地址别名”:选定一个无符号字地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
长度:要读取的数据类型的个数。
返回:返回一个字类型的数组。

注意:长度限制100

错误信息:
使用getError函数获得错误码。
var error = getError();

使用示例:
var power = getMultiU16(“power_on”,2,4);
power_on地址设定为LW0,则本例表示从LW2读取4个数据长度的值,返回到无符号字类型的数组power。

8、setS16

setS16( “地址别名”,地址偏移,设定值 );

设定一个16Bit数到指定寄存器字地址。
“地址别名”:选定一个字地址类型
地址偏移:整数,读取地址="地址别名"声明的地址+地址偏移
设定值:有符号整数,要设定到指定寄存器地址的值
返回值:int型,返回的错误码:
0-未执行
1-成功
2-超时
3-错误
4-套接字错误
16-通讯未完成

使用示例:
var speed;
var error=setS16(“speed_on”,3,speed);
"speed_on"地址设定为LW0,则本例表示将speed的值设定到LW3,值为变量speed的值。

9、setMultiFloat

setMultiFloat(数据,“地址别名”,地址偏移,长度);
数据:一个数组变量类型,每个元素按浮点数处理解析。
“地址别名”:选定一个字或双字地址类型
地址偏移:整数,读取地址 = “地址别名”(声明的地址)+地址偏移
长度:要读取的数据类型的个数。
返回值:int型,返回的错误码:
0-未执行
1-成功
2-超时
3-错误
4-套接字错误
16-通讯未完成

10、setDouble

setDouble( “地址别名”,地址偏移,设定值 );

设置一个双精度浮点数到指定寄存器。
“地址别名”:选定一个字或双字地址类型
地址偏移:整数,读取地址=“地址别名”(声明的地址)+地址偏移
设定值:浮点型数,要设定到寄存器的浮点型数
返回值:int型,返回的错误码:
0-未执行
1-成功
2-超时
3-错误
4-套接字错误
16-通讯未完成

使用示例:
var speed=3.14;
var error=setDouble(“speed_on”,3,speed);
"speed_on"地址设定为LW0,则本例表示将speed的值设定到LW3,LW4,LW5,LW6组成的双字。

11、getFloat

getFloat( “地址别名”,地址偏移 );

从指定寄存器地址读取一个单精度浮点数。
“地址别名”:选定一个字或双字地址类型
地址偏移:整数,读取地址 = "地址别名"声明的地址+地址偏移
返回值:浮点型,读取的保存于双字地址或两个连续字地址的浮点数值

错误信息:
使用getError函数获得错误码。
var error = getError();

使用示例:
var speed = getFloat(“speed_on”,3);
"speed_on"地址设定为LW0,则本例表示从LW3和LW4读取双字,返回到float型变量speed。

三、脚本示例

1、读写16位有符号数据

如下图所示:
在这里插入图片描述

2、多读写函数

如下图所示:
在这里插入图片描述

3、Tcp操作相关函

如下图所示:
在这里插入图片描述


本文转载自: https://blog.csdn.net/weixin_41729677/article/details/127519629
版权归原作者 一直在尽头 所有, 如有侵权,请联系我们删除。

“【云原生】设备云之FlexManager边缘计算[Javascript]”的评论:

还没有评论