IIoT 기술 매거진 - 아이씨엔
Home » 이슈포커스 » 산업용IoT » PROFINET, 산업용 이더넷의 표준(4)

PROFINET, 산업용 이더넷의 표준(4)

지난 3회에 거쳐 PROFINET의 일반적인 특징 및 실시간성, 그리고 IO 통신 구현 방법에 대해 알아 보았습니다. 이번호에서는 PROFINET만이 가지는 특징인 CBA – 객체 기반 자동화(Component based Automation)에 대해 소개합니다.

글_ 장희돈, 지멘스 heedon.chang@siemens.com

들어 가는 말

먼저 지난 9월 26일 “PROFINET Comes Korea” 라는 타이틀 아래, 한국 프로피버스협회 주관의 Open PROFINET 세미나에 많은 관심을 보여주신 모든 분들께 지면으로 감사의 말씀을 드립니다.

지난 3회에 걸쳐 PROFINET이 가지고 있는 일반적인 특징, Realtime 그리고 IO의 구현에 대해서 알아 보았습니다. 이번에는 PROFINET만이 가지고 있는 CBA라는 특성을 소개 하도록 하겠습니다. CBA는 Component based Automation의 약어로, 분산 자동화의 개념을 도입하여 산업용 이더넷 시스템 위에서 이종간의 통합에 관한 Solution입니다.

PROFINET CBA – Distributed Automation

PROFINET CBA가 무엇인지 설명할 때 가장 손쉬운 방법으로, 이 글을 보시는 분들은 Excel 작업과 한글 작업을 생각 하시면 될 것 같습니다. 여러분은 작업 보고서, 내부 결재 문서 등을 작성 하기 위해 Excel등의 tool을 이용하여 Graph를 작성 하십니다. 또한, 이렇게 생성한 Graph를 손쉽게 한글 프로그램 혹은 다른 Word Process 프로그램에서 가져와서(Import) 사용합니다. 여기서 그냥 지나친 부분이 있다면, Excel은 Microsoft 의 제품이고, 한글은 한컴사의 제품입니다. 서로 다른 두 개의 제조사의 소프트웨어에서 여러분은 손쉽게 Excel의 Graph를 Copy & Paste를 통해서 원하는 곳에 사용하고 있습니다. 이러한 작업이 가능하게 되는 것은 그 내부적으로 보면, 객체, COM/DCOM 이라는 개념이 들어가 있어 가능합니다. Excel에서 작업한 내용은 하나의 객체로 구성 하여, 이 객체가 필요한 다른 프로그램에서 손쉽게 사용할 수 있으면 사용자가 편하게 사용 할 수 있을 것이라는 아이디어에서 이러한 기술이 상용화되고 있습니다.

그러면, 이러한 기술을 자동화의 영역으로 적용 한다면 어떨까요? 자동화 시스템의 가장 큰 두통 거리 중 하나는 개별 시스템의 동작이 아닌, 서로 다른 여러 이 기종 시스템 사이의 통합이라는 점에 있습니다. 개별 Controller Maker들은 전용의 방식을 이용하여 하부 디바이스 혹은 다른 Controller, HMI, 그 상위 시스템과 통합을 합니다.
다른 방법으로는 Field Bus 와 같은 Open Solution을 이용하여 통합을 할 수 있습니다. 그러나 이 경우 제조사의 Controller가 모든 종류의 Field Bus를 지원하지 못하여, 현실적으로 Open 기반에서 모든 자동화 시스템을 통합 하기에는 어려운 점이 있습니다.

PROFINET CBA는 앞서 설명 드렸던 Excel의 Graph와 같이 Open 객체를 이용하여, 하나의 Open Flat form에서 전 자동화의 요소를 통합하여 사용하려는데 그 목적이 있습니다.

PROFINET CBA를 구성 하는 것은 따라서 세 단계로 구분 될 수 있습니다.

(1) 제어 시스템의 설계 및 모듈화

(2) 모듈화된 시스템의 통합

(3) 상/하위 시스템의 통합

또한, 사용자는 기계 설비, 자동화 시스템의 모듈화를 통해 하나의 작업을 여러 개의 서브작업으로 나눌 수 있습니다. 이러한 모듈화의 개념은 기계 및 플랜트 건설에 있어서 성공적으로 사용되고 있는데, 중앙 집중식 솔루션에 비해 구성과 커미셔닝 시간을 단축시키고, 플랜트의 모듈이 재사용 가능하다는 두 가지의 주목할 만한 이점이 있습니다.

