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

    Interface EffectModbusClient

    A Modbus client with the transport's resilience already applied.

    Obtained from transport.withClient(unitId). Every operation is guarded by the transport's circuit breaker, reports connection failures to the transport's reconnect supervisor, and carries whatever retry policy the transport or the withClient call attached.

    interface EffectModbusClient {
        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>;
        withRetry(policy: ModbusRetryPolicy): EffectModbusClient;
        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 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.

    • Returns an equivalent client whose operations use policy instead of the one this client carries.

      Replaces rather than composes, so an override cannot accidentally multiply attempt counts. RetryPolicies.none() opts a call site out entirely.

      yield* client.withRetry(RetryPolicies.none()).writeSingleCoil({ address: 0, value })
      

      Parameters

      Returns EffectModbusClient

    • 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.