更新记录
1.0.2(2022-12-09)
优化底层引用代码
1.0.1(2022-12-09)
- Modbus读写指令封装
- CRC校验
- 十六进制字符串与整型数组之间的转换
- 整型与高低位之间转换
- ArrayBuffer与十六进制转换
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
功能
- Modbus读写指令封装
- CRC校验
- 十六进制字符串与整型数组之间的转换
- 整型与高低位之间转换
- ArrayBuffer与十六进制转换
uniCloud
uniCloud云函数的使用 请参考简书https://www.jianshu.com/p/a01f0edc7c60?v=1670549138333 或 请参考官网https://uniapp.dcloud.net.cn/uniCloud/cf-callfunction.html
函数API
- 获取Modbus的读指令
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "getReadModbus",
params: {
address: parseInt(this.address), // 设备地址,十进制
start: parseInt(this.start), // 寄存器起始地址,十进制
count: parseInt(this.count) // 寄存器个数,十进制
}
}
}).then((res) => {
// UCloud getReadModbus:FF0300AA000AF033
this.showMsg("读指令:" + res.result.data);
}).catch((err) => {
this.showMsg("读指令失败:" + err);
})
- 获取Modbus的写指令
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "getWriteModbus",
params: {
address: parseInt(this.address), // 设备地址
start: parseInt(this.start), // 寄存器起始地址
data: "0001" // 数据,这里的data可以是十六进制的字符串,如"0001", 也可以是十进制的字节数据,如[0, 1]
}
}
}).then((res) => {
// UCloud getWriteModbus:FF0600AA00017DF4
this.showMsg("写指令:" + res.result.data);
}).catch((err) => {
this.showMsg("写指令失败:" + err);
})
- 获取CRC值校验值
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "getCRC",
params: {
data: "0105000300" // 数据,这里的data可以是十六进制的字符串,如"0001", 也可以是十进制的字节数据,如[0, 1]
}
}
}).then((res) => {
// CRC:64537 高位:252 底位:25
var data = res.result.data;
this.showMsg("CRC:" + data.crc + " 高位:" + data.high + " 底位:" + data.low);
}).catch((err) => {
this.showMsg("CRC失败:" + err);
})
- 十六进制字符串转十进制数组
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "hexToIntArray",
params: {
data: "0022FFAA" // 数据
}
}
}).then((res) => {
// 结果:0,34,255,170
this.showMsg("结果:" + res.result.data);
}).catch((err) => {
this.showMsg("失败:" + err);
})
- 十进制数组转十六进制字符串
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "intArrayToHex",
params: {
data: [0,34,255,170]
}
}
}).then((res) => {
this.showMsg("结果:" + res.result.data);
}).catch((err) => {
this.showMsg("失败:" + err);
})
- 整型转高低位
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "intToHighLow",
params: {
data: 100 // 数据
}
}
}).then((res) => {
var high = res.result.data.high;
var low = res.result.data.low;
}).catch((err) => {
this.showMsg("失败:" + err);
})
- 高低位转整型
uniCloud.callFunction({
name: 'wrs-modbuscrchex-cloud',
data: {
funcName: "highLowToInt",
params: {
high: 100,
low: 10
}
}
}).then((res) => {
var high = res.result.data.high;
var low = res.result.data.low;
}).catch((err) => {
this.showMsg("失败:" + err);
})