Siemens Profinet IO
Profinet IO 는 Siemens 가 주도하는 산업용 이더넷 표준입니다. S7 PLC 가 분산 I/O (ET200SP / ET200MP / 외부 드라이브) 와 통신하는 데 가장 많이 쓰이며, S7 PLC 자체와도 통신할 수 있습니다.
이 게이트웨이는 공통 통합 엔진을 통해 Profinet 통신을 지원합니다.
S7 와 무엇이 다른가?
| 항목 | S7 (ISO-on-TCP) | Profinet IO |
|---|---|---|
| 포트 | 102 | 34962 / 34963 / 34964 (RT) |
| 통신 모델 | request/response (polling) | cyclic IO exchange (실시간) |
| 주소 표기 | %DB1.DBW0 | slot/subslot/index |
| 주된 용도 | PLC 의 DB 변수 읽기 | 분산 I/O / 드라이브의 process data |
| GSDML | — | 필수 (장비 명세 XML) |
S7 PLC 의 DB 만 읽고 싶다면
그냥 지멘스 S7 페이지의 %DB1.DBW0 형식이 훨씬 쉽습니다. Profinet 은 분산 I/O 자체와 직접 통신 하거나 cyclic 데이터 교환이 필요한 경우 를 위한 옵션입니다.
등록 폼 입력값
| 입력 칸 | 무엇을 적나요 | 예시 |
|---|---|---|
| IP 주소 | Profinet 디바이스 IP | 192.168.0.160 |
| 포트 | Profinet 포트 | 34962 (RT_CLASS_1 기본) |
| Device Name (device-name) | Profinet 디바이스 이름 (DCP) | et200sp-1 |
| GSDML 파일 경로 | 디바이스 명세 XML | /opt/.../gsd/GSDML-...xml |
GSDML 가 핵심
Profinet 은 GSDML (장비 제조사 제공 XML) 없이는 slot/subslot/parameter 의 의미를 모릅니다. 디바이스 제조사 (Siemens / Festo / SEW / Bosch Rexroth 등) 사이트에서 모델별 GSDML 을 받아 게이트웨이에 등록해야 합니다.
태그의 PLC 주소 표기
Profinet 디바이스의 데이터는 slot / subslot / index 좌표로 식별됩니다.
| 표기 | 의미 |
|---|---|
slot:1/subslot:1/index:0 | slot 1, subslot 1, parameter index 0 |
slot:2/subslot:1/input | slot 2 의 cyclic input data |
slot:2/subslot:1/output | slot 2 의 cyclic output data |
또는 GSDML 의 모듈 이름을 그대로 사용할 수도 있습니다.
| 표기 | 의미 |
|---|---|
DI8.input.0 | 8-channel digital input 모듈의 channel 0 |
AI4.value.0 | 4-channel analog input 모듈의 channel 0 |
Drive.actualSpeed | 드라이브의 actual speed |
slot / subslot 이란
- slot — Profinet 디바이스의 슬롯 번호. 0 은 디바이스 자체, 1 부터가 모듈
- subslot — 한 슬롯 안의 sub-module (보통 1)
- index — IO data 의 byte offset 또는 parameter 번호
GSDML 안에 “Module → Submodule → IOData” 트리가 다 정의되어 있습니다.
데이터 형식 매칭
| 의미 | 데이터 형식 | 형식 보조 |
|---|---|---|
| Digital input/output (1 bit) | Boolean | (비움) |
| 16-bit 정수 | Integer | (비움) |
| 32-bit 정수 | Integer | DW |
| 32-bit 실수 | Float | REAL |
| 문자열 (devicename, ordering 정보) | String | (비움) |
byte order 는 빅엔디언 입니다 (Profinet 표준).
흔한 문제와 해결
| 증상 | 가능한 원인 | 해결 |
|---|---|---|
| “Device not reachable (DCP)” | Profinet 디바이스 이름이 다름 | TIA Portal / PRONETA 로 device-name 확인. DCP 명령으로 이름 부여 |
| “GSDML not loaded” | XML 경로 오류 | 절대경로로 정확히, 파일 권한 확인 |
| “Slot/subslot not found” | 디바이스 hardware 구성과 다름 | 실제 장착된 모듈과 GSDML 매칭 점검 |
| 값이 stale | RT cyclic exchange 미시작 | application relation (AR) 시작 확인 |
| AR establish 실패 | 다른 master (S7 PLC) 가 이미 점유 중 | Profinet 디바이스는 보통 마스터 1대 만 가능. 게이트웨이 또는 PLC 중 하나만 |
운영 중인 PLC 의 분산 I/O 직접 접근 금지
실제 운영 환경에서 S7 PLC 의 분산 I/O (ET200SP 등) 에 게이트웨이가 직접 Profinet 으로 붙으면 PLC 와 충돌해 라인이 멈출 수 있습니다. 운영 라인에서는 PLC 의 DB 변수를 S7 으로 읽으시는 게 안전합니다.
다음 단계
- 지멘스 S7 — PLC 의 DB 변수만 필요한 경우의 권장 경로
- 고급 — REST API 의 Profinet 예제 참고.