-

串口插件方法及参数

为同时连接多个串口设备,每次连接设备前需创建 TComm 对象,然后再进行数据收发,不同的连接对应不同的串口设备,如同时连接电子秤和条码枪等。
var tcomm = new TComm("COM1"      //串口号
                 ,"9600,N,8,1"   //串口设置
                 ,"hex"          //收发数据格式,hex,utf-8
                 ,10             //读超时设置,对于发送较快的设备需设置较小值如电子秤 一般设置10
                 ,0              //是否启用RTS
                 );
var tcomm2 = new TComm("COM2"      //串口号
                 ,"9600,N,8,1"   //串口设置
                 ,"hex"          //收发数据格式,hex,utf-8
                 ,10             //读超时设置,对于发送较快的设备需设置较小值如电子秤 一般设置10
                 ,0              //是否启用RTS
                 );
      

插件注册

tcomm.Register("注册码", function (dat) {
    if (dat.STAT == 11) {
        console.log("注册成功");
    } else if (dat.STAT == -99) {
        console.log("插件未安装!");
    }else{
        console.log("注册失败!");
    }
});
    

获取可用串口列表

tcomm.getComList(function (dat) {
    if (dat.COMS.length > 0) {
        $(dat.COMS).each(function (i) {
            console.log(dat.COMS[i].PName); //串口名称 如:COM1
            console.log(dat.COMS[i].FName); //完整的串口名称
        });
    }
});
    

串口列表返回数据为JSON(dat.COMS),格式如下

[
  {
    "PName": "COM1",
    "FName": "ELTIMA Virtual Serial Port",
    "HWID": "EVSERIAL"
  },
  {
    "PName": "COM2",
    "FName": "ELTIMA Virtual Serial Port",
    "HWID": "PID/VID"
  }
]
    

HWID为硬件ID,可根据HWID判断设备类型

设置串口数据接收处理

tcomm.OnDataIn = function (dat) { //接收串口返回数据
    if (dat.MSTAT != "") { //接收串口返回的状态消息
        console.log(dat.MSTAT);
    }
    if (dat.data == "") return;
    console.log(dat.data); //串口收到的数据   
}
   

打开串口(连接串口)

tcomm.init(function (ret) {
    if (ret.STAT == 1) {
        console.log("打开成功");
    } else {
        console.log("打开串口失败!");
    }
});
   

发送数据到串口

tcomm.Send("010101");
   

VUE框架下使用同上。