{
  "$schema": "../schema.json",
  "schemaVersion": 1,
  "id": "autonics/tm4",
  "manufacturer": {
    "ko": "오토닉스",
    "en": "Autonics"
  },
  "model": "TM4",
  "models": [
    "TM4-N2RB",
    "TM4-N2SB",
    "TM4-N2RE",
    "TM4-N2SE"
  ],
  "kind": "temperature-controller",
  "title": {
    "ko": "오토닉스 TM4 모듈형 4채널 PID 온도 조절기",
    "en": "Autonics TM4 modular 4-channel PID temperature controller"
  },
  "summary": {
    "ko": "DIN 레일 모듈형 4채널 온도 조절기. 기본 모듈(…B)에 RS485 Modbus RTU/ASCII. 코일(채널별 RUN/STOP·오토튜닝), 입력 레지스터(채널별 PV·SV·MV), CH1 보유 레지스터(SV·PID·입력·통신 설정)를 담았다.",
    "en": "DIN-rail modular 4-channel temperature controller; RS485 Modbus RTU/ASCII on the basic module (…B). Covers coils (per-channel RUN/STOP, auto-tuning), input registers (per-channel PV/SV/MV) and CH1 holding registers (SV, PID, input, comm)."
  },
  "protocols": [
    "rtu",
    "ascii"
  ],
  "comm": {
    "addressing": "zero",
    "baud": 9600,
    "bauds": [
      2400,
      4800,
      9600,
      19200,
      38400,
      57600,
      115200
    ],
    "dataBits": 8,
    "parity": "none",
    "stopBits": 2,
    "unit": 1,
    "unitRange": [
      1,
      31
    ],
    "notes": [
      {
        "ko": "통신 기본값: 사용자 매뉴얼 «1.5.2 Communication Interface»(p.28) — 9600bps(기본), 데이터 8비트 고정, 패리티 None(기본), 정지 2비트(기본), 응답 대기 20 ms, 최대 31대(국번 01~31). 통신 매뉴얼 3.4.7 공장 기본값(속도 2=9600, 패리티 0, 정지 1=2비트)과 같다.",
        "en": "Defaults from user manual 1.5.2 (p.28): 9600 bps, 8 data bits fixed, parity none, 2 stop bits, response wait 20 ms, up to 31 units (01-31); matches comm manual 3.4.7 factory defaults."
      },
      {
        "ko": "매뉴얼은 «400001 (0000)» 꼴 — 1 기준 참조 번호 + 괄호 안 16진 통신 주소. 각 표 첫 항목이 (0000) 이라 괄호 값을 0 기준 프레임 주소로 썼다(통신 매뉴얼 pp.37-57). 1.1 절 프레임 예시는 바이트 자리만 있고 숫자 예는 없다.",
        "en": "Manual writes «400001 (0000)»: 1-based reference plus hex comm address; first entries are (0000), so the parenthesized value is the 0-based wire address (pp.37-57). Frame examples in 1.1 show layout only."
      },
      {
        "ko": "통신 설정을 바꾸면 기기를 다시 켜야 정상 동작한다(사용자 매뉴얼 p.28).",
        "en": "Reboot after changing communication settings (user manual p.28)."
      }
    ]
  },
  "registers": [
    {
      "table": "coils",
      "address": 0,
      "manualAddress": "000001 (0000)",
      "type": "bit",
      "name": {
        "ko": "CH1 제어 출력 RUN/STOP",
        "en": "CH1 control output RUN/STOP"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "RUN",
          "en": "RUN"
        },
        {
          "value": 1,
          "ko": "STOP",
          "en": "STOP"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 1,
      "manualAddress": "000002 (0001)",
      "type": "bit",
      "name": {
        "ko": "CH1 오토튜닝 실행",
        "en": "CH1 auto-tuning execute"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "OFF",
          "en": "OFF"
        },
        {
          "value": 1,
          "ko": "ON",
          "en": "ON"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 2,
      "manualAddress": "000003 (0002)",
      "type": "bit",
      "name": {
        "ko": "CH2 제어 출력 RUN/STOP",
        "en": "CH2 control output RUN/STOP"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "RUN",
          "en": "RUN"
        },
        {
          "value": 1,
          "ko": "STOP",
          "en": "STOP"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 3,
      "manualAddress": "000004 (0003)",
      "type": "bit",
      "name": {
        "ko": "CH2 오토튜닝 실행",
        "en": "CH2 auto-tuning execute"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "OFF",
          "en": "OFF"
        },
        {
          "value": 1,
          "ko": "ON",
          "en": "ON"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 4,
      "manualAddress": "000005 (0004)",
      "type": "bit",
      "name": {
        "ko": "CH3 제어 출력 RUN/STOP",
        "en": "CH3 control output RUN/STOP"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "RUN",
          "en": "RUN"
        },
        {
          "value": 1,
          "ko": "STOP",
          "en": "STOP"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 5,
      "manualAddress": "000006 (0005)",
      "type": "bit",
      "name": {
        "ko": "CH3 오토튜닝 실행",
        "en": "CH3 auto-tuning execute"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "OFF",
          "en": "OFF"
        },
        {
          "value": 1,
          "ko": "ON",
          "en": "ON"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 6,
      "manualAddress": "000007 (0006)",
      "type": "bit",
      "name": {
        "ko": "CH4 제어 출력 RUN/STOP",
        "en": "CH4 control output RUN/STOP"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "RUN",
          "en": "RUN"
        },
        {
          "value": 1,
          "ko": "STOP",
          "en": "STOP"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "coils",
      "address": 7,
      "manualAddress": "000008 (0007)",
      "type": "bit",
      "name": {
        "ko": "CH4 오토튜닝 실행",
        "en": "CH4 auto-tuning execute"
      },
      "access": "rw",
      "fc": [
        1,
        5
      ],
      "values": [
        {
          "value": 0,
          "ko": "OFF",
          "en": "OFF"
        },
        {
          "value": 1,
          "ko": "ON",
          "en": "ON"
        }
      ],
      "ref": "p.37 3.1"
    },
    {
      "table": "discrete-inputs",
      "address": 0,
      "manualAddress": "100001 (0000)",
      "type": "bit",
      "name": {
        "ko": "CH1 출력 LED(OUT)",
        "en": "CH1 output LED (OUT)"
      },
      "access": "r",
      "fc": [
        2
      ],
      "ref": "p.38 3.2"
    },
    {
      "table": "discrete-inputs",
      "address": 1,
      "manualAddress": "100002 (0001)",
      "type": "bit",
      "name": {
        "ko": "CH2 출력 LED(OUT)",
        "en": "CH2 output LED (OUT)"
      },
      "access": "r",
      "fc": [
        2
      ],
      "ref": "p.38 3.2"
    },
    {
      "table": "discrete-inputs",
      "address": 2,
      "manualAddress": "100003 (0002)",
      "type": "bit",
      "name": {
        "ko": "CH3 출력 LED(OUT)",
        "en": "CH3 output LED (OUT)"
      },
      "access": "r",
      "fc": [
        2
      ],
      "ref": "p.38 3.2"
    },
    {
      "table": "discrete-inputs",
      "address": 3,
      "manualAddress": "100004 (0003)",
      "type": "bit",
      "name": {
        "ko": "CH4 출력 LED(OUT)",
        "en": "CH4 output LED (OUT)"
      },
      "access": "r",
      "fc": [
        2
      ],
      "ref": "p.38 3.2"
    },
    {
      "table": "input-registers",
      "address": 103,
      "manualAddress": "300104 (0067)",
      "type": "u16",
      "name": {
        "ko": "소프트웨어 버전",
        "en": "Software version"
      },
      "access": "r",
      "fc": [
        4
      ],
      "ref": "p.39 3.3"
    },
    {
      "table": "input-registers",
      "address": 125,
      "manualAddress": "300126 (007D)",
      "type": "u16",
      "name": {
        "ko": "채널 수",
        "en": "Channel quantity"
      },
      "access": "r",
      "fc": [
        4
      ],
      "ref": "p.39 3.3"
    },
    {
      "table": "input-registers",
      "address": 1000,
      "manualAddress": "301001 (03E8)",
      "type": "s16",
      "name": {
        "ko": "CH1 현재값 PV",
        "en": "CH1 present value (PV)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 31000,
          "ko": "OPEN(센서 단선)",
          "en": "OPEN"
        },
        {
          "value": 30000,
          "ko": "HHHH(상한 초과)",
          "en": "HHHH (high)"
        },
        {
          "value": -30000,
          "ko": "LLLL(하한 미만)",
          "en": "LLLL (low)"
        }
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1001,
      "manualAddress": "301002 (03E9)",
      "type": "u16",
      "name": {
        "ko": "CH1 소수점 위치",
        "en": "CH1 decimal point"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "0",
          "en": "0"
        },
        {
          "value": 1,
          "ko": "0.0",
          "en": "0.0"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1002,
      "manualAddress": "301003 (03EA)",
      "type": "u16",
      "name": {
        "ko": "CH1 온도 단위",
        "en": "CH1 temperature unit"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "℃",
          "en": "°C"
        },
        {
          "value": 1,
          "ko": "℉",
          "en": "°F"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1003,
      "manualAddress": "301004 (03EB)",
      "type": "s16",
      "name": {
        "ko": "CH1 설정값 SV(읽기)",
        "en": "CH1 set value SV (read)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1004,
      "manualAddress": "301005 (03EC)",
      "type": "u16",
      "name": {
        "ko": "CH1 가열 조작량",
        "en": "CH1 heating MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1005,
      "manualAddress": "301006 (03ED)",
      "type": "u16",
      "name": {
        "ko": "CH1 냉각 조작량",
        "en": "CH1 cooling MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1006,
      "manualAddress": "301007 (03EE)",
      "type": "s16",
      "name": {
        "ko": "CH2 현재값 PV",
        "en": "CH2 present value (PV)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 31000,
          "ko": "OPEN(센서 단선)",
          "en": "OPEN"
        },
        {
          "value": 30000,
          "ko": "HHHH(상한 초과)",
          "en": "HHHH (high)"
        },
        {
          "value": -30000,
          "ko": "LLLL(하한 미만)",
          "en": "LLLL (low)"
        }
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1007,
      "manualAddress": "301008 (03EF)",
      "type": "u16",
      "name": {
        "ko": "CH2 소수점 위치",
        "en": "CH2 decimal point"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "0",
          "en": "0"
        },
        {
          "value": 1,
          "ko": "0.0",
          "en": "0.0"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1008,
      "manualAddress": "301009 (03F0)",
      "type": "u16",
      "name": {
        "ko": "CH2 온도 단위",
        "en": "CH2 temperature unit"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "℃",
          "en": "°C"
        },
        {
          "value": 1,
          "ko": "℉",
          "en": "°F"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1009,
      "manualAddress": "301010 (03F1)",
      "type": "s16",
      "name": {
        "ko": "CH2 설정값 SV(읽기)",
        "en": "CH2 set value SV (read)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1010,
      "manualAddress": "301011 (03F2)",
      "type": "u16",
      "name": {
        "ko": "CH2 가열 조작량",
        "en": "CH2 heating MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1011,
      "manualAddress": "301012 (03F3)",
      "type": "u16",
      "name": {
        "ko": "CH2 냉각 조작량",
        "en": "CH2 cooling MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1012,
      "manualAddress": "301013 (03F4)",
      "type": "s16",
      "name": {
        "ko": "CH3 현재값 PV",
        "en": "CH3 present value (PV)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 31000,
          "ko": "OPEN(센서 단선)",
          "en": "OPEN"
        },
        {
          "value": 30000,
          "ko": "HHHH(상한 초과)",
          "en": "HHHH (high)"
        },
        {
          "value": -30000,
          "ko": "LLLL(하한 미만)",
          "en": "LLLL (low)"
        }
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1013,
      "manualAddress": "301014 (03F5)",
      "type": "u16",
      "name": {
        "ko": "CH3 소수점 위치",
        "en": "CH3 decimal point"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "0",
          "en": "0"
        },
        {
          "value": 1,
          "ko": "0.0",
          "en": "0.0"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1014,
      "manualAddress": "301015 (03F6)",
      "type": "u16",
      "name": {
        "ko": "CH3 온도 단위",
        "en": "CH3 temperature unit"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "℃",
          "en": "°C"
        },
        {
          "value": 1,
          "ko": "℉",
          "en": "°F"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1015,
      "manualAddress": "301016 (03F7)",
      "type": "s16",
      "name": {
        "ko": "CH3 설정값 SV(읽기)",
        "en": "CH3 set value SV (read)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1016,
      "manualAddress": "301017 (03F8)",
      "type": "u16",
      "name": {
        "ko": "CH3 가열 조작량",
        "en": "CH3 heating MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1017,
      "manualAddress": "301018 (03F9)",
      "type": "u16",
      "name": {
        "ko": "CH3 냉각 조작량",
        "en": "CH3 cooling MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1018,
      "manualAddress": "301019 (03FA)",
      "type": "s16",
      "name": {
        "ko": "CH4 현재값 PV",
        "en": "CH4 present value (PV)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 31000,
          "ko": "OPEN(센서 단선)",
          "en": "OPEN"
        },
        {
          "value": 30000,
          "ko": "HHHH(상한 초과)",
          "en": "HHHH (high)"
        },
        {
          "value": -30000,
          "ko": "LLLL(하한 미만)",
          "en": "LLLL (low)"
        }
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1019,
      "manualAddress": "301020 (03FB)",
      "type": "u16",
      "name": {
        "ko": "CH4 소수점 위치",
        "en": "CH4 decimal point"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "0",
          "en": "0"
        },
        {
          "value": 1,
          "ko": "0.0",
          "en": "0.0"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1020,
      "manualAddress": "301021 (03FC)",
      "type": "u16",
      "name": {
        "ko": "CH4 온도 단위",
        "en": "CH4 temperature unit"
      },
      "access": "r",
      "fc": [
        4
      ],
      "values": [
        {
          "value": 0,
          "ko": "℃",
          "en": "°C"
        },
        {
          "value": 1,
          "ko": "℉",
          "en": "°F"
        }
      ],
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1021,
      "manualAddress": "301022 (03FD)",
      "type": "s16",
      "name": {
        "ko": "CH4 설정값 SV(읽기)",
        "en": "CH4 set value SV (read)"
      },
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1022,
      "manualAddress": "301023 (03FE)",
      "type": "u16",
      "name": {
        "ko": "CH4 가열 조작량",
        "en": "CH4 heating MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1023,
      "manualAddress": "301024 (03FF)",
      "type": "u16",
      "name": {
        "ko": "CH4 냉각 조작량",
        "en": "CH4 cooling MV"
      },
      "unit": "%",
      "access": "r",
      "fc": [
        4
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "input-registers",
      "address": 1024,
      "manualAddress": "301025 (0400)",
      "type": "u16",
      "name": {
        "ko": "표시 상태 비트",
        "en": "Indicator bits"
      },
      "access": "r",
      "fc": [
        4
      ],
      "bits": [
        {
          "bit": 0,
          "ko": "CH1 출력 LED",
          "en": "CH1 output LED"
        },
        {
          "bit": 1,
          "ko": "CH2 출력 LED",
          "en": "CH2 output LED"
        },
        {
          "bit": 2,
          "ko": "CH3 출력 LED",
          "en": "CH3 output LED"
        },
        {
          "bit": 3,
          "ko": "CH4 출력 LED",
          "en": "CH4 output LED"
        }
      ],
      "ref": "p.41 3.3"
    },
    {
      "table": "input-registers",
      "address": 1025,
      "manualAddress": "301026 (0401)",
      "type": "u16",
      "name": {
        "ko": "통신 국번",
        "en": "Unit address"
      },
      "access": "r",
      "fc": [
        4
      ],
      "range": {
        "min": 1,
        "max": 31
      },
      "ref": "p.40 3.3"
    },
    {
      "table": "holding-registers",
      "address": 0,
      "manualAddress": "400001 (0000)",
      "type": "s16",
      "name": {
        "ko": "CH1 설정값 SV",
        "en": "CH1 set value (SV)"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "SV 하한~SV 상한. 소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "SV low limit to SV high limit. Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 1,
      "manualAddress": "400002 (0001)",
      "type": "u16",
      "name": {
        "ko": "CH1 가열 조작량",
        "en": "CH1 heating MV"
      },
      "unit": "%",
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 2,
      "manualAddress": "400003 (0002)",
      "type": "u16",
      "name": {
        "ko": "CH1 냉각 조작량",
        "en": "CH1 cooling MV"
      },
      "unit": "%",
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.0~100.0 %. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.0-100.0 %; raw scaling is not stated in the table."
      },
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 3,
      "manualAddress": "400004 (0003)",
      "type": "u16",
      "name": {
        "ko": "CH1 자동/수동 제어",
        "en": "CH1 auto/manual control"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "자동(AUTO)",
          "en": "AUTO"
        },
        {
          "value": 1,
          "ko": "수동(MANUAL)",
          "en": "MANUAL"
        }
      ],
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 1000,
      "manualAddress": "401001 (03E8)",
      "type": "s16",
      "name": {
        "ko": "CH2 설정값 SV",
        "en": "CH2 set value (SV)"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 2000,
      "manualAddress": "402001 (07D0)",
      "type": "s16",
      "name": {
        "ko": "CH3 설정값 SV",
        "en": "CH3 set value (SV)"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 3000,
      "manualAddress": "403001 (0BB8)",
      "type": "s16",
      "name": {
        "ko": "CH4 설정값 SV",
        "en": "CH4 set value (SV)"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.42 3.4.1"
    },
    {
      "table": "holding-registers",
      "address": 50,
      "manualAddress": "400051 (0032)",
      "type": "u16",
      "name": {
        "ko": "CH1 제어 출력 RUN/STOP",
        "en": "CH1 control output RUN/STOP"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "RUN",
          "en": "RUN"
        },
        {
          "value": 1,
          "ko": "STOP",
          "en": "STOP"
        }
      ],
      "ref": "p.43 3.4.2"
    },
    {
      "table": "holding-registers",
      "address": 51,
      "manualAddress": "400052 (0033)",
      "type": "u16",
      "name": {
        "ko": "CH1 멀티 SV 번호",
        "en": "CH1 multi SV number"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "SV-0",
          "en": "SV-0"
        },
        {
          "value": 1,
          "ko": "SV-1",
          "en": "SV-1"
        },
        {
          "value": 2,
          "ko": "SV-2",
          "en": "SV-2"
        },
        {
          "value": 3,
          "ko": "SV-3",
          "en": "SV-3"
        }
      ],
      "ref": "p.43 3.4.2"
    },
    {
      "table": "holding-registers",
      "address": 100,
      "manualAddress": "400101 (0064)",
      "type": "u16",
      "name": {
        "ko": "CH1 오토튜닝 실행",
        "en": "CH1 auto-tuning execute"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "OFF",
          "en": "OFF"
        },
        {
          "value": 1,
          "ko": "ON",
          "en": "ON"
        }
      ],
      "ref": "p.43 3.4.2"
    },
    {
      "table": "holding-registers",
      "address": 101,
      "manualAddress": "400102 (0065)",
      "type": "u16",
      "name": {
        "ko": "CH1 가열 비례대",
        "en": "CH1 heating proportional band"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "매뉴얼 표기 범위 0.1~999.9 ℃. 원시값 배율은 표에 적혀 있지 않다.",
        "en": "Manual range 0.1-999.9 °C; raw scaling not stated."
      },
      "ref": "p.43 3.4.2"
    },
    {
      "table": "holding-registers",
      "address": 103,
      "manualAddress": "400104 (0067)",
      "type": "u16",
      "name": {
        "ko": "CH1 가열 적분 시간",
        "en": "CH1 heating integral time"
      },
      "unit": "s",
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "range": {
        "min": 0,
        "max": 9999
      },
      "ref": "p.44 3.4.2"
    },
    {
      "table": "holding-registers",
      "address": 105,
      "manualAddress": "400106 (0069)",
      "type": "u16",
      "name": {
        "ko": "CH1 가열 미분 시간",
        "en": "CH1 heating derivative time"
      },
      "unit": "s",
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "range": {
        "min": 0,
        "max": 9999
      },
      "ref": "p.44 3.4.2"
    },
    {
      "table": "holding-registers",
      "address": 150,
      "manualAddress": "400151 (0096)",
      "type": "u16",
      "name": {
        "ko": "CH1 입력 종류",
        "en": "CH1 input type"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "range": {
        "min": 0,
        "max": 26
      },
      "description": {
        "ko": "0 K(CA).H ~ 26 NI12. 코드표는 사용자 매뉴얼 «Input type» 참조.",
        "en": "0 K(CA).H to 26 NI12; code table in the user manual 'Input type'."
      },
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 151,
      "manualAddress": "400152 (0097)",
      "type": "u16",
      "name": {
        "ko": "CH1 온도 단위",
        "en": "CH1 temperature unit"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "℃",
          "en": "°C"
        },
        {
          "value": 1,
          "ko": "℉",
          "en": "°F"
        }
      ],
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 152,
      "manualAddress": "400153 (0098)",
      "type": "s16",
      "name": {
        "ko": "CH1 입력 보정",
        "en": "CH1 input bias"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "-999~999(H) / -999.9~999.9(L) digit",
        "en": "-999..999 (H) / -999.9..999.9 (L) digit"
      },
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 154,
      "manualAddress": "400155 (009A)",
      "type": "s16",
      "name": {
        "ko": "CH1 SV 하한",
        "en": "CH1 SV low limit"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 155,
      "manualAddress": "400156 (009B)",
      "type": "s16",
      "name": {
        "ko": "CH1 SV 상한",
        "en": "CH1 SV high limit"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "소수점 위치는 해당 채널 소수점 레지스터(0: 0, 1: 0.0)를 따른다.",
        "en": "Decimal point per the channel's dot register (0: 0, 1: 0.0)."
      },
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 156,
      "manualAddress": "400157 (009C)",
      "type": "u16",
      "name": {
        "ko": "CH1 제어 출력 동작",
        "en": "CH1 control output mode"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "가열",
          "en": "Heating"
        },
        {
          "value": 1,
          "ko": "냉각",
          "en": "Cooling"
        },
        {
          "value": 2,
          "ko": "가열·냉각",
          "en": "Heating & cooling"
        }
      ],
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 157,
      "manualAddress": "400158 (009D)",
      "type": "u16",
      "name": {
        "ko": "CH1 제어 방식",
        "en": "CH1 control method"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "description": {
        "ko": "가열 또는 냉각: 0 PID, 1 ON/OFF. 가열·냉각: 0 PID-PID, 1 PID-ONOFF, 2 ONOFF-PID, 3 ONOFF-ONOFF.",
        "en": "Heating or cooling: 0 PID, 1 ON/OFF. Heating & cooling: 0 PID-PID, 1 PID-ONOFF, 2 ONOFF-PID, 3 ONOFF-ONOFF."
      },
      "ref": "p.46 3.4.3"
    },
    {
      "table": "holding-registers",
      "address": 300,
      "manualAddress": "400301 (012C)",
      "type": "u16",
      "name": {
        "ko": "통신 속도",
        "en": "Baud rate"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "2400 bps",
          "en": "2400 bps"
        },
        {
          "value": 1,
          "ko": "4800 bps",
          "en": "4800 bps"
        },
        {
          "value": 2,
          "ko": "9600 bps",
          "en": "9600 bps"
        },
        {
          "value": 3,
          "ko": "19200 bps",
          "en": "19200 bps"
        },
        {
          "value": 4,
          "ko": "38400 bps",
          "en": "38400 bps"
        },
        {
          "value": 5,
          "ko": "57600 bps",
          "en": "57600 bps"
        },
        {
          "value": 6,
          "ko": "115200 bps",
          "en": "115200 bps"
        }
      ],
      "ref": "p.56 3.4.7"
    },
    {
      "table": "holding-registers",
      "address": 301,
      "manualAddress": "400302 (012D)",
      "type": "u16",
      "name": {
        "ko": "패리티",
        "en": "Parity"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "없음",
          "en": "NONE"
        },
        {
          "value": 1,
          "ko": "짝수",
          "en": "EVEN"
        },
        {
          "value": 2,
          "ko": "홀수",
          "en": "ODD"
        }
      ],
      "ref": "p.56 3.4.7"
    },
    {
      "table": "holding-registers",
      "address": 302,
      "manualAddress": "400303 (012E)",
      "type": "u16",
      "name": {
        "ko": "정지 비트",
        "en": "Stop bit"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "1비트",
          "en": "1 bit"
        },
        {
          "value": 1,
          "ko": "2비트",
          "en": "2 bits"
        }
      ],
      "ref": "p.56 3.4.7"
    },
    {
      "table": "holding-registers",
      "address": 303,
      "manualAddress": "400304 (012F)",
      "type": "u16",
      "name": {
        "ko": "응답 대기 시간",
        "en": "Response waiting time"
      },
      "unit": "ms",
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "range": {
        "min": 5,
        "max": 99
      },
      "ref": "p.56 3.4.7"
    },
    {
      "table": "holding-registers",
      "address": 304,
      "manualAddress": "400305 (0130)",
      "type": "u16",
      "name": {
        "ko": "통신 쓰기 허용",
        "en": "Communication write"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "허용",
          "en": "ENABLE"
        },
        {
          "value": 1,
          "ko": "금지",
          "en": "DISABLE"
        }
      ],
      "ref": "p.56 3.4.7"
    },
    {
      "table": "holding-registers",
      "address": 306,
      "manualAddress": "400307 (0132)",
      "type": "u16",
      "name": {
        "ko": "통신 프로토콜",
        "en": "Communication protocol"
      },
      "access": "rw",
      "fc": [
        3,
        6,
        16
      ],
      "values": [
        {
          "value": 0,
          "ko": "RTU",
          "en": "RTU"
        },
        {
          "value": 1,
          "ko": "ASCII",
          "en": "ASCII"
        }
      ],
      "ref": "p.57 3.4.7"
    }
  ],
  "notes": [
    {
      "ko": "TM2 와 TM4 는 보유 레지스터 주소가 다르다(통신 매뉴얼 p.37) — 이 파일은 TM4 전용. 입력 레지스터·코일은 앞부분이 같다.",
      "en": "TM2 and TM4 use different holding addresses (p.37); this file is TM4 only."
    },
    {
      "ko": "보유 레지스터는 CH1 만 적었다. CH2~CH4 는 같은 순서로 +1000(03E8h)씩: 예) CH2 SV 401001(03E8), CH2 RUN/STOP 401051(041A), CH3 오토튜닝 402101(0834) (pp.42-47).",
      "en": "Holding registers list CH1; CH2-CH4 follow at +1000 (03E8h) each, e.g. CH2 SV 401001(03E8), CH2 RUN/STOP 401051(041A), CH3 AT 402101(0834) (pp.42-47)."
    },
    {
      "ko": "통신 단자는 기본 모듈(…B)에만 있다. 확장 모듈(…E)은 기본 모듈 옆에 붙여 쓴다(사용자 매뉴얼 p.18).",
      "en": "Power/comm terminal only on the basic module (…B); expansion modules (…E) attach to it (user manual p.18)."
    },
    {
      "ko": "통신 매뉴얼 TM4 열의 «400119 (00DA)» 는 앞뒤 번호로 보면 오기로 보인다 — 여기선 쓰지 않았다.",
      "en": "The TM4 column entry «400119 (00DA)» looks like a typo; not used here."
    }
  ],
  "sources": [
    {
      "title": "TM Series Communication Manual MWA-TMC1-V2.2-EN",
      "publisher": "Autonics",
      "edition": {
        "ko": "MWA-TMC1-V2.2-EN (PDF 작성 2026-08-26)",
        "en": "MWA-TMC1-V2.2-EN (PDF created 2026-08-26)"
      },
      "url": "https://www.autonics.com/glb/common/download/528500",
      "pages": {
        "ko": "pp.37-57 매핑 표 (인쇄 쪽 = PDF 쪽)",
        "en": "pp.37-57 mapping table (printed page = PDF page)"
      },
      "checked": "2026-10-22"
    },
    {
      "title": "TM Series User Manual MCT-TMU1-V4.0-EN",
      "publisher": "Autonics",
      "edition": {
        "ko": "MCT-TMU1-V4.0-EN (PDF 작성 2026-08-19)",
        "en": "MCT-TMU1-V4.0-EN (PDF created 2026-08-19)"
      },
      "url": "https://www.autonics.com/glb/common/download/528473",
      "pages": {
        "ko": "pp.18-19 주문 정보, p.28 통신 인터페이스",
        "en": "pp.18-19 ordering information, p.28 Communication Interface"
      },
      "checked": "2026-10-22"
    }
  ]
}
