node-modbustcp
Version:
A ModbusTcp driver based on modbus-serial
79 lines (73 loc) • 1.84 kB
text/typescript
import { EnumDataType, EnumRegisterType } from "./enum";
/** 连接信息接口 */
export interface ModbusTCPClientInterface {
/** 主机地址 */
host: string,
/** 端口号 */
port: number,
/** 设备ID */
deviceID: number,
/** 连接超时时间,单位:毫秒 */
timeout?: number,
/** length of one package */
packageLength?: number,
/** 最大重连时长,单位:小时,0为无限时长 */
maxReconnectTime?: number,
/** 尝试重连时间,单位:秒 */
tryReconnectTime?: number,
}
/** 配置用的寄存器 */
export interface Register {
/** 寄存器 */
register: string,
/** 数据类型 */
dataType: EnumDataType
}
/** 完整寄存器信息 */
export interface RegisterAll {
/** 寄存器 */
register: string,
/** 寄存器类型 */
registerType: EnumRegisterType,
/** 开始地址 */
startAddr: number,
/** 结束地址 */
endAddr: number,
/** 数据类型 */
dataType: EnumDataType,
/** 打包索引号 */
packageIndex: number,
/** Buffer 地址 */
bufferAddr: number[],
/** 值 */
value: boolean | number | string | null,
/** 时间戳 */
timestamp: Date,
/** 质量戳,GOOD 为好 */
quality: string
};
/** 包信息 */
export interface Package {
/** 线圈寄存器包 */
Coil: PackageItem[],
/** 离散输入寄存器包 */
DisInput: PackageItem[],
/** 输入寄存器包 */
Input: PackageItem[],
/** 保持寄存器包 */
Holding: PackageItem[],
}
/** 包的 item 信息 */
export interface PackageItem {
startAddr: number,
endAddr: number,
length: number,
datas: any,
timestamp: Date,
quality: string
}
/** 结果接口 */
export interface ResultInterface {
result: boolean,
info: any
}