@flux-control/effect-modbus-rs
    Preparing search index...

    Interface ModbusOperations

    The Modbus function-code surface, before any resilience is layered on.

    Each method delegates to the equivalent method on the underlying native or WASM client, converting the Promise-based API into an Effect.Effect with typed ModbusError failures.

    Thrown errors are classified using toModbusError, mapping modbus-rs error codes (timeout, transport, exception, etc.) into the corresponding Data.TaggedError variant for use with Effect.catchTags.

    • AsyncSerialModbusClient — Upstream modbus-rs serial client API.
    • AsyncTcpModbusClient — Upstream modbus-rs TCP client API.
    interface ModbusOperations {
        diagnostics(
            opts: DiagnosticsOptions,
        ): Effect<DiagnosticsResponse, ModbusError>;
        readCoils(opts: ReadBitsOptions): Effect<CoilState[], ModbusError>;
        readDeviceIdentification(
            opts: ReadDeviceIdentificationOptions,
        ): Effect<DeviceIdentificationResponse, ModbusError>;
        readDiscreteInputs(opts: ReadBitsOptions): Effect<CoilState[], ModbusError>;
        readExceptionStatus(): Effect<number, ModbusError>;
        readFifoQueue(
            opts: ReadFifoQueueOptions,
        ): Effect<FifoQueueResponse, ModbusError>;
        readFileRecord(
            opts: ReadFileRecordOptions,
        ): Effect<Uint16Array<ArrayBufferLike>[], ModbusError>;
        readHoldingRegisters(
            opts: ReadRegistersOptions,
        ): Effect<Uint16Array<ArrayBufferLike>, ModbusError>;
        readInputRegisters(
            opts: ReadRegistersOptions,
        ): Effect<Uint16Array<ArrayBufferLike>, ModbusError>;
        readWriteMultipleRegisters(
            opts: ReadWriteMultipleRegistersOptions,
        ): Effect<Uint16Array<ArrayBufferLike>, ModbusError>;
        writeFileRecord(opts: WriteFileRecordOptions): Effect<void, ModbusError>;
        writeMultipleCoils(
            opts: WriteMultipleCoilsOptions,
        ): Effect<void, ModbusError>;
        writeMultipleRegisters(
            opts: WriteMultipleRegistersOptions,
        ): Effect<void, ModbusError>;
        writeSingleCoil(opts: WriteSingleCoilOptions): Effect<void, ModbusError>;
        writeSingleRegister(
            opts: WriteSingleRegisterOptions,
        ): Effect<void, ModbusError>;
    }

    Hierarchy (View Summary)

    Index
    • Sends a diagnostics request to the Modbus device (FC08).

      Parameters

      • opts: DiagnosticsOptions

        Diagnostic sub-function code and data words.

      Returns Effect<DiagnosticsResponse, ModbusError>

      An Effect resolving to a DiagnosticsResponse containing the echo sub-function and data.

      • DiagnosticsOptions — Options shape from modbus-rs.
      • DiagnosticsResponse — Response type from modbus-rs.
    • Reads coils (digital outputs) from the Modbus device (FC01).

      Parameters

      • opts: ReadBitsOptions

        Starting address, quantity, and optional AbortSignal.

      Returns Effect<CoilState[], ModbusError>

      An Effect resolving to an array of boolean coil states.

      ReadBitsOptions — Options shape from modbus-rs.

    • Reads device identification from the Modbus device (FC43 / MEI type 14).

      Parameters

      • opts: ReadDeviceIdentificationOptions

        Read device ID code, starting object ID, and optional AbortSignal.

      Returns Effect<DeviceIdentificationResponse, ModbusError>

      An Effect resolving to a DeviceIdentificationResponse with conformity level and objects.

      • ReadDeviceIdentificationOptions — Options shape from modbus-rs.
      • DeviceIdentificationResponse — Response type from modbus-rs.
    • Reads discrete inputs (digital inputs) from the Modbus device (FC02).

      Parameters

      • opts: ReadBitsOptions

        Starting address, quantity, and optional AbortSignal.

      Returns Effect<CoilState[], ModbusError>

      An Effect resolving to an array of boolean input states.

      ReadBitsOptions — Options shape from modbus-rs.

    • Reads the Modbus exception status (FC07).

      Returns the contents of eight exception-status coils as a single byte.

      Returns Effect<number, ModbusError>

      An Effect resolving to the exception status byte value.

    • Reads the FIFO queue from the Modbus device (FC24).

      Parameters

      • opts: ReadFifoQueueOptions

        FIFO pointer address and optional AbortSignal.

      Returns Effect<FifoQueueResponse, ModbusError>

      An Effect resolving to a FifoQueueResponse containing the queue values.

      • ReadFifoQueueOptions — Options shape from modbus-rs.
      • FifoQueueResponse — Response type from modbus-rs.
    • Reads file records from the Modbus device (FC20).

      Parameters

      • opts: ReadFileRecordOptions

        Array of file/sub-record read requests and optional AbortSignal.

      Returns Effect<Uint16Array<ArrayBufferLike>[], ModbusError>

      An Effect resolving to an array of record data arrays.

      ReadFileRecordOptions — Options shape from modbus-rs.

    • Reads holding registers from the Modbus device (FC03).

      Parameters

      • opts: ReadRegistersOptions

        Register address, quantity, and optional AbortSignal.

      Returns Effect<Uint16Array<ArrayBufferLike>, ModbusError>

      An Effect resolving to an array of 16-bit register values.

      • ReadRegistersOptions — Options shape from modbus-rs.
      • AsyncSerialModbusClient.readHoldingRegisters — Upstream implementation.
    • Reads input registers from the Modbus device (FC04).

      Parameters

      • opts: ReadRegistersOptions

        Register address, quantity, and optional AbortSignal.

      Returns Effect<Uint16Array<ArrayBufferLike>, ModbusError>

      An Effect resolving to an array of 16-bit input register values.

      • ReadRegistersOptions — Options shape from modbus-rs.
      • AsyncSerialModbusClient.readInputRegisters — Upstream implementation.
    • Atomic read-write of multiple registers (FC23).

      Performs a write operation and a read operation atomically within a single Modbus transaction.

      Parameters

      • opts: ReadWriteMultipleRegistersOptions

        Separate read and write addresses/quantities/values.

      Returns Effect<Uint16Array<ArrayBufferLike>, ModbusError>

      An Effect resolving to the read register values.

      ReadWriteMultipleRegistersOptions — Options shape from modbus-rs.

    • Writes file records to the Modbus device (FC21).

      Parameters

      • opts: WriteFileRecordOptions

        Array of file/sub-record write requests and optional AbortSignal.

      Returns Effect<void, ModbusError>

      An Effect that completes when the write is acknowledged.

      WriteFileRecordOptions — Options shape from modbus-rs.

    • Writes multiple consecutive coils (FC15).

      Parameters

      • opts: WriteMultipleCoilsOptions

        Starting address, array of boolean values, and optional AbortSignal.

      Returns Effect<void, ModbusError>

      An Effect that completes when the write is acknowledged.

      WriteMultipleCoilsOptions — Options shape from modbus-rs.

    • Writes multiple consecutive holding registers (FC16).

      Parameters

      • opts: WriteMultipleRegistersOptions

        Starting address, array of values, and optional AbortSignal.

      Returns Effect<void, ModbusError>

      An Effect that completes when the write is acknowledged.

      WriteMultipleRegistersOptions — Options shape from modbus-rs.

    • Writes a single coil (digital output) (FC05).

      Parameters

      • opts: WriteSingleCoilOptions

        Coil address, boolean value, and optional AbortSignal.

      Returns Effect<void, ModbusError>

      An Effect that completes when the write is acknowledged.

      WriteSingleCoilOptions — Options shape from modbus-rs.

    • Writes a single holding register (FC06).

      Parameters

      • opts: WriteSingleRegisterOptions

        Register address, value, and optional AbortSignal.

      Returns Effect<void, ModbusError>

      An Effect that completes when the write is acknowledged.

      WriteSingleRegisterOptions — Options shape from modbus-rs.