n8n-nodes-modbus-fccomplete
Version:
n8n nodes for industrial automation with complete Modbus support (FC1-FC4) and intuitive data conversion with scaling options
53 lines (52 loc) • 1.55 kB
TypeScript
export interface ConversionRule {
name: string;
startRegister: number;
dataType: 'int16' | 'uint16' | 'int32' | 'uint32' | 'float32' | 'scaled' | 'bitfield' | 'bcd';
byteOrder: 'big_endian' | 'little_endian';
wordSwap?: boolean;
scaleFactor?: number;
offset?: number;
decimalPlaces?: number;
bitMask?: number;
bitPosition?: number;
bitLength?: number;
validation?: {
enabled: boolean;
min?: number;
max?: number;
allowNaN?: boolean;
};
unitConversion?: {
from: string;
to: string;
};
}
export interface ConversionResult {
name: string;
value: any;
originalValue?: any;
dataType: string;
valid: boolean;
error?: string;
metadata?: {
scaleFactor?: number;
offset?: number;
byteOrder: string;
unitConversion?: string;
};
}
export declare class DataConversionUtils {
static convertData(registers: number[], rule: ConversionRule): ConversionResult;
private static getRequiredRegisters;
private static convertInt16;
private static convertUint16;
private static convertInt32;
private static convertUint32;
private static convertFloat32;
private static convertScaled;
private static convertBitfield;
private static convertBCD;
private static applyUnitConversion;
private static validateValue;
static convertMultiple(registers: number[], rules: ConversionRule[]): ConversionResult[];
}