{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Advantech", "model": "ADAM-6015", "models": ["ADAM-6015", "ADAM-6015-DE"], "vendor_website": "advantech.com", "description": "7-channel isolated RTD input module, 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-6015"}], "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 floats are in the module's engineering units; the manual does not give their word order (this map uses the counters' low word first).", "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, "enums": { "type_code": {"0x03A4": "Pt100 (385) -50-150 °C", "0x03A5": "Pt100 (385) 0-100 °C", "0x03A6": "Pt100 (385) 0-200 °C", "0x03A7": "Pt100 (385) 0-400 °C", "0x03A2": "Pt100 (385) -200-200 °C", "0x03C4": "Pt100 (392) -50-150 °C", "0x03C5": "Pt100 (392) 0-100 °C", "0x03C6": "Pt100 (392) 0-200 °C", "0x03C7": "Pt100 (392) 0-400 °C", "0x03C2": "Pt100 (392) -200-200 °C", "0x03E2": "Pt1000 -40-160 °C", "0x0300": "Balco 500 -30-120 °C", "0x0320": "Ni604 (518) -80-100 °C", "0x0321": "Ni604 (518) 0-100 °C"} }, "x_status": "official", "registers": [ {"name": "Reset max AI0", "group": "Commands", "area": "coil", "address": 101, "type": "bool", "access": "RW"}, {"name": "Reset max AI1", "group": "Commands", "area": "coil", "address": 102, "type": "bool", "access": "RW"}, {"name": "Reset max AI2", "group": "Commands", "area": "coil", "address": 103, "type": "bool", "access": "RW"}, {"name": "Reset max AI3", "group": "Commands", "area": "coil", "address": 104, "type": "bool", "access": "RW"}, {"name": "Reset max AI4", "group": "Commands", "area": "coil", "address": 105, "type": "bool", "access": "RW"}, {"name": "Reset max AI5", "group": "Commands", "area": "coil", "address": 106, "type": "bool", "access": "RW"}, {"name": "Reset max AI6", "group": "Commands", "area": "coil", "address": 107, "type": "bool", "access": "RW"}, {"name": "Reset max average", "group": "Commands", "area": "coil", "address": 109, "type": "bool", "access": "RW"}, {"name": "Reset min AI0", "group": "Commands", "area": "coil", "address": 111, "type": "bool", "access": "RW"}, {"name": "Reset min AI1", "group": "Commands", "area": "coil", "address": 112, "type": "bool", "access": "RW"}, {"name": "Reset min AI2", "group": "Commands", "area": "coil", "address": 113, "type": "bool", "access": "RW"}, {"name": "Reset min AI3", "group": "Commands", "area": "coil", "address": 114, "type": "bool", "access": "RW"}, {"name": "Reset min AI4", "group": "Commands", "area": "coil", "address": 115, "type": "bool", "access": "RW"}, {"name": "Reset min AI5", "group": "Commands", "area": "coil", "address": 116, "type": "bool", "access": "RW"}, {"name": "Reset min AI6", "group": "Commands", "area": "coil", "address": 117, "type": "bool", "access": "RW"}, {"name": "Reset min average", "group": "Commands", "area": "coil", "address": 119, "type": "bool", "access": "RW"}, {"name": "AI0 burn-out", "group": "Alarms", "area": "coil", "address": 121, "type": "bool", "access": "R"}, {"name": "AI1 burn-out", "group": "Alarms", "area": "coil", "address": 122, "type": "bool", "access": "R"}, {"name": "AI2 burn-out", "group": "Alarms", "area": "coil", "address": 123, "type": "bool", "access": "R"}, {"name": "AI3 burn-out", "group": "Alarms", "area": "coil", "address": 124, "type": "bool", "access": "R"}, {"name": "AI4 burn-out", "group": "Alarms", "area": "coil", "address": 125, "type": "bool", "access": "R"}, {"name": "AI5 burn-out", "group": "Alarms", "area": "coil", "address": 126, "type": "bool", "access": "R"}, {"name": "AI6 burn-out", "group": "Alarms", "area": "coil", "address": 127, "type": "bool", "access": "R"}, {"name": "AI0 high alarm", "group": "Alarms", "area": "coil", "address": 131, "type": "bool", "access": "R"}, {"name": "AI1 high alarm", "group": "Alarms", "area": "coil", "address": 132, "type": "bool", "access": "R"}, {"name": "AI2 high alarm", "group": "Alarms", "area": "coil", "address": 133, "type": "bool", "access": "R"}, {"name": "AI3 high alarm", "group": "Alarms", "area": "coil", "address": 134, "type": "bool", "access": "R"}, {"name": "AI4 high alarm", "group": "Alarms", "area": "coil", "address": 135, "type": "bool", "access": "R"}, {"name": "AI5 high alarm", "group": "Alarms", "area": "coil", "address": 136, "type": "bool", "access": "R"}, {"name": "AI6 high alarm", "group": "Alarms", "area": "coil", "address": 137, "type": "bool", "access": "R"}, {"name": "Average high alarm", "group": "Alarms", "area": "coil", "address": 139, "type": "bool", "access": "R"}, {"name": "AI0 low alarm", "group": "Alarms", "area": "coil", "address": 141, "type": "bool", "access": "R"}, {"name": "AI1 low alarm", "group": "Alarms", "area": "coil", "address": 142, "type": "bool", "access": "R"}, {"name": "AI2 low alarm", "group": "Alarms", "area": "coil", "address": 143, "type": "bool", "access": "R"}, {"name": "AI3 low alarm", "group": "Alarms", "area": "coil", "address": 144, "type": "bool", "access": "R"}, {"name": "AI4 low alarm", "group": "Alarms", "area": "coil", "address": 145, "type": "bool", "access": "R"}, {"name": "AI5 low alarm", "group": "Alarms", "area": "coil", "address": 146, "type": "bool", "access": "R"}, {"name": "AI6 low alarm", "group": "Alarms", "area": "coil", "address": 147, "type": "bool", "access": "R"}, {"name": "Average low alarm", "group": "Alarms", "area": "coil", "address": 149, "type": "bool", "access": "R"}, {"name": "AI0", "group": "Analog inputs", "area": "holding", "address": 1, "type": "uint16", "access": "R", "description": "Raw value of the range set by the type code"}, {"name": "AI1", "group": "Analog inputs", "area": "holding", "address": 2, "type": "uint16", "access": "R"}, {"name": "AI2", "group": "Analog inputs", "area": "holding", "address": 3, "type": "uint16", "access": "R"}, {"name": "AI3", "group": "Analog inputs", "area": "holding", "address": 4, "type": "uint16", "access": "R"}, {"name": "AI4", "group": "Analog inputs", "area": "holding", "address": 5, "type": "uint16", "access": "R"}, {"name": "AI5", "group": "Analog inputs", "area": "holding", "address": 6, "type": "uint16", "access": "R"}, {"name": "AI6", "group": "Analog inputs", "area": "holding", "address": 7, "type": "uint16", "access": "R"}, {"name": "AI average", "group": "Analog inputs", "area": "holding", "address": 9, "type": "uint16", "access": "R"}, {"name": "Max AI0", "group": "Analog inputs", "area": "holding", "address": 11, "type": "uint16", "access": "R"}, {"name": "Max AI1", "group": "Analog inputs", "area": "holding", "address": 12, "type": "uint16", "access": "R"}, {"name": "Max AI2", "group": "Analog inputs", "area": "holding", "address": 13, "type": "uint16", "access": "R"}, {"name": "Max AI3", "group": "Analog inputs", "area": "holding", "address": 14, "type": "uint16", "access": "R"}, {"name": "Max AI4", "group": "Analog inputs", "area": "holding", "address": 15, "type": "uint16", "access": "R"}, {"name": "Max AI5", "group": "Analog inputs", "area": "holding", "address": 16, "type": "uint16", "access": "R"}, {"name": "Max AI6", "group": "Analog inputs", "area": "holding", "address": 17, "type": "uint16", "access": "R"}, {"name": "Max AI average", "group": "Analog inputs", "area": "holding", "address": 19, "type": "uint16", "access": "R"}, {"name": "Min AI0", "group": "Analog inputs", "area": "holding", "address": 21, "type": "uint16", "access": "R"}, {"name": "Min AI1", "group": "Analog inputs", "area": "holding", "address": 22, "type": "uint16", "access": "R"}, {"name": "Min AI2", "group": "Analog inputs", "area": "holding", "address": 23, "type": "uint16", "access": "R"}, {"name": "Min AI3", "group": "Analog inputs", "area": "holding", "address": 24, "type": "uint16", "access": "R"}, {"name": "Min AI4", "group": "Analog inputs", "area": "holding", "address": 25, "type": "uint16", "access": "R"}, {"name": "Min AI5", "group": "Analog inputs", "area": "holding", "address": 26, "type": "uint16", "access": "R"}, {"name": "Min AI6", "group": "Analog inputs", "area": "holding", "address": 27, "type": "uint16", "access": "R"}, {"name": "Min AI average", "group": "Analog inputs", "area": "holding", "address": 29, "type": "uint16", "access": "R"}, {"name": "AI0 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 31, "type": "float32", "access": "R", "description": "CE/D version"}, {"name": "AI1 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 33, "type": "float32", "access": "R"}, {"name": "AI2 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 35, "type": "float32", "access": "R"}, {"name": "AI3 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 37, "type": "float32", "access": "R"}, {"name": "AI4 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 39, "type": "float32", "access": "R"}, {"name": "AI5 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 41, "type": "float32", "access": "R"}, {"name": "AI6 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 43, "type": "float32", "access": "R"}, {"name": "AI average (float)", "group": "Analog inputs (float)", "area": "holding", "address": 47, "type": "float32", "access": "R"}, {"name": "Max AI0 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 51, "type": "float32", "access": "R"}, {"name": "Max AI1 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 53, "type": "float32", "access": "R"}, {"name": "Max AI2 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 55, "type": "float32", "access": "R"}, {"name": "Max AI3 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 57, "type": "float32", "access": "R"}, {"name": "Max AI4 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 59, "type": "float32", "access": "R"}, {"name": "Max AI5 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 61, "type": "float32", "access": "R"}, {"name": "Max AI6 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 63, "type": "float32", "access": "R"}, {"name": "Max AI average (float)", "group": "Analog inputs (float)", "area": "holding", "address": 67, "type": "float32", "access": "R"}, {"name": "Min AI0 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 71, "type": "float32", "access": "R"}, {"name": "Min AI1 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 73, "type": "float32", "access": "R"}, {"name": "Min AI2 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 75, "type": "float32", "access": "R"}, {"name": "Min AI3 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 77, "type": "float32", "access": "R"}, {"name": "Min AI4 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 79, "type": "float32", "access": "R"}, {"name": "Min AI5 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 81, "type": "float32", "access": "R"}, {"name": "Min AI6 (float)", "group": "Analog inputs (float)", "area": "holding", "address": 83, "type": "float32", "access": "R"}, {"name": "Min AI average (float)", "group": "Analog inputs (float)", "area": "holding", "address": 87, "type": "float32", "access": "R"}, {"name": "AI0 status", "group": "Status", "area": "holding", "address": 101, "type": "uint32", "access": "R", "description": "Bit 3 open circuit/burn-out; 0 = normal"}, {"name": "AI1 status", "group": "Status", "area": "holding", "address": 103, "type": "uint32", "access": "R"}, {"name": "AI2 status", "group": "Status", "area": "holding", "address": 105, "type": "uint32", "access": "R"}, {"name": "AI3 status", "group": "Status", "area": "holding", "address": 107, "type": "uint32", "access": "R"}, {"name": "AI4 status", "group": "Status", "area": "holding", "address": 109, "type": "uint32", "access": "R"}, {"name": "AI5 status", "group": "Status", "area": "holding", "address": 111, "type": "uint32", "access": "R"}, {"name": "AI6 status", "group": "Status", "area": "holding", "address": 113, "type": "uint32", "access": "R"}, {"name": "AI0 type code", "group": "Settings", "area": "holding", "address": 201, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "AI1 type code", "group": "Settings", "area": "holding", "address": 202, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "AI2 type code", "group": "Settings", "area": "holding", "address": 203, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "AI3 type code", "group": "Settings", "area": "holding", "address": 204, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "AI4 type code", "group": "Settings", "area": "holding", "address": 205, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "AI5 type code", "group": "Settings", "area": "holding", "address": 206, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "AI6 type code", "group": "Settings", "area": "holding", "address": 207, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "Average type code", "group": "Settings", "area": "holding", "address": 209, "type": "uint16", "access": "RW", "enum": "type_code"}, {"name": "Module name 1", "group": "Identity", "area": "holding", "address": 211, "type": "uint16", "access": "R", "enum": {"0x6015": "ADAM-6015"}, "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"} ] }