본문으로 건너뛰기
Industrial Ethernet 심화 · 6/12

PROFINET 개요 분석 — RT·IRT 클래스와 실시간 등급

· Hawk · 9분 읽기

#한 줄 요약

“PROFINET은 세 등급의 conformance class로 결정성을 단계적으로 보장한다. RT(우선순위 큐)와 IRT(시간 인식 스위치)가 그 두 축이다.” Siemens 생태계를 거치는 거의 모든 산업 자동화에서 만나는 표준입니다.

EtherCAT이 Beckhoff/ETG의 색채라면, PROFINET은 *Siemens/PI(PROFIBUS International)*의 색채입니다. 두 표준 모두 결정적 이더넷이지만 철학이 다릅니다. EtherCAT은 master polling + ASIC slave로 극단의 결정성을 추구하고, PROFINET은 표준 Ethernet 인프라와의 호환성을 더 중시합니다.

이 장은 PROFINET의 conformance class(CC-A·CC-B·CC-C), RT와 IRT의 차이, application 모델(Controller·Device·Supervisor), 그리고 슬레이브 명세 파일인 GSDML XML을 정리합니다.

#PROFIBUS에서 PROFINET으로

PROFINET의 이름이 어색한 이유는 PROFIBUS의 이더넷 후속이기 때문입니다.

표준매체연도특징
PROFIBUS DPRS-485198912 Mbps 직렬
PROFIBUS PA2-wire (위험구역)1995공정 자동화용
PROFINETEthernet2003DP의 후속

PROFIBUS의 *application 개념(Controller, Device, GSD 파일)*을 그대로 이어받았습니다. 사용자 입장에서 Step 7 / TIA Portal에서 보이는 화면 구조는 PROFIBUS와 거의 같습니다. 전송 매체만 RS-485에서 Ethernet으로 바뀐 셈입니다.

연속성이 PROFINET의 빠른 채택 동인이었습니다. PLC 프로그래머가 재학습할 필요가 적었습니다.

#Conformance Class — 세 등급

PROFINET은 모든 슬레이브가 같은 결정성을 요구하지 않습니다. 슬레이브와 망 인프라의 능력에 따라 세 등급으로 나뉩니다.

등급이름결정성망 요구전형적 cycle
CC-AUnsynchronized RT우선순위 큐표준 switch 가능100 ms
CC-BSynchronized RT+ diagnostic표준 switch + PTP10~100 ms
CC-CIRT (Isochronous RT)hw scheduleIRT-aware switch 필수31.25 μs~1 ms

CC-A와 CC-B는 RT 묶음입니다. VLAN 802.1Q 우선순위를 활용합니다. CC-C는 IRT입니다. *시간 인식 스위치(time-aware shaper)*가 각 슬롯의 전송 시각을 정확히 통제합니다.

PROFINET CC-C IRT Cycle (1 ms)

빨간 단계의 각 전송 시각컴파일 시점engineering tool (TIA Portal 등)이 전체 토폴로지를 분석해서 스케줄합니다. 노드 추가/삭제 시마다 재스케줄이 필요합니다.

#RT — Priority Queue 방식

CC-A/CC-B의 RT는 VLAN 802.1Q 우선순위 큐를 활용합니다. EtherType은 표준 IP(0x0800)가 아니라 0x8892 (PROFINET RT 전용)입니다.

PROFINET RT Frame Layout

VLAN tag의 PCP 필드(3 bit)가 우선순위입니다. PROFINET RT는 보통 PCP=6을 씁니다. 스위치가 우선순위 6 큐를 먼저 비웁니다. best-effort 트래픽이 뒤로 밀립니다.

이 방식의 결정성은 스위치의 큐 정책에 의존합니다. strict priority 큐를 가진 스위치라면 RT가 항상 먼저 나갑니다. weighted round-robin 큐라면 가끔 best-effort에 밀립니다. 산업용 스위치는 표준적으로 strict priority + multiple queues를 지원합니다.

RT의 한계는 스위치 hop마다 ~수 μs jitter가 더해지는 점입니다. 4 hop이면 수십 μs. 31.25 μs cycle은 불가능합니다. 그래서 CC-A/B는 수 ms 사이클이 한계입니다.

#IRT — 시간 인식 스위치

IRT는 스위치 자체가 시간을 알고 지정된 시각에 지정된 포트로 패킷을 보냅니다. 표준 IT 스위치로는 불가능합니다. Siemens SCALANCE X-200IRT 같은 IRT-aware 스위치가 필수입니다.

IRT 스위치의 내부 동작 (단순화)
매 1 ms cycle:
t=0: 포트 1 → 포트 3 으로 32 byte 전송 (스케줄)
t=50: 포트 2 → 포트 3 으로 64 byte 전송 (스케줄)
t=110: 포트 3 → 포트 1 으로 32 byte 전송 (스케줄)
...
t=200: best-effort 큐 비우기 (green phase 시작)