이제부터 PROFINET CBA를 통해 통합과 모듈화의 이점을 확인하겠습니다.

PROFINET CBA에서는 객체를 Component로 기술하고 있고, 이 객체기반 즉 Component based 의 자동화 시스템을 구성합니다. 또한, PROFINET은 Industrial Ethernet에 기초한 자동화 표준이며, IEC 61499-1을 기초로 두었고, PROFINET CBA는 정의된 컴퍼넌트 기반의 모듈 및 분산 자동화 솔루션 구현을 위한 기술입니다.

IEC 61499-1의 기본적인 용어들은 “System”, “Device”, “Resource”, “Application” 및 “Function Block”인데, 표1과 같이 PROFINET CBA의 사양은 이를 따르고 있습니다.

hilscher

PROFINET CBA의 기본 개념은 컴퍼넌트의 생성과 컴퍼넌트의 응용을 분리하는 것이며, 이는PROFINET 컴퍼넌트의 생성을 위한 엔지니어링, 분산된 자동화 어플리케이션간의 통신을 위한 아키텍처의 정형화, PROFIBUS와 같은 기존 필드버스 시스템을 위한 메커니즘의 마이그레이션 및 OPC를 통한 HMI의 통합을 정의하고 있습니다. 즉 앞서 보였던 모듈화, 모듈간 통합 그리고 상위 시스템과의 통합입니다.

컴퍼넌트가 생성될 때 내부작업(타 시스템간의 인터페이스)이 정의되고, 그 후에는 구성과 프로그래밍의 과정을 거칩니다. 컴퍼넌트의 공급업체는 과거에 사용했던 것과 동일한 시스템 사양구성과 프로그래밍 툴을 적용할 수 있으며, 이 툴을 컴퍼넌트의 인터페이스를 정의하는데 사용할 수 있습니다.

이러한 기술적 인터페이스를 사용하여 한 컴퍼넌트는 런타임 중에도 분산된 플랜트의 다른 컴퍼넌트의 기능을 사용할 수 있게 됩니다. PROFINET CBA는 개방형 그리고 객체 지향적 런타임 컨셉을 제시합니다.(그림 1)

1. PROFINET Components

자동화 플랜트나 생산 공정에서 특정한 기술적 function이 기계, 전기적 컴퍼넌트의 상호작용에 의해 정의되고, 관련된 제어 프로그램에 의해 보완된 것을 기술 모듈(technological module)이라 합니다.

분산형 플랜트의 엔지니어링에서 기술 모듈은 PROFINET 컴퍼넌트입니다. 이는 디바이스의 H/W 구성 데이타, 모듈 파라미터 및 선택적인 사용자 프로그램을 포함하고 있으며, 실제 디바이스의 기능은 PROFINET 컴퍼넌트안에 은닉화되어 동작합니다. PROFINET 컴퍼넌트는 다음과 같이 두가지 중요한 정보로 구성 됩니다.

* 기술 Function(technical function)

* Function이 실행되는 관련 디바이스 (Profinet Controller & IO Devices)

1) 기술 Function
기술 Function은 사용자 어플리케이션과 다른 PROFINET 컴퍼넌트와 통신하기 위한 인터페이스를 말하며 이는 Siemens 에서 제공 하는 Simatic iMap의 plant view의 input, output block에서 볼 수 있습니다.(그림 2)

2) 디바이스
디바이스는 PROFINET 컴퍼넌트의 H/W 사양 데이터를 포함한 컴퍼넌트의 일부이며, 이는 Simatic iMap의 network view에서 하나 이상의 버스 연결을 가지고 있는 Object를 통해 볼 수 있습니다.(그림 3)

PROFINET 컴퍼넌트는 공급자 사양 데이터를 포함하여 생성되는지, 포함하지 않는지에 따라 표준 컴포넌트(standard component)와 단독 컴포넌트(singleton component)로 구분됩니다.(그림 4)

3) PROFINET Component Description (PCD)
그림 4.처럼 컴퍼넌트는 PROFINET Component Description(PCD)를 가지고 있는데, 이는 일반적으로 공급사의 엔지니어링 툴(예를 들어 STEP7)을 사용하여 플랜트를 구성할 때 생성되어 집니다. PCD는 XML(Extended Markup Language) 파일로 저장 되며, 모든 PROFINET CBA 툴은 PCD 해석이 가능 합니다. 위의 동작을 통해서 PCD를 구성하게 되며, 이러한 구조는 그림 5.와 같습니다.

