跳到主要内容

在获取到终端设备上报的变量后,可以通过脚本对这些数据进行二次的处理,如一些数据判断、筛选等,也可以通过任务函数进行一些复杂的逻辑操作,脚本代码使用 Lua 语言进行编写;


添加脚本

点击【新建脚本】,在弹窗中配置相关信息,建立脚本事件。

加载失败
  • 脚本名称:当前新建脚本的名称(1-64 个字符长度);
  • 脚本类型:当前脚本执行的类型;
    • 变量改变脚本:指定的单一变量或多个变量触发满足设定条件时触发执行的脚本;
    • 定时执行脚本:根据设定的时间来循环触发执行脚本(**范围:**时:0-240;分:0-59;秒:1-59);
  • 触发方式:变量触发脚本执行的方式;
    • 其中之一变更即触发:当配置多个触发变量时,只要其中一个条件满足即触发执行当前脚本;
    • 全部满足时触发:当配置多个触发变量时,需要所有条件同时满足时触发执行当前脚本;
  • 变量改变配置:配置触发脚本执行的变量以及相关触发条件,点击下方 + 添加条件(最多添加 10 个条件,最少保留 1 个条件);
    • 变量:选择配置触发脚本执行的【设备变量】或【内部变量】;
    • 触发值:当前变量满足的触发条件,【开关型变量】支持 变动触发 ,当变量选择数值或字符类型变量,且此字段为空时,触发条件为 变动即触发
    • 容差大小:数值类型支持设置容差大小来判断触发的区间;
  • 代码类型:支持使用 Lua 语言及相关语法编写脚本内容;
  • 编辑器:脚本内容编辑区域;
    • 格式化:对编辑区中的脚本代码进行格式化排版(存在语法错误时无法格式化);
    • 明亮:切换编辑区域的风格(明亮/黑暗);
    • 字号:编辑区域脚本代码显示字体的大小;
    • 左侧显示:控制编辑区域是否显示左侧的代码行号(关闭显示后,存在语法错误时无法提示);
    • 全屏:在全屏模式下编辑脚本内容,可点按键盘的Esc退出全屏模式;
    • 变量引用:引用当前项目的设备变量和内部变量,详细引用规则请参考变量引用章节;
  • 取消:取消当前脚本的新建或修改;
  • 保存:保存当前脚本的配置;
  • 发布:发布新建或修改的脚本,发布后即时生效,新建的脚本在发布时,脚本代码不能为空,发布后默认启用;

1. 脚本列表属性

加载失败

  • 脚本名称:显示当前脚本的名称;
  • 已发布代码:查当前脚本已经发布的相关配置信息(仅用于配置信息查看及对比,不可修改);
  • 启用:启用或将用当前已经发布的脚本配置(建立的脚本仅在发布且启用的情况下生效);
  • 操作:编辑当前脚本相关信息;

2. 删除脚本

勾选当前脚本,点击【删除选中】即可删除脚本。

加载失败
温馨提示

删除脚本操作不可逆,请谨慎操作!


3. 系统函数

在脚本编辑中,提供了一系列的系统函数,用于脚本功能的扩展,提供的函数可以通过鼠标单击调用,鼠标悬浮可显示当前函数的相关说明。

图片跑丢了

更多系统函数相关说明请参考web 组态脚本系统函数


4. 变量引用

在脚本编辑器中,可以点击相应变量对其进行读取或写入的引用。

加载失败


4.1 变量读写说明

在脚本编辑中,使用特殊函数格式对变量进行读写操作;

读取示例:
local a = var.get('内部变量组_1.V0')
读取说明

var:函数前缀(固定字段);

get:变量读取函数名称;

'内部变量组_1.V0':变量名(字符类型);

表示:将 内部变量组_1.V0 的值读取到声明的局部变量 a 中;

写入示例:
var.set('内部变量组_1.V0', 100)
写入说明

var:函数前缀(固定字段);

set:变量写入函数名称;

'内部变量组_1.V0':变量名(字符类型);

100:写入值;

表示:将 100 写入到 内部变量组_1.V0 中;


4.2 变量操作示例

示例:
local a = var.get('内部变量组_1.V0')
local b = var.get('内部变量组_1.V1')

if a > b then
var.set('内部变量组_1.V2', a - b)
else
var.set('内部变量组_1.V2', a + b)
end

更多

更多脚本相关信息请点击查看!