请选择 进入手机版 | 继续访问电脑版

UBAINS

 找回密码
 立即注册
搜索
热搜: UBAINS
查看: 2040|回复: 0

[学习笔记] AIO系列矩阵数据处理

[复制链接]

10

主题

11

帖子

447

积分

版主

Rank: 7Rank: 7Rank: 7

积分
447
QQ
发表于 2020-10-28 18:44:48 | 显示全部楼层 |阅读模式
本帖最后由 pidtfork 于 2020-10-28 18:46 编辑

AIO系列矩阵构造方法


这是一个构造方法,主要是用来处理AIO设备的返回数据并转换成易处理的数据格式,并且将常用的控制功能封装成方法

实例化过程

根据实际设备类型传入参数,如果是AIO-1608则传入16,如果是AIO-3208则传入32。参数2是否定时自动查询设备状态,默认是定时发送查询设备状态指令。

参数2是一个非空值时取消定时自动发送。如果是什么都不传,则 默认设备是1608,自动查询设备状态。

  1. var devAIO1608 = new AIO_Matrix();
  2. vardevAIO1608 = new AIO_Matrix(16);
  3. vardevAIO1608 = new AIO_Matrix(16,"disable");
  4. vardevAIO3208 = new AIO_Matrix(32);
复制代码



默认信息

设备的默认控制端口为: COM8 可使用 setPort(xxx) 方法更改,虽然一般都不要改

查询设备端口在线时间间隔是为 3S 可以使用 setCheckOnlineTime(xxx) 重新设置时间

查询输入输出对应状态的时间间隔为 15S 可以使用 setCheckStatusTime(xxx) 重新设置时间

每个通到都会有个通道信息对象,具体格式如下表,status值为输出对应的输入,所以通常输入卡的status为-1,当输出卡关闭时值为 0


  1. //假如通道6未插卡时,对象包含信息为
  2. {
  3.     number    : 6,                //通道号
  4.     tag       : "channel6",       //通道标签名称
  5.     type      : -1,               //通道类型 0 输入卡 1 输出卡
  6.     typeName  : 'invalid card',   //卡名称 input card 、output card
  7.     cardType  : -1,               //卡类型 1~6 参考 this.CARD_TYPE 定义
  8.     cardName  : 'NULL',           //卡类型名称
  9.     online    : -1,               //通道线缆信号连接状态
  10.     onlineName: 'NULL',           //连接名称 online offline
  11.     status    : -1                //输出通道对应的输入通道状态  输入卡无效卡为 -1
  12. }
  13. //通道10是HDMI输出卡时
  14. {
  15.     number    : 10,              //通道号
  16.     tag       : "channel10",     //通道标签名称
  17.     type      : 1,               //通道类型 0 输入卡 1 输出卡
  18.     typeName  : 'output card',   //卡名称 input card 、output card
  19.     cardType  : 6,               //卡类型 1~6 参考 this.CARD_TYPE 定义
  20.     cardName  : 'HDMI',          //卡类型名称
  21.     online    : 1,               //通道线缆信号连接状态
  22.     onlineName: 'online',        //连接名称 online offline
  23.     status    : 2                //输出通道对应的输入通道状态  输入卡无效卡为 -1
  24. }
复制代码



重要说明

方法接口说明,方法中的 set 方法 传入为1个是参数时,通常是数组或者对象, 2个参数时。通常是用来设置具体的属性值。方法中的 get 方法类似,无参数时返回所有属性,一个参数时返回具体属性的值。


常用方法

通道的标签名是可用 setTag 方法设置的,例如通道1接的是前摄像机,2接的后摄像机。多个地方用到通道名称时直接使用 getTag 方法获取

各个方法使用例子说明


  1. <b>
  2. </b>var dev = new AIO_Matrix(16);

  3. dev.callScenes(8); //调用场景 取值 0-9
  4. dev.clearScenes(8);//删除存储的场景 取值 0-9
  5. dev.saveScenes(8); //保存当前输入输出为场景 取值 0-9

  6. dev.setPort("NET1"); //设置控制AIO矩阵的端口号,默认为COM8

  7. //设置通道名称标识
  8. dev.setTag(["通道1", "通道2", "通道3", "通道4", "通道5", "通道6", "通道7", "通道8", "通道9", "通道10", "通道11", "通道12", "通道13", "通道14", "通道15", "通道16",]);
  9. dev.setTag(0, "这是通道1的名称"); //设置指定通道的名称标识
  10. dev.getTag();   //获取所有通道的标识  返回数组
  11. dev.getTag(0);  //获取第一个通道的标识

  12. dev.getChannel("typeName");     //获取所有通道的卡类型名称
  13. dev.getChannel("typeName", 1);  //获取通道2的卡类型名称

  14. dev.setCheckOnlineTime(2);  //设置间隔查询通道在线的时间为2s
  15. dev.setCheckStatusTime(10); //设置间隔查询输入输出切换状态的时间为10s
  16. dev.getCheckOnlineTime();   //获取查询通达在线的时间间隔
  17. dev.getCheckStatusTime();   //获取查询输入输出状态的时间间隔

  18. dev.send("xxx");            //往设备发送字符串数据,
  19. dev.toggleSwitch(1, 10);    //和switch方法意义相同
  20. dev.switch(1, 10);          //通道10不显示通道1时将通道1切换给通道10,否则关闭通道10
  21. dev.setSwitch(1, 10);       //将通道1切换给通道10,跟其他状态无关

  22. dev.openAllOut();   //无参 打开全部输出通道
  23. dev.closeAllOut();  //无参 关闭全部输出通道
  24. dev.openOut(10);    //打开通道10
  25. dev.closeOut(10);   //关闭通道10

  26. dev.powerOff(); //关闭矩阵电源
  27. dev.powerOn();  //开启矩阵电源

  28. dev.isOnline(10);   //判断通道10是否在线
  29. dev.isStatus(10, 5);//判断通道10是否显示通道5
  30. dev.getOnline();    //获取全部通道在线状态 返回数组
  31. dev.getOnline(5);   //获取通道5在线状态
  32. dev.getStatus();    //获取全部通道输入输出状态 返回数组
  33. dev.getStatus(10);  //获取通道10的输入输出状态


复制代码


高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

Archiver|手机版|小黑屋|BBS.UBAINSYUN.COM

GMT+8, 2024-4-17 05:04 , Processed in 0.034629 second(s), 19 queries .

Powered by UBAINS! X3.4

© 2001-2017 UBAINS Inc.

快速回复 返回顶部 返回列表