全局属性列表:

名称 描述 说明
isRunning 布尔量,指示Scada已经运行 只读
ie 布尔量,指示IE浏览器 只读
filename String对象,当前文件名称 只读
paramname String对象,当前参数文件名称 只读
sys_blink 布尔量,根据设定的动画周期循环变化 只读
dm 数据模型对象和dataModel一样 dm.getDataByTag(“tag”)
g2d 2d图形对象 GraphView对象
view 2d图形DIV对象 view = g2d.getView();
tagsList 布尔量,列表对象,指示当前画面需要的标量列表 可以在启动脚本加入变量
valuechangedcallback 全局回调函数 如果指定了该函数 valuechangedcallback=function(tag) 每次接收到数据都会被调用,可用于数据计算或者转换

变量对象:

名称 数据类型 说明
name 字符 变量名称大写
type 字符 数据类型 Int32 Single Double String Boolean等
value 对象 变量值
status 数值 变量状态0 UNKNOW 1 GOOD 2 BAD
alarm 数值 报警状态 0 没有报警
desc 字符 变量描述
digcount 数值 小数点个数
unit 字符 单位
time 字符 变量时间
min 数值 量程最小值
max 数值 量程最大值
atype 数值 0-5 报警类型 NotAlarm TimeoutAlarm OnAlarm OffAlarm ChangeAlarm
all 数值 低低报警设置
al 数值 低报警设置
ah 数值 高报警设置
ahh 数值 高高报警设置
hs 数值 是否历史点 1:历史点

本地系统变量:

名称 数据类型 说明
IOERROR 布尔类型 HTTP通讯故障
PLAYBACKMODE 布尔类型 历史回放模式
NORMALMODE 布尔类型 正常运行模式

本地js全局变量:

名称 数据类型 说明
isRuning 布尔类型 运行状态指示
isReadonly 布尔类型 当前用户只读模式
sys_blink 布尔类型 系统变化ON OFF
username 字符类型 用户名
userlevel 数值类型 用户权限
userarea 数值类型 用户区域
userid 数值类型 用户ID

全局函数列表:

名称 说明
getinputvalue(display, value) 显示输入窗口返回输入值
$T(tagid) dm.getDataByTag(“tag”)的简写
getTag(tag) 返回当前画面数据库的变量对象
getTagValue(tag) 返回当前画面数据库的变量对象值
addTags(tags) 添加变量数组到页面数据库 举例:addTags([“tag1”,”tag2”])
createTag(tag) 创建页面变量点
addTag(tag) 添加变量到页面数据库 举例:addTag(“tag2”)
questionbox(msg) 询问对话框
display(name, param) 切换画面 举例:display(“file1”); display(“file2”,”p1”);
display_child(child,name, param) 改变子画面显示 举例: Display_child(“c1”,”smallpic”) c1:Tag属性
display_child_url(child,url) 改变子画面显示 举例: Display_child(“c1”,”status.aspx”) c1:Tag属性
editor(filename) 进入组态模式 举例:editor();编辑默认画面或当前画面 editor(filename); 编辑当前运行画面 editor(“file2”); 编辑指定画面
login() 显示登陆页面
logout() 注销用户
viewlog() 显示系统日志
viewstate() 显示系统状态
viewhistrend(param)
openhistrend(param)
显示历史趋势 param:趋势名称 当参数中带’#’符号时必须使用encodeURIComponent函数 openhistrend(’tags=ioclient.tag1,ioclient.tags’); openhistrend(’trend=histrend1&title=历史趋势2’);
writetag(tag, v,callback) 写变量值 举例: writetag(“ioclient.tag1”,2); callback=function(data) writetag(“ioclient.tag2”,2,function(data){ alert(data.msg);//data.status=0 成功 });
toggletag(tag,callback) 切换变量值 举例: toggletag (“ioclient.tag1”); callback=function(data) //data.status=0 成功
addtagvalue(tag, v,callback) 变量值加减操作 举例: addtagvalue(“ioclient.t1”,1); callback=function(data)//data.status=0 成功
setTagValue(data) 当对象有tagname属性时,调用设置数据显示窗口
setTagForm(disp, tagname, v) 显示变量设置窗口
getTag(tag) 返回当前画面数据库的变量对象
writetagvalues(vs, callback) vs: key:value值对 {“ioclient.tag1”:1,”ioclient.tag2”:”name”} 批量写值
sendcommand(plug, cmdstr, callback) 驱动接口发送扩展命令 举例: sendcommand(“IOClient”,”start”); callback=function(data)//data.status=0 成功
reload(callback) 设计时,重新加载数据库变量 callback=function(data) var id = data.id;// : 0 OK else error var m = data.msg;
confirm(msg) 询问对话框 msg:信息内容 确定返回true
showMessage(title, msg) 显示信息
getInput(title, txt, action) 获取输入值对话框 action=function(data)
showTagInfo(tagname) 显示变量信息窗口
showPanelInfo(title, msg, w, h, style) 显示浮动jquery信息框 title:标题 msg:html 信息 w:宽度 h:高度 style:样式primary,default,info,success,warning,danger
sqlquery(type,sql,page,pagesize,action) 数据库查询操作 type:select sql:查询字符 page:第几页 pagesize:分页 action=function(data) data:数据表的json对象
popupView(title, w, h, view) 弹出子画面 title:标题 w,h:宽度和高度 view:图形画面名称 举例: popupView(“#1泵”,200,250,”pump1”)
viewCurrentTags 运行时显示当前画面变量数据列表
stopScada 停止运行当前画面
startScada 启动运行当前画面
stopAll 停止当前画面全部窗口
startAll 启动当前画面全部窗口
startplayback 从历史数据启动当前画面的回放
stopplayback 停止历史回放
updateAlarmSetting(tag, ll, l, h, hh, callback) 更新模拟量报警设置 tag:变量名称 ll:低低报警设置 l:低报警设置 h:高报警设置 hh:高高报警设置 callback=function(data)//data.state=0 成功
changeAlarmType(tag, v,callback) 修改报警设置 tag:变量名称 V:0-5(0:NotAlarm 1:AnalogAlarm 3:OnAlarm 4:OffAlarm 5:ChangeAlarm) callback=function(data)//data.status=0 成功
updateDBTag(tags, v,callback) 更新变量属性 --- 仅适合于部分实时数据库接口 tags:变量名称 d1.zt.a1,d1.zt.a2 callback=function(data) //data.status=0 成功 //data.msg -- 返回消息
getTagsValue(tags) 同步读取变量值 返回变量数组对象 tags:变量名称 d1.zt.a1,d1.zt.a2
getAllFileNames() 同步读取画面列表 返回值字符串数组
jsonfileExist(filename) 同步判断画面名称是否存在 返回值true false
queryLog(startTime, endTime, logtype,callback) logtype: syslog eventlog operatorlog alarmlog 查询日志 返回json 表格 callback 空白情况下输出会打印到调试器
linkbutton_Click(data) 当对象有filename属性时,该函数执行画面跳转操作
getHistValues(tags, starttime, endtime, second, callback, type)

scada.js 中改函数可以打开关闭压缩,打开关闭调试信息 分析查询性能

tags:逗号分割的变量名全名称 starttime 开始时间 endtime 结束时间 second 间隔秒 callback回调函数 type:用户参数 callback 回调函数 function(data)
updatevalues(vs, callback) vs: key:value值对 {“tag1”:1,”tag2”:”name”} LocalDB限制的IP可以设置
changePassword(oldpwd,newpwd) 修改当前用户的密码 成功返回json {“msg”:”ok”}
changePasswordDlg() 调用修改当前用户密码对话框
addLog(msg,type, severity) 添加日志记录 msg:记录信息 type:log oplog severity:0 information 1 warning 2 error
openh5report(name, param, hideToolbar) 在新窗口打开报表页面 name:报表文件命名 param:报表参数, starttime=9-8&endtime=10-1 hideToobar:true false
viewh5report(name, param, hideToolbar) 在本窗口打开报表页面 name:报表文件命名 param:报表参数, starttime=9-8&endtime=10-1 hideToobar:true false
dologin(user) 调用登陆对话框 user:显示的用户名 成功返回:true
dologout 用户注销
reloadview() 重新加载页面

RunView.aspx查询参数使用方法如下:

:Runview.aspx?filename=main&param1=123&param2=A
在页面js代码中使用如下方式获取url参数
querystring.param1 (或者querystring[“param1”]) 值为字符串
querystring.param2 (或者querystring[“param2”]) 值为字符串A
 也可以使用Scada.js中定义的getQueryString函数url参数值
 getQueryString(“param1”) 值为字符串123获取
 getQueryString(“param2”) 值为字符串A

display 函数的定义如下:

function display(name, param) {
    if (!_playbackmode) {
        if (param) {
            if (name)
                location.href = "runview.aspx?filename=" + encodeURIComponent(name) + "&param=" + encodeURIComponent(param);
        }
        else {
            if (name)
                location.href = "runview.aspx?filename=" + encodeURIComponent(name);
            else
                location.href = "runview.aspx";
        }
    }
};

用户可以根据需要修改该函数,函数定义在lib\scada.js中

内置动画说明:

报警颜色对值显示控件有效,启用动态更新后报警时可以实现闪烁。

闪烁动画对内部绘制的图形对象有效,使用闪烁变量进行控制。

可见动画对全部对象有效,使用可见变量进行控制。

组态在线系统说明:

当前组态在线客户端可使用各种现代浏览器

画面加载过程如下:

1) 系统根据给定的filename从数据库读取图形文件配置,如果指定了画面替换参数文件,则进行全文本替换,根据图形文件对象判断生成需要的变量列表,生成动态对象和动画对象列表。因此是按需读取变量的,脚本中能访问的变量被限制在了该变量列表,非画面变量如果要访问则需要通过代码加入变量引用,使用addTag或者addTags函数。

2) 开始呈现画面,同时开始按设置的频率更新画面

3) 每个画面可以配置独立的数据更新频率和动画更新频率,默认数据更新频率是1s,动画更新频率是0.5s,画面更新操作可以通过js脚本加入更新代码实现动态改变画面对象。

界面图形编程:

修改文本的方法:
假定对象的标识Tag属性为txt1 var t = dm.getDataByTag(“txt1”);
// 或者 var t = $T(“txt1”); if (t) t.setName(“文字内容”);

getName()函数用于读取文字内容。

绑定变量的对象鼠标写值脚本:

方式一:

//鼠标点击脚本,函数类型function(data,e,values)
var tagname = data.a("tagname");
if (tagname){
    writetag(tagvalue);
}

方式二:

//鼠标点击脚本,函数类型function(data,e,values)
var tagname = data.a("tagname");
if (tagname){
    setTagForm("",tagname,data.a("tagvalue"));
}

选择多个对象可以执行批量脚本设置。

文档更新时间: 2019-11-20 17:18   作者:吴勇刚