UNPKG

@iot9x.com/ipc-utils

Version:

九星云、九星小程序、九星配置工具所共用的库方法

73 lines (72 loc) 3.3 kB
import { CRCOrder, F32Encode, F64Encode, I16Encode, I32Encode, I64Encode, ModbusDataType } from './constant'; export declare class Util { /** * 获取CRC校验结果 * @param cmdHex 十六进制命令 * @param crcOrder CRC顺序 * @returns CRC校验结果 */ static getCRC(cmdHex: string, crcOrder: CRCOrder): string; /** * 生成LRC校验码 * @param hexStr 校验运算的十六进制字符串 * @returns LRC校验码 */ static getLRC(hexStr: string): string; /** * 十六进制字符串分隔符处理 * @param hexStr 十六进制字符串 * @param separator 分隔符 * @param oldSeparator 原始(旧)分隔符 * @returns 处理结果 */ static hexSeparator(hexStr: string, separator: string, oldSeparator?: string): string; /** * 根据数据类型获取寄存器数量 * @param dataType 数据类型 * @returns 寄存器数量 */ static getRegisterCountByDataType(dataType: ModbusDataType): number; /** * 根据数据类型解析数据值 * @description 仅限保持寄存器和输入寄存器值解析使用 * @param hexStr 十六进制字符串值 * @param dataType 数据类型 * @param i16Encode 16位整型编码(有符号+无符号) * @param i32Encode 32位整型编码(有符号+无符号) * @param f32Encode 32位浮点型编码(FLOAT) * @param i64Encode 64位整型编码(有符号+无符号) * @param f64Encode 64位浮点型编码(Double) * @returns 解析值 */ static getValueByDataType(hexStr: string, dataType: ModbusDataType, i16Encode?: I16Encode, i32Encode?: I32Encode, f32Encode?: F32Encode, i64Encode?: I64Encode, f64Encode?: F64Encode): number | string; /** * 将数值编码成十六进制字符串 * @description 注意返回的字符串是**小写格式**!!! * @param data 数据值 * @param dataType 数据类型 * @param i16Encode 16位整型编码(有符号+无符号) * @param i32Encode 32位整型编码(有符号+无符号) * @param f32Encode 32位浮点型编码(FLOAT) * @param i64Encode 64位整型编码(有符号+无符号) * @param f64Encode 64位浮点型编码(Double) * @returns 十六进制字符串,**小写格式**!!! */ static dataEncode(data: number | string, dataType: ModbusDataType, i16Encode?: I16Encode, i32Encode?: I32Encode, f32Encode?: F32Encode, i64Encode?: I64Encode, f64Encode?: F64Encode): string; /** * Modbus PDU数据转成Modbus ASCII数据 * @param pduHex Modbus PDU数据(十六进制字符串格式) * @param slaveId 从机地址 * @param disableLinefeed 取消结尾的回车换行符(\r\n) * @returns Modbus ASCII格式数据 */ static pdu2ascii(pduHex: string, slaveId: number, disableLinefeed?: boolean): string; /** * 检查返回错误码和错误信息 * @param functionalCode 操作功能码 * @param resCodeHex 返回功能码 * @param errorCodeHex 错误码 * @returns 错误信息 */ static checkResCode(functionalCode: '01' | '02' | '03' | '04' | '10' | '06', resCodeHex: string, errorCodeHex: string): string | undefined; }