Skip to content

$setCommand — OPGview 控制指令参考

版本:v3.14+ | 适用项目:OPGview / OPScada
控制指令统一入口,支持实时写入、挂牌、脉冲、报警抑制、强制命令等多种模式。


目录

  1. 快速示例
  2. 必要参数
  3. 扩展参数
  4. 模式定义 (model)
  5. 验证模式 (check)
  6. 回调函数
  7. 控制代理多源 (controlServeice)
  8. 完整参数速查表
  9. 演示网页:控制指令说明.html

快速示例

js
// 写实时 — 无验证
$setCommand({ model:'RT', check:'OFF', gns:'W3.T.AX1', avs:1 })

// 写控制 — 单点 + 账号密码验证
$setCommand({ model:'CONTROL', check:'USER', gns:'W3.T.AX1', avs:1 })

// 多点控制 — 一组多个点
$setCommand({ model:'CONTROL', check:'USER', gns:'W3.T.AX1,W3.T.AX2', avs:1 })

// 多组控制 — 不同组不同值
$setCommand({ model:'CONTROL', check:'USER', gns:['W3.T.AX1,W3.T.AX2','W3.T.DX1'], avs:[11,0] })

// 脉冲 — 控制后自动恢复
$setCommand({ model:'PULSE', check:'USER', gns:'W3.DATAPOINT.AX2', avs:1, secondValue:0, interval:1000 })

// 自定义校验文字 + 双密码
$setCommand({ gns:'W3.SYS.LOAD', avs:1, check:'TEXT_TWOUSER', model:'CONTROL', check102:"确认文字" })

// 自定义描述
$setCommand({ model:'CONTROL', check:'USER', gns:'W3.T.AX1', avs:1, eds:'这是自定义描述' })

// 下发前预处理(值乘以10)
$setCommand({ model:'RT', check:'USER', gns:'W3.T.AX1', avs:1, beforeSend:"AV*10" })

// 使用第2套控制代理
$setCommand({ model:'CONTROL', check:'OFF', gns:'W3.T.AX1', avs:1, controlServeice:'2' })

必要参数

参数类型说明示例
modelstring指令类型,见下方模式定义'CONTROL'
checkstring验证模式,见下方验证模式'USER'
gnsstring/string[]测点全名单点: 'W3.T.AX1';多点: 'W3.T.AX1,W3.T.AX2';多组: ['W3.T.AX1,W3.T.AX2', 'W3.T.DX1']
avsnumber/number[]预设值,与 gns 对应单组: 1;多组: [11, 0]

gns/avs 对应关系:几组 gns 就需要几组 avs。脉冲(PULSE)、挂牌(PADLOCK)、强制(FORCE_ON/OFF) 不支持多组数据。


扩展参数

参数类型说明
edsstring/string[]自定义描述文本,与 gns 对应
secondValuenumber脉冲模式时的第二个值(恢复值)
intervalnumber脉冲间隔,单位毫秒(如 1000 = 1秒)
check101stringTEXT_USER 模式时要求输入的文字
check102stringTEXT_TWOUSER 模式时要求输入的文字
beforeSendstring预处理表达式,AV 代表输入值。如 "AV*10" 下发值为输入值 ×10
pointInfoobject自定义测点信息,如 {"W3.TEST.TEST":{"ED":"测试点","GN":"W3.TEST.TEST","RT":1}}
autoPointInfoboolean自动生成 pointInfo(简易模式,推荐手动配置 pointInfo
checkCtrlAuthboolean强制验证节点控制权限(CONTROL / PULSE 模式可用)
controlServeicestring控制代理套数:"1"(默认)、"2""3""4",不传则使用全局配置
showTipboolean是否显示反馈信息,默认 true
readonlyboolean弹窗中预设值是否允许修改,默认 false
titlestring自定义弹窗标题

模式定义

mode说明支持多组点特殊参数
RT写实时
CONTROL写控制checkCtrlAuth
PULSE脉冲控制(下发后延时恢复)secondValue, interval, checkCtrlAuth
PADLOCK挂牌命令
INHIBIT报警抑制
FORCE_ON强制命令
FORCE_OFF取消强制命令

验证模式

check说明弹窗要求
OFF无验证仅确认操作
CONFIRM确认操作点击确认按钮
KR设备码验证输入设备码(KR)
USER验证账号密码输入用户名 + 密码
PASSWORD验证密码输入当前用户密码
TWOUSER双人验证两个不同账号 + 密码
TEXT_USER自定义文字 + 单密码输入指定文字 + 账号密码(需 check101
TEXT_TWOUSER自定义文字 + 双密码输入指定文字 + 双人账号密码(需 check102

回调函数

js
$setCommand(options, function(isSuccess, data) {
    if (isSuccess) {
        console.log('控制成功', data)
        // 可以链式调用下一个指令
        $setCommand({ model:'RT', check:'OFF', gns:'W3.T.AX2', avs:0 })
    }
})
  • isSuccess: true 表示控制成功
  • data: 返回信息对象,包含 Msg 等字段
  • 第二个参数为 function 时自动识别为回调

控制代理多源

系统支持配置最多 4 套 控制代理地址。在配置管理 → 服务器配置 → 控制代理配置中,通过"当前编辑套数"下拉框切换编辑。

套数主键第2套第3套第4套
IPcontrolIPcontrolIP_2controlIP_3controlIP_4
端口controlPORTcontrolPORT_2controlPORT_3controlPORT_4
账号controlUSERcontrolUSER_2controlUSER_3controlUSER_4
密码controlPWDcontrolPWD_2controlPWD_3controlPWD_4
超时controlTimeoutcontrolTimeout_2controlTimeout_3controlTimeout_4
js
// 指定使用第2套控制代理
$setCommand({ model:'CONTROL', check:'OFF', gns:'W3.T.AX1', avs:1, controlServeice:'2' })

// 不指定 → 自动使用全局配置的 controlServeice (默认 "1")
$setCommand({ model:'CONTROL', check:'OFF', gns:'W3.T.AX1', avs:1 })

完整参数速查表

参数类型默认值必填适用模式说明
modelstring全部RT/CONTROL/PULSE/PADLOCK/INHIBIT/FORCE_ON/FORCE_OFF
checkstring全部OFF/CONFIRM/KR/USER/PASSWORD/TWOUSER/TEXT_USER/TEXT_TWOUSER
gnsstring/string[]全部测点全名
avsnumber/number[]全部预设值
edsstring/string[]全部自定义描述
secondValuenumberPULSE脉冲恢复值
intervalnumberPULSE脉冲间隔(毫秒)
check101stringTEXT_USER需确认的文字
check102stringTEXT_TWOUSER需确认的文字
beforeSendstringRT/CONTROL值预处理表达式
pointInfoobject全部自定测点信息
autoPointInfobooleanfalse全部自动生成 pointInfo
checkCtrlAuthbooleanfalseCONTROL/PULSE强制验证节点权限
controlServeicestring"1"全部控制代理套数
showTipbooleantrue全部显示反馈信息
readonlybooleanfalse全部预设值只读
titlestring全部弹窗标题