为同时连接多个串口设备,每次连接设备前需创建 TComm 对象,然后再进行数据收发,不同的连接对应不同的串口设备,如同时连接电子秤和条码枪等。
本地调试(localhost)使用注册码:871ca8b4c768abc833bd174ef8756ec989d01d7b443d272a31741f596532597f9e944d2118a0ad357909a44d809d9a2a
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框架下使用同上。
VUE使用import导入js时需在js末尾添加以下代码导出TComm方法
export default TComm;