이 문서는 Siemens S7-1200 PLC와 T6 드라이버 간 Modbus RTU 통신 설정 방법을 설명합니다.
- 하드웨어:
- S7-1200 PLC: CPU 1215C DC/DC/DC
- CM1241: RS422/485
- T6: T6-1000RS, T6M80-1000H2A3-M17S
- 24V 전원 공급 장치: S-150-24
- 개요:
S7-1200 PLC는 Modbus RTU 마스터로 동작하고, T6 드라이버는 Modbus 슬레이브로 동작합니다. PLC는 T6 드라이버로부터 모터 위치 파라미터를 읽습니다.
- 구현 단계:
- 단계 1: T6 드라이버 파라미터 설정
| 파라미터 | 설정값 |
|---|---|
| Pr5.29 = 4 | 패리티: 없음, 데이터 비트: 8, 스톱 비트: 1 |
| Pr5.30 = 6 | 보레이트: 115200 |
| Pr5.31 = 1 | RS485 슬레이브 주소: 1 |
- 단계 2: Modbus RTU 통신 모듈 설정

- 단계 3: 시스템 메모리 활성화
프로젝트 트리에서 PLC_1을 선택하고 마우스 오른쪽 버튼을 클릭하여 속성을 엽니다. 속성 창에서 시스템 및 클록 메모리로 이동하여 시스템 메모리 바이트 활성화 체크박스를 선택합니다.

- 단계 4: MB_COMM_LOAD 명령어 호출
Main [OB1] 블록을 엽니다. 명령어 → 통신 → 통신 프로세서 → Modbus로 이동하여 MB_COMM_LOAD 명령어를 아래 그림과 같이 프로그램 세그먼트에 드래그합니다.

- 단계 5: 데이터 송수신 버퍼 영역 생성
프로젝트 트리에서 새 블록 추가 → 데이터 블록(DB) → 확인을 선택합니다. 아래 그림과 같이 새 블록을 추가한 후 최적화된 블록 액세스 옵션을 비활성화하고 데이터 송수신 버퍼 배열을 정의합니다.

- 단계 6: MB_MASTER 명령어 호출
Main [OB1] 블록을 엽니다. 명령어 → 통신 → 통신 프로세서 → Modbus로 이동하여 MB_MASTER 명령어를 아래 그림과 같이 프로그램 세그먼트에 드래그합니다.

이 명령어에서 MB_ADDR(슬레이브 주소)을 1로, MODE를 0으로 설정하면 마스터가 읽기 모드로 동작합니다. DATA_ADDR 시작 주소는 424620입니다. 이 주소는 RS485 통신용 파라미터 Pr8.43(모터 위치)에 해당합니다. Pr8.43의 Modbus 레지스터 주소는 0x602B이며, 10진수로 24619입니다. 여기에 T6 드라이버의 홀딩 레지스터 오프셋 400001을 더하면: 24619 + 400001 = 424620이 됩니다.
- 단계 7: 프로그램 실행 및 Pr8.43 읽기
PLC 프로그램에서 수신된 데이터는 0x1A9D이며, 10진수로 변환하면 6813입니다. T6 드라이버에서 Pr8.43 = 6813임을 확인하여 데이터가 올바르게 읽혔는지 검증합니다.
- 요약
이 문서는 Siemens S7-1200 PLC와 T6 드라이버 간의 기본적인 Modbus RTU 통신 설정을 보여줍니다. 동일한 방법을 S7-1200과 다른 StepperOnline 드라이버 간 통신에도 적용할 수 있습니다.