스케줄 자체는 engineering tool이 생성합니다. 전체 망의 토폴로지와 각 슬레이브의 cycle을 입력받아 충돌 없는 schedule을 계산합니다. 이 계산 자체가 어려운 NP-hard 문제에 가까워, Siemens 같은 벤더의 도구가 거의 독점합니다.

IRT의 jitter는 <1 μs입니다. EtherCAT DC와 비슷한 수준입니다. cycle은 31.25 μs까지 내려갑니다.

#Application 모델 — Controller·Device·Supervisor

PROFINET은 역할을 세 가지로 정의합니다.

역할의미
IO-ControllerPLC, 마스터에 해당S7-1500, S7-1200
IO-Device슬레이브, 필드 디바이스ET 200SP, 가속도 센서, 드라이브
IO-Supervisor진단/조작용 PCTIA Portal, Step 7

EtherCAT의 master-slave가 명확한 역할 구분이라면, PROFINET은 Supervisor라는 제3자를 추가로 둡니다. 이게 PLC 프로그래머 워크플로와 잘 맞습니다. PC에서 PLC와 슬레이브를 모니터링하면서 디버깅하는 절차가 표준화되어 있습니다.

PROFINET application 흐름 — Supervisor(PC)는 TCP/IP로 Controller에, Controller는 RT/IRT로 Device들에 연결

Controller-Device 사이는 주기 PDO가, Supervisor는 비주기 진단이 흐릅니다.

#GSDML — Device 명세 XML

각 IO-Device는 GSDML (General Station Description, Markup Language) 파일을 가집니다. EtherCAT의 ESI XML과 같은 역할입니다.

<?xml version="1.0" encoding="UTF-8"?>
<ISO15745Profile xmlns="http://www.profibus.com/GSDML/2003/11/DeviceProfile"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ProfileHeader>
<ProfileIdentification>PROFINET Device Profile</ProfileIdentification>
<ProfileRevision>1.20</ProfileRevision>
<ProfileName>Device Profile for PROFINET Devices</ProfileName>
</ProfileHeader>
<ProfileBody>
<DeviceIdentity VendorID="0x002A" DeviceID="0x0301">
<InfoText TextId="IDT_INFO_DEV"/>
<VendorName Value="Siemens AG"/>
</DeviceIdentity>
<DeviceFunction>
<Family MainFamily="I/O" ProductFamily="ET 200SP"/>
</DeviceFunction>
<ApplicationProcess>
<DeviceAccessPointList>
<DeviceAccessPointItem ID="DAP_1"
PNIO_Version="V2.31"
PhysicalSlots="0..63"
ModuleIdentNumber="0x00000001"
MinDeviceInterval="32"
ImplementationType="Conformance Class C">
<ModuleInfo>
<Name TextId="IDT_NAME_DAP"/>
<InfoText TextId="IDT_INFO_DAP"/>
<OrderNumber Value="6ES7155-6AU01-0BN0"/>
</ModuleInfo>
<UseableModules>
<ModuleItemRef ModuleItemTarget="DI_8x24V" AllowedInSlots="1..63"/>
<ModuleItemRef ModuleItemTarget="DO_8x24V" AllowedInSlots="1..63"/>
</UseableModules>
</DeviceAccessPointItem>
</DeviceAccessPointList>
<ModuleList>
<ModuleItem ID="DI_8x24V" ModuleIdentNumber="0x00000010">
<ModuleInfo>
<Name TextId="IDT_NAME_DI8"/>
<OrderNumber Value="6ES7131-6BF00-0CA0"/>
</ModuleInfo>
<VirtualSubmoduleList>
<VirtualSubmoduleItem ID="SUB_DI8" SubmoduleIdentNumber="0x00000010">
<IOData>
<Input>
<DataItem DataType="Unsigned8" TextId="IDT_NAME_DI8_BYTE0"/>
</Input>
</IOData>
</VirtualSubmoduleItem>
</VirtualSubmoduleList>
</ModuleItem>
</ModuleList>
</ApplicationProcess>
</ProfileBody>
</ISO15745Profile>

GSDML의 핵심 정보:

  • VendorID + DeviceID: device 식별자.
  • MinDeviceInterval="32": 최소 cycle = 32 × 31.25 μs = 1 ms (CC-C에서).
  • ImplementationType: CC-A·CC-B·CC-C 중 무엇.
  • Module/Submodule: 슬롯별 I/O 모듈. ET 200SP 같은 모듈러 슬레이브는 기본 단말 + 모듈 슬롯들로 구성.

TIA Portal에서 GSDML 파일을 import하면 해당 device가 project 라이브러리에 들어와 드래그-드롭으로 토폴로지에 추가할 수 있습니다.

#PROFINET vs EtherCAT — 짧은 비교

