全局属性列表:
| 名称 | 描述 | 说明 |
|---|---|---|
| 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¶m1=123¶m2=A
在页面js代码中使用如下方式获取url参数
querystring.param1 (或者querystring[“param1”]) 值为字符串
querystring.param2 (或者querystring[“param2”]) 值为字符串A
也可以使用Scada.js中定义的getQueryString函数url参数值
getQueryString(“param1”) 值为字符串123获取
getQueryString(“param2”) 值为字符串Adisplay 函数的定义如下:
function display(name, param) {
if (!_playbackmode) {
if (param) {
if (name)
location.href = "runview.aspx?filename=" + encodeURIComponent(name) + "¶m=" + 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 作者:吴勇刚