文章目录
前言
使用边缘计算,可以单独针对每一个设备进行相应的计算和分析。一旦设备或者参数相同,还可以复制使用同一套计算标准或算法。此外,将计算脚本开放出来给用户,用户就可以自定义去添加自己的计算公式和行为。
一、新建脚本
边缘计算”–>“脚本”,点击“新建脚本”,点击+加号新建变量新建变量。如下图所示:
然后点击写入添加盒子分组修改脚本,点击添加盒子分组可以删除脚本。
编写完脚本之后,用户可以点在说明右侧的小三角调试图标,先运行一遍查看是编写是否有误。下方的“输出”与“监控”窗口可以看到调试效果,确认无误后,点击右下方的保存并关闭 按钮。
添加盒子分组这个图标是运行的功能,点击这个功能可以把程序模拟运行一遍。
添加盒子分组这个图标是单步运行功能,执行在当前一行的指令。
点击运行选项之后,下方的输出和监视窗口会出现信息。
输出窗口显示的是各个变量的输出值。
监视窗口显示的是各个变量的地址偏移量和具体数值。
完成脚本之后,需要设置盒子的执行。请看执行策略。
二、读写函数
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操作相关函
如下图所示:
版权归原作者 一直在尽头 所有, 如有侵权,请联系我们删除。