2. PROFINET CBA Communication

PROFINET CBA의 통신은 Ethernet을 기반으로 100Mbit/s를 표준으로 사용 합니다. 물론 엔지니어링 시스템과 Profinet Controller 간에서 더 낮은 전송율의 통신도 가능합니다.(예: 무선랜을 사용할 경우)

1) Interconnection
디바이스의 기술 Function간 연결을 Interconnection이라고 한다. 이는 Profinet 컨트롤러 사이의 데이터 교환에 사용되고 Simatic iMap에서 구성을 설정할 수 있습니다. Interconnection은 설정 값에 의해 즉시 그리고 자동적으로 연결되는데, 이는 comsumer/provider 모델을 기본으로 하고 있습니다.(그림 6)

2) Consumer 와 Provider
Profinet CBA는 프로세스 데이터 교환에 Comsumer/Provider 모델을 사용하는데, consumer(또는 receiver)는 데이터를 소비 하며, IO 카드의 예를 들자면, input에 대응합니다. 또한, Consumer는 통신 파트너의 구성정보에 따라 대응하는 연결을 자동으로 시작합니다. Consumer의 다른 한쪽은 provider (또는 transmitter)이며, output에 대응되고 interconnection의 데이터 소스에 해당됩니다.

3) Interconnection Type
구성에 따라 아래와 같이 구분됩니다.

* Constants : 상수를 input에 할당해 준다. Function의 테스트시 주로 사용.

* Acyclic interconnection : time-critical 하지 않는 프로세스 데이터 교환에 사용. 데이터는 DCOM wire 프로토콜과 TCP/IP 프로토콜을 사용하여 전송.

* Cyclic interconnection : time-critical한 프로세스 데이터 교환에 사용. Profinet real-time 프로토콜을 사용하여 데이터를 전송.

4) 프로토콜
Profinet 디바이스간 통신의 기본은 IEEE 802.3를 따르는 ethernet 통신입니다. 비주기적 통신에 있어서 Profinet 컨트롤러간의 통신과 또는 HMI/엔지니어링 시스템과 Profinet 컨트롤러의 통신에서는 TCP/IP를 사용합니다. 이 경우 DCOM wire 프로토콜 어플리케이션을 통하여 Profinet 컨트롤러에 접근하게 되고, 주기적 통신에서는 Profinet real-time 프로토콜 클래스1이 사용됩니다.(그림7)

Profinet real-time 프로토콜은 데이터 통신에Ethernet-II 프로토콜을 사용하며, IEEE 802.1q와 IEEE 802.3ac에 따라 VLAN 프레임 포맷(VLAN tagging)을 사용하여 프레임에는 우선 순위가 할당됩니다. Profinet real-time 프로토콜은 OSI 레이어 2 프로토콜이므로 라우팅 자체는 불 가능 합니다. Profinet CBA의 실제 사용에 있어서 이는 주기적 interconnection이 구성되더라도 데이터 교환에는 사용될 수 없다는 것을 의미하고, 이러한 이유로 주기적 interconnection의 커뮤니케이션 링크에 있어서 라우터를 사용할 수 는 없습니다.

Profinet 컨틀롤러는 interconnection에 대한 정보를 Simatic iMap과 같은 Profinet CBA 엔지니어링 시스템 또는 저장된 interconnection 구성으로부터 전달 받게 됩니다. 이 정보가 해석이 되면, interconnection이 자동적으로 시작됩니다. Interconnection이 성공적으로 이루어 지면, provider(output)은 데이터를 consumer(input)으로 전달합니다.

반대로 Profinet CBA 엔지니어링 시스템에의해 interconnection이 삭제되면, consumer가 interconnection을 제거하게 되고, Interconnection의 연결과 제거는 consumer와 provider 사이의 handshake(시스템 연결시의 신호 변경) 절차에 의해 이루어 지는 것입니다. Consumer는 이 절차에서 항상 엑티브한 역할을 하고 있습니다.

3. 플랜트 계획에서 운영까지

Profinet CBA를 통한 분산 자동화 솔루션의 계획부터 운영까지의 절차는 5단계를 거쳐 이루어지고(그림 8), 각각의 단계는 해당 단계의 전문가에 의해 이행됩니다.

1) 플랜트 계획
플랜트의 계획 단계에서는 다음과 같은 사항이 명확하게 결정 되어져야 합니다.

