UNPKG

@iot9x.com/ipc-utils

Version:

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

90 lines (89 loc) 3.04 kB
import { F32Encode, F64Encode, I16Encode, I32Encode, I64Encode } from './constant'; /** 编解码参数 */ interface EncodeOptions { /** 16位整型编码(有符号+无符号) */ i16?: I16Encode; /** 32位整型编码(有符号+无符号) */ i32?: I32Encode; /** 32位浮点型编码(FLOAT) */ f32?: F32Encode; /** 64位整型编码(有符号+无符号) */ i64?: I64Encode; /** 64位浮点型编码(Double) */ f64?: F64Encode; } /** 初始化参数 */ interface Options extends EncodeOptions { /** 从机地址,可填写`0-255`,标准规定合法的地址是`0–247` */ slaveId: number; /** * 取消结尾的回车换行符(\r\n) */ disableLinefeed?: boolean; } /** 生成指令额外参数 */ interface GetCMDOptions extends StaticGetCMDOptions { /** 从机地址,可填写`0-255`,标准规定合法的地址是`0–247` */ slaveId?: number; } /** 使用静态方法生成指令额外参数 */ interface StaticGetCMDOptions { /** * 指令字符是否小写 * @description 传入`true`,返回示例:`:010300000001fb\r\n`; * @description 传入`false`或不传,返回示例:`:010300000001FB\r\n` * @default false */ lowerCase?: boolean; /** * 取消结尾的回车换行符(\r\n) */ disableLinefeed?: boolean; } export declare class ModbusASCII { /** 从机地址 */ private slaveId; /** 取消结尾的回车换行符(\r\n) */ private disableLinefeed; /** 16位整型编码(有符号+无符号) */ private i16Encode; /** 32位整型编码(有符号+无符号) */ private i32Encode; /** 32位浮点型编码(FLOAT) */ private f32Encode; /** 64位整型编码(有符号+无符号) */ private i64Encode; /** 64位浮点型编码(Double) */ private f64Encode; /** * 实例化ModbusRTU类 * @param params 初始化参数 */ constructor(params: Options); /** * 读线圈寄存器——01功能码 * @param startAddress 起始地址 * @param count 线圈数量 * @param options 生成指令额外参数 * @returns 读取命令——十六进制字符串 */ readCoilCMD(startAddress: number, count: number, options?: GetCMDOptions): string; /** * 读线圈寄存器——01功能码 * @param slaveId 从机地址 * @param startAddress 起始地址 * @param count 线圈数量 * @param options 生成指令额外参数 * @returns 读取命令——十六进制字符串 */ static readCoilCMD(slaveId: number, startAddress: number, count: number, options?: StaticGetCMDOptions): string; /** * Modbus ASCII 读取指令包裹 * @description 将 `Modbus PDU` 数据打包成 `Modbus ASCII` 数据 * @param pduHex Modbus PDU数据(十六进制字符串格式) * @param options 生成指令额外操作 * @returns Modbus ASCII指令 */ private readCMDWrap; } export {};