@iot9x.com/ipc-utils
Version:
九星云、九星小程序、九星配置工具所共用的库方法
73 lines (72 loc) • 3.3 kB
TypeScript
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;
}