1. 개요
미쓰비시 FX3U/FX3G/FX3S 시리즈 PLC는 통신 어댑터 FX3U-485ADP-MB 또는 FX3U-232ADP-MB를 통해 Modbus RTU 마스터 또는 슬레이브 기능을 구현할 수 있습니다. 본 문서는 미쓰비시 공식 『FX 사용자 매뉴얼 - 통신편』을 바탕으로 FX3U 시리즈 PLC의 Modbus 주소 매핑 규칙을 자세히 설명합니다.
FX3U 시리즈 PLC는 두 가지 Modbus 동작 모드를 지원합니다.
- Modbus RTU 마스터(Master): 슬레이브 기기(인버터, 계측기 등)를 능동적으로 읽고 씀
- Modbus RTU 슬레이브(Slave): 상위 기기의 읽기/쓰기 요청에 수동으로 응답
2. Modbus 주소 유형 설명
Modbus 프로토콜은 4가지 데이터 영역을 정의하며, 각 영역에는 고정된 주소 범위와 기능 코드가 있습니다.
| Modbus 주소 영역 | 기능 코드 | 읽기/쓰기 | 데이터 형식 | 대응 FX3U 디바이스 |
|---|---|---|---|---|
| 0xxxx(코일) | 01(코일 읽기) / 05(단일 코일 쓰기) / 15(여러 코일 쓰기) | 읽기/쓰기 | 비트(1 bit) | Y/M/S 등 비트 디바이스 |
| 1xxxx(이산 입력) | 02(이산 입력 읽기) | 읽기 전용 | 비트(1 bit) | X 입력 릴레이 |
| 3xxxx(입력 레지스터) | 04(입력 레지스터 읽기) | 읽기 전용 | 워드(16 bit) | 특수 레지스터 / 고정 매핑 |
| 4xxxx(유지 레지스터) | 03(유지 레지스터 읽기) / 06(단일 레지스터 쓰기) / 16(여러 레지스터 쓰기) | 읽기/쓰기 | 워드(16 bit) | D/R 데이터 레지스터 |
중요 설명: Modbus 주소에는 두 가지 표기 방식이 있습니다——영역 접두사가 붙은 것(예: 40001)과 순수 오프셋(예: 00000)입니다. 실제 통신에 사용되는 것은 0 기반(0-based) 오프셋 주소입니다.
3. FX3U 기본 Modbus 주소 매핑 표
3.1 이산 입력 영역(X 입력 릴레이) → 1xxxx
FX3U의 입력 릴레이 X는 Modbus 1xxxx 이산 입력 영역에 고정 매핑되며 읽기 전용입니다.
| Modbus 주소 | FX3U 디바이스 | 설명 |
|---|---|---|
| 10001 | X000 | 입력 릴레이 0번 비트 |
| 10002 | X001 | 입력 릴레이 1번 비트 |
| 10003 | X002 | 입력 릴레이 2번 비트 |
| 10004 | X003 | 입력 릴레이 3번 비트 |
| 10005 | X004 | 입력 릴레이 4번 비트 |
| 10006 | X005 | 입력 릴레이 5번 비트 |
| 10007 | X006 | 입력 릴레이 6번 비트 |
| 10008 | X007 | 입력 릴레이 7번 비트 |
| 10009 | X010 | 입력 릴레이 8번 비트(8진수) |
| 10010 | X011 | 입력 릴레이 9번 비트(8진수) |
| ... | ... | 이하 동일. X는 8진수 어드레싱 |
| 10256 | X337 | 최대 주소(I/O 점수에 따라) |
주의: FX 시리즈 PLC의 X/Y 입출력은 8진수 어드레싱을 사용하며 10진수가 아닙니다! X0-X7이 처음 8비트, X10-X17이 다음 8비트이며 이하 동일합니다.
3.2 코일 영역(Y/M/S 등) → 0xxxx
FX3U의 출력 릴레이 Y, 보조 릴레이 M, 상태 S 등 비트 디바이스는 Modbus 0xxxx 코일 영역에 매핑할 수 있으며 읽기/쓰기가 가능합니다.
기본 매핑(예시):
| Modbus 주소 범위 | FX3U 디바이스 | 수량 | 설명 |
|---|---|---|---|
| 0x0000 - 0x001F (00001-00032) | Y000-Y017 | 32점 | 출력 릴레이 Y(8진수) |
| 0x0020 - 0x005F (00033-00096) | M0-M63 | 64점 | 보조 릴레이 M |
| 0x0060 - 0x007F (00097-00128) | S0-S31 | 32점 | 상태 S |
설명:
- 코일 영역 매핑은 파라미터로 사용자 정의 가능
- 기본적으로 출력 릴레이 Y가 가장 앞쪽에 매핑됨
- 보조 릴레이 M은 그 다음 영역에 매핑됨
- 각 PLC 디바이스 영역은 1비트를 점유
3.3 유지 레지스터 영역(D/R 데이터 레지스터) → 4xxxx
FX3U의 데이터 레지스터 D는 Modbus 4xxxx 유지 레지스터 영역에 매핑되며 읽기/쓰기가 가능합니다.
| Modbus 주소 | FX3U 디바이스 | 설명 |
|---|---|---|
| 40001 | D0 | 0번째 데이터 레지스터 |
| 40002 | D1 | 1번째 데이터 레지스터 |
| 40003 | D2 | 2번째 데이터 레지스터 |
| 40004 | D3 | 3번째 데이터 레지스터 |
| ... | ... | 이하 동일 |
| 40200 | D199 | 199번째 데이터 레지스터 |
| 40201 | D200 | 200번째 데이터 레지스터(유지형) |
| ... | ... | 이하 동일 |
| 48000+ | D7999+ | 데이터 레지스터 최대 주소 |
계산 공식: Modbus 주소 = 40000 + D 레지스터 번호 + 1
예시: D100에 접근할 때 Modbus 주소 = 40000 + 100 + 1 = 40101
D 레지스터 구역 설명:
| D 레지스터 범위 | 점수 | 설명 |
|---|---|---|
| D0-D199 | 200점 | 범용형, 유지형으로 변경 가능 |
| D200-D511 | 312점 | 유지형, 비유지로 변경 가능 |
| D512-D7999 | 7488점 | 유지형, D1000 이후는 파일 레지스터로 설정 가능 |
3.4 입력 레지스터 영역 → 3xxxx
FX3U의 3xxxx 입력 레지스터 영역은 보통 읽기 전용 데이터에 사용되며 매핑이 비교적 고정되어 있습니다.
- 입력 레지스터는 읽기 전용
- 보통 아날로그 입력 모듈의 데이터 레지스터에 매핑됨
- 구체적인 주소는 장착한 아날로그 모듈의 모델과 수량에 따라 달라짐
4. 사용자 정의 디바이스 할당
FX3U의 Modbus 주소 매핑은 구성 가능합니다. 사용자 정의 디바이스 할당 기능을 통해 서로 다른 PLC 디바이스를 Modbus 주소 공간에 매핑할 수 있습니다.
구성 규칙:
- 코일(0xxxx)과 유지 레지스터(4xxxx)는 구성 가능
- 이산 입력(1xxxx)과 입력 레지스터(3xxxx)의 매핑은 고정
- 최대 8개의 PLC 디바이스 영역을 Modbus 주소 공간에 매핑 가능
- 각 구성 그룹 정보는 2개의 레지스터를 점유
구성 단계:
- GX Works2 프로그래밍 소프트웨어에서 PLC 파라미터 설정 열기
- 「Modbus 시리얼 통신」 설정 항목 찾기
- 매핑할 디바이스 유형과 시작 주소 구성
- 매핑할 디바이스 수량 설정
- 파라미터를 PLC에 다운로드
5. PLC 슬레이브 구성 단계
5.1 통신 어댑터 설치
- 통신 어댑터 FX3U-485ADP-MB를 PLC 왼쪽에 설치
- 어댑터 모델이 Modbus RTU를 지원하는지 확인(-MB 접미사)
- 배선: A+를 RS485의 A선에, B-를 RS485의 B선에 연결
5.2 통신 파라미터 설정
특수 데이터 레지스터 D8120으로 통신 포맷을 설정합니다.
| D8120 설정값(H) | 전송 속도 | 데이터 비트 | 패리티 | 정지 비트 |
|---|---|---|---|---|
| H0000 | - | 8비트 | 없음 | 1비트 |
| H0080 | 600bps | 8비트 | 없음 | 1비트 |
| H0081 | 600bps | 8비트 | 홀수 | 1비트 |
| H0082 | 600bps | 8비트 | 짝수 | 1비트 |
| H00B0 | 19200bps | 8비트 | 없음 | 1비트 |
| H00B1 | 19200bps | 8비트 | 홀수 | 1비트 |
| H00B2 | 19200bps | 8비트 | 짝수 | 1비트 |
자주 쓰는 구성: 9600bps, 8데이터 비트, 짝수 패리티, 1정지 비트 → D8120 = H00A2
5.3 슬레이브 주소 설정
특수 데이터 레지스터 D8121로 Modbus 슬레이브 주소를 설정합니다.
- D8121 = 슬레이브 주소(1-247)
- 예: D8121 = 1은 슬레이브 주소가 1임을 의미
5.4 Modbus 명령 호출
전용 Modbus 통신 명령을 사용합니다.
- 마스터 모드: 전용 Modbus 읽기/쓰기 명령 ADPRW(FNC276)을 사용합니다. ADPRW는 하나의 명령으로 기능 코드(S1)에 따라 읽기/쓰기를 구분합니다: H01 코일 읽기, H02 이산 입력 읽기, H03 유지 레지스터 읽기, H04 입력 레지스터 읽기, H05 단일 코일 쓰기, H06 단일 레지스터 쓰기, H0F 복수 코일 쓰기, H10 복수 레지스터 쓰기, H17 복수 레지스터 읽기/쓰기. 형식 ADPRW S S1 S2 S3 S4 D: S=슬레이브 국번(0=브로드캐스트), S1=기능 코드, S2/S3/S4=시작 주소·개수 등 명령 파라미터, D=데이터/응답 시작 디바이스. FX3U에는 ADPU, REPU라는 두 개의 명령은 존재하지 않으며, 읽기와 쓰기는 모두 ADPRW와 기능 코드로 통합해 수행합니다
- 슬레이브 모드: 파라미터에서 슬레이브 모드를 활성화하면 PLC가 자동으로 응답
6. PLC 마스터가 인버터를 읽는 예시
FX3U가 마스터로 동작하며 미쓰비시 인버터의 운전 주파수를 읽는 경우를 가정합니다.
| 모니터 항목 | 인버터 명령 코드 | Modbus 주소 | 설명 |
|---|---|---|---|
| 운전 모드 | H7B | 40010 | 운전 상태 |
| 출력 주파수(속도) | H6F | 40201 | 실제 출력 주파수 |
| 출력 전류 | H70 | 40202 | 모터 전류 |
| 출력 전압 | H71 | 40203 | 출력 전압 |
통신 단계:
- 마스터 통신 파라미터 설정(전송 속도, 패리티 등)
- 슬레이브 주소 지정(인버터 국번)
- 읽을 Modbus 주소 지정
- 지정된 D 레지스터로 데이터 읽기
- 데이터 처리 후 표시 또는 제어
7. 자주 묻는 질문과 문제 해결 가이드
7.1 통신 무응답
- 배선 확인: RS485의 A+와 B-가 역접속되지 않았는지
- D8120 설정 확인: 통신 포맷이 올바른지
- D8121 설정 확인: 슬레이브 주소가 올바른지
- 어댑터 모델 확인: -MB 접미사가 붙은 Modbus 전용 어댑터여야 함
- 버스 전압 측정: A선은 B선보다 약 200mV 높아야 함
7.2 데이터를 읽을 수 없음
- 디바이스 매핑 확인: 접근할 디바이스가 매핑 범위 내인지 확인
- 주소 오프셋 확인: 1 기반과 0 기반의 차이에 주의
- 8진수 어드레싱 확인: X/Y 디바이스는 8진수이며 10진수가 아님
- 주소 범위 확인: 매핑된 디바이스 수량을 초과하지 않았는지
7.3 데이터가 올바르지 않거나 깨짐
- 데이터 형식 확인: 16비트 정수인지 32비트 부동소수점인지
- 바이트 순서 확인: 빅엔디안인지 리틀엔디안인지, 일치하는지
- 워드 순서 확인: 32비트 데이터의 상위/하위 워드 순서
- 스케일링 확인: 배율을 곱해야 하는지
7.4 간헐적 통신 실패
- 실드 케이블 확인: 실드 트위스트 페어 케이블을 사용했는지
- 버스 길이 확인: 거리가 사양을 초과하지 않았는지
- 간섭 확인: 통신선이 동력선과 평행하게 배선되지 않았는지
- 종단 저항 확인: 버스 양끝에 120Ω 종단 저항을 추가했는지
8. 지멘스 S7-200 SMART와의 차이
| 비교 항목 | 미쓰비시 FX3U | 지멘스 S7-200 SMART |
|---|---|---|
| X/Y 어드레싱 | 8진수 | 10진수 |
| 유지 레지스터 매핑 | 기본은 D0부터, 구성 가능 | HoldStart와 MaxHold로 구성 |
| 통신 어댑터 | 외장 FX3U-485ADP-MB 필요 | 온보드 RS485 |
| 프로그래밍 명령 | ADPRW(FNC276) 전용 명령(기능 코드로 읽기/쓰기) | MBUS_CTRL/MBUS_MSG 라이브러리 명령 |
| 구성 방식 | PLC 파라미터 + 특수 레지스터 | 라이브러리 명령 호출로 구성 |
9. 요약
미쓰비시 FX3U 시리즈 PLC의 Modbus 주소 매핑 규칙:
- 0xxxx 코일 → Y/M/S 등 비트 디바이스, 구성 가능
- 1xxxx 이산 입력 → X 입력 릴레이, 고정 매핑
- 3xxxx 입력 레지스터 → 읽기 전용, 아날로그 입력
- 4xxxx 유지 레지스터 → D 데이터 레지스터, 구성 가능
실제 적용에서는 X/Y 디바이스의 8진수 어드레싱에 특히 주의해야 하며, 이것이 미쓰비시 PLC와 지멘스 PLC의 가장 큰 차이입니다. 먼저 Modbus Poll 같은 디버깅 소프트웨어로 테스트하고 주소 매핑이 올바른지 확인한 뒤 PLC 프로그램을 작성하는 것을 권장합니다.
10. 관련 링크
- Modbus RTU 통신 기초 튜토리얼
- 미쓰비시 FX3U Modbus 통신 구성 실례
- 미쓰비시 인버터 Modbus 제어 가이드
- RS485 버스 배선 규격
답글 작성