AutomationDirect Productivity2000 PLC
Register map(s) for this device, each at the trust rung it earned. Addresses are 0-based
as on the wire. Word order and scaling are confirmed at the hardware-verified rung and at no rung below it.
interop-verified
Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.
| point | address (0-based) | type | scale | unit |
| mst_0_1_2_1 | 3 | U16 | 1 | |
| mst_0_1_2_2 | 4 | U16 | 1 | |
| mst_0_1_2_3 | 5 | U16 | 1 | |
| mst_0_1_2_4 | 6 | U16 | 1 | |
| mst_0_1_2_5 | 7 | U16 | 1 | |
| mst_0_1_2_6 | 8 | U16 | 1 | |
| mst_0_1_2_7 | 9 | U16 | 1 | |
| mst_0_1_2_8 | 10 | U16 | 1 | |
| pac_in_run | 11 | U16 | 1 | |
| first_scan_bit | 12 | U16 | 1 | |
| always_off_bit | 13 | U16 | 1 | |
link settings as documented (unverified): RTU/TCP; default 19200 8O1; unit ID 1; FC 01,02,03,04,05,06,15,16; Supports Modbus RTU Master/Slave on RS-232 and RS-485 ports, and Modbus TCP Client/Server on the External Ethernet port.
bench facts as documented (unverified)
| terminals | RJ-12 for RS-232, 3-pin removable terminal block for RS-485, RJ-45 for Ethernet |
| termination | A 120 Ohm resistor is required at each end of the network for termination. |
| connector | RJ-12, 3-pin terminal block, RJ-45, Micro USB Type B |
| wiring notes | RS-485 port supports up to 50 devices (assuming 19K Ohm load each) without a repeater. Supports distances up to 1000 meters. |
| response timeout | 100 ms |
| inter-frame delay | 1 ms |
| protocol notes | Timeout between query and response is configurable from 100 to 30,000 ms. Modbus Character Timeout is configurable from 1 to 10,000 ms. |
| power | +5VDC @ 210mA available on pin 2 of RS-232 port for powering external devices. |
| doc revision | 3rd Ed. Rev. M |
⚠ disputed: Register map summary (mst_0_1_2_1 @ 3, etc.) — disputed by AutomationDirect FAQ which states that Productivity series PLCs are tag-based and have no default Modbus addresses; all addresses must be manually mapped in the Tag Database [10.3.2].
field reports — community-sourced, unverified (checked 2026-06-11)
- Productivity Suite uses 1-based indexing for bits in words and array elements, which can cause off-by-one mapping issues when integrating with 0-based Modbus clients (e.g., Modbus bit 12 maps to internal bit 11). [source]
- Productivity Suite version 4.5.0.34 resolved an issue where the MWX (Modbus Write) instruction would write to more target Modbus Holding Registers than specified. [source]
- Productivity Suite version 4.5.0.34 fixed an import failure in the tag database caused by improper handling of Modbus assignments when using User Defined Structure (UDS) tags. [source]
- Productivity Suite version 4.5.0.34 resolved ILL DATA VAL errors when using NETW, RX, and WX instructions with discrete I/O points on Px-622 CPUs. [source]
- confirmed: comms.baud_rates: [1200, 2400, 9600, 19200, 33600, 38400, 57600, 115200] — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
- confirmed: comms.default_baud: 19200 — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
- confirmed: comms.parity: 'O' (Odd) — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
- confirmed: comms.stop_bits: 1 — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
- confirmed: comms.default_unit_id: 1 — confirmed by community forum posts and default settings
- confirmed: comms.framing: ['RTU', 'TCP'] — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
- confirmed: comms.function_codes: [1, 2, 3, 4, 5, 6, 15, 16] — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
- confirmed: comms.notes: 'Supports Modbus RTU Master/Slave on RS-232 and RS-485 ports, and Modbus TCP Client/Server on the External Ethernet port.' — confirmed by Productivity2000 User Manual (3rd Ed. Rev. M, Chapter 6)
The trust ladder
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
- generated — A prompt produced it. Unproven — anyone can regenerate this.
- structure-verified — Decode path is structurally sound (addresses, widths, finite values). Does NOT prove word order or scaling.
- interop-verified — Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.
- simulator-verified — Decoded correctly against a protocol emulator seeded with known-true values — catches word-order/scaling errors vs the emulator, not the physical device.
- hardware-verified x1 — Matched a real device with operator-attested readings as ground truth — the only rung that confirms word order + scaling on the wire.