介绍

概念

联动是指当监控系统的变量满足一定要求时,系统自动触发已配置好的方案,执行应对当前场景的相关动作。

触发源与动作

联动系统有两个基本概念:触发源、动作

触发源:就是设定自动执行的条件。触发源名称可以根据需要填写。

触发来源的配置,就是配置系统根据哪个变量的值触发,一旦达到触发条件,系统就自动执行指定动作。触发来源可以是设备管理中某个变量的报警(目前仅支持该变量必须配置好了相关报警设置才可以联动处理)。

  • 触发源。触发源就是事件,目前支持两种:
    • 报警产生
    • 定时触发
  • 动作
    • 变量控制
    • 一组变量控制
    • 可用变量控制
    • 弹出画面
    • 延时等待

联动优先级与同时执行的多个联动

联动具有优先级,优先级配置在联动的事件上,字段:priority。数字越大,优先级越高。

整个系统中,同时正在执行的联动事件允许有多个。

  • 如果一个同时触发了多个联动事件,此时会判断优先级,选择优先级高的先执行,再执行优先级低的联动事件。
  • 如果当前尚未执行任何联动,则触发一个联动事件后,无论优先级如何,均开始执行。
  • 如果一个联动正在执行,即该事件对应的正在执行的动作还未全部执行完毕,此时又触发了一个新的事件的联动。那么:无论新的联动事件优先级比正在执行的联动事件优先级高还是低,均会执行新的联动事件
  • 联动系统的提示信息,将会记录当前正在执行的联动的过程,和联动执行过程中的其他联动事件信息,提示给用户

自动执行联动与需用户确认的联动

每个联动事件对应的动作,都配置有如下与确认相关属性:

  1. 是否需要确认再执行(needconfirm)属性。该属性缺省为:不需要确认即自动执行
  2. 如果配置为:需要确认再执行(needconfirm=1),但用户在超时时间内未及时确认,则有个确认超时时间(confirmtimeout,单位:秒)。为0表示永不超时,一直等待用户确认。
  3. 如果已经超时,则根据是否超时执行属性(isexecuteontimeout),为1表示超时自动执行,否则表示超时自动取消

联动配置

联动系统提供直观方便的联动配置工具,快捷配置联动方案。

触发源管理

  • 触发源增加与修改
    • 点击上图新增或修改,弹出下面界面供输入
    • 必输输入自定义的触发源名称,如:隧道中区火灾
    • 状态必须选择:是
  • 触发时机有两种:
    • 报警产生触发。此时必须在触发配置选择一个,或多个变量/对象属性的一个报警类型
      • 每个变量/对象属性的报警类型支持:HH,LL,H,L,HHH,LLL,FX1,FX2,ON,OFF
      • 一个报警触发,选择之后触发配置的内容应为{对象属性}.{报警类型},如:
        • tag1.HH
      • 多个报警只要其中有一个触发,选择之后触发配置的内容应为:{对象属性}.{报警类型},{对象属性}.{报警类型},如:
        • tag1.HH,tag1.LL
      • 多个报警其中有N个一起触发,选择之后触发配置的内容应为:{对象属性}.{报警类型},{对象属性}.{报警类型},如同时有两个报警产生才触发:
        • tag1.HH,tag1.LL,tag2.HH,tag.L;2
    • 定时触发。此时必须在触发配置选择触发器。如下图,参数非必填项
      • 可以任意配置秒、分钟、小时、日、月、年、周
      • 弹出的cron表达式配置若什么都不选择,则会出现红框中的内容,无需意外,此为默认时间,若要选择时间自行点击即可

         
  • 触发源删除
    • 选中一个触发源,点击删除按钮,可以删除触发源


联动动作管理

  • 选中一个触发源,可以配置该触发源对应的动作
  • 每个动作需配置的属性包括:
    • 自定义的名称(必须输入)
    • 执行顺序,数字越小越靠前执行
    • 是否启用,必须选择“是”才有效
    • 类型指的是动作类型,包括下面几个:
      • 变量控制,控制服务端对某个变量写入值
      • 弹出画面,在某个客户端弹出一个画面,并带入参数
      • 延时等待,在服务端执行过程中等待一段时间再执行下个动作
      • 一组变量控制,控制
      • 可用变量控制
    •  
    • 动作支持如下几种:
      • 单变量控制
        • 参数1:变量名称
        • 参数2:要控制的变量的值
        • 参数3:控制的超时设置,单位:毫秒
      • 多变量同时控制
        • 同时控制多个变量的值为某个特定值
        • 参数1:多个变量名称:变量值,以逗号隔开。
          • 格式1:只有变量名称,如tag1,tag2,tag3,此时其控制值为参数2
          • 格式2:变量名:变量值。如:tag1:1,tag2:0,tag3:10,表示将tag1值改为1,tag2改为0,tag3改为10,此时参数2 无效
        • 参数2:要控制的变量的值。当参数1位格式1时,即每个变量没有给值的情况下,变量的控制值使用参数2。
        • 参数3:控制的超时设置,单位:毫秒
      • 多变量循环控制
        • 配置多个变量/对象属性,每次触发本动作执行时,将按照配置的变量次序,依次选择一个变量,将其值修改为控制值。
        • 参数1:多个变量,以逗号隔开
        • 参数2:要控制的变量的值
        • 参数3:控制的超时设置,单位:毫秒
        • 如:配置了tag1,tag2,tag3这4个变量,控制值为1(见下图)
          • 第一次触发本动作时,将tag1值设置为1
          • 第二次触发本动作时,将tag2值设置为1
          • 第三次触发本动作时,将tag3值设置为1
          • 第四次触发本动作时,将tag1值设置为1
          • 第五次触发本动作时,将tag2值设置为1
          • 依次类推
      • 服务端延时
        • 等待一段时间再执行次序更低的动作
        • 参数1:毫秒为单位的时间,如3000表示3秒
      • 客户端弹窗
        • 在客户端弹出一个画面,并带上初始参数
        • 参数1:画面信息,json对象,包括三部分,示例:{"site":["site1","site2"],"page":"video","position":{"x":0,"y":0,"w":500,"h":400}}
          • 在哪个工作站弹窗。site属性
            • 如果想指定工作站弹窗,则必须使用eview专用客户端,而不能用浏览器。
            • site数组数组内的为允许弹窗的工作站站名。该名称需要pkclient.ini的general/site进行名称配置。只有在site数组中的工作站才能弹窗
            • 站点名称为空字符串,表示在浏览器也可以弹窗
          • 要打开的画面名称。page属性的值为画面路径
            • 这里的画面名称为video。必选。
            • 非顶层目录下的画面需要带目录名,如dir1/video
          • 要弹窗的位置。position属性
            • position属性不存在时,按照窗体自身大小弹窗,弹出在屏幕中央位置
            • x、y为左上角坐标
            • w和h为窗体宽度和高度
        • 参数2:打开画面时带入到onLoad中的参数(脚本编辑器中Page的onLoad(params)事件中的params)
          •  应该为数组,如:["camname1","camname2"]
          •  该参数会原封不动的传递到脚本编辑器中Page的onLoad(params)事件中的params
          • 可以通过参数传递,实现弹窗的同时,打开2个摄像头并切换到预置位等操作
        • 参数3:打开画面时的初始动作
          • 目前仅支持一个动作:参数模板替换objectreplace。示例:
          • {"type":"objectreplace":"value":"template1=设备1,templ2=设备2"}
          • objectreplace时,template1为画面中配置或使用的对象模板名称;设备1为实际传入的设备名称。
          • 多个参数替换之间以逗号隔开
        • 示例:打开一个画面video,并打开摄像头cam1和cam2
          • 参数1:{"page":"video","site":["site1","site2"]}
          • 参数2:["cam1","cam2"]
          • 参数3:{"type":"objectreplace","value":"template1=设备1,templ2=设备2"}
          • 其中video画面名需要先制作好,包含:
            • 2个摄像头控件cam1和cam2
            • page的onLoad(params)脚本,params中保存了cam1和cam2两个数组元素,调用pkvideo接口播放


  • 无标签