|
本帖最后由 pidtfork 于 2020-10-28 18:46 编辑
AIO系列矩阵构造方法
这是一个构造方法,主要是用来处理AIO设备的返回数据并转换成易处理的数据格式,并且将常用的控制功能封装成方法
实例化过程
根据实际设备类型传入参数,如果是AIO-1608则传入16,如果是AIO-3208则传入32。参数2是否定时自动查询设备状态,默认是定时发送查询设备状态指令。
参数2是一个非空值时取消定时自动发送。如果是什么都不传,则 默认设备是1608,自动查询设备状态。
- var devAIO1608 = new AIO_Matrix();
- vardevAIO1608 = new AIO_Matrix(16);
- vardevAIO1608 = new AIO_Matrix(16,"disable");
- vardevAIO3208 = new AIO_Matrix(32);
复制代码
默认信息
设备的默认控制端口为: COM8 可使用 setPort(xxx) 方法更改,虽然一般都不要改
查询设备端口在线时间间隔是为 3S 可以使用 setCheckOnlineTime(xxx) 重新设置时间
查询输入输出对应状态的时间间隔为 15S 可以使用 setCheckStatusTime(xxx) 重新设置时间
每个通到都会有个通道信息对象,具体格式如下表,status值为输出对应的输入,所以通常输入卡的status为-1,当输出卡关闭时值为 0
- //假如通道6未插卡时,对象包含信息为
- {
- number : 6, //通道号
- tag : "channel6", //通道标签名称
- type : -1, //通道类型 0 输入卡 1 输出卡
- typeName : 'invalid card', //卡名称 input card 、output card
- cardType : -1, //卡类型 1~6 参考 this.CARD_TYPE 定义
- cardName : 'NULL', //卡类型名称
- online : -1, //通道线缆信号连接状态
- onlineName: 'NULL', //连接名称 online offline
- status : -1 //输出通道对应的输入通道状态 输入卡无效卡为 -1
- }
- //通道10是HDMI输出卡时
- {
- number : 10, //通道号
- tag : "channel10", //通道标签名称
- type : 1, //通道类型 0 输入卡 1 输出卡
- typeName : 'output card', //卡名称 input card 、output card
- cardType : 6, //卡类型 1~6 参考 this.CARD_TYPE 定义
- cardName : 'HDMI', //卡类型名称
- online : 1, //通道线缆信号连接状态
- onlineName: 'online', //连接名称 online offline
- status : 2 //输出通道对应的输入通道状态 输入卡无效卡为 -1
- }
复制代码
重要说明
方法接口说明,方法中的 set 方法 传入为1个是参数时,通常是数组或者对象, 2个参数时。通常是用来设置具体的属性值。方法中的 get 方法类似,无参数时返回所有属性,一个参数时返回具体属性的值。
常用方法
通道的标签名是可用 setTag 方法设置的,例如通道1接的是前摄像机,2接的后摄像机。多个地方用到通道名称时直接使用 getTag 方法获取
各个方法使用例子说明
- <b>
- </b>var dev = new AIO_Matrix(16);
- dev.callScenes(8); //调用场景 取值 0-9
- dev.clearScenes(8);//删除存储的场景 取值 0-9
- dev.saveScenes(8); //保存当前输入输出为场景 取值 0-9
- dev.setPort("NET1"); //设置控制AIO矩阵的端口号,默认为COM8
- //设置通道名称标识
- dev.setTag(["通道1", "通道2", "通道3", "通道4", "通道5", "通道6", "通道7", "通道8", "通道9", "通道10", "通道11", "通道12", "通道13", "通道14", "通道15", "通道16",]);
- dev.setTag(0, "这是通道1的名称"); //设置指定通道的名称标识
- dev.getTag(); //获取所有通道的标识 返回数组
- dev.getTag(0); //获取第一个通道的标识
- dev.getChannel("typeName"); //获取所有通道的卡类型名称
- dev.getChannel("typeName", 1); //获取通道2的卡类型名称
- dev.setCheckOnlineTime(2); //设置间隔查询通道在线的时间为2s
- dev.setCheckStatusTime(10); //设置间隔查询输入输出切换状态的时间为10s
- dev.getCheckOnlineTime(); //获取查询通达在线的时间间隔
- dev.getCheckStatusTime(); //获取查询输入输出状态的时间间隔
- dev.send("xxx"); //往设备发送字符串数据,
- dev.toggleSwitch(1, 10); //和switch方法意义相同
- dev.switch(1, 10); //通道10不显示通道1时将通道1切换给通道10,否则关闭通道10
- dev.setSwitch(1, 10); //将通道1切换给通道10,跟其他状态无关
- dev.openAllOut(); //无参 打开全部输出通道
- dev.closeAllOut(); //无参 关闭全部输出通道
- dev.openOut(10); //打开通道10
- dev.closeOut(10); //关闭通道10
- dev.powerOff(); //关闭矩阵电源
- dev.powerOn(); //开启矩阵电源
- dev.isOnline(10); //判断通道10是否在线
- dev.isStatus(10, 5);//判断通道10是否显示通道5
- dev.getOnline(); //获取全部通道在线状态 返回数组
- dev.getOnline(5); //获取通道5在线状态
- dev.getStatus(); //获取全部通道输入输出状态 返回数组
- dev.getStatus(10); //获取通道10的输入输出状态
复制代码
|
|