1 Modbus TCP 개요
Modbus TCP는 산업용 전자 장치 간의 통신을 위해 1979년 Modicon(현재 Schneider Electric)에서 개발한 직렬 통신 프로토콜인 Modbus를 이더넷 환경(TCP/IP)에 맞게 확장한 표준 프로토콜입니다.
- 범용성: 무료로 제한 없이 사용할 수 있어 전 세계 대부분의 산업용 플랫폼(PLC, HMI, 인버터 등)에서 지원합니다.
- 클라이언트-서버 구조: K-SCADA 프로그램이 클라이언트(Master)가 되어 현장 장비인 서버(Slave)에게 데이터를 요청하고 응답을 받습니다.
- 기본 포트번호:
502번을 사용합니다.
2 Modbus 데이터 모델 (메모리 맵)
Modbus는 장비의 데이터를 4가지 메모리 영역으로 나누어 관리합니다. 태그를 생성할 때 장비 제조사의 메모리 맵(Memory Map) 매뉴얼을 참조하여 올바른 주소를 매핑해야 합니다.
| 데이터 영역 (Table) | 오브젝트 타입 | 접근 권한 | 주소 범위 | 설명 (예시) |
|---|---|---|---|---|
| Coil (0x) | 단일 비트 (Bit) | Read-Write | 00001 ~ 09999 | 장비의 디지털 출력 상태 (ex. 펌프 기동/정지 명령) |
| Discrete Input (1x) | 단일 비트 (Bit) | Read-Only | 10001 ~ 19999 | 장비의 디지털 입력 상태 (ex. 밸브 열림/닫힘 감지, 알람 접점) |
| Input Register (3x) | 16비트 워드 (Word) | Read-Only | 30001 ~ 39999 | 아날로그 입력 값 (ex. 현재 온도, 압력 센서 측정값) |
| Holding Register (4x) | 16비트 워드 (Word) | Read-Write | 40001 ~ 49999 | 아날로그 출력/설정 값 (ex. 목표 온도 설정값, PID 제어 파라미터) |
3 K-SCADA 통신 연동 실습 가이드
Step 1. 디바이스 추가
K-SCADA 편집기 상단의 [통신 설정] 메뉴를 열고, Modbus TCP 디바이스 추가 버튼을 클릭합니다. 연결할 PLC 장비의 IP 주소와 통신 포트(보통 502)를 입력합니다.
Step 2. I/O 태그 생성 및 메모리 주소 매핑
태그 데이터베이스 화면에서 새 태그를 추가합니다. 장비 매뉴얼이 '온도값: Holding Register 40010'을 가리킨다고 가정하면, 데이터 타입을 FLOAT 또는 INT로 선택하고 I/O 주소란에 40010 지정합니다.
Step 3. 런타임 통신 확인
설정 후 통신 시작(런타임) 버튼을 눌러 상태 표시줄의 디바이스 연결 상태가 초록색(온라인)으로 변하는지 확인합니다. 태그 데이터 브라우저를 열어 값이 실시간으로 갱신되는지 모니터링합니다.
통신 장애 해결 Tip:
통신이 연결되지 않을 때는 가장 먼저 PC의 명령 프롬프트(CMD)에서 ping [설비 IP]를 입력하여 네트워크 물리적 연결 상태를 점검하세요. 핑 통신이 정상이라면 방화벽 설정(포트 502 예외처리)이 막혀있는지 확인해야 합니다.