* 어떠한 기술적 기능이 요구되는가?

* 어떤 디바이스를 사용할 것인가?

* 어떤 기술적 기능이 재사용 가능한 모듈과 결합될 수 있는가?

* 모듈에 어떤 인터페이스를 사용할 수 있는가?

* 진단과 시각화에 있어서 어떤 변수가 있는가?

2) Profinet 컴퍼넌트 생성
이 단계에서는 PLC를 선택하고, 인터페이스를 정의하며, 제어 프로그램을 제작합니다.

컴퍼넌트의 생성은 플랜트 건설자 또는 기계 제작자에 의해 이루어지는데, STEP7처럼 벤더가 제공하는 툴과 Proxy를 사용 하여 PROFINET을 바로 지원 하지 않는 다른 Controller혹은 네트워크의 경우, PROFINET협회사이트에서 PROFINET Component Editor를 통해 구성이 가능 합니다.(그림 9)

H/W를 구성할 때, Cycle load due to communication의 파라미터 값이 너무 작으면 컴퍼넌트가 생성되지 않으므로 CPU의 프로퍼티 다이얼로그 박스에서 50% 이상으로 설정해야 합니다.(그림 10)

3) Simatic iMap을 사용한 플랜트 구성
생성된 컴퍼넌트를 통하여 플랜트를 구성 하는 방법은, Simatic iMap (혹은 PROFINET CBA Engineering Tool) 라이브러리에 Profinet 컴퍼넌트를 가져오고(예를 들어 Excel의 Graph를 한글 워드 프로세서에 Copy & Paste로 가져 오기), iMap 프로젝트에 컴퍼넌트를 한번(Singleton component) 또는 여러 번(Standard component) 추가하고, function들을 서로 연결하여 interconnection을 만들어 줍니다.(기존 PLC Logic에서 통신 Function Block등을 이용 하여 통신을 구성 하는 것)

이러한 작업은 Simatic iMap혹은 PROFINET CBA의 Engineering 프로그램에서 이루어 지며, Library에 Component Import, Interconnection, 개별 객체에 다운로드로 작업은 종료됩니다.

또한, 이 과정에서는 function간의 인터커넥션 단계가 포함되는데, 이는 단순히 한 function의 output에서 다른 functoin의 input으로 선을 연결하는 것으로 완료됩니다.(그림 12) 이 선(Line Connection)은 모듈간의 연결관계를 정의하고 있는 것입니다.

100개 이상의 컴퍼넌트를 가지고 있는 Simatic iMap project의 경우, 프로젝트를 여러 개의 작은 프로젝트로 나누는 것이 바람직하다고 볼 수 있습니다. Simatic iMap 버전 2.0이상은 외부 interconnection(external interconnection)을 지원하며, 외부 interconnection은 서로 다른 프로젝트에 있는 function들을 연결하는 기능입니다. 이러한 목적으로 IP 주소, 디바이스 이름, function 이름 및 커넥션 이름의 지정에 의해 interconnection 소스가 할당되는 것입니다.

interconnection이 완료되면 프로젝트를 생성하여, 각 객체가 모두 포함 되어져 있는 Engineering Project를 생성할 수 있습니다. 이로써 만일 여러 벤더에서 제작을 해 오는 기계 장치들의 경우, 단일한 프로젝트 내에서 통합 관리, 제어, 추가 등이 관리될 수 있습니다.

4) 커미셔닝 및 테스트
커미셔닝 단계에서는 아래의 사항이 주요 하게 논의 되어야 합니다.

* 각 노드의 초기화(어드레스 할당)

* 디바이스 커미셔닝

* 프로그램 다운로드

* interconnection 다운로드

* Profinet 컴퍼넌트의 수정(선택적)

* 플랜트 테스트

* OPC 심볼 파일 생성

네트워크 상에서 디바이스에 접속하려면 정확한 IP주소와 적절한 IP 파라미터를 설정해야 합니다. 또한 디바이스와 STEP7 엔지니어링 컴퓨터는 반드시 이더넷으로 연결되어야 하고 이 둘은 동일한 서브넷(Subnet)에 위치해야만 합니다.

프로그램의 다운로드시 데이터 로딩이 시작되는데, 하드웨어 및 네트워크 구성과 같은 디바이스 정의 데이터를 포함한 사용자 프로그램이 여기에 포함되고, Simatic iMap은 프로그램을 다운로드 하기 위한 커뮤니케이션 메커니즘을 제공합니다. 여기에는 프록시 기능을 사용하는 Profinet 컨트롤러의 구성 정보 데이터 뿐 아니라 포함 된 다른 필드 버스 디바이스의 구성 정보 또한 가지고 있습니다.

Interconnection 다운로드는 Profinet 컨트롤러에서 interconnection 정보를 로딩하는 과정을 포함합니다. 이 과정을 통해, interconnection을 연결하는데 필요한 모든 정보가 Profinet 컨트롤러에 전송되며, 모든 정보가 로드되면, 즉시 데이터 교환이 시작됩니다. 여기서 데이터의 교환은 컨트롤러의 프로그램의 동작과 별도로 진행 되기 때문에, 프로그램에 영향을 미치지 않습니다. Interconnection의 연결은 항상 consumer에 의해 시작되며, 연결 정보나 interconnection 상태는 Simatic iMap의 온라인 모드에서 진단이 가능합니다.

Simatic iMap 프로젝트에 필요한 OPC 심볼 파일을 생성할 수 있는데, 이 파일에는 모든 디바이스의 OPC를 통해 엑세스가 가능한 어드레스 정보를 포함하고 있고, 이 정보는 다른 OPC Client 가 바로 접근 하여, 간단히 모든 정보를 취득 할 수 있습니다.

4. Profinet CBA 진단

Profinet CBA의 진단은 오프라인 진단 및 온라인 진단으로 나누어 지는데, 오프라인 진단으로 Simatic iMap으로 만들어진 분산 자동화 솔루션의 구성을 점검하고, 온라인 진단을 통해 런타임 중에 플랜트의 fault를 해결할 수 있습니다.

1) 오프라인 진단
Profinet 컨트롤러의 커뮤니케이션 프로퍼티는 성능 파라미터에 의해 설정되는데, 이는 Profinet 컨트롤러의 수용량 이용 테스트(capacity utilization test)를 가능하게 합니다. 이는 디바이스 사양의 성능과 실제 디바이스의 성능을 비교하는 작업입니다.

2) 온라인 진단
분산 자동화 플랜트의 CBA 커뮤니케이션 파트너의 온라인 진단은 Simatic iMap의 온라인 뷰에서 할 수 있고, iMap의 그래픽 화면상에서 구성된 모든 디바이스의 연결상태, 온라인/오프라인 일관성과 운영 상태를 체크할 수 있고, 진단 정보를 제공해 줍니다.(그림 13)

PROFINET CBA 사용 예

PROFINET CBA를 통한 많은 Application 중 사용자의 이점을 가장 잘 설명 하고 있는 것은 미국 전자 회사에서 Packaging System에서 여러 Vendor의 회사의 제품을 통합 솔루션으로 구현한 예를 들 수 있습니다.

위의 그림 14.에서 볼 수 있듯이 Packing line역시 많은 설비들이 여러 벤더에서 제공 되고 있습니다. 이러한 시스템의 서로 다른 Platform에서 구동되고 있는데, 아래 표 3.과 같이 정리 될 수 있습니다.

이 이종간의 통합을 위해서 각 Controller는 PROFINET CBA의 컴포넌트로 구성이 되어 iMAP에서 통합 되어, 단일 Monitoring시스템에서 통합 관제 됩니다.

이달의 추천기사 보기

이번 호에서는 분산 자동화 개념을 바탕으로 만들어진 기술, Profinet CBA에 대해 알아 보았습니다. 지면상의 이유로 여기에 기술되지 않은 더 많은 내용은 다음의 웹 페이지에서 확인할 수 있습니다.

www.profinet.com
www.siemens.com/profinet

아이씨엔 매거진 2008년 12월호

이달의 추천기사 보기


추천 뉴스

CLAROTY, Extreme Visibility For Improved Security

슈나이더 일렉트릭, 제조 설비 운영기술 네트워크에 보안강화 나서

전 세계 산업 인프라의 안전과 사이버 보안 과제 해결을 위해 슈나이더 일렉트릭과 클라로티간의 파트너십 체결 ...

힐셔 넷파이 netPI

이제 ‘라즈베리 파이’에서 IIoT를 안정적으로.. 힐셔 netPI 출시

힐셔 netPI, 라즈베리와 결합하여 산업용으로 활성화 산업용 통신 솔루션 선두업체인 힐셔(Hilscher Gesellschaft für Systemautomation mbH)는 ...

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

hilscher