항목PROFINET (CC-C IRT)EtherCAT
결정성 만드는 방식Time-aware switch + scheduleon-the-fly + DC
인프라 비용IRT 스위치 필수 (비쌈)일반 케이블 daisy-chain
슬레이브 비용IRT NIC 또는 ERTEC ASICLAN9252/ET1100 ASIC
토폴로지star, tree (스위치 기반)line (daisy-chain)
최소 cycle31.25 μs (CC-C)12.5 μs
슬레이브 수 한계망 토폴로지 의존65535 (이론), 256+ (실용)
표준 IP 통합자연 (CC-A는 표준 switch)EoE 터널 필요
한국 시장 채택LS ELECTRIC, 두산 일부현대중공업, 협동로봇

선택의 갈림길은 기존 인프라입니다. Siemens PLC + TIA Portal 환경이라면 PROFINET. 모션 컨트롤러를 처음부터 짜는 흐름이면 EtherCAT이 master 비용 절감에서 유리합니다.

#Siemens 생태계 — 공정 자동화 구성 패턴

국내외 PLC 벤더가 PROFINET·EtherNet/IP 복수 프로토콜 지원 제품을 출시하고 있어, 한 공장에 PROFINET·EtherCAT이 공존하는 게 일반적입니다. 공정 데이터는 PROFINET RT(약 10 ms cycle)로 충분하고, 모션PROFINET CC-C IRT 또는 EtherCAT 별도 segment로 분리하는 이중 protocol topology가 표준 구성입니다.

전형적 구성 예 (Siemens stack 기준):

영역구성
공정 영역S7-1500 IO-Controller + PROFINET RT + ET 200SP 분산 IO 다수
모션 영역EtherCAT segment + Beckhoff AX5000 servo
두 망 연결Gateway 모듈 (PROFINET ↔ EtherCAT)

같은 공장 안에 PROFINET과 EtherCAT이 gateway로 묶여 공존하는 게 일반적입니다. 둘 중 하나가 지배적이지 않습니다. (구체 회사·사이트별 채택은 공개 자료 한정적이라 spec 카탈로그 확인 권장.)

#자주 하는 실수

#”PROFINET RT면 1 ms cycle도 된다”

RT의 cycle 하한스위치 hop 수와 큐 정책에 의존합니다. 4 hop 망에서 worst-case 10 ms가 일반적입니다. 1 ms 이하가 필요하면 IRT (CC-C) 또는 EtherCAT을 봐야 합니다.

#”GSDML과 GSD는 같다”

GSD는 PROFIBUS용, GSDML은 PROFINET용입니다. 이름이 비슷하지만 XML schema가 다릅니다. 기존 PROFIBUS GSD를 PROFINET 마스터에 그대로 못 쓰는 이유입니다.

#”IRT는 일반 IT 스위치로 동작한다”

IRT는 시간 인식 스위치가 필수입니다. SCALANCE, Hirschmann RSPE, MOXA EDS-G508A 같은 PROFINET IRT 인증 스위치만 가능합니다. 일반 데스크톱 스위치로는 대역폭은 되어도 결정성은 안 됩니다.

#”PROFINET은 IP 위에서 동작한다”

진단·configuration은 IP(예: DCP는 IPv4 multicast), 주기 RT/IRT는 L2 EtherType 0x8892입니다. RT 프레임은 IP 헤더가 없습니다. 라우터를 넘지 못합니다.

#”TSN이 나오면 PROFINET IRT는 사라진다”

PI(PROFIBUS International)는 PROFINET over TSN profile을 공식 발표했습니다. IRT의 자체 schedule 방식은 TSN 802.1Qbv서서히 대체될 전망입니다. 그러나 현장의 설비 수명이 10~20년이라 완전 전환은 오래 걸립니다.

#정리

  • PROFINET은 PROFIBUS의 이더넷 후속입니다. application 모델(Controller·Device·Supervisor)이 동일합니다.
  • Conformance Class 셋(CC-A·CC-B·CC-C)이 결정성 등급을 정합니다.
  • CC-A/B의 RT는 VLAN 우선순위 큐, CC-C의 IRT는 시간 인식 스위치가 핵심입니다.
  • RT는 수 ms cycle, IRT는 31.25 μs cycle까지 가능합니다.
  • IO-Device는 GSDML XML로 명세됩니다. EtherCAT의 ESI에 해당합니다.
  • IRT 스위치는 engineering tool컴파일 시점 스케줄을 계산해 주입합니다.
  • 한국 공장에는 PROFINET (공정·PLC)과 EtherCAT (모션)이 gateway로 묶여 공존합니다.
  • TSN이 IRT의 schedule 메커니즘을 공통 인프라로 대체하는 흐름입니다.

이 글로 Industrial Ethernet 심화 시리즈의 1차 분량이 끝납니다. 후속 시리즈에서는 EtherNet/IP·POWERLINK·SERCOS III·TSNgateway/protocol bridge 설계를 다룰 예정입니다.

#관련 항목