AIO系列矩阵数据处理
本帖最后由 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的输入输出状态
页:
[1]