版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

介绍

概念

联动是指当监控系统的变量满足一定要求时,系统自动触发已配置好的方案,执行应对当前场景的相关动作。基于联动来设置的相关方案,将大大提高应急情况下监控系统的反应能力。

触发源与动作

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

...

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

...

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

  • 触发源。触发源就是事件,目前支持两种:
    • 报警产生(类型值:1)。需要先配置一个报警,再配置触发源。如:双波长火焰探测器48北线.报警故障待机.EQ
    • 表达式变为真(类型值:2)。直接在触发源中输入表达式,如:紧急电话11北线.待机振铃通话故障==2
    • 表达式变为假(类型值:3)
    • 表达式为真(类型值:4)
    • 表达式为假(类型值:5)
    • 定时触发(未实现)
    • 报警产生
    • 定时触发
  • 动作
    • 变量控制
    • 一组变量控制
    • 可用变量控制
    • 弹出画面
    • 延时等待

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

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

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

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

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

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

  1. 在数据库t_link_action表中,具有以下字段:
    1. needconfirm。是否需要在客户端弹窗后,由用户确认后再执行。该属性缺省为:不需要确认即自动执行。值范围:1/0
      1. 1,需要用户确认后再执行
      2. 0,或空,不需要用户确认,自动执行
  2. confirmtimeout字段。表示等待用户确认的超时时间(秒)。needconfirm配置为1时(需用户确认)有效
    1. 为0表示永不超时,一直等待用户确认,才继续执行该事件后续的其他动作。缺省为空表示永不超时
    2. 其他值(正整数),表示等待用户的时间(秒),系统超过该时间段未接收到用户确认执行或不执行的操作,则进行下面的处理。
  3. cancelexecuteontimeout字段。表示:等待用户确认超时后,执行还是取消。
    1. 值1:超时后取消执行
    2. 值0:超时后自动执行。缺省为超时后自动执行

联动配置

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

触发源管理

  • 触发源增加与修改
    • 点击上图新增或修改,弹出下面界面供输入
    • 必输输入自定义的触发源名称,如:隧道中区火灾
    • 状态必须选择:是
  • 触发时机有两种:
    • 报警产生触发。此时必须在触发配置选择一个,或多个变量/对象属性的一个报警类型
      • 每个变量/对象属性的报警类型支持: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:多个变量名称:变量值,以逗号隔开。
          • 格式1:只有变量名称,如tag1,tag2,tag3,此时其控制值为参数2
          • 格式2:变量名:变量值。如:tag1:1,tag2:0,tag3:10,表示将tag1值改为1,tag2改为0,tag3改为10,此时参数2 无效
        • 参数2:要控制的变量的值。当参数1位格式1时,即每个变量没有给值的情况下,变量的控制值使用参数2。参数2:要控制的变量的值
        • 参数3:控制的超时设置,单位:毫秒
      • 多变量循环控制
        • 配置多个变量/对象属性,每次触发本动作执行时,将按照配置的变量次序,依次选择一个变量,将其值修改为控制值。
        • 参数1:多个变量,以逗号隔开
        • 参数2:要控制的变量的值
        • 参数3:控制的超时设置,单位:毫秒
        • 如:配置了tag1,tag2,tag3这4个变量,控制值为1(见下图)
          • 第一次触发本动作时,将tag1值设置为1
          • 第二次触发本动作时,将tag2值设置为1
          • 第三次触发本动作时,将tag3值设置为1
          • 第四次触发本动作时,将tag1值设置为1
          • 第五次触发本动作时,将tag2值设置为1
          • 依次类推
        • 参数1:多个变量,以逗号隔开
        • 参数2:要控制的变量的值
        • 参数3:控制的超时设置,单位:毫秒
      • 服务端延时
        • 等待一段时间再执行次序更低的动作
        • 参数1:毫秒为单位的时间,如3000表示3秒
      • 客户端弹窗
        • 在客户端弹出一个画面,并带上初始参数
        • 参数1:画面名称
        • 参数2:打开画面时带入的参数类型,值可为:
          • objectreplace,打开画面并进行参数替换
            switchcamera,打开画面同时切换摄像机
        • 参数3:打开画面时带入的参数值
          • objectreplace时,画面模板名1=对象实际名称1,画面模板名2=对象实际名称2  多个参数替换之间以逗号隔开
          • switchcamera时,cam=cam13,preset=2。每次只能打开1个摄像头和设置预置位
        • 如:打开一个画面video,并打开摄像头cam13,切换到预置位5
          • 参数1:video
          • 参数2:switchcamera
          • 参数3:cam=cam13,preset=5
          • Image Removed
        • 如:打开一个画面devicedetail,并替换其中模板1 (objectname1)为(设备1),替换其中模板1 (objectname2)为(设备5)
        • 参数1:devicedetail
        • 参数2:objectreplace
        • 参数3:objectname1=设备1,objectname2=设备5
        • 参数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接口播放
          • Image Added


  • 各专业系统需要配置的联动触发源
    • 火灾报警系统
      • 手报按钮,双波长探测器,光缆光栅(声光报警器和消火栓报警状态不能配置为触发源)。这三类状态为1时配置为报警(EQ类型报警)
      • 联动触发类型:报警产生触发的联动。上述报警类型填入触发源中,如:双波长火焰探测器48北线.报警故障待机.EQ
    • 电话系统:
      • 电话机进入通话状态,需要配置为联动。但不能配置为报警。
      • 联动触发源类型:表达式计算触发的联动,表达式变为真(类型值:2)
      • 触发源表达式示例: 紧急电话11北线.待机振铃通话故障==2
    • 报警产生触发的联动
    • 表达式计算触发的联动
  • 各专业系统配置联动的依据
    • CAD图,根据CAD图(文件名:,示例图见下:)
    • 找到一组位置比较接近的探头及手报按钮等
    • 找到对应的左侧和右侧摄像头,
    • 找到附近的LED,如这里的:,再根据xxx图找到对应的IP
    • 找到附近的广播,如这里的