Class FC3ReadRegistersTask

java.lang.Object
io.openems.edge.bridge.modbus.api.task.AbstractTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse>
io.openems.edge.bridge.modbus.api.task.AbstractReadTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse,ModbusRegisterElement,com.ghgande.j2mod.modbus.procimg.Register>
io.openems.edge.bridge.modbus.api.task.AbstractReadRegistersTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse>
io.openems.edge.bridge.modbus.api.task.FC3ReadRegistersTask
All Implemented Interfaces:
ReadTask, Task, ManagedTask

public class FC3ReadRegistersTask extends AbstractReadRegistersTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse>
Implements a Read Holding Register Task, implementing Modbus function code 3 (http://www.simplymodbus.ca/FC03.htm).
  • Constructor Details

    • FC3ReadRegistersTask

      public FC3ReadRegistersTask(int startAddress, Priority priority, ModbusElement... elements)
  • Method Details

    • createModbusRequest

      protected com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest createModbusRequest()
      Description copied from class: AbstractReadTask
      Factory for a ModbusRequest.
      Specified by:
      createModbusRequest in class AbstractReadTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse,ModbusRegisterElement,com.ghgande.j2mod.modbus.procimg.Register>
      Returns:
      a new ModbusRequest
    • parseResponse

      protected com.ghgande.j2mod.modbus.procimg.Register[] parseResponse(com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse response) throws OpenemsException
      Description copied from class: AbstractReadTask
      Parses a ModbusResponse to an array of values.
      Specified by:
      parseResponse in class AbstractReadTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse,ModbusRegisterElement,com.ghgande.j2mod.modbus.procimg.Register>
      Parameters:
      response - the ModbusResponse
      Returns:
      array of results
      Throws:
      OpenemsException - on error
    • payloadToString

      protected String payloadToString(com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse response)
      Description copied from class: AbstractTask
      Converts the actual payload of the RESPONSE to a human readable format suitable for logs; without header data (like Unit-ID, function code, checksum, etc).
      Specified by:
      payloadToString in class AbstractTask<com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersRequest,com.ghgande.j2mod.modbus.msg.ReadMultipleRegistersResponse>
      Parameters:
      response - the response
      Returns:
      a string