{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Advantech", "model": "ADAM-6051", "models": ["ADAM-6051", "ADAM-6051-D"], "vendor_website": "advantech.com", "description": "16-channel isolated digital I/O module with counters (14 DI, 2 DO), Modbus TCP", "revision": 2, "revised": "2026-10-17", "source": "Advantech, \"ADAM-6000 Series User Manual\", Edition 9, Appendix B.2 (I/O Modbus mapping tables)", "sources": [{"title": "ADAM-6000 Series User Manual", "version": "Edition 9", "url": "https://support.elmark.com.pl/advantech/ia/CDROMS/ADAM-4k6k%20Series/Manual/ADAM%206000/ADAM-6000_User_Manaul_Ed_9.pdf", "note": "Appendix B.2, ADAM-6051"}], "notes": [ "Addresses are the Modicon numbers of the manual (00001 = coil 1, 40001 = holding register 1).", "32-bit counters and pulse settings are low word first (the manual: counter = (40002) × 65536 + (40001)).", "The manual lists no coils for the two digital outputs; use the DO word at 40303.", "Some registers (floats, GCL, diagnostics) need the CE or D version of the module." ], "protocol": "tcp", "unit_id": 1, "port": 502, "byte_order": "big", "word_order": "little", "address_base": 1, "x_status": "official", "registers": [ {"name": "DI0", "group": "Digital inputs", "area": "coil", "address": 1, "type": "bool", "access": "R"}, {"name": "DI1", "group": "Digital inputs", "area": "coil", "address": 2, "type": "bool", "access": "R"}, {"name": "DI2", "group": "Digital inputs", "area": "coil", "address": 3, "type": "bool", "access": "R"}, {"name": "DI3", "group": "Digital inputs", "area": "coil", "address": 4, "type": "bool", "access": "R"}, {"name": "DI4", "group": "Digital inputs", "area": "coil", "address": 5, "type": "bool", "access": "R"}, {"name": "DI5", "group": "Digital inputs", "area": "coil", "address": 6, "type": "bool", "access": "R"}, {"name": "DI6", "group": "Digital inputs", "area": "coil", "address": 7, "type": "bool", "access": "R"}, {"name": "DI7", "group": "Digital inputs", "area": "coil", "address": 8, "type": "bool", "access": "R"}, {"name": "DI8", "group": "Digital inputs", "area": "coil", "address": 9, "type": "bool", "access": "R"}, {"name": "DI9", "group": "Digital inputs", "area": "coil", "address": 10, "type": "bool", "access": "R"}, {"name": "DI10", "group": "Digital inputs", "area": "coil", "address": 11, "type": "bool", "access": "R"}, {"name": "DI11", "group": "Digital inputs", "area": "coil", "address": 12, "type": "bool", "access": "R"}, {"name": "DI12", "group": "Digital inputs", "area": "coil", "address": 13, "type": "bool", "access": "R"}, {"name": "DI13", "group": "Digital inputs", "area": "coil", "address": 14, "type": "bool", "access": "R"}, {"name": "DO0", "group": "Digital outputs", "area": "coil", "address": 17, "type": "bool", "access": "RW"}, {"name": "DO1", "group": "Digital outputs", "area": "coil", "address": 18, "type": "bool", "access": "RW"}, {"name": "Counter 0 run", "group": "Counters", "area": "coil", "address": 33, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 0 clear", "group": "Counters", "area": "coil", "address": 34, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 0 overflow", "group": "Counters", "area": "coil", "address": 35, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI0 latch", "group": "Counters", "area": "coil", "address": 36, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 1 run", "group": "Counters", "area": "coil", "address": 37, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 1 clear", "group": "Counters", "area": "coil", "address": 38, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 1 overflow", "group": "Counters", "area": "coil", "address": 39, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI1 latch", "group": "Counters", "area": "coil", "address": 40, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 2 run", "group": "Counters", "area": "coil", "address": 41, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 2 clear", "group": "Counters", "area": "coil", "address": 42, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 2 overflow", "group": "Counters", "area": "coil", "address": 43, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI2 latch", "group": "Counters", "area": "coil", "address": 44, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 3 run", "group": "Counters", "area": "coil", "address": 45, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 3 clear", "group": "Counters", "area": "coil", "address": 46, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 3 overflow", "group": "Counters", "area": "coil", "address": 47, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI3 latch", "group": "Counters", "area": "coil", "address": 48, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 4 run", "group": "Counters", "area": "coil", "address": 49, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 4 clear", "group": "Counters", "area": "coil", "address": 50, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 4 overflow", "group": "Counters", "area": "coil", "address": 51, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI4 latch", "group": "Counters", "area": "coil", "address": 52, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 5 run", "group": "Counters", "area": "coil", "address": 53, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 5 clear", "group": "Counters", "area": "coil", "address": 54, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 5 overflow", "group": "Counters", "area": "coil", "address": 55, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI5 latch", "group": "Counters", "area": "coil", "address": 56, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 6 run", "group": "Counters", "area": "coil", "address": 57, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 6 clear", "group": "Counters", "area": "coil", "address": 58, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 6 overflow", "group": "Counters", "area": "coil", "address": 59, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI6 latch", "group": "Counters", "area": "coil", "address": 60, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 7 run", "group": "Counters", "area": "coil", "address": 61, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 7 clear", "group": "Counters", "area": "coil", "address": 62, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 7 overflow", "group": "Counters", "area": "coil", "address": 63, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI7 latch", "group": "Counters", "area": "coil", "address": 64, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 8 run", "group": "Counters", "area": "coil", "address": 65, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 8 clear", "group": "Counters", "area": "coil", "address": 66, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 8 overflow", "group": "Counters", "area": "coil", "address": 67, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI8 latch", "group": "Counters", "area": "coil", "address": 68, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 9 run", "group": "Counters", "area": "coil", "address": 69, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 9 clear", "group": "Counters", "area": "coil", "address": 70, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 9 overflow", "group": "Counters", "area": "coil", "address": 71, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI9 latch", "group": "Counters", "area": "coil", "address": 72, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 10 run", "group": "Counters", "area": "coil", "address": 73, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 10 clear", "group": "Counters", "area": "coil", "address": 74, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 10 overflow", "group": "Counters", "area": "coil", "address": 75, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI10 latch", "group": "Counters", "area": "coil", "address": 76, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 11 run", "group": "Counters", "area": "coil", "address": 77, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 11 clear", "group": "Counters", "area": "coil", "address": 78, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 11 overflow", "group": "Counters", "area": "coil", "address": 79, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI11 latch", "group": "Counters", "area": "coil", "address": 80, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 12 run", "group": "Counters", "area": "coil", "address": 81, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 12 clear", "group": "Counters", "area": "coil", "address": 82, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 12 overflow", "group": "Counters", "area": "coil", "address": 83, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI12 latch", "group": "Counters", "area": "coil", "address": 84, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 13 run", "group": "Counters", "area": "coil", "address": 85, "type": "bool", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Counter 13 clear", "group": "Counters", "area": "coil", "address": 86, "type": "bool", "access": "W", "description": "Write 1 to clear"}, {"name": "Counter 13 overflow", "group": "Counters", "area": "coil", "address": 87, "type": "bool", "access": "RW", "description": "Returns to 0 once read"}, {"name": "DI13 latch", "group": "Counters", "area": "coil", "address": 88, "type": "bool", "access": "RW", "description": "Write 0 to clear"}, {"name": "Counter 0", "group": "Counters", "area": "holding", "address": 1, "type": "uint32", "access": "R", "description": "In frequency mode the low register is the frequency in 0.1 Hz"}, {"name": "Counter 1", "group": "Counters", "area": "holding", "address": 3, "type": "uint32", "access": "R"}, {"name": "Counter 2", "group": "Counters", "area": "holding", "address": 5, "type": "uint32", "access": "R"}, {"name": "Counter 3", "group": "Counters", "area": "holding", "address": 7, "type": "uint32", "access": "R"}, {"name": "Counter 4", "group": "Counters", "area": "holding", "address": 9, "type": "uint32", "access": "R"}, {"name": "Counter 5", "group": "Counters", "area": "holding", "address": 11, "type": "uint32", "access": "R"}, {"name": "Counter 6", "group": "Counters", "area": "holding", "address": 13, "type": "uint32", "access": "R"}, {"name": "Counter 7", "group": "Counters", "area": "holding", "address": 15, "type": "uint32", "access": "R"}, {"name": "Counter 8", "group": "Counters", "area": "holding", "address": 17, "type": "uint32", "access": "R"}, {"name": "Counter 9", "group": "Counters", "area": "holding", "address": 19, "type": "uint32", "access": "R"}, {"name": "Counter 10", "group": "Counters", "area": "holding", "address": 21, "type": "uint32", "access": "R"}, {"name": "Counter 11", "group": "Counters", "area": "holding", "address": 23, "type": "uint32", "access": "R"}, {"name": "Counter 12", "group": "Counters", "area": "holding", "address": 25, "type": "uint32", "access": "R"}, {"name": "Counter 13", "group": "Counters", "area": "holding", "address": 27, "type": "uint32", "access": "R"}, {"name": "DO0 pulse low width", "group": "Pulse output", "area": "holding", "address": 29, "type": "uint32", "scale": 0.1, "unit": "ms", "access": "RW"}, {"name": "DO1 pulse low width", "group": "Pulse output", "area": "holding", "address": 31, "type": "uint32", "scale": 0.1, "unit": "ms", "access": "RW"}, {"name": "DO0 pulse high width", "group": "Pulse output", "area": "holding", "address": 33, "type": "uint32", "scale": 0.1, "unit": "ms", "access": "RW"}, {"name": "DO1 pulse high width", "group": "Pulse output", "area": "holding", "address": 35, "type": "uint32", "scale": 0.1, "unit": "ms", "access": "RW"}, {"name": "DO0 absolute pulses", "group": "Pulse output", "area": "holding", "address": 37, "type": "uint32", "access": "RW", "description": "0 = continuous pulses"}, {"name": "DO1 absolute pulses", "group": "Pulse output", "area": "holding", "address": 39, "type": "uint32", "access": "RW"}, {"name": "DO0 incremental pulses", "group": "Pulse output", "area": "holding", "address": 41, "type": "uint32", "access": "RW", "description": "Extra pulses during generation"}, {"name": "DO1 incremental pulses", "group": "Pulse output", "area": "holding", "address": 43, "type": "uint32", "access": "RW"}, {"name": "DI word", "group": "Digital inputs", "area": "holding", "address": 301, "type": "uint16", "access": "R", "description": "Bit n = DIn"}, {"name": "DO word", "group": "Digital outputs", "area": "holding", "address": 303, "type": "uint16", "access": "RW", "description": "Bit n = DOn"}, {"name": "Module name 1", "group": "Identity", "area": "holding", "address": 211, "type": "uint16", "access": "R", "enum": {"0x6051": "ADAM-6051"}, "role": "model", "description": "Model number in hexadecimal, e.g. 0x6050"}, {"name": "Module name 2", "group": "Identity", "area": "holding", "address": 212, "type": "uint16", "access": "R"}, {"name": "Clear GCL counter 0", "group": "GCL", "area": "coil", "address": 301, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 1", "group": "GCL", "area": "coil", "address": 302, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 2", "group": "GCL", "area": "coil", "address": 303, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 3", "group": "GCL", "area": "coil", "address": 304, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 4", "group": "GCL", "area": "coil", "address": 305, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 5", "group": "GCL", "area": "coil", "address": 306, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 6", "group": "GCL", "area": "coil", "address": 307, "type": "bool", "access": "W"}, {"name": "Clear GCL counter 7", "group": "GCL", "area": "coil", "address": 308, "type": "bool", "access": "W"}, {"name": "GCL flag 0", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 0, "access": "RW"}, {"name": "GCL flag 1", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 1, "access": "RW"}, {"name": "GCL flag 2", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 2, "access": "RW"}, {"name": "GCL flag 3", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 3, "access": "RW"}, {"name": "GCL flag 4", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 4, "access": "RW"}, {"name": "GCL flag 5", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 5, "access": "RW"}, {"name": "GCL flag 6", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 6, "access": "RW"}, {"name": "GCL flag 7", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 7, "access": "RW"}, {"name": "GCL flag 8", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 8, "access": "RW"}, {"name": "GCL flag 9", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 9, "access": "RW"}, {"name": "GCL flag 10", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 10, "access": "RW"}, {"name": "GCL flag 11", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 11, "access": "RW"}, {"name": "GCL flag 12", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 12, "access": "RW"}, {"name": "GCL flag 13", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 13, "access": "RW"}, {"name": "GCL flag 14", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 14, "access": "RW"}, {"name": "GCL flag 15", "group": "GCL", "area": "holding", "address": 305, "type": "bool", "bit": 15, "access": "RW"}, {"name": "GCL counter 0", "group": "GCL", "area": "holding", "address": 311, "type": "uint32", "access": "R"}, {"name": "GCL counter 1", "group": "GCL", "area": "holding", "address": 313, "type": "uint32", "access": "R"}, {"name": "GCL counter 2", "group": "GCL", "area": "holding", "address": 315, "type": "uint32", "access": "R"}, {"name": "GCL counter 3", "group": "GCL", "area": "holding", "address": 317, "type": "uint32", "access": "R"}, {"name": "GCL counter 4", "group": "GCL", "area": "holding", "address": 319, "type": "uint32", "access": "R"}, {"name": "GCL counter 5", "group": "GCL", "area": "holding", "address": 321, "type": "uint32", "access": "R"}, {"name": "GCL counter 6", "group": "GCL", "area": "holding", "address": 323, "type": "uint32", "access": "R"}, {"name": "GCL counter 7", "group": "GCL", "area": "holding", "address": 325, "type": "uint32", "access": "R"}, {"name": "DO diagnostic status", "group": "Digital outputs", "area": "holding", "address": 307, "type": "uint16", "access": "R", "description": "D version"} ] }