@iot9x.com/ipc-utils
Version:
九星云、九星小程序、九星配置工具所共用的库方法
371 lines (370 loc) • 15.3 kB
TypeScript
import { AD02_AIType, AD02_AIUploadType } from './constant';
import { AD02_AICalculate, AD02_AIUpload, AD02_AOOutput, AD02_ModbusConfig, AD02_UartConfig } from './interface';
/** 输入通道类型,0——AI1;1——AI2 */
type InputChannel = 0 | 1;
/** 输出通道类型,0——AO1;1——AO2 */
type OutputChannel = 0 | 1;
/** JX-AD02 BLE蓝牙协议 */
export declare class AD02_BLE {
/**
* 读取硬件版本指令
* @returns 可直接下发的蓝牙通信指令
*/
static readHardwareVersionCMD(): Uint8Array;
/**
* 解析硬件版本
* @param data 读取硬件版本蓝牙返回数据帧
* @returns 硬件版本(ASCII字符串)
*/
static resolveHardwareVersion(data: Uint8Array): string;
/**
* 读取软件版本指令
* @returns 可直接下发的蓝牙通信指令
*/
static readSoftwareVersionCMD(): Uint8Array;
/**
* 解析软件版本
* @param data 读取硬件版本蓝牙返回数据帧
* @returns 软件版本(ASCII字符串)
*/
static resolveSoftwareVersion(data: Uint8Array): string;
/**
* 读取协议版本指令
* @returns 可直接下发的蓝牙通信指令
*/
static readProtocolVersionCMD(): Uint8Array;
/**
* 解析协议版本
* @param data 读取协议版本蓝牙返回数据帧
* @returns 协议版本(ASCII字符串)
*/
static resolveProtocolVersion(data: Uint8Array): string;
/**
* 获取密码校验指令
* @param password 密码(ASCII字符)
* @returns 可直接下发的蓝牙通信指令
*/
static passwordCheckCMD(password: string): Uint8Array;
/**
* 密码验证蓝牙返回内容解析
* @param data 密码验证蓝牙返回数据帧
* @returns 密码验证结果
*/
static resolvePasswordCheck(data: Uint8Array): boolean;
/**
* 获取设置密码指令
* @param password 密码(ASCII字符)
* @returns 可直接下发的蓝牙通信指令
*/
static setPasswordCMD(password: string): Uint8Array;
/**
* 设置密码蓝牙返回内容解析
* @param data 设置密码蓝牙返回数据帧
* @returns 密码设置结果
*/
static resolveSetPassword(data: Uint8Array): boolean;
/**
* 获取模拟量输入(AI)类型(量程)指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @returns 可直接下发的蓝牙通信指令
*/
static readAITypeCMD(channel: InputChannel): Uint8Array;
/**
* 获取模拟量输入(AI)类型(量程)蓝牙返回内容解析
* @param data 读取AI类型(量程)蓝牙返回数据帧
* @returns AI量程类型,0——电压(0-10V);1——电流(0-24mA)
*/
static resolveAIType(data: Uint8Array): AD02_AIType;
/**
* 获取写入AI量程/类型指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param type AI量程类型,0——电压(0-10V);1——电流(0-24mA)
* @returns 可直接下发的蓝牙通信指令
*/
static writeAITypeCMD(channel: InputChannel, type: AD02_AIType): Uint8Array;
/**
* 设置AI量程返回内容解析
* @param data 设置AI量程蓝牙返回数据帧
* @param channel AI通道。0——AI1;1——AI2
* @returns 写入结果
*/
static resolveWriteAITypeRes(data: Uint8Array, channel: InputChannel): boolean;
/**
* 获取模拟量输入测量值指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @returns 可直接下发的蓝牙通信指令
*/
static readAICMD(channel: InputChannel): Uint8Array;
/**
* 获取模拟量输入测量值蓝牙返回内容解析
* @param data 读取AI测量值蓝牙返回数据帧
* @returns AI测量值,电压0~10000,电流0~24000
*/
static resolveAI(data: Uint8Array): number;
/**
* 获取模拟量输入运算后的值指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @returns 可直接下发的蓝牙通信指令
*/
static readUserAICMD(channel: InputChannel): Uint8Array;
/**
* 获取模拟量输入运算值蓝牙返回内容解析
* @param data 读取AI运算值蓝牙返回数据帧
* @returns AI运算值,浮点数
*/
static resolveUserAI(data: Uint8Array): number;
/**
* 获取模拟量输入(AI)用户自定义运算指令
* @description 由于双层四则运算的运算符和运算值在寄存器排列上连续,所以这里一次读取。
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @returns 可直接下发的蓝牙通信指令
*/
static readAICalculate(channel: InputChannel): Uint8Array;
/**
* 获取模拟量输入(AI)用户自定义运算返回内容解析
* @param data 读取模拟量输入运算蓝牙返回数据帧
* @returns 模拟量双层四则运算内容
*/
static resolveAICalculate(data: Uint8Array): AD02_AICalculate;
/**
* 获取写入用户自定义运算公式配置指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param formula 运算公式内容
* @returns 可直接下发的蓝牙通信指令
*/
static writeAICalculateCMD(channel: InputChannel, formula: AD02_AICalculate): Uint8Array;
/**
* 设置AI运算公式返回内容解析
* @param data 设置AI运算公式蓝牙返回数据帧
* @param channel AI通道。0——AI1;1——AI2
* @returns 写入结果
*/
static resolveWriteAICalculateRes(data: Uint8Array, channel: InputChannel): boolean;
/**
* 获取AI校准配置指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param type 通道类型,2——电压;3——电流
* @returns 可直接下发的蓝牙通信指令
*/
static readAICalibrateCMD(channel: InputChannel, type: 2 | 3): Uint8Array;
/**
* 获取AI校准配置返回内容解析
* @param data 读取AI校准配置蓝牙返回数据帧
* @returns 4个校准点数据的元组类型
*/
static resolveAICalibrate(data: Uint8Array): [number, number, number, number];
/**
* 设置AI校准指令
* @deprecated 请使用下面的V2版方法
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param type 通道类型,2——电压;3——电流
* @param valueList 校准值列表
* @returns 可直接下发的蓝牙通信指令
*/
static calibrateAICMD(channel: InputChannel, type: 2 | 3, valueList: [number, number, number, number]): Uint8Array;
/**
* AI校准返回内容解析
* @deprecated 请使用下面的V2版方法
* @param data AI校准蓝牙返回数据帧
* @param channel AI通道。0——AI1;1——AI2
* @param type 通道类型,2——电压;3——电流
* @returns 校准结果
*/
static resolveCalibrateAIRes(data: Uint8Array, channel: InputChannel, type: 2 | 3): boolean;
/**
* 设置AI校准指令—V2版
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param type 通道类型,2——电压;3——电流
* @param point 校准点
* @param value 校准值
* @returns 可直接下发的蓝牙通信指令
*/
static calibrateAICMD_V2(channel: InputChannel, type: 2 | 3, point: 1 | 2 | 3 | 4, value: number): Uint8Array;
/**
* AI校准返回内容解析—V2版
* @param data 下发AI校准指令蓝牙返回数据帧
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param type 通道类型,2——电压;3——电流
* @param point 校准点
* @param value 校准值
* @returns AI校准结果
*/
static resolveCalibrateAIRes_V2(data: Uint8Array, channel: InputChannel, type: 2 | 3, point: 1 | 2 | 3 | 4, value: number): boolean;
/**
* 读取AI自动上报配置指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @returns 可直接下发的蓝牙通信指令
*/
static readAIUploadCMD(channel: InputChannel): Uint8Array;
/**
* 获取AI上报配置返回内容解析
* @param data 获取AI上报配置蓝牙返回数据帧
* @returns AI上报配置
*/
static resolveAIUpload(data: Uint8Array): AD02_AIUpload;
/**
* 获取设置AI上报配置指令
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @param typeList 上报类型列表
* @param minChangeValue 变化最小值,UInt16格式
* @param timerValue 定时时间,单位:秒,UInt16格式
* @param minZoneValue 区间下限值,Int16格式
* @param maxZoneValue 区间上限值,Int16格式
* @returns 可直接下发的蓝牙通信指令
*/
static setAIUploadCMD(channel: InputChannel, typeList: AD02_AIUploadType[], minChangeValue: number, timerValue: number, minZoneValue: number, maxZoneValue: number): Uint8Array;
/**
* 配置AI上报返回内容解析
* @param data 配置AI上报蓝牙返回数据帧
* @param channel 模拟量输入通道。0——AI1;1——AI2
* @returns 上报配置设置结果
*/
static resolveAIUploadRes(data: Uint8Array, channel: InputChannel): boolean;
/**
* 获取模拟量输出(AO)的值指令
* @description 由于两个AO输出的值寄存器排列连续,所以这里**一次读取两个值**。
* @returns 可直接下发的蓝牙通信指令
*/
static readAOCMD(): Uint8Array;
/**
* 获取模拟量输出(AO)的值返回内容解析
* @param data 读取AO数据蓝牙返回数据帧
* @returns AO值,元组格式,单位为毫伏
*/
static resolveAO(data: Uint8Array): [number, number];
/**
* 获取控制模拟量输出(AO)的指令
* @description 由于两个AO输出的值寄存器排列连续,所以这里**一次写入两个值**。
* @param ao1 AO1的控制值,单位:**毫伏**,合法范围为:`0-10000`
* @param ao2 AO2的控制值,单位:**毫伏**,合法范围为:`0-10000`
* @returns 可直接下发的蓝牙通信指令
*/
static writeAOCMD(ao1: number, ao2: number): Uint8Array;
/**
* 写入控制AO值返回内容解析
* @param data 写入控制AO值蓝牙返回数据帧
* @returns 写入控制结果
*/
static resolveWriteAORes(data: Uint8Array): boolean;
/**
* 读取AO上电初始值指令
* @param channel 模拟量输出通道。0——AO1;1——AO2
* @returns 可直接下发的蓝牙通信指令
*/
static readAOInitCMD(channel: OutputChannel): Uint8Array;
/**
* 读取AO上电初始值返回内容解析
* @param data 读取AO上电初始值蓝牙返回数据帧
* @returns AO上电初始值,单位:毫伏,UInt16格式
*/
static resolveAOInit(data: Uint8Array): number;
/**
* 获取设置AO上电初始值指令
* @param channel AO通道。0——AO1;1——AO2
* @param initValue 上电初始值,单位:毫伏,范围:0-10000
* @returns 可直接下发的蓝牙通信指令
*/
static writeAOInitCMD(channel: OutputChannel, initValue: number): Uint8Array;
/**
* 设置AO上电初始值返回内容解析
* @param data 写入AO上电初始值值蓝牙返回数据帧
* @param channel AO通道。0——AO1;1——AO2
* @returns 写入控制结果
*/
static resolveWriteAOInitRes(data: Uint8Array, channel: OutputChannel): boolean;
/**
* 读取AO周期输出配置指令
* @param channel 模拟量输出通道。0——AO1;1——AO2
* @returns 可直接下发的蓝牙通信指令
*/
static readAOOutputCMD(channel: OutputChannel): Uint8Array;
/**
* 获取AO周期输出配置返回内容解析
* @param data 读取AO周期输出配置蓝牙返回数据帧
* @returns AO周期输出配置
*/
static resolveAOOutput(data: Uint8Array): AD02_AOOutput;
/**
* 生成AO周期输出配置下发指令
* @param channel 模拟量输出通道。0——AO1;1——AO2
* @param output AO周期输出配置
* @returns 可直接下发的蓝牙通信指令
*/
static writeAOOutputCMD(channel: OutputChannel, output: AD02_AOOutput): Uint8Array;
/**
* 设置AO周期输出配置返回内容解析
* @param data 写入AO周期输出配置蓝牙返回数据帧
* @param channel AO通道。0——AO1;1——AO2
* @returns 写入控制结果
*/
static resolveWriteAOOutputRes(data: Uint8Array, channel: OutputChannel): boolean;
/**
* 读取串口参数配置指令
* @returns 可直接下发的蓝牙通信指令
*/
static readUartConfigCMD(): Uint8Array;
/**
* 获取串口参数配置返回内容解析
* @param data 读取串口参数蓝牙返回数据帧
* @returns 串口参数配置
*/
static resolveUartConfig(data: Uint8Array): AD02_UartConfig;
/**
* 生成串口参数配置下发指令
* @param config 串口参数配置
* @returns 可直接下发的蓝牙通信指令
*/
static writeUartConfigCMD(config: AD02_UartConfig): Uint8Array;
/**
* 配置串口参数返回内容解析
* @param data 配置串口参数蓝牙返回数据帧
* @returns 串口参数配置结果
*/
static resolveWriteUartConfigRes(data: Uint8Array): boolean;
/**
* 读取Modbus配置指令
* @returns 可直接下发的蓝牙通信指令
*/
static readModbusConfigCMD(): Uint8Array;
/**
* 获取Modbus参数配置返回内容解析
* @param data 读取Modbus参数蓝牙返回数据帧
* @returns Modbus参数配置
*/
static resolveModbusConfig(data: Uint8Array): AD02_ModbusConfig;
/**
* 生成Modbus参数配置下发指令
* @param config Modbus参数
* @returns 可直接下发的蓝牙通信指令
*/
static writeModbusConfigCMD(config: AD02_ModbusConfig): Uint8Array;
/**
* 配置Modbus参数返回内容解析
* @param data 配置Modbus参数蓝牙返回数据帧
* @returns Modbus参数配置结果
*/
static resolveWriteModbusConfigRes(data: Uint8Array): boolean;
/**
* 获取重启指令
* @returns 可直接下发的蓝牙通信指令
*/
static rebootCMD(): Uint8Array;
/**
* 下发重启指令返回内容解析
* @param data 下发重启指令蓝牙返回数据帧
* @returns 重启结果
*/
static resolveRebootRes(data: Uint8Array): boolean;
/**
* 获取恢复出厂设置并重启指令
* @returns 可直接下发的蓝牙通信指令
*/
static recoveryCMD(): Uint8Array;
/**
* 下发恢复出厂设置指令返回内容解析
* @param data 下发恢复出厂设置指令蓝牙返回数据帧
* @returns 恢复出厂设置结果
*/
static resolveRecoveryRes(data: Uint8Array): boolean;
}
export {};