ACH550-UH User’s Manual 1-239Embedded fieldbusModbus protocol technical dataOverviewThe Modbus® protocol was introduced by Modicon, Inc. for use in controlenvironments featuring Modicon programmable controllers. Due to its ease of useand implementation, this common PLC language was quickly adopted as a de-factostandard for integration of a wide variety of master controllers and slave devices.Modbus is a serial, asynchronous protocol. Transactions are half-duplex, featuring asingle Master controlling one or more Slaves. While RS232 can be used for point-to-point communication between a single Master and a single Slave, a more commonimplementation features a multi-drop RS485 network with a single Master controllingmultiple Slaves. The ACH550 features RS485 for its Modbus physical interface.RTUThe Modbus specification defines two distinct transmission modes: ASCII and RTU.The ACH550 supports RTU only.Feature summaryThe following Modbus function codes are supported by the ACH550.Function Code (Hex) DescriptionRead Coil Status 0x01 Read discrete output status. For the ACH550, the individual bitsof the control word are mapped to Coils 1…16. Relay outputs aremapped sequentially beginning with Coil 33 (e.g. RO1=Coil 33).Read Discrete InputStatus0x02 Read discrete inputs status. For the ACH550, the individual bitsof the status word are mapped to Inputs 1…16 or 1…32,depending on the active profile. Terminal inputs are mappedsequentially beginning with Input 33 (e.g. DI1=Input 33).Read MultipleHolding Registers0x03 Read multiple holding registers. For the ACH550, the entireparameter set is mapped as holding registers, as well ascommand, status and reference values.Read Multiple InputRegisters0x04 Read multiple input registers. For the ACH550, the 2 analog inputchannels are mapped as input registers 1 & 2.Force Single Coil 0x05 Write a single discrete output. For the ACH550, the individual bitsof the control word are mapped to Coils 1…16. Relay outputs aremapped sequentially beginning with Coil 33 (e.g. RO1=Coil 33).Write SingleHolding Register0x06 Write single holding register. For the ACH550, the entireparameter set is mapped as holding registers, as well ascommand, status and reference values.Diagnostics 0x08 Perform Modbus diagnostics. Subcodes for Query (0x00),Restart (0x01) & Listen Only (0x04) are supported.Force Multiple Coils 0x0F Write multiple discrete outputs. For the ACH550, the individualbits of the control word are mapped to Coils 1…16. Relay outputsare mapped sequentially beginning with Coil 33 (e.g. RO1=Coil33).Write MultipleHolding Registers0x10 Write multiple holding registers. For the ACH550, the entireparameter set is mapped as holding registers, as well ascommand, status and reference values.Read/Write MultipleHolding Registers0x17 This function combines functions 0x03 and 0x10 into a singlecommand.