UNPKG

modbus-connect

Version:

Modbus RTU over Web Serial and Node.js SerialPort

88 lines (83 loc) 2.57 kB
// src/constants/constants.ts export enum ModbusFunctionCode { READ_COILS = 0x01, READ_DISCRETE_INPUTS = 0x02, READ_HOLDING_REGISTERS = 0x03, READ_INPUT_REGISTERS = 0x04, WRITE_SINGLE_COIL = 0x05, WRITE_SINGLE_REGISTER = 0x06, WRITE_MULTIPLE_COILS = 0x0f, WRITE_MULTIPLE_REGISTERS = 0x10, REPORT_SLAVE_ID = 0x11, READ_DEVICE_COMMENT = 0x14, WRITE_DEVICE_COMMENT = 0x15, READ_DEVICE_IDENTIFICATION = 0x2b, READ_FILE_LENGTH = 0x52, READ_FILE_CHUNK = 0x5a, OPEN_FILE = 0x55, CLOSE_FILE = 0x57, RESTART_CONTROLLER = 0x5c, GET_CONTROLLER_TIME = 0x6e, SET_CONTROLLER_TIME = 0x6f, } export enum ModbusExceptionCode { ILLEGAL_FUNCTION = 1, ILLEGAL_DATA_ADDRESS = 2, ILLEGAL_DATA_VALUE = 3, SLAVE_DEVICE_FAILURE = 4, ACKNOWLEDGE = 5, SLAVE_DEVICE_BUSY = 6, MEMORY_PARITY_ERROR = 8, GATEWAY_PATH_UNAVAILABLE = 10, GATEWAY_TARGET_DEVICE_FAILED = 11, } export const MODBUS_EXCEPTION_MESSAGES: Record<ModbusExceptionCode, string> = { [ModbusExceptionCode.ILLEGAL_FUNCTION]: 'Illegal Function', [ModbusExceptionCode.ILLEGAL_DATA_ADDRESS]: 'Illegal Data Address', [ModbusExceptionCode.ILLEGAL_DATA_VALUE]: 'Illegal Data Value', [ModbusExceptionCode.SLAVE_DEVICE_FAILURE]: 'Slave Device Failure', [ModbusExceptionCode.ACKNOWLEDGE]: 'Acknowledge', [ModbusExceptionCode.SLAVE_DEVICE_BUSY]: 'Slave Device Busy', [ModbusExceptionCode.MEMORY_PARITY_ERROR]: 'Memory Parity Error', [ModbusExceptionCode.GATEWAY_PATH_UNAVAILABLE]: 'Gateway Path Unavailable', [ModbusExceptionCode.GATEWAY_TARGET_DEVICE_FAILED]: 'Gateway Target Device Failed to Respond', }; export enum RegisterType { UINT16 = 'uint16', INT16 = 'int16', UINT32 = 'uint32', INT32 = 'int32', FLOAT = 'float', UINT32_LE = 'uint32_le', INT32_LE = 'int32_le', FLOAT_LE = 'float_le', UINT32_SW = 'uint32_sw', INT32_SW = 'int32_sw', FLOAT_SW = 'float_sw', UINT32_SB = 'uint32_sb', INT32_SB = 'int32_sb', FLOAT_SB = 'float_sb', UINT32_SBW = 'uint32_sbw', INT32_SBW = 'int32_sbw', FLOAT_SBW = 'float_sbw', UINT32_LE_SW = 'uint32_le_sw', INT32_LE_SW = 'int32_le_sw', FLOAT_LE_SW = 'float_le_sw', UINT32_LE_SB = 'uint32_le_sb', INT32_LE_SB = 'int32_le_sb', FLOAT_LE_SB = 'float_le_sb', UINT32_LE_SBW = 'uint32_le_sbw', INT32_LE_SBW = 'int32_le_sbw', FLOAT_LE_SBW = 'float_le_sbw', UINT64 = 'uint64', INT64 = 'int64', DOUBLE = 'double', UINT64_LE = 'uint64_le', INT64_LE = 'int64_le', DOUBLE_LE = 'double_le', HEX = 'hex', STRING = 'string', BOOL = 'bool', BINARY = 'binary', BCD = 'bcd', }