|
9 miesięcy temu | |
---|---|---|
.. | ||
readme.md | 9 miesięcy temu | |
wrs-ASCIIUtils.js | 9 miesięcy temu | |
wrs-Base64Utils.js | 9 miesięcy temu | |
wrs-ByteUtils.js | 9 miesięcy temu | |
wrs-CRCUtils.js | 9 miesięcy temu | |
wrs-HexUtils.js | 9 miesięcy temu | |
wrs-ISType.js | 9 miesięcy temu | |
wrs-IntUtils.js | 9 miesięcy temu | |
wrs-ModbusUtils.js | 9 miesięcy temu |
import * as ByteUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-ByteUtils.js';
整型转字节
let intValue = 500;
let byteValue = ByteUtils.intToByte(intValue);
字节转整型
let byteValue = 100;
let intValue = ByteUtils.byteToInt(byteValue);
import * as HexUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-HexUtils.js';
十进制数组转十六进制字符串
let intArray = [];
intArray.push(0x01);
intArray.push(355);
let hex = HexUtils.intArrayToHex(intArray);
字节数组转十六进制字符串
let byteArray = [];
byteArray.push(0x01);
byteArray.push(35);
let hex = HexUtils.byteArrayToHex(byteArray);
十六进制字符串转整型数组
let hex = "030610aabb"
let intArray = HexUtils.hexToIntArray(hex);
十六进制字符串转字节数组
let hex = "ffbb02"
let byteArray = HexUtils.hexToByteArray(hex);
十六进制字符串转arrayBuffer
let hex = "ffbb02"
let arrayBuffer = HexUtils.hexToArrayBuffer(hex);
arrayBuffer转十六进制字符串
let byteArrayBuffer = new Uint8Array([0x05, 0x02, 0xff]);
let arrayBuffer = byteArrayBuffer.buffer;
let hex = HexUtils.arrayBufferToHex(arrayBuffer);
十六进制字符串转Uint8Array
let hex = "030610aabb"
let uint8Array = HexUtils.hexToUint8Array(hex);
let msg = "hexToUint8Array\n" + "hex:" + hex + "\nintArray:" + uint8Array;
this.showMsg(msg);
Uint8Array转十六进制字符串
var uint8 = new Uint8Array(4);
uint8[0] = 0x1f;
uint8[1] = 0x2f;
uint8[2] = 0x3f;
uint8[3] = 0x4f;
let hex = HexUtils.uint8ArrayToHex(uint8);
let msg = "uint8ArrayToHex:" + uint8 + " uint8ArrayToHex hex:" + hex;
this.showMsg(msg);
import * as CRCUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-CRCUtils.js';
获取CRC16_MODBUS
let hex = "05060A";
let data = HexUtils.hexToByteArray(hex);
var crc = CRCUtils.getCRC16_MODBUS(data);
// CRC十六进制
var crcHex = IntUtils.intToHex(crc)
var obj = CRCUtils.intToHighLow(crc);
// CRC低位
let low = obj.low;
// CRC高位
let high = obj.high
获取CRC16_CCITT_FALSE
let hex = "05060A";
let data = HexUtils.hexToByteArray(hex);
var crc = CRCUtils.getCRC16_CCITT_FALSE(data);
// CRC十六进制
var crcHex = IntUtils.intToHex(crc)
var obj = CRCUtils.intToHighLow(crc);
// CRC低位
let low = obj.low;
// CRC高位
let high = obj.high
获取CRC32
let data = [0x05, 0x06, 0x0a];
let initialCrc = 0xFFFFFFFF;
let polynom = 0x04C11DB7;
let xor = 0xFFFFFFFF;
let refIn = true;
let refOut = true;
var crc = CRCUtils.getCRC32(data);
this.showMsg("CRC32:" + crc)
import * as ModbusUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-ModbusUtils.js';
写指令
// 设备地址
let address = 0x25;
// 寄存器起始地址
let start = 20;
// 寄存器个数
let count = 3;
let byteArray = ModbusUtils.getReadModbus(address, start, count);
let hex = HexUtils.byteArrayToHex(byteArray);
// 如果CRC高位在前
let crcLowFront = false; // CRC是否低位在前
let byteArray1 = ModbusUtils.getReadModbusCRCLowFront(address, start, count, crcLowFront);
let hex1 = HexUtils.byteArrayToHex(byteArray1);
读指令
// 设备地址
let address = 0x25;
// 寄存器起始地址
let start = 20;
// 数据
let data = [];
data.push(0x02);
data.push(0x0A);
let byteArray = ModbusUtils.getWriteModbus(address, start, data);
let hex = HexUtils.byteArrayToHex(byteArray);
// 如果CRC高位在前
let crcLowFront = false; // CRC是否低位在前
let byteArray1 = ModbusUtils.getWriteModbusCRCLowFront(address, start, data, crcLowFront);
let hex1 = HexUtils.byteArrayToHex(byteArray1);
import * as ASCIIUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-ASCIIUtils.js';
字符串转ASCII
let str = "Get_ID占三";
// byteArray为字节数组
let byteArray = ASCIIUtils.encodeUtf8(str);
// hex为十六进制字符串
let hex = HexUtils.byteArrayToHex(byteArray);
ASCII转字符串
let hex = "4765745f4944e58da0e4b889"
let decodeStr = ASCIIUtils.decodeUtf8(hex);
import * as IntUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-IntUtils.js';
高低位转整型
// 低位
let low = 226;
// 高位
let high = 102;
// 26338
let value = IntUtils.highLowToInt({
low: low,
high: high
})
整型转高低位
// 整型
let value = 26338;
// 26338
let obj = IntUtils.intToHighLow(value)
// 低位
let low = obj.low;
// 高位
let high = obj.high;
大端序-字节数组转整型
var byteArray = [0x01, 0x02, 0x03, 0x04]
var intValue = IntUtils.bigEndianToInt(byteArray)
大端序 int转字节数组
var intValue = 2461;
var byteArray = IntUtils.bigEndianToByteArray(intValue)
小端序-字节数组转整型
var byteArray = [0x01, 0x02, 0x03, 0x04]
var intValue = IntUtils.littleEndianToInt(byteArray)
小端序-整型转字节数组
var intValue = 2461;
var byteArray = IntUtils.littleEndianToByteArray(intValue)
十进制转二进制
var intValue = 20;
var bitStr = IntUtils.intToBit(intValue);
二进制转十进制
var bit = "00001001";
var intValue = IntUtils.bitToInt(bit);