tm213 automation runtime · 2019-12-09 · 4 tm213 - automation runtime 소개 1 소개 automation...

64
TM213 Automation Runtime

Upload: others

Post on 11-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213

Automation Runtime

Page 2: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

2 TM213 - Automation Runtime

선행 및 필요 조건

교육 자료 TM210 – Working with Automation Studio

소프트웨어 Automation Studio 4.4

Automation Runtime 4.44

하드웨어

X20 제어기와 X20 I/O 모듈 ETA210 또는

ETAL210 + ETAL690

www.br-automation.com/eta-system

Page 3: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 3

목차

목차

1 소개 ....................................................................................................................................................... 4

1.1 학습 목표 .................................................................................................................................. 5

1.2 안전 표시와 부호 ....................................................................................................................... 5

2 Automation Runtime ............................................................................................................................. 6

2.1 Automation Runtime 구조 ........................................................................................................ 8

2.2 Automation Runtime 진단 능력 ............................................................................................... 11

2.3 연결성과 접근 & 보안 .............................................................................................................. 11

3 설치와 시운전 ...................................................................................................................................... 13

3.1 Automation Runtime 변경과 업데이트 .................................................................................... 14

3.2 구성 ID(Configuration ID)와 파티션 ........................................................................................ 15

3.3 프로젝트 설치 ......................................................................................................................... 16

4 메모리 관리 ......................................................................................................................................... 19

4.1 플래시 메모리 로지컬 파티션 ................................................................................................... 19

4.2 사용하는 RAM ........................................................................................................................ 20

4.3 메모리 정보 확인용 툴 ............................................................................................................. 21

4.4 전역 변수와 지역 변수 선언 ..................................................................................................... 24

5 런타임 성능 ......................................................................................................................................... 30

5.1 Automation Runtime 시작 ...................................................................................................... 30

5.2 프로그램 초기화 ...................................................................................................................... 36

5.3 주기적으로 프로그램 수행 ....................................................................................................... 37

5.4 사이클 타임(cycle time)과 허용 오차(tolerance) ...................................................................... 42

5.5 프로그램 전송시 설정 .............................................................................................................. 46

6 I/O 처리 ............................................................................................................................................... 49

6.1 I/O 구성과 I/O 매핑 ................................................................................................................. 50

6.2 I/O 이미지 처리 ....................................................................................................................... 52

6.3 I/O 모듈 에러 처리 ................................................................................................................... 58

6.4 reACTION Technology .......................................................................................................... 59

7 요약 ..................................................................................................................................................... 61

Page 4: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

4 TM213 - Automation Runtime

소개

1 소개

Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성 있는 실시간 운영

체제(real-time operating system)입니다. Automation Runtime은 자유로운 타겟 시스템 구성과 문제 해결

및 프로그램 실행 서비스를 제공합니다.

Automation Runtime은 모듈 구조, 구성 가능성 및 정확한 시간 내에 어플리케이션이 반복 실행할 수 있는

기능을 갖추고 있습니다. 런타임 품질과 정밀도를 보장하면서 최적의 제품 수량을 달성 할 수 있습니다.

그림 1: Automation Runtime: B&R 전 제품 범위를 위한 소프트웨어 플랫폼

교육 자료는 일반적인 Automation Runtime 개요와 특징을 설명할 것입니다.

Page 5: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 5

소개

1.1 학습 목표

교육 자료에서 참가자가 Automation Studio에서 어플리케이션 개발 시 Automation Runtime을 구성하는

방법을 학습하도록 일반적인 어플리케이션을 예를 들어 설명합니다.

• 자동화 분야에서 실시간 운영 체제(real-time operating system)의 요구 사항

• Automation Runtime 특징과 기능

• 통합 서버와 클라이언트 기능 개요와 진단 옵션

• 균일한 런타임 시스템이 통합 자동화 솔루션에 어떠한 이점이 있는가

• Automation Runtime이 어떻게 메모리 관리하고 변수 선언 범위와 메모리에 변수 저장 방법

• B&R 제어기 시작과 런타임 작동 원리

• Automation Runtime 의 I/O 매니지먼트

• 멀티테스킹에 관련된 상호 관계

• Automation Runtime 구성 옵션

1.2 안전 표시와 부호

특별한 언급이 없으면, 안전 표시와 부호는 "TM210 – Working with Automation Studio"를 준수합니다.

Page 6: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

6 TM213 - Automation Runtime

Automation Runtime

2 Automation Runtime

근본적인 통합 자동화 아이디어와 자동화 솔루션의 자유로운 확장성은 구성 도구와 런타임 시스템을

기반으로 구성된 도구(Tool)의 도전을 야기합니다.

Automation Studio 와 Automation Runtime 요구사항

Automation Studio는 B&R 자동화 구성 요소에 특별히 사용되는 프로젝트 개발 환경입니다. 제어기, 모션

제어, 세이프티 모듈 그리고 화면 작화를 포함합니다. 명확하게 프로젝트를 구조화하고 서로 다른 환경

설정과 다양한 기계 타입을 관리할 수 있기 때문에 Automation Studio는 팀이 함께 일할 수 있는 최적의

환경을 제공합니다.

사용자는 다양한 프로그래밍 언어, 진단 도구 및 편집 툴을 선택하여 엔지니어링의 모든 단계를 지원할 수

있습니다. B&R이 제공하는 기본 라이브러리와 IEC 프로그래밍 언어의 통합은 높은 효율을 제공합니다.

광범위한 시뮬레이션 옵션을 사용하여 하드웨어와 독립적인 테스트 응용 프로그램을 쉽게 개발 할 수

있습니다.

그림 2: Automation Studio: 장비의 전체 라이프 사이클을 위한 엔지니어링 툴

Page 7: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 7

Automation Runtime

Real-time operating system \ Method of operation

Automation Runtime 특성

Automation Runtime 특징은 구성 도구 및 필요한 런타임 시스템 기능이 직면한 문제로 인한 것입니다.

Automation Runtime은 B&R 타겟 시스템에 완전히 통합되어 있습니다. 모든 하드웨어 플랫폼을 지원하며

하드웨어와 독립적인 어플리케이션을 생성합니다.

그림 3: Automation Runtime – 확산형 시스템을 위한 플랫폼

Automation Runtime은 어플리케이션 프로그램이 I/O 시스템, 인터페이스, 필드 버스, 네트워크 및 저장

디바이스 접근을 허락합니다. 타이밍 뿐만 아니라 클라이언트 및 서버 어플리케이션을 위한 포괄적인 구성

옵션은 최신 제어 시스템에 필요한 유연성을 제공합니다.

Automation Runtime은 수 많은 중요 기능을 제공합니다:

• 모든 B&R 타겟 시스템에서 작동

• 하드웨어 독립적인 어플리케이션 제작

• 주기적 런타임 시스템 동작 보장

• 8개 테스크 클래스와 사이클 타임 제공

• 시간 위반 반응 보장

• 모든 테스크 클래스에 허용 오차 제약 설정 제공

• IEC 61131-3 을 준수한 광범위한 라이브러리 제공

• 네트워크와 버스 시스템 접속 제공

• 통한 클라이언트와 서버 인터페이스 포함

• OPC UA 클라이언트 및 서버 인터페이스는 물론 사용자 관리 기능 제공

• 종합 진단 기능 제공

Page 8: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

8 TM213 - Automation Runtime

Automation Runtime

2.1 Automation Runtime 구조

Automation Runtime은 사용자에게 어플리케이션을 만들기 위한 결정성 있고 하드웨어 독립적인 멀티 태스킹

도구를 제공합니다. 하드웨어 및 소프트웨어 리소스를 관리하고 완벽한 진단 기능을 제공합니다.

Automation Runtime의 IEC 라이브러리 기능은 오류를 피하면서 프로그램을 보다 빠르고 쉽게 만듭니다.

Automation Runtime은 결정론적 동작 및 속도에

가장 높은 요구 사항을 충족시킵니다.

어플리케이션에서 이러한 성능의 이점을 활용하기

위해서, 실시간 OS에 추상 레이어가

추가되었습니다. 이렇게 하면 다른 운영 체제를

사용하는 경우 어플리케이션 조정이 필요하지

않음을 사용자가 확인할 수 있습니다. 균일한

프로그래밍 인터페이스는 항상 동등하게 유지됩니다.

그림 4: Automation Runtime 아키텍처

프로그램, 테스크 및 테스크 클래스

프로그램은 테스크 클래스에 할당되고 타겟 시스템에서 수행되는 것을

테스크(task)라 부릅니다.

테스크는 테스크 클래스(task class)에서 주기적으로 수행됩니다.

사이클 타임과 우선 순위는 테스크 클래스를 통해 결정됩니다.

그림 5: 테스크 클래스 #1에서 순환 작업이

포함된 테스크 클래스 시스템

2.1.1 Automation Runtime 타겟 시스템

Automation Runtime은 다양한 하드웨어 플랫폼에서 구동합니다. X20 제어기, Power Panel, Automation

PC, PC 기반 하드웨어 플랫폼에서 사용됩니다.

Automation Runtime Embedded

Automation Runtime Embedded는 Automation Runtime이 독립적인

운영 체제로 실행되는 모든 타겟 시스템에서 구현 될 수 있습니다. X20

제어기, Power Panel, Automation PC, PC 기반 하드웨어 플랫폼은

Automation Runtime Embedded가 적합합니다.

그림 6: 모든 제어 타입을 위한

Automation Runtime

Real-time operating system

Page 9: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 9

Automation Runtime

Automation Runtime simulation - ARsim

ARsim은 실시간 기능은 없지만 다양한 모든 타겟 시스템 기능과

기본적으로 일치하는 윈도우 기반 Automation Runtime 시스템입니다.

ARsim은 모든 제어기, HMI 어플리케이션 및 드라이버 시뮬레이션에

사용될 수 있습니다.

그림 7: PC에서 Automation Runtime

simulation

Automation Studio는 실제 하드웨어 구성에서 Automation Runtime Simulation로 직접 변환 기능을

지원합니다. Automation Studio 툴바를 사용하여 변환할 수 있습니다. Automation Runtime Simulation은

자동으로 시작되며 연결됩니다. 완벽한 통합 시뮬레이션으로 PC에서 빠르고 쉽게 테스트 할 수 있습니다.

그림 8: "Activate Simulation" 버튼

Automation Runtime Windows - ARwin

ARwin은 모든 Windows 운영 체제에서 실행할 수 있는 타겟

시스템입니다. 실시간 운영 체제는 컴퓨터 리소스를 완전히

제어한다고 가정하는 Windows 운영 시스템에 직접 적용됩니다.

호스트 운영 체제 자체는 실시간 운영 체제에서 우선 순위가 낮은

작업으로 처리됩니다.

그림 9: Automation Runtime -

윈도우즈에서 실시간 어플리케이션

B&R Hypervisor

B&R Hypervisor로, 타겟 시스템에서 Automation Runtime를

실행하면서 Linux 또는 Windows를 병렬로 실행합니다. B&R

Hypervisor를 사용하면 시스템 하드웨어 리소스를 깔끔하게 분할하고

하나 이상에 논리적 CPU, 메모리 영역 및 주변 장치를 타겟

시스템에서 실행중인 다른 운영 체제에 할당 할 수 있습니다. 각 운영

체제는 런타임에 의해 논리적으로 다른 운영 체제와 분리됩니다.

그림 10: B&R Hypervisor –

Automation PC 한 대에서 다수 운영

체제 구동

Project management \ Simulation \ ARsim

Page 10: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

10 TM213 - Automation Runtime

Automation Runtime

2.1.2 서버와 클라이언트 기능

셀 수 없는 클라이언트와 서버 기능은 Automation

Runtime에서 가능합니다. 다른 네트워크 서비스 및

프로토콜이 지원됩니다.

각 프로토콜은 이미지에서 색으로 표시되어

있습니다. 사전에 Automation Studio에서 활성화된

프로토콜은 초록색으로 강조 표시되었습니다.

회색으로 표기된 프로토콜은 추가적으로 활성화

하거나 구성에서 설정할 수 있습니다.

그림 11: 구성할 수 있는 Automation Runtime 서버와 클라이언트 기능

그림 12: 단축 메뉴를 통하여 CPU와 Ethernet 구성 열기

CPU와 Ethernet 인터페이스의

단축 메뉴를 사용하여 구성을

엽니다. 모든 프로토콜에는 해당

프로토콜을 활성화하고 구성하는 데

사용되는 독립형 구성 항목이

있습니다.

제공되는 많은 기능은 런타임에서

라이브러리를 사용하여 진단하고

구성할 수 있습니다.

Real-time operating system \ Target systems \ Target systems - SG4

• ARsim

• ARwin

• B&R Hypervisor

Page 11: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 11

Automation Runtime

2.2 Automation Runtime 진단 능력

구현 된 하드웨어 플랫폼과는 별도로 Automation Runtime은 현재

시스템 상태 정보를 제공하는 다양한 진단 툴을 제공합니다.

Automation Runtime의 다양한 진단 접근 옵션 목록은 아래에 나와

있습니다.

통합 진단 툴을 사용하는 방법은 Automation Help에 있습니다.

추가적인 실습과 연습은 "TM223 - Automation Studio Diagnostics"

교육 자료에서 확인할 수 있습니다.

그림 13: Automation Runtime -

완전한 통합 진단

2.3 연결성과 접근 & 보안

B&R 솔루션은 기존 네트워크와 완벽한 통합을 위해 완전히

개방하였으며 다른 제조업체 장치에 직접 통합 할 수 있습니다. B&R

컴포넌트는 필드 버스 마스터 또는 슬레이브로 구현될 수 있습니다.

OPC UA 서버와 클라이언트는 프로세스 데이터 공개 및 교환이

가능합니다. 사용자 역할 시스템(user roles system)은 읽기 및 쓰기

접근 제안에 도움됩니다. 암호화된 연결은 Transport Layer Security

(TLS)을 사용하여 활성화합니다.

Diagnostics and service \ Diagnostic tool

• Status bar

• Information about the target system

• System Diagnostics Manager

• Monitor mode \ Online comparison

• Logger

• Profiler

Diagnostics and service \ I/O and network diagnostics

Programming \ Libraries \ Configuration, system information, runtime control

Programming \ Editors \ Configuration editors \ Hardware configuration \ CPU configuration \

SG4

Communication \ Ethernet \ AR configuration \ Interface configuration (SG4)

Programming \ Libraries

• Configuration, system information and runtime control

• Communication

Page 12: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

12 TM213 - Automation Runtime

Automation Runtime

Communication \ OPC UA

Programming \ Libraries \ Communication \ AsOpcUac

Automation software \ Example projects \ Communication with OPC UA client function blocks

다른 제조업체 장치 지원

Automation Studio는 필드 버스 및 다른 제조업체의 장치를 직접 통합 할 수 있습니다. 마스터 및 슬레이브

장치는 Physical View 또는 System Designer를 통해서 다른 B&R 컴포넌트처럼 Automation Studio에

추가합니다.

접근 & 보안 - 사용자 관리 시스템

Automation Studio는 사용자 시스템 구성을 지원하며, 역할 시스템 및

인증서 관리 시스템 구성은 물론 SSL/TLS 구성 관리를 지원합니다.

해당 구성은 Configuration View "Access & Security" 폴더에서

관리합니다.

그림 14: Configuration View 에 있는

사용자 관리 시스템

OPC UA 서버와 클라이언트

Automation Studio는 OPC UA 서버 구성을 지원합니다. 사용자 역할 시스템(user roles system)을

활용하여 각 OPC UA 노드 읽고/쓰기 접근을 관리합니다. OPC UA 클라이언트 기능은 라이브러리로

제공합니다.

Programming \ Access & Security \

• Transport Layer Security (TLS)

• User role system

Communication \ Fieldbus systems

Project management \ Hardware management \ 3rd-party devices / 3rd-party device manager

Page 13: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 13

설치와 시운전

PC 기반 타겟 시스템은 예외적으로 윈도우즈(Windows) 용 Automation Runtime(ARwin)입니다.

이 경우에, Automation Runtime은 특정 설정 도구를 사용하여 처음 설치됩니다.

Hardware \ X20 system \ X20 modules \ CPUs

• X20(c)CP1301, X20CP1381 and X20CP1382 \ Operating and connection elements

\ Programming the system flash memory

• X20(c)CP158x and X20(c)CP358x \ Programming the system

flash Project management

• Project installation

• Simulation \ ARsim \ Creating an executable project structure

Real-time operating system \ Target Systems \ Target systems - SG4 \ ARwin \ Installation /

Configuration

3 설치와 시운전

모든 타겟 시스템은 Automation Runtime을 실행하고 플래시 메모리에서 Automation Studio 프로젝트를

불러옵니다. 사용하는 타겟 시스템에 따라, 저장 장치는 콤팩트플래시 카드(CompactFlash card), Cfast

카드 또는 통합형 플래시 메모리일 수 있습니다.

Automation Runtime 설치 옵션은 다양하게 있습니다. Automation

Runtime은 온라인, 오프라인 또는 USB로 설치할 수 있습니다.

어떤 방법을 선택하든 관계없이, Automation Studio는 설치

프로세스를 지원합니다.

초기 설치 중, 제어기의 플래시 메모리는 어플리케이션 요구사항에

따라 파티션이 분할됩니다.

Automation Runtime을 설치할 때, I/O 구성과 인터페이스 구성 같은

설정이 포함됩니다.

그림 15: 설치와 시운전

Page 14: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

14 TM213 - Automation Runtime

설치와 시운전

Project management

• Workspace \ Upgrades

• Changing runtime version

Real-time operating system \ Version overview

Technology Package 버전 변경(mapp

Motion, mapp Services 등)은 프로젝트 전

구성과 Logical View에서 관리되는 모든

라이브러리에도 영향을 줍니다.

3.1 Automation Runtime 변경과 업데이트

런타임 환경에 새로운 소프트웨어 버전이 사용가능하면, 해당 소프트웨어 버전은 Automation Studio /

Upgrades 대화 상자를 통해 추가 할 수 있다. 메뉴 <Tools> / <Upgrades>를 선택하여 업그레이드 대화

상자를 열 수 있다.

Automation Runtime 버전은 현재 활성화 된

Automation Studio 프로젝트 구성에서 변경합니다.

런타임 환경의 소프트웨어 버전은 선택하여

메뉴 <Project> / <Change Runtime Versions...>

에서 수정할 수 있다.

그림 16: 런타임 버전 변경

Au

Automation Studio 업그레이드

Automation Runtime이 사전에 타겟 시스템에 설치되어 있다면, 프로젝트는 새 Automation Runtime

버전을 전송합니다. 택일 적으로 콤팩트플래시, Cfast 및 USB 플래시 드라이브 같은 미디어에 설치 생성을

돕습니다. 더 자세한 정보는 다음 장에 기술되어 있습니다 ("프로젝트 설치" 16 쪽).

Page 15: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 15

설치와 시운전

그림 17: 전송 대화 상자에 표시된 버전 차이점; 재 시작이 요구 됨

타겟 시스템에 프로젝트를 전송할

때, Automation Runtime 충돌이

감지되면 대화 상자에 표시됩니다.

Automation Studio 없는 업그레이드

Automation Studio를 사용하여 업그레이드를 진행 할 수 없는 상황이라면, Runtime Utility Center가 설치

이미지 제작에 사용됩니다. 예를 들어, USB 플래시 드라이브로 전송할 수 있습니다.

3.2 구성 ID(Configuration ID)와 파티션

프로젝트 설치 전에, configuration ID와 플래시 메모리 파티션 설정을 프로젝트에서 확인해야합니다. 구성

버전(configuration version) 설정도 가능합니다. 설정은 CPU의 단축 메뉴를 통해 열 수 있습니다.

그림 18: CPU 설정: Configuration ID 와 파티션 설정

구성 ID(Configuration ID)

Automation Runtime 4.25 이상부터, Automation Studio 프로젝트 구성마다 고유의 구성 ID(Configuration

ID)가 부여됩니다. Configuration ID는 프로젝트에 고유 식별기를 제공하고 사전에 "<AS 프로젝트

이름>_<구성 이름>"로 생성됩니다. 프로젝트에 고유 Configuration ID 부여는 필요합니다. 프로젝트 설치

중에 시스템 업그레이드 전송(동일 ID)인지 초기 전송(다른 ID)인지 구별 할 수 있습니다.

그림 19: 전송 대화 상자에서 Configuration ID 비교

Project management \ Project installation \ Performing project installation \ Export RUC

Page 16: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

16 TM213 - Automation Runtime

설치와 시운전

파티션

제어기의 플래시 메모리는 파일 시스템으로 구성됩니다. 선택된 파티션 옵션에 따라서, 일반과 보안 파일

시스템으로 구별합니다. 일반 파일 시스템(normal file system)을 위해, 파티션은 플래시 메모리에 생성되고

Automation Runtime과 어플리케이션이 저장됩니다.

반면에 보안 파일 시스템(secure file system)은 Automation Runtime과 어플리케이션이 다른 파티션에

저장됩니다. Automation Runtime과 어플리케이션의 각 파티션 크기는 자동으로 계산됩니다1.

사용자 파티션은 일반과 보안 파일 시스템에 추가할 수 있습니다. 이 파티션에 사용자가 런타임 중 레시피

같은 파일을 저장할 수 있습니다. 사용자 파티션의 메모리 크기는 직접 설정합니다.

3.3 프로젝트 설치

온라인 연결(online connection)을 통해 Automation Runtime을 전송할 수 있습니다. 이를 위해, 온라인

인터페이스를 맞게 구성하고 올바른 방법을 이용해야 합니다. ("Automation Runtime 시작" 30 쪽). 또는

Automation Runtime이 포함된 Automation Studio 프로젝트는 프로젝트 설치 패키지(project installation

package)를 생성하여 오프라인 설치로 전송할 수 있습니다.

그림 20: 프로젝트 설치 옵션 개요

연결 시도

제어기 연결은 Automation Studio에서 "Browse for target system" 로 수행됩니다. 이 기능은 네트워크에

존재하는 B&R 제어기를 검색합니다. 제어기 연결 설정은 검색 대화 상자에서 일시적으로 변경 할 수

있습니다.

1 Data1과 Data2의 파티션 크기는 2:1 비율로 설정됩니다. 프로젝트 설치 과정 중 전송 모듈에 충분한 저장 공간을

사용하기 위해 필요합니다.

Programming \ Building and transferring projects \ Establishing a connection to the target sys-

tem \ Ethernet connections \ Browse for targets

Programming \ Editors \ Configuration editors \ Hardware configuration \ CPU configuration \ SG4

Project management \ Project installation

• Performing project installation \ Settings \ System configuration settings

• FAQ

Page 17: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 17

설치와 시운전

온라인 설치(Online installation)

연결이 설정되면 Automation Runtime을 전송하거나 온라인 설치를 수행할 수 있습니다.

오프라인 설치(Offline installation)

오프라인 설치를 위해, Automation Studio는 설치 매체(콤팩트플래시 또는 CFast 카드) 생성을 위해

사용됩니다. 이를 타겟 시스템에 삽입합니다. 전원을 인가하면, Automation Runtime과 어플리케이션이

시작합니다.

프로젝트 설치 패키지(Project installation package) - USB 설치

프로젝트 설치 패키지에 포함된 Automation Runtime과 어플리케이션 소프트웨어는 USB 플래시 드라이브,

CompactFlash 카드 또는 DHCP 서버를 통해 전송됩니다.

프로젝트 설치 패키지가 포함한 USB 플래시 드라이브를 타겟 시스템에 삽입하고 시스템 다시 시작하여

업데이트를 트리거하거나 ArProject 라이브러리를 사용합니다.

장치 별 설치

플래시 메모리가 내장된 장치와 콤팩트 플래시를 사용하는 장치 간에는 구별이 필요합니다. 장치별

Automation Runtime 설치시, 초기 시작과 리셋 버튼 설명은 해당 사용자 매뉴얼(user’s manuals)에서

확인할 수 있습니다.

Programming \ Building and transferring projects \ Online services \ Transfer Automation Run-

time \ Transferring to SGx target systems \ Installing via an online

connection Project management \ Project installation

• Scenarios \ Online commissioning

Project management \ Project installation

• Scenarios \ Offline commissioning

• Overview \ Transfer \ Project installation package

Programming \ Libraries \ Configuration, system information, runtime control \ ArProject

Project management \ Project installation

• Scenarios \ Offline commissioning

프로젝트 설치 패키지를 사용한 설치에는 장치 구성 및 작동 상태에 따라서 장치를 BOOT 모드로

설정해야 할 수 있습니다. BOOT 모드에서, USB 플래시 드라이브 또는 네트워크에서 프로젝트

설치 패키지를 설치하는 메커니즘은 항상 활성화되어 있습니다.

Page 18: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

18 TM213 - Automation Runtime

설치와 시운전

예제: Automation Runtime 버전 확인과 업데이트

예제의 목적은 타겟 시스템에서 Automation Runtime 업그레이드 옵션 경험하는 것입니다. Automation

Runtime 업그레이드가 검색되면, 프로젝트에서 Automation Runtime 설정을 확인하고, Configuration ID 및

파티션이 결정된 후 타겟 시스템을 업그레이드하기 위한 적절한 메커니즘이 선택됩니다.

1) Automation Runtime 업그레이드 검색

메뉴 <Tools> / <Upgrades>

2) 런타임 버전 확인과 조정

메뉴 <Project> / <Change Runtime Versions...>

3) 구성 ID(Configuration ID)와 파티션 지정

CPU 구성 (configuration ID, 타겟 시스템에 모듈 시스템)

4) 타겟 시스템을 위해 적절한 온라인/오프라인 설치 또는 프로젝트 설치 패키지 선택 이에 대한 참고

사항은 데이터 시트 “Programming the system flash” 장에 나와 있습니다.

5) 설치 수행

온라인 설치를 위해: 강제 초기 전송

모든 타겟 시스템은 의도적으로 BOOT 모드로 시작되는 옵션이 있습니다. 타겟 시스템에 따라 리셋

버튼, 모드 선택 스위치, 노드 번호 선택 스위치로 수행됩니다. 리셋 버튼(reset button)은 시스템을

다시 시작하고 작동 모드를 변경하기 위해 사용됩니다. 모드 선택 스위치를 통해 모드를 선택하는

것은 재시작 후에 이루어집니다. 사용 가능한 동작 모드와 액션에 대한 자세한 정보는 타겟 시스템

별 데이터 시트를 통해 알 수 있습니다.

Programming \ Build & transfer \ Online services \ Transfer Automation Runtime

Hardware \ Power Panel \ Power Panel C70 \

• Installation \ Commissioning

• Device description \ Operating and connection elements \ Button for reset and

operating modes

Hardware \ X20 system \ X20 modules \ CPUs \ X20(c)CP1301, X20CP1381 and X20CP1382

\ Operating and connection elements \

• Programming the system flash memory

• Button for reset and operating mode

Page 19: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 19

메모리 관리

4 메모리 관리

Automation Runtime 타겟 시스템 메모리는 RAM과 ROM으로 구성됩니다.

이 영역의 일부는 런타임 중 Automation Runtime이 독점적으로 사용합니다; 나머지는 어플리케이션에서

사용할 수 있습니다.

4.1 플래시 메모리 로지컬 파티션

Automation Runtime 빌드 프로세스 중에 Automation Studio 프로젝트는 실행할 수 있는 모듈을

생성합니다. 프로젝트 설치 중에 해당 모듈은 플래시 메모리로 전송됩니다. 콤팩트플래시, Cfast 및 통합

플래시 메모리는 저장 매체로 사용됩니다.

소프트웨어 구성에서 각 모듈은 자동으로 타겟

메모리에 할당됩니다. Automation Runtime이

포함된 모듈은 시스템 ROM(system ROM)에

전송됩니다. 어플리케이션이 포함된 모듈은 사용자

ROM(User ROM)에 전송됩니다. 논리적으로

순수한 하위 구분입니다. 전송된 데이터는 동일

데이터 저장장치에 보관됩니다.

그림 21: Software configuration에 소프트웨어 객체를 위한 타겟 메모리

일반 B&R 파일 시스템일 경우, 시스템 ROM 및

사용자 ROM의 모듈은 C 파티션의 다른 폴더로

저장됩니다.

보안 파일 시스템일 경우, Automation Runtime은

“C” 파티션에 저장됩니다. 시스템 ROM과 사용자

ROM의 모듈은 D 파티션에 저장되고 또다른 E

파티션에 동일 데이터가 복사됩니다.

시스템 모듈은 메커니즘을 통해 어플리케이션과

분리됩니다.

그림 22: 일반 및 보안 B&R 파일 시스템 비교

런타임 중 생성되는 파일을 관리하기 위해 추가적인 파티션을 구성할 수 있습니다. 프로젝트 설치 중, 전송 설정을

이용하여 사용자 파티션으로 데이터를 전송 할 수 있습니다.

Normal B&R fi le system

Secure B&R fi le system

Flash Flash

C - SYSTEM C - SYSTEM

Automation Runtime

Automation Runtime

System ROM

E - Data2

D - Data1

System ROM

User ROM

User ROM

D - USER (optional) F - USER (optional)

Page 20: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

20 TM213 - Automation Runtime

메모리 관리

참조: "프로그램 전송시 설정 " 46 장

일반 또는 보안 B&R 파일 시스템 설정은 CPU 구성에서 정의합니다.

그림 23: CPU 구성에서 플래시 메모리의 파티션 구성

4.2 사용하는 RAM

DRAM은 Automation Runtime과 어플리케이션 실행을 위해 빠르게

메모리를 읽고/쓰는 용도로 사용됩니다.

차선책으로 타겟 시스템은 배터리 백업 RAM 메모리를 가지고 있으며

이는 다시 시작할 때 데이터를 유지하는데 사용됩니다.

24: DRAM, SRAM 및 FRAM

DRAM

시작 중에 Automation Runtime, 모든 구성 및 테스크는 DRAM으로 복사되고 실행됩니다. 플래시

메모리보다 DRAM 접근이 더 빠르기 때문에 필요합니다.

DRAM에서, 테스크는 지역 또는 전역 변수 메모리 구성이 필요합니다. 메모리 초기화는 자동으로

수행됩니다.

SRAM 및 FRAM

SRAM (static RAM)은 배터리로 버터링됩니다. 전원 손실이 발생하더라도 데이터가 유지됩니다. 물론 백업

배터리가 작동해야 합니다.

새로운 제어기 모델은 더이상 백업 배터리를 요구하지 않습니다. FRAM은 SRAM과 DRAM과 달리 비

휘발성 전자 메모리 유형에 데이터를 저장합니다.

Real-time operating system \ Method of operation \ Memory \ Memory types

Project management \ Configuration View \ Software configuration

Project management \ Project installation \ Performing project installation \ Settings

• System configuration settings

• Installation settings

타겟 시스템에서 사용되는 메모리 타입과 메모리 크기는

선택한 CPU 데이터 시트에 표기되어 있습니다.

Page 21: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 21

메모리 관리

실시간 시계(Real-time clock)

실시간 시계는 장치에 따라 다른 방법으로 백업합니다. 주변 온도와 관련하여 시간 드리프트와 함께

보호되는 기간 설명은 사용하는 CPU 데이터 시트에 표기되어 있습니다.

살펴 보기:

• "변수 메모리 초기화" 27 장

• "재시작 및 정전" 33 장

• "리테인 변수(retain variables) 사용 " 34 장

4.3 메모리 정보 확인용 툴

Automation Studio는 시스템 상태 정보 제공과 다양한 진단 툴이 통합되어 있습니다. 메모리 정보 계산용

진단 툴은 아래에서 설명할 것입니다.

Online info

메인 메뉴에서 <Online> / <Info> 을 선택하면 활용

가능한 메모리 정보를 확인할 수 있습니다. 모든

타겟 시스템에서 활용 가능한 옵션은 아닙니다.

Online info에서 제어기의 백업 배터리 상태를 읽고

현재 시간과 날짜를 설정 할 수 있습니다. 시간과

날짜 변경은 로거 모듈 “System”에 기록됩니다.

그림 25: CPU 정보 읽기

Real-time operating system \ Method of operation \ Memory \ Memory types

백업 배터리 서비스 인터벌 정보와 교체 지시 사항은 해당 CPU 데이터 시트에 표기되어 있습니다.

Page 22: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

22 TM213 - Automation Runtime

메모리 관리

System Diagnostics Manager (SDM)

System Diagnostics Manager (SDM)은

Automation Runtime의 필수 구성 요소입니다.

메인 메뉴에서 <Tools> / <System Diagnostics

Manager>을 선택하면 브라우저 창에서 SDM이

열립니다.

메모리 사용 정보는 "System \ Memory” 범주에서

확인합니다. "Software” 범주에서 타겟 시스템에

로딩된 모듈 정보를 확인할 수 있습니다.

그림 26: SDM에 표기된 메모리 할당

온라인 소프트웨어 비교

온라인 소프트웨어 비교를 이용하여 Automation Studio 내부 모듈 구성과 타겟 시스템에 설치된 모듈을

비교합니다. 온라인 소프트웨어 비교는 메인 메뉴에서 <Online> / <Comparison> / <Software> 를

선택하여 실행합니다.

소프트웨어 비교 창은 제어기와

프로젝트에 모든 모듈을 표시합니다.

"Size (bytes)” 세로줄은 타겟

시스템의 타겟 모듈 메모리를

표시합니다. 모듈의 버전, 크기,

타겟 메모리 및 빌드 날짜 비교가

가능합니다.

모듈의 단축 메뉴를 이용하여

옵션을 표시합니다. 모듈은

개별적으로 지우거나 멈출 수

있습니다2.

그림 27: 온라인 소프트웨어 비교 창 열기

라이브러리 기능

AsHW 라이브러리에 포함된 MEMxInfo() 펑션 블록을 이용하여, 타겟 시스템에 여유 메모리를

어플리케이션에서 계산할 수 있습니다.

예를 들어 FileIO와 MpFile 라이브러리로 플래시 메모리에 파일 시스템을 직접 접근합니다.

2 Automation Runtime B4.33부터, 프로젝트 설치 또는 프로젝트 업데이트로 설치된 모듈은 프로젝트 설치 또는

프로젝트 업데이트로만 삭제할 수 있습니다. 타겟 시스템에서 모듈을 삭제하는 것은 런타임에 생성된 데이터

객체에 한해서 가능합니다.

Page 23: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 23

메모리 관리

예제: 시간과 날짜 설정

시스템 이벤트를 정확하게 해석하려면 제어기에 시간과 날짜를 올바르게 설정해야 합니다. Online info 대화

상자에서 작업을 수행 할 수 있습니다. 변경 사항은 로거 모듈 “System”에 기록됩니다.

1) <Online> / <Info> 에서 시간과 날짜를 변경합니다.

2) “System” 로거 모듈을 확인합니다.

<Open> / <Logger>를 선택하여 로거(Logger)를 엽니다.

"System" 로거 모듈, "WARNING: Time / Date changed" 진입이 표시됩니다.

그림 28: 시간과 날짜 변경이 "System" 로거 모듈에 표시됩니다.

예제: 타겟 시스템에서 사용 가능한 메모리 양 확인하기

교육자료 "TM210 – Working with Automation Studio”에서 생성하고 작업한 프로젝트가 사전에 타겟

시스템에 설치되었습니다.

앞에서 설명한 방법 중 하나를 사용하여 타겟 시스템에서 메모리 할당을 결정합니다. 사용된 타겟 시스템에

존재하는 메모리 유형과 사용 방법을 판별해야 합니다. 또한 타겟 시스템에 불러온 모듈을 확인해야합니다.

1) 온라인 정보(online info)로 여유 DRAM 메모리 계산하기

2) System Diagnostics Manager로 여유 플래시 메모리 계산하기

3) 타겟 시스템에 어떤 프로그램이 불러와져 있는지 System Diagnostics Manager를 사용하여

확인하기

4) 타겟 시스템에 어떤 프로그램이 불러와져 있는지 online software comparison를 사용하여 확인하기

Diagnostics and service \ Diagnostic tool

• Information about the target system

• System Diagnostics Manager

• Monitor mode \ Online software

comparison Programming \ Libraries

• Configuration, system information and runtime control \ AsHW

• Data access and data storage \ FileIO

Services \ mapp Services \ MpFile: File management system

Page 24: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

24 TM213 - Automation Runtime

메모리 관리

4.4 전역 변수와 지역 변수 선언

변수는 데이터 타입(data type)에 따라 구조와 크기가 결정되는 심볼릭 프로그래밍 요소(Symbolic

programming elements)입니다. 프로젝트가 빌드(build)될 때, 변수는 컴파일러에 의해서 특정 메모리

장소에 할당됩니다.

변수 범위와 속성은 시작과 런타임 중에 동작을 결정합니다.

4.4.1 지역 변수

지역 변수는 프로그램 범위에서 정의됩니다. 다른 프로그램에서 지역

변수를 직접 접근은 불가능합니다.

지역 변수는 같은 프로그램 레벨에 있는 “.var” 파일에서 관리됩니다.

그림 29: "Loop" 프로그램의 지역 변수

프로그램의 지역 변수를 다른 프로그램의 지역 변수로 전송해야하는 경우에는 Configuration View에

variable assignment 파일을 사용하여 수행합니다.

예제: 지역 변수를 사용하여 "Loop" 프로그램 생성

“Loop” 작명한 Structured Text 프로그램을 생성합니다.

데이터 타입이 UDINT인 변수를 4개를 "udCnt", "udValue", "udStartValue”, "udEndValue”로 선언합니다.

프로그램 사이클(cyclic) 구획에 루프를 생성합니다. 해당 루프는 다음 예제에서 사용되고 설명할 것입니다.

1) "Loop” 이름으로 ST program 추가.

2) "Loop.var" 파일을 열고 변수 추가.

3) "Loop.var" 파일을 저장하고, "LoopCyclic.st” 프로그램에 변수 사용.

그림 30: "loop” 프로그램에 변수 선언

예제: software configuration에 프로그램 다중 할당

마지막 작업을 완료한 후, 동일 프로그램을 Logical View에서 software configuration으로 두 번 드래그 앤드

드롭(drag and drop)으로 추가합니다.

Programming \ Variables and data types

PROGRAM _CYCLIC

FOR udCnt := udStartValue TO udEndValue DO

udValue := udValue + 1;

END_FOR

END_PROGRAM

Page 25: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 25

메모리 관리

그림 31: 프로그램 다중 할당

1) 소프트웨어 구성(software configuration) 열기.

2) Project Explorer에 Logical View로 전환.

3) 끌어 놓기로 "Loop" 프로그램을 software configuration으로 이동

Programming \ Variables and data types \ Scope of declarations

Diagnostics and service \ Diagnostics tools \ Watch (variable monitor)

“Loop"과 "Loop1” 테스크를 위한 Watch 창에 모든 변수를 추가합니다. 두 테스크는 오직

지역 변수만 있습니다. Watch 모니터에서 변수를 변경하더라도 다른 “Loop” 프로그램 인스턴스에

영향을 주지 않습니다.

그림 32: "loop"과 "loop1" 테스크 변수 모니터

두 “Loop” 프로그램 인스턴스를 위한 Watch 창은 software configuration이나 Logical View에서

단축 메뉴를 이용하여 열 수 있습니다. Watch 창을 열어야 하는 경우에 Logical View에서 Watch

창을 열면 해당 인스턴스와 관련된 대화 상자가 나타납니다.

Watch 창은 <CTRL + W>를 눌러서 열 수 있습니다.

변수 파일에 포함된 변수가 타겟 시스템 프로그램에서 사용되지 않았다면 비활성화 됩니다.

빌드 프로세스 중에 해당 주의(warning)가 출력됩니다.

Warning 424: Variable <variable name> is declared but not being used in the current configu-

ration.

Page 26: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

26 TM213 - Automation Runtime

메모리 관리

4.4.2 전역 / 패키지-전역 변수

전역 변수는 Logical View의 최상위 레벨에 표시됩니다. Automation Studio 프로젝트 전체에서 사용할 수

있습니다. 모든 프로그램에서 사용할 수 있습니다.

전역 변수는 최상단에 있는 Global.var 파일에서 관리됩니다.

추가적인 .var 파일 생성으로 더 편리한 프로젝트 구조를 제공합니다.

그림 33: Logical View에서 전역 변수

패키지에 선언된 변수는 패키지 전역 변수(package-global variables)입니다. 패키지 전역 변수는 해당

패키지와 모든 하위 패키지에서만 볼 수 있습니다.

예제: “gMain” 전역 변수 생성과 “Loop” 프로그램에서 사용하기

전역 변수 선언, “Global.var” 에 데이터 타입이 UDINT인 “gMain” 변수를 추가합니다.

이 변수는 “Loop” 프로그램에서 반복적으로 증가되어야 합니다.

gMain := gMain + 1;

1) “Global.var” 파일 열기.

2) 데이터 타입이 UDINT인 “gMain” 변수 추가.

3) “Global.var” 파일을 저장하면, “LoopCyclic.st” 프로그램에 변수를 사용할 수 있음.

전역 변수는 여러 프로그램간에 데이터 교환해야하는 경우에만 사용해야합니다.

다른 대안으로 지역 변수를 다른 프로그램과 연결하려면 variable mapping을 사용합니다.

Page 27: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 27

메모리 관리

4.4.3 변수 메모리 초기화

시작 중에, 초기 값이 없는 모든 변수는 자동으로 “0” 이 입력됩니다. 초기 값은 변수 선언(variable

declaration) 파일 “value” 세로줄에 기입합니다.

그림 35: "Loop.var” 변수 초기화

변수 선언을 대체하는 방법은 예를 들어서 초기화 서브루틴, “LoopInit.st”에 다음과 같은 프로그램 코드로

구현할 수 있습니다:

예제: "udEndValue" 변수 초기화

"Loop” 프로그램에 "udEndValue" 변수 초기화 값을 1000으로 구현합니다. Watch 창에서 변수 값을

확인합니다.

“Loop"과 "Loop1” 테스크를 위한 Watch 창에 "gMain" 변수를 추가하고 두 테스크의 값 변화가

표시됩니다.

그림 34: 전역 변수 쓰기

Programming \ Variables and data types \ Scope of declarations

Programming \ Editors \ Configuration editors \ Variable mapping editor

PROGRAM _INIT

udEndValue := 1000;

END_PROGRAM

Page 28: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

28 TM213 - Automation Runtime

메모리 관리

1) "Loop.var" 변수 선언 열기.

2) "udEndValue" 변수의 "Value" 세로줄에 초기값 설정.

4.4.4 상수(constant) 사용하기

상수(Constant)는 프로그램이 실행되는 동안에 값을 변경할 수 없는 변수입니다. 고정 숫자 값 대신

프로그래밍에서 구현합니다. 프로그램을 보다 쉽게 읽고 유지할 수 있습니다.

그림 36: 상수 선언

예제: 상수로 선언된 전역 변수 “gMain”

전역 변수 “gMain” 을 상수(constant) 100으로 구성하십시오.

1) "Global.var" 변수 선언 열기.

2) 변수 “gMain” 의 “Value” 세로줄에 값 설정하기.

3) 변수 “gMain” 를 상수로 선언하기.

Programming \ Editors \ Table editors - General \ Declaration editors \ Table editor for variable

declaration

“Loop"과 "Loop1" 테스크 변수 모니터에서 “udEndValue” 변수는 1000으로 초기화 됩니다.

런타임 동안, 이 값은 다른 값으로 변경 될 수 있습니다.

“gMain” 쓰기 접근 시, 빌드 과정 중 에러 메시지가 나타난다.

프로그램에서 상수 쓰기 접근은 허용되지 않는다. 에러(error)없이 프로그램을 운영하기 위해서

"gMain” 변수를 상수로 선언하지 않는다.

LoopCyclic.st (Ln: 19, Col: 8) : Error 1138: Cannot write to variable 'gMain'.

"udStartValue” 변수를 0 값을 가진 상수로 초기화 하는 것이 더 합리적입니다. 프로그램에서 이

변수는 읽기 전용으로 정의됩니다.

Page 29: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 29

메모리 관리

상호 참조 목록은 프로그램에서 읽기 및 쓰기 접근을 알아내는데 사용합니다. 메인 메뉴에서

<Project> / <Build Cross Reference>을 선택하여 상호 참조 목록(cross-reference list)를

생성합니다.

Programming \ Variables and data types \ Variables \ Constants

Project management \ Workspace \ Output window \ Cross reference

Page 30: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

30 TM213 - Automation Runtime

런타임 성능

5 런타임 성능

이번 장에서는 타겟 시스템에서 어플리케이션의 런타임 동작을 설명합니다. 시작 동작, 프로그램 초기화 및

주기 프로그램(cyclic program) 프로세스를 설명합니다.

5.1 Automation Runtime 시작

타겟 시스템이 켜지면 Automation Runtime이 부팅합니다. 주기 프로그램이 수행되기 전에 다음 작업이

실행됩니다.

• 하드웨어 확인

• 하드웨어 펌웨어 업그레이드가 필요 여부 확인

• BR 모듈 확인

• BR 모듈을 ROM에서 DRAM으로 복사

• 리테인(retain) 변수 DRAM으로 복사

• 변수 메모리에 초기 값 설정

• 초기 서브루틴 실행

• 사이클(cyclic) 프로그램 활성화

부트 단계에서 에러가 발생하지 않으면, 타겟 시스템은 RUN 모드로 시작한다.

그림 37: RUN 모드인 Power Panel C70

5.1.1 Automation Runtime 작동 상태

Automation Runtime 부트 프로세스는 4가지 작동 상태로 분류할 수

있습니다. 작동 상태가 성공적으로 이루어지면, 다음 작동 상태로

변경하기 위한 점검을 수행합니다.

“RUN” 작동 상태에서, Automation Runtime은 Automation

Studio에서 생성한 어플리케이션을 시작하고 이를 반복 실행합니다.

일부 이벤트는 해당 작동 상태를 진단하기 위하여 시작 및 대기를

취소하도록 타겟 시스템을 유도합니다. 현재 작동 상태는 CPU의 LED

상태 표시기(LED status indicators) 및 Automation Studio 상태 표시

줄(status bar)에서 확인 할 수 있습니다. 상세 내용은 로거 모듈

“System”에 기록됩니다.

그림 38: Automation Runtime

작동 상태

Real-time operating system \ Method of operation \ Boot behavior

Real-time operating system \ Method of operation \ Module / data security

Page 31: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 31

런타임 성능

작동 상태 시스템 상태가 발생하는 상황

BOOT

• 콤팩트플래시가 삽입되지 않았을 때

• 콤팩트플래시/CFast 카드에 운영 체제가 없을 때3

• 노드 번호 스위치가 "00", 모드 선택 스위치가 "BOOT” 설정, 리셋

버튼을 눌렀을 때 4

그림 39: 상태 표시 줄(status bar)- BOOT 모드

DIAGNOSTICS

• 심각한 시스템 에러

• 노드 번호 스위치가 "FF", 모드 선택 스위치가 "DIAG” 설정, 리셋

버튼을 눌렀을 때

그림 40: 상태 표시 줄(status bar)- DIAGNOSTICS 모드

SERVICE

• 영(0)으로 나눴을 때5

• 페이지 결함(PageFault)

• 주기 시간 위반(Cycle time violation)

• 하드웨어 모듈이 없을 때

• Automation Studio로 인해 CPU가 중단 되었을 때

그림 41: 상태 표시 줄(status bar)- SERVICE 모드

RUN

• 에러 없음(No error)

그림 42: 상태 표시 줄(status bar)- RUN 모드

표 1: Automation Runtime 작동 상태 개요

3 이 요구 사항은 구현된 시스템이 기본 설정으로 Automation Runtime을 가지고 있음을 나타냅니다. PC 기반

시스템은 기본 설정으로 Automation Runtime을 가지고 있지 않습니다. 이 경우, 타겟 시스템과 연결되지

않습니다. 오프라인 설치를 수행합니다.

4 사용하는 장치에 따라서, 모드 선택 스위치, 모드 선택 스위치 또는 리셋 버튼으로 작동 모드를 설정할 수

있습니다. 관련 사용자 매뉴얼(user’s manuals)에 관련 내용이 기입되어 있습니다.

5 Intel 타겟 시스템과 달리, ARM 타겟 시스템에서 0으로 나눴을 경우에는 프로세서 예외 처리가 없고 결과는 0이다.

Real-time operating system \ Method of operation \ Operating status

Hardware \ X20 system \ X20 modules \ CPUs

• X20(c)CP158x and X20(c)CP358x \ Operating mode switch

• X20CP1381-RT and X20CP1382-RT \ Operating and connection elements

\ Button for reset and operating mode

Page 32: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

32 TM213 - Automation Runtime

런타임 성능

5.1.2 Automation Runtime 부트 단계

제어기 시작 중, 중간 단계가 수행됩니다. Automation Studio 상태 표시 줄(status bar)에 나타납니다. 해당

단계는 일반적으로 매우 짧습니다.

시스템 상태 설명

STARTUP 이 단계에서 운영 체제와 관련된 초기 절차가 수행됩니다.

FIRMWARE 이 단계에서 펌웨어 업데이트를 합니다.

참조: "하드웨어 버전과 펌웨어 업데이트" 32 장

INIT 이 단계에서 어플리케이션 초기화 서브루틴이 수행됩니다.

표 2: Automation Runtime 부트 단계 개요

5.1.3 하드웨어 버전과 펌웨어 업데이트

Automation Studio에서 각 하드웨어 모듈은 자체 장치 설명 파일, System Designer 용 이미지 및

펌웨어(선택 사항)를 가지고 있습니다. Automation Runtime이 시작할 때, 하드웨어 모듈의 펌웨어를

시스템에 설치된 펌웨어와 비교하여 필요시 업데이트합니다.

Automation Studio는 하드웨어 모듈 당 하드웨어 버전을 제공합니다. 추가적인 하드웨어 버전은 메뉴

<Tools> / <Upgrades>을 사용하여 설치합니다.

System Designer에서 "Version" 세로줄에서 설치된

하드웨어 버전 중에 선택할 수 있습니다. 새로운

하드웨어 버전을 설치하고 자동으로 업데이트되지

않으며 수동으로 선택해야 합니다.

그림 43: Physical View에서 하드웨어 버전을 선택

Project management \ Hardware management \ Hardware versions

Real-time operating system \ Method of operation \ Boot phases

Hardware \ X20 system \ X20 modules \ CPUs \ X20(c)CP158x and X20(c)CP358x \ X20 CPUs - Status LEDs

RUN 상태에 진입하기 전 단계(STARTUP, FIRMWARE, INIT)는 X20 system에 R/E LED가

초록색으로 깜박거린다.

Page 33: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 33

런타임 성능

5.1.4 재시작과 정전

작동 상태를 변경하고 재 설정한 후 타겟 시스템의 재시작 동작은

사용한 제어기의 해당 데이터 시트 "Operating mode and node

number switches", "Operating mode switch" 및 "Reset" 장 에

설명되어 있습니다.

리셋과 정전 후 재시작 동작은 CPU 속성에서 구성합니다.

그림 44: CPU 설정에서 재시작

동작 설정하기

Warm restart

재시작(Warm restart)은 아래 동작 시 실행됩니다:

• 전원을 끈 후에 다시 전원을 킴

• 리셋 버턴을 누름

• 시스템 구성을 변경하고 타겟 시스템에 전송함

• Automation Studio에서 warm restart 실행

• SYSreset() 펑션으로 warm restart 실행

Cold restart

Cold restart는 아래 동작 시 실행됩니다:

• 콤팩트플래시 카드를 변경하고 재시작 오프라인 설치 및 초기 전송 설명 참조

• 리셋 버턴을 누름

• Automation Studio에서 cold restart 실행

• SYSreset() 펑션으로 cold restart 실행

• SRAM 백업 베터리에 결함이 있는 경우 재시작

Programming \ Libraries \ Configuration, system information, runtime control \ SYS_Lib \ Func-

tion blocks and functions \ System functions

리셋이나 정전으로 인한 재시작 동작이 Automation Studio에 설정되어 있습니다. Warm restart

이후에 Retain 변수는 유지됨.

리셋이나 정전으로 인한 재시작 동작이 Automation Studio에 설정되어 있습니다.

Cold restart 동안, retain 변수는 “0”으로 설정되고 변수 선언에 있는 초기 값에 따라 재 설치됩니다.

Permanent 변수는 원래 값이 유지됩니다.

Page 34: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

34 TM213 - Automation Runtime

런타임 성능

전윈 켜기 처리

전원이 인가되지 않았을 때 SYSROM과 USERROM은 콤팩트플래시, Cfast 카드 또는 내부 플래시

메모리에 위치합니다. 유지되는 변수(RETAIN), 영구 유지되는 변수(permanent), USERRAM은 베터리

백업 RAM에 위치합니다. Automation Runtime은 제어기가 부트 될 때 시작됩니다. 필요한 구성과

어플리케이션 프로그램이 DRAM으로 복사합니다. 유지되는 변수(RETAIN), 영구 유지되는

변수(permanent)는 배터리 백업 RAM에서 DRAM으로 복사합니다.

전원 끄기 처리

많은 B&R 타겟 시스템은 정전 오류 논리가 장착되어 있습니다. 정전 이벤트 발생시 정의된 상태로 시스템이

진입하도록 돕습니다. 다음 동작은 정전 이벤트 발생시 수행됩니다:

• USERRAM에 위치한 데이터 객체 접근이 잠겨 있습니다.

• 유지되는 변수(RETAIN)는 배터리 백업 SRAM에 복사됩니다.

예제: 시작과 작동 상태

먼저 구현된 타겟 시스템 시스템의 재시작 동작 구성을 확인합니다. 다른 작동 상태는 모드 선택 스위치, 리셋

버튼, Automation Studio를 통해서 진입할 수 있습니다. 사용하는 타겟 시스템의 데이터 시트에, 모드 선택

스위치와 리셋 버튼 기능이 기술되어 있습니다. 특정 작동 상태로 재시작한 이후에 로거 모듈 “System”을

확인하십시오.

5.1.5 Retain 변수 사용하기

모든 부트 단계는 타겟 시스템이 시작되는 동안 실행됩니다. 프로세스 변수 값을 warm restart 이후에도

유지하기 위해서, 변수를 반드시 유지되는 메모리에 저장합니다. 시작하는 동안, 데이터는 자동으로

저장됩니다.

유지 변수(Retain)

비휘발성 (유지되는) 메모리에 변수를 저장하기 위해서, 다음 요구사항이 타겟 시스템과 변수 선언에

부합해야 합니다.

• 배터리 백업 RAM과 타겟 시스템 - 데이터 시트 참조

• “Retain” 옵션을 사용하여 변수 구성

그림 45: 변수 선언에 retain 변수 구성

Real-time operating system \ Method of operation \ Module / Data security \ Power-on handling

Real-time operating system \ Method of operation \ Module / Data security \ Power-off handling

Page 35: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 35

런타임 성능

retain 변수 사용 예시:

• 작동 시간 카운터

• 시스템 효율성을 위한 카운터 및 데이터 유형

• 정전시 장비의 경우와 상태

• 그 외 많음...

유지 변수(Permanent)

Cold restart 이후에도 변수를 유지하기 위해서 Configuration View / permanent variables (CPU.per)에

반드시 추가해야 합니다.

영구적으로 저장해야하는 데이터 예시:

• 작동 시간 카운터

• 플래시 메모리에 쓰지 않고 cold restart 이후에 반드시 남아 있어야 하는 모든 데이터

다른 타겟 시스템은 다양한 양의 잔여 메모리가 있습니다. 크기 및 가용성 정보는 각 데이터 시트나

Automation 도움말에서 확인할 수 있습니다.

Real-time operating system \ Method of operation \ Memory

Programming \ Editors \ Table editors - General \ Declaration editors \ Table editor for variable

declaration

Hardware \ X20 system \ X20 modules \ CPUs

• X20(c)CP158x and X20(c)CP358x \ Technical data

• X20(c)CP1301, X20CP1381 and X20CP1382 \ Technical

data Services \ mapp Services \ MpRecipe: Recipe management

차선책으로 프로그램이 시작되거나 데이터가 플래시 메모리에 저장될 때 단 한번 읽거나

쓰여집니다. mapp Services Technology Package에서 유래된 MpRecipe 라이브러리내 펑션

블록은 이 목적에 적합합니다.

전역 리테인 변수(global retain)만 영구 유지 변수로 구성할 수 있습니다.

영구 유지 메모리에 변수 값을 관리하는 것은 사용자 책임입니다.

영구 유지 변수 상태가 적절한 기반으로 받쳐지지 않으면, 원하지 않는 프로그램 동작이 발생할 수

있습니다. CPU나 백업 배터리를 교체할 때 특히 이 부분을 유의해야합니다.

특정 제어기에 언제나 연결 되어 있는 Technology Guarding 데이터 저장소는 영구 유지 변수의

차선책으로 쓰일 수 있습니다. Technology Guarding 데이터 저장소 접근은 AsGuard

라이브러리로 구현합니다.

Page 36: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

36 TM213 - Automation Runtime

런타임 성능

예제: 유지 변수(Retain) 사용하기

“Loop" 프로그램에서 "udValue" 변수는 매 루프마다 계속해서 증가합니다. Warm restart 동안, "udValue”

값을 반드시 유지하고자 합니다.

1) RETAIN으로 "udValue” 변수 선언

2) 프로그램 전송 - Watch 창에서 "udValue” 값 확인

3) Warm restart 수행

4) 결과 확인

5.2 프로그램 초기화

초기 서브루틴은 모든 프로그램에 관리 될 수 있습니다. 예를 들어

변수는 초기 서브루틴에서 계산을 통해 초기화 될 수 있습니다.

그림 46: 프로그램 초기화

초기화 서브루틴 구동

첫 사이클 프로그램이 시작되기 전에, 모든 초기화 서브루틴이 구성 순서에 따라 한번 수행됩니다. 초기화

서브루틴이 수행되는 한 상태 표시 줄(status bar)에 “INIT”로 표기되며 CPU의 LED 상태 표시기로 확인할

수 있습니다.

예제에서, 초기화 서브루틴은 다음 순서로 실행됩니다.

1) "LampTest" 테스트 초기화 서브루틴

2) "Loop" 테스트 초기화 서브루틴

3) "Loop1" 테스트 초기화 서브루틴

초기화 서브루틴은 주기 시간 위반(Cycle time violation)에

적용되지 않기 때문에 초기화 중에는 위반 사항이 나타나지 않을

것입니다.

그림 47: 초기 서브루틴 실행

초기화 서브루틴에서 펑션 호출

펑션 블록 사용시, 호출이 되고 처음 결과 값이 도출될 때가 중요합니다.

Programming \ Variables and data types \ Variables \ Variable remanence

Programming \ Editors \ Configuration editors \ Permanent variables

Automation software \ Technology Guarding

Programming \ Libraries \ Configuration, system information, runtime control \ AsGuard

Page 37: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 37

런타임 성능

5.3 주기적으로 프로그램 수행

프로그램은 software configuration에서 특정 실행

시간 또는 작업 클래스가 할당됩니다.

software configuration에 할당된 프로그램은

테스크(task)라 정의합니다.

software configuration에 할당된 프로그램은 전송

이후에 실행됩니다.

그림 48: 프로그램과 테스크

테스크는 구성 가능한 테스크로 할당되고 다른 것이 수행된 이후에 순차적으로 실행됩니다. 테스크 수행

시간은 매우 다양합니다. 그러나 I/O 시스템 접근할 때뿐만 아니라 테스크가 시작되는 시간은 결정적입니다.

5.3.1 테스크 클래스(task classes)와 사이클 타임(cycle times)

테스크는 해당 테스크 클래스가 정해진 시간에 주기적으로 수행됩니다. 예: 해당 사이클 타임(cycle times)

최대 8개 테스크 클래스를 제공하며 개별 요구사항에 맞춰 조절할 수 있습니다. 모든 테스크 클래스는 동일한

사이클 타임, 우선순위 및 허용 오차(tolerance) 설정으로 테스크를 보유하고 있습니다.

예제에서 테스크 클래스 #4는 테스크 세 개를 갖습니다. 100 ms 사이클

타임으로 설정되었다.

림 49: 세 개 테스크가 있는 테스크 클래스 #4

테스크가 실제 걸리는 시간을 무시하고, 프로그램 시퀀스를 확인하면 다음과 같다:

펑션 블록은 여러 번 호출이 필요하며 프로그램 사이클 구획에서 호출이 반드시 필요합니다.

초기 서브루틴(init subroutine)에서 펑션 블록 사용 정보는 해당 문서에서 확인할 수 있습니다.

Real-time operating system \ Target systems \ Target systems - SG4 \ Runtime behavior - SG4 \ Starting Init SPs - SG4

모든 테스크는 같은 테스크 클래스에서 구동할 필요는 없다.

제어 테스크가 빠르게 수행되어야 한다면 사이클 타임이

짧은 테스크 클래스에 할당합니다. 느린 프로세스를

위해서는 사이클 타임이 긴 테스크 클래스를 선택합니다.

Page 38: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

38 TM213 - Automation Runtime

런타임 성능

그림 50: 매 사이클마다 테스크는 호출된다.

테스크 클래스에 있는 테스크는 매 100 milliseconds 마다 실행되는 것을 의미합니다. 이를 위해서, 할당된

프로그램이 수행한 전체 시간 합계가 구성된 사이클 타임을 초과하면 안됩니다.

5.3.2 사이클 타임과 우선 순위

테스크 클래스 우선순위는 테스크 클래스 숫자로 결정됩니다.

낮은 숫자일수록 우선 순위가 높은 테스크 클래스입니다.

테스크 클래스 사이에서 테스크를 이동하여 우선 순위와 사이클

타임을 변경합니다.

시스템에서 테스크 클래스 #8은 가장 낮은 우선 순위입니다.

(참조: "많은 허용 오차와 테스크 클래스" 45 장) 그림 51: 테스크 클래스 우선 순위

"Loop" 테스크가 테스크 클래스 #4에서 테스크 클래스 #1로

이동되었다면, 매 10 milliseconds 마다 실행됩니다.

그림 52: 영향을 주지 않습니다.

"Loop" 테스크는 매 10 ms 마다 실행됩니다. 예전처럼, 테스크 클래스 #4에 있는 "LampTest"와 "Loop1"는

100 milliseconds 마다 수행됩니다.

Cyclic #4 100 ms

n + 100 ms + 200 ms + 300 ms + 400 ms

다중 작업 시작

Real-time operating system \ Target systems \ Target systems - SG4 \ Runtime behavior - SG4 \ Start of cyclic tasks

테스크 수행 시간은 다른 테스크 클래스로 이동하더라도

영향을 주지 않습니다. 주어진 시간 주기에 호출 되는 횟수가

변경될 뿐입니다.

Page 39: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 39

런타임 성능

Cyclic #1

10 ms

Cyclic #4

100 ms

그림 53: 다른 테스크 클래스에서 테스크 실행

예제: "Loop" 테스크를 테스크 클래스 #1 로 이동

software configuration에서 “Loop” 테스크를 테스크 클래스 #1로 이동할 것입니다.

Watch 창에서, 동일 프로그램을 참조한 “Loop"와 "Loop1” 사이클 타임 변화를 비교합니다.

1) 소프트웨어 구성(software configuration) 열기

2) "Loop" 테스크를 테스크 클래스 #4에서 #1로 이동

3) 두 테스크의 Watch 창 열기

4) "udValue" 변수 모니터링

5.3.3 유휴 시간(Idle time)

작동 중에 Automation Runtime은 테스크 실행 외에 다른 시스템 작업을 수행합니다. 사용자에게 유용한

기능을 제공합니다. 예를 들어 상수 체크섬 확인 프로세스가 수행되고 온라인 통신이 가능합니다.

테스트가 수행되는 속도는 프로세서 성능에 따라서 다릅니다.

Automation Runtime이 사이클 테스크를 실행하지 않는 시간을 유휴 시간(idle time)이라 합니다.

Automation Runtime은 예를 들어 다음과 같은 업무를 위해 유휴 시간을 사용합니다:

"Loop” 프로그램은 "Loop1” 프로그램보다 10배 주기로 더 많이 실행됩니다. 결과적으로,

"udValue" 변수 값은 해당 인자만큼 빠르게 증가합니다.

그림 54: 다른 테스크 클래스에서 사이클 타임

100ms

n + 50ms + 100ms + 150ms + 200ms

다중 작업 시작

Page 40: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

40 TM213 - Automation Runtime

런타임 성능

• 온라인 통신

• 화면 컴포넌트 어플리케이션

• 파일 시스템 접근

Cyclic #1

10 ms

Cyclic #4

100 ms

Idle

그림 55: 사이클 시스템에서 유휴 시간(Idle time)

기본 테스크 클래스의 유휴 시간은 CPU 구성에서

설정합니다. 시스템에 구성한 유휴 시간은 테스크

클래스의 콘텐츠를 제공합니다.

프로파일러(Profiler)는 유휴 시간(Idle time) 결정에

사용합니다. System Diagnostics Manager 은

평균 시스템 로드를 출력하는데 사용합니다.

그림 56: CPU 구성: 유휴 시간을 위한 기본 테스크 클래스

5.3.4 테스크 클래스 시작

다중 작업 시스템이 시작된 후에 모든 작업 클래스가 동시에 시작되는 것은 아닙니다. 시작 시점은

항상 테스크 클래스 사이클 타임의 반입니다.

유휴 시간이 충분하지 않은 경우, 요구되는 유휴 시간 충족은 프로그램을 느린 테스크 클래스로

이동하거나 테스크 클래스 사이클 타임을 조정하여 증가시킵니다.

Real-time operating system \ Method of operation \ Runtime performance \ Scheduling \ Idle

time

n + 50ms + 100ms + 150ms + 200ms

다중 작업 시작

Page 41: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 41

런타임 성능

예를 들어서 100 ms 테스크 클래스는 50 ms 후에 시작할 것입니다. 모든 테스크 클래스의 시작 시점을

분산하여 프로세서 성능을 보다 좋게 사용하고 출력 지터(jitter)가 최소로 유지되도록 돕습니다.

5.3.5 다른 테스크 방해를 받은 테스크

테스크 클래스 우선 순위는 높은 우선 순위 테스크가 장시간 낮은 우선 순위 테스크를 인터럽트 하는 것이

가능하다.

"udiEndValue” 변수 한계는 "Loop" 과 "Loop1” 테스크 Watch 창에서 변경하고 "Loop1” 테스크는 정확히

두 배만큼 "Loop” 테스크를 인터럽트된다.

시간적으로 어떻게 진행되는지 대략적인 다이어그램으로 보여줍니다. 완전하고 더 깊은 이해를 위해,

이미지에 테스크 클래스 #3 타이밍을 업데이트하였습니다.

그림 57: 다중 작업 테스크 클래스 #1, #3 및 #4; 테스크 클래스 #4 는 테스크 클래스 #1에 인터럽드 받음

테스크 클래스 #4는 전체 실행 시간 동안 일관된 I/O 입력 이미지를 사용할 수 있습니다.

테스크 클래스에 테스크가 인터럽트로인해 영향을 받지 않는 이유입니다.

Real-time operating system \ Target systems \ Target systems - SG4 \ Runtime behavior - SG4 \ Start of cyclic tasks

Page 42: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

42 TM213 - Automation Runtime

런타임 성능

5.4 사이클 타임(Cycle time)과 허용 오차(tolerance)

각 테스크 클래스 사전에 정의된 사이클 타임을 갖습니다. 테스크

클래스에 모든 테스크는 사이클 타임 이내에 수행 되어야합니다.

테스크 클래스의 사이클 타임은 프로젝트 생성시 결정되고 요구

사항에 따라서 사용자가 변경할 수 있습니다.

테스크 클래스에서 테스크 런타임의 합이 구성된 사이클 타임이

초과하면 주기 시간 위반(cycle time violation)이 발생합니다. 설정한

허용 오차는 주기 시간 위반을 연기합니다. 재 시작됩니다.

사이클 타임과 허용 오차는 테스크 클래스의 속성 창에서 구성할 수

있습니다. 테스크 클래스의 단축 메뉴에서 속성 창을 엽니다.

그림 58: 사이클 타임(Cycle time)과

허용 오차(tolerance) 구성

예제: "Loop" 프로그램을 사용하여 시스템 부하 확인

테스크 클래스(task class) #1에 할당된 "Loop" 테스크에서 "udEndValue” 변수 값을 변경하여 런타임을

증가시킨다.

System Diagnostics Manager을 사용하여, 테스크로 야기되는 시스템 부하와 활용 가능한 유휴 시간(Idle

time)을 모니터링 합니다.

1) "udEndValue” 값을 50000으로 설정합니다.

System Diagnostics Manager을 사용하여 시스템 부하를 결정합니다.

2) 단계별로 "udEndValue” 을 증가시킨다.

결과는 각 단계별로 System Diagnostics Manager에서 분석합니다.

테스크 클래스의 설정 사이클 타임이 초과되면, 다음 사이클 시작은 설정된 여유 시간만큼 뒤로

이동합니다. 이때 어플리케이션에 타이밍 문제를 발생시킬 수 있습니다. 이러한 동작은 허용 오차를

“0”으로 설정하여 피할 수 있습니다.

Programming \ Editors \ Configuration editors \ Hardware configuration \ CPU configuration

Page 43: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 43

런타임 성능

System Diagnostics Manager에서,

평균 시스템 부하는 선택된 시간

구간에 따라 표시됩니다. 평균과

최대치는 그래픽으로 읽을 수

있습니다.

특정 테스크의 상세한 런타임

동작은 Profiler만으로 관찰 할 수

있습니다. 추가적인 예제는 교육

자료 "TM223 - Automation Studio

Diagnostics"에 있습니다.

그림 59: System Diagnostics Manager에 표기된 CPU 부하

5.4.1 주기 시간 위반(Cycle time violation)

Automation Runtime은 테스크 클래스(task classes) 수행시 타이밍을 모니터링합니다. 주기 시간

위반(Cycle time violation)은 테스트가 수행한 시간이 구성한 사이클 타임(cycle times)을 초과했을 경우

발생합니다. 주기 시간 위반(Cycle time violation)이 감지되면, 타겟 시스템은 SERVICE 모드로 시작합니다.

그림 60: SERVICE 모드에 있는 CPU

예제에서, Watch 창에서 변수 값을 변경하여 주기 시간 위반(Cycle time violation)을 발생시킬 수 있습니다.

주기 시간 위반(Cycle time violation)일 때, SERVICE 모드로 재 시작한 이후에 Watch 창에 모든 변수들은

“멈춤”과 동시에 0으로 초기화 됩니다.

SERVICE 모드로 시스템 재부팅 이유를 분석하기 위해 로거(Logger)를 사용하십시오.

로거 창은 메인 메뉴에 <Open> / <Logger> 를 선택하거나 키보드 단축키 <CTRL> + <L>를 누릅니다.

Diagnostics and service \ Diagnostic tool

• System Diagnostics Manager (SDM)

• Profiler

Page 44: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

44 TM213 - Automation Runtime

런타임 성능

이미지에서 테스크 클래스(task class) #1의 주기 시간 위반(Cycle time violation)이 에러 원인으로 기입되어

있습니다.

그림 61: 로거에서 에러 원인 분석 테스크 클래스(task class) #1의 주기 시간 위반(Cycle time violation)

예제: cycle time violation이 발생할 때까지 "udEndValue" 변수 값을 증가시키기.

예제의 목적은 “Loop” 프로그램에 “udEndValue” 변수가 주기 시간 위반(Cycle time violation)이 발생할

때까지 증가시키는 것입니다. 타겟 시스템이 재시작합니다. 제어기는 현재 SERVICE 모드입니다. 분석을

위해 로거(Logger)을 사용합니다.

1) cycle time violation이 발생할 때까지 "udEndValue" 값을 증가시키기.

2) 로거에서 주기 시간 위반(Cycle time violation) 항목을 분석하기.

Diagnostics and service \ Diagnostic tools \ Logger window

타겟 시스템 재시작을 위해 전원을 끄고/켜거나 warm restart를 수행하면 - RUN 모드로

부팅됩니다.

주기 시간 위반(Cycle time violation) 원인은 프로파일러(Profiler)를 사용하여 결정할 수 있습니다.

이를 위한 예제는 교육 자료 TM223 – Automation Studio Diagnostics 에 포함되었습니다.

Page 45: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 45

런타임 성능

5.4.2 어플리케이션에서 주기 시간 위반(Cycle time violation) 반응

라이브 생산 시스템에서, 응답 옵션없이 SERVICE

모드로 변경하는 것은 바람직하지 않습니다. 주기

시간 위반 같은 이벤트는 예외 프로그램(exception

program)에서 처리 할 수 있습니다.

예외 테스트 클래스(exception task class)는 CPU

구성(configuration)의 리소스(Resources) 카테고리

속성에서 활성화합니다.

그림 62: 예외 테스트 클래스(exception task class) 활성화

프로그램은 로지컬 뷰(Logical View)에서

소프트웨어 구성(software configuration) 아래에

예외 테스트 클래스(exception task class)로

추가되었습니다.

그림 63: 예외 테스트 클래스(exception task class)에 프로그램 할당

예외 번호(exception number)는 예외

테스크(exception task)의 속성에 명시되어

있습니다. 예외 번호는 시스템에서 지정하며

Automation 도움말에서 찾을 수 있습니다.

런타임에서 발생하는 주기 시간 위반(예외 번호

145)이 테스크를 호출합니다. 요구 사항에 따라서,

예외 테스크에서 주기 시간 위반을 대응할 수

있습니다.

그림 64: 예외 테스트(exception task) 구성

5.4.3 긴 허용오차(tolerance)를 가진 테스크 클래스(task class)

우선순위가 낮지만 빠르게 처리되는 테스크는 테스크 클래스 #8에 할당합니다.

Programming \ Editors \ Configuration editors \ Hardware configuration \ CPU configuration \

SGx \ CPU properties - Resources

Real-time operating system \ Target systems \ Target systems - SG4 \ Runtime behavior - SG4 \ Exception task class - SG4

Page 46: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

46 TM213 - Automation Runtime

런타임 성능

매 10 ms 마다 호출되지만 우선 순위가 높은 테스크 클래스의 인터럽트를 받습니다. 구성된 허용

오차(tolerance)는 테스크 클래스(task class) #8이 30초마다 한 번씩 완전히 실행되도록 결정합니다.

테스크는 테스크 클래스(task class) #8에 할당해야한다.

• 어플리케이션 프로그램에서 파일 접근

• 복잡하고 시간에 상관없는 계산

5.5 Online installation으로 프로그램

전송시 설정

프로그램과 설정 파일은

타켓 시스템으로 변경 한 후

전송합니다. 시스템 구성 변경시

재시작(restart)이 요구합니다.

프로그램 변경을 전송할때, 개발 중

또는 생산 시스템에서

수행해야하는지 여부를

결정해야합니다.

용도에 따라서 프로젝트 설치 전송

설정을 결정합니다. 이미지는

프로젝트 설치 표준 설정 값입니다.

그림 65: 프로젝트 설치를 위한 전송 설정 구성

Keep PV values

이 설정은 전송으로 업데이트된 테스크가 기존 테스크의 설치 절차 이후에도 프로세스 변수(process

variables) 값을 유지할지 여부를 결정합니다.

Execute Exit/Init routines

초기화나 사이클 서브루틴에서 리소스(메모리, 인터페이스)를 사용하였으면, exit 서브루틴를 사용하여

리소스를 확보 할 수 있습니다.

Consistent installation

모든 테스크 클래스는 설치 중 중단됩니다. 이를 통해 타겟 시스템에서 실행되는 모든 테스크 일관성이

보장됩니다.

Installation during task operation

설치 절차 중에 설치중인 해당 테스크만 작업이 중지됩니다. 다른 테스크는 주기적으로 수행되고 설치

영향을 받지 않습니다.

Page 47: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 47

런타임 성능

Force restart or initial transfer

강제 재시작 옵션으로, 프로젝트 전송 후에 타겟 시스템이 재시작합니다. 초기 전송은 강제 초기 전송 옵션으로

실행됩니다.

User directory

사용자 파티션이 설정되면, 사용자 데이터를 옵션을 이용하여 사용자 파티션에 복사합니다.

참조: "구성 ID(Configuration ID)와 파티션" 15 장

그림 66: offline installation 설치 옵션

Offline installation

offline installation 동안, 설치

설정은 비휘발성 메모리가 유지되는

것을 허용합니다. CPU가 warm

또는 cold restart을 수행하는지

여부와 상관없이, Retain 변수 값과

영구 유지 변수(Permanent)가

유지됨을 의미합니다.

예제: 전송 설정 조정

“Loop” 테스크의 초기화 서브루틴에, loop 한도를 1000으로 설정한다. 예제의 목적은 확장된 전송 설정

효과를 경험하는 것이다. 런타임중 모니터에서 loop 한도 값을 변경한다. "loop” 프로그램을 조금 수정한다.

주석(comment)을 변경하는 것도 괜찮다. 변경을 컴파일 후 전송 설정을 이용하여, 변수 모니터에서 이전에

설정한 한도 값을 유지해야합니다.

1) "udEndValue" 값을 임의의 값으로 변경

2) “loop”프로그램에서 프로그램 변경 실행

3) 컴파일 및 전송 시작

4) 전송 설정 조정

5) “udEndValue" 값이 유지되는지 확인

Project management \ Project installation

• Scenarios \ Online update

• Performing project installation \ Settings \ Installation settings

Page 48: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

48 TM213 - Automation Runtime

런타임 성능

그림 67: 프로세스 변수(process varialbes) 값

유지하기 위한 설정; init/exit 프로그램 실행이

방지됩니다.

Page 49: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 49

I/O 처리

6 I/O 처리(I/O handling)

제어기의 특정 기능은 입력과 출력 상태를 드라마틱하고 빠르게 I/O 터미널에서 어플리케이션으로 전송하는

것입니다.

Automation Runtime I/O 관리는 빠른 응답 시간(response times) 과 구성 가능성(configurability)요구사항에

부합하기위해 디자인되었습니다.

I/O 스케줄러(I/O scheduler)는 테스크 클래스가 시작되기 전에 I/O 터미널(I/O terminal)의 입력 이미지와

테스크 클래스의 테스크 끝에서 출력 이미지를 전달합니다.

그림은 Automation Runtime에서 일반적인 I/O 처리 시퀀스를 나타납니다. I/O 스케줄러는 테스크

클래스(task class)에 일관된 입력 이미지를 제공합니다. 초록색 화살표로 표시됩니다. 테스크 클래스(task

class)의 마지막 테스크 끝에서, 출력 데이터가 I/O 스케줄러(I/O scheduler)로 전송된다. 빨간색 화살표로

표시됩니다.

I/O scheduler

Cyclic #1

10 ms

그림 68: I/O 스케줄러(I/O scheduler) 입력 이미지 제공; 테스크 수행 시간 끝에서 출력 이미지 쓰기

I/O 매핑(I/O mapping)에서, 프로세스 변수(process variables)는 I/O 모듈 채널(I/O module channels)과

연결됩니다. I/O 스케줄러는 I/O 매핑으로 제어됩니다.

기본 설정으로, 테스크 클래스(task class) #1은 10 milliseconds 입니다.

POWERLINK 및 X2X 인터페이스의 기본 구성은 2 milliseconds 의

사이클 시간입니다.

테스크 클래스 사이클 타임은 CPU configuration의 I/O cycle

times에서 조정할 수 있습니다.

그림 69: 테스크 클래스(task class) #1 의

cycle times 구성

Programming \ Editors \ Configuration editors \ Hardware

configuration \ CPU configuration

n + 10ms + 20ms + 30ms + 40ms

다중 작업 시작

Page 50: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

50 TM213 - Automation Runtime

I/O 처리

6.1 I/O 구성과 I/O 매핑

6.1.1 I/O 구성(I/O configuration)

모듈 별 특성은 I/O configuration에서 설정합니다.

제공된 I/O 모듈의 기능은 계속해서 다양한 구현 옵션과 사용할 수 있는 작동 모드를 열어 사용할 수

있습니다. 모듈 모니터링 동작, 개별 구성과 기능 모델, 다른 것을 I/O 구성에서 설정합니다.

I/O 구성은 해당 I/O 모듈의 단축 메뉴를 통해 엽니다. I/O 모듈의 구성 옵션은 해당 데이터 시트 "Register

description"장에 기술되어 있습니다.

그림 70: 디지털 입력 모듈의 I/O 구성

6.1.2 I/O 매핑(I/O mapping)

I/O 매핑은 I/O 이미지의 어떤 데이터가 프로세스 변수(process variable)에 할당되는지 정의합니다.

사용 범위와 상관없이, 프로그램에서 사용되고 .var 파일에 각 변수는 I/O 모듈의 채널에 할당됩니다.

I/O 매핑은 해당 I/O 모듈의 단축 메뉴를 통해 엽니다.

Real-time operating system \ Target systems \Target systems - SG4 \ I/O management - SG4

Real-time operating system \ Target systems \Target systems - SG4 \ I/O management

\ Method of operation

Programming \ Editors \ Configuration editors \ Hardware configuration \ I/O configuration

Page 51: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 51

I/O 처리

그림 71: 디지털 입력 모듈의 I/O 매핑

Programming \ Editors \ Configuration editors \ I/O mapping

전역 변수의 경우, 채널에는 I/O 이미지의 데이터를 전송해야하는 테스크 클래스가 할당 될 수

있습니다.

"Automatic" 이 설정되고 프로젝트가 빌드 되면, Automation Studio는 자동으로 변수가 사용되는

가장 빠른 테스크 클래스로 배정합니다.

Page 52: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

52 TM213 - Automation Runtime

I/O 처리

6.2 I/O 이미지 처리

I/O 스케줄러는 테스크 클래스에서 모든 테스크 수행을 위해 I/O 이미지를 제공하고 정확히 구성된 시간에

테스크 클래스를 시작합니다. 테스크 클래스 시작에서 입력과 테스크 클래스 종료에서 출력 전송을

보장합니다.

I/O 데이터의 사이클

I/O 데이터 제공은 사용 된 버스 시스템의 설정된 I/O

사이클 타임에 발생합니다.

구성은 해당 필드 버스의 단축 메뉴를 통해 엽니다.

속성에서 구성한 I/O cycle times은 I/O 데이터를 I/O

이미지에 복사하기 위해 기본적으로 사용됩니다.

입력은 I/O 이미지로써 제공되고 출력 이미지는 X2X

사이클 타임 설정에 명시되어 있습니다.

그림 72: X2X 링크 인터페이스 속성 열기

그림 73: X2X cycle time 구성

Network Analyzer 는 구성된 POWERLINK 및 X2X 링크 사이클 타임이 허용치에 있는지 유무를

확인합니다. 메인 메뉴에서 <Open> / <Network Analyzer>을 선택하여 엽니다.

Diagnostics and service \ Diagnostic tools \ Network analyzer

각 테스크 클래스는 분리된 I/O 이미지를 사용합니다. 입력 상태는 전체 테스크 런타임 동안

지속적으로 남아있습니다.

Page 53: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 53

I/O 처리

그림에서 입력 이미지가 2 milliseconds 마다 제공되는 것을 나타낸다. 어플리케이션에서, 입력 데이터는

테스크 클래스가 시작될 때 구성된 사이클 타임보다 오래되지 않았음을 의미합니다; 해당 시간이 지난 후에

출력 데이터가 기록됩니다.

I/O image

n + 2ms + 4ms + 6ms + 8ms

그림 74: 입력 이미지 읽기

테스크 클래스에서 I/O 데이터

I/O 스케줄러는 테스크 클래스의 I/O 이미지가 제공되고 테스크 클래스가 시작되는 시기에 제어합니다.

기본적으로, I/O 스케줄러는 1000 µs의

시스템 틱(system tick)으로 열립니다.

시스템 틱은 CPU configuration의

“Timing” 범주에서 설정합니다.

그림 75: 구성 가능한 시스템 틱(system tick)

그림은 I/O 스케줄러가 I/O 이미지가 업로드 되는 것보다 2배 더 호출되고 있음을 나타냅니다.

I/O image

I/O schedule

n + 2ms + 4ms + 6ms + 8ms

그림 76: 입력 이미지 읽기; I/O 스케줄러 호출

r

Page 54: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

54 TM213 - Automation Runtime

I/O 처리

timing 구성에서 필드 버스의 사이클 타임을 시스템

타이머(system timer)로 사용할 수 있다. 기본적으로

필드 버스 사이클 타임은 I/O 스케줄러를 위해 1:1

비율로 적용됩니다. 이제 I/O 사이클과 I/O

스케줄러는 설정된 비율로 작업이 동기화 됩니다.

그림 77: 시스템 틱(system tick) 동기화

시스템 타이머로 필드 버스 타이머를 사용하고 사이클 타임에 계수 1을 곱하면 구성된 I/O 사이클 타임으로

I/O 스케줄러가 호출됩니다.

I/O image

I/O scheduler

n + 2ms + 4ms + 6ms + 8ms

그림 78: I/O 이미지와 I/O 스케줄러 동기화

I/O 매핑에서 설정된 대로, 입력 이미지의 I/O 데이터는 구성된 프로세스 변수에 할당됩니다.

테스크 클래스의 테스크를 위해, 다음과 같이 최종적으로 2 milliseconds 사이클 타임에 I/O 스케줄러가

호출됩니다:

Task class #1

I/O 스케줄러는 테스크 클래스 #1 10 ms 마다 시작하고 할당된 변수를 위한 입력 이미지에 제공합니다(초록색

화살표).

Page 55: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 55

I/O 처리

테스크 클래스 #1 끝에서, 할당된 출력 변수가 출력 이미지에 쓰여집니다(빨간색 화살표).

I/O scheduler

Cyclic #1

10 ms

그림 79: 테스크 클래스 #1를 위한 I/O 처리

Task class #4

I/O 스케줄러는 n+50 ms, n+150 ms 시간에 테스크 클래스 #4를 시작하고 할당 된 변수 입력 이미지를

제공합니다(초록색 화살표).

테스크 클래스 #4 끝에서, 할당된 출력 변수가 출력 이미지에 쓰여집니다(빨간색 화살표).

I/O scheduler

Cyclic #1

10 ms

Cyclic #4 100 ms

n

+ 50ms

+ 60ms + 70ms + 80ms

다중 작업 시작

그림 80: 테스크 클래스 #4를 위한 I/O 처리

6.2.1 시작

부팅하는 제어기는 I/O 구성을 I/O 모듈로 전송하고 인터페이스와 필드 버스를 초기화합니다. 프로그램

초기화 전에 수행됩니다. 유효한 I/O 데이터는 초기화 서브루틴에서 접근이 보장됩니다.

6.2.2 I/O 데이터 매핑

다음 이미지는 I/O 구성과 I/O 매핑 관계를 표시합니다.

Real-time operating system \ Target systems \Target systems - SG4 \ I/O management - SG4

n + 10ms + 20ms + 30ms + 40ms

다중 작업 시작

Page 56: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

56 TM213 - Automation Runtime

I/O 처리

제어기가 부트하거나 구성된 I/O 모듈이 인식될 때, I/O 구성이 모듈에 전송됩니다.

주기적 작동에서, 입력 데이터는 메모리 블록으로 제공되고 I/O 매핑으로 구성된 프로세스 변수에

분배됩니다. 출력 데이터에 쓰기 위해, 프로세스 변수는 수집되고 I/O 시스템에 메모리 블록으로 전송됩니다.

그림 81: 기본 I/O 기능

6.2.3 I/O 이미지 타이밍 설정

I/O 이미지의 시간 순 처리 테스크 클래스에서 사용 가능한 구성 옵션이 있습니다. 표준 사례는 테스크

클래스에서 마지막 테스크 종료시 출력을 즉시 씁니다. 이로 인해 테스크 런타임이 변동할 때 출력에

지터(jitter)가 발생합니다.

Page 57: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 57

I/O 처리

I/O scheduler

Cyclic #1

10 ms

그림 82: 테스크가 끝난 직후에 출력이 I/O 시스템에 전송됨.

그 대신에, 입력 이미지를 읽고 출력 이미지를 쓰는

시간은 CPU 설정의 테스크 클래스(task class)을

통해 지연 시킬 수 있습니다.

테스크 클래스 #1 파라미터 “I/O output delay”를

“To end of cycle”로 설정한다면, 출력 데이터는

테스크 클래스 끝에서만 I/O 스케줄러로 전달됩니다.

그 결과 테스크 런타임이 변동이 발생하더라도

테스크 클래스 출력에 지터가 발생하지 않습니다.

그림 83: 사이클 끝에서 출력 데이터 선언을 위한 구성

그림은 사이클 끝에서 출력 이미지 딜레이 효과를 나타냅니다.

I/O scheduler

Cyclic #1

10 ms

그림 84: 사이클 끝에서 지터 없는 출력 데이터 쓰기

Real-time operating system \ Target systems \Target systems - SG4 \ I/O management - SG4

Real-time operating system \ Target systems \Target systems - SG4 \ I/O management - SG4

\ Method of operation

n + 10ms + 20ms + 30ms + 40ms

다중 작업 시작

n + 10ms + 20ms + 30ms + 40ms

다중 작업 시작

Page 58: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

58 TM213 - Automation Runtime

I/O 처리

6.3 I/O 모듈 에러 처리

구성된 모든 I/O 모듈은 I/O 시스템이 모니터링합니다. 사용자는 에러 상황에서 어떻게 시스템이 반응 할지

구성할 수 있습니다.

I/O Configuration에서 "Module

monitoring" 속성은 I/O 모듈

모니터링 활성 또는 비활성 여부

선택에 사용됩니다.

그림 85: 모듈 모니터링 구성

모니터링 활성화

Automation Runtime으로 모듈 모니터링을 활성화시키면, 다음 스텝에서 재시작 후 SERVICE 모드에

있습니다.

• 해당 모듈을 제거합니다(또는 연결하지 않습니다).

• 모듈이 슬롯에 물리적으로 연결되어 있지만 실제 슬롯에 삽입된 모듈과 일치하지 않습니다.

• 작동 중에 I/O 시스템에 의해서 모듈은 더이상 주소를 받지 않습니다.

없거나, 올바르지 않은 구성 또는 잘못된 I/O 모듈이 삽입되어 시작 또는 런타임 중이면 “System” 로거

파일에 기록됩니다.

그림 86: 로거 항목 "module removed while running"

모듈 슬롯은 로거 항목 ACSII data를 사용하여 분별 가능합니다. "IF6.ST3"은 X2X 인터페이스인

IF6 인터페이스에 “ST3” 모듈이 연결되지 않았음을 의미합니다. 버스에 세번째 슬롯입니다. CPU

인터페이스 이름은 Physical View에서 볼 수도 있고 사용하는 CPU 데이터 시트에서 확인

가능합니다.

Page 59: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 59

I/O 처리

모니터링 비활성화

모듈 모니터링이 비활성화 시키면, I/O 모듈은 “ModuleOK” 채널을 변수 매핑하여 어플리케이션에서

모니터링할 수 있습니다. 없거나, 잘못된 모듈 삽입시 SERVICE 모드로 진입하는 재부팅이 발생하지

않습니다. "ModuleOk" 채널 값만 "FALSE"로 표시됩니다. 모듈 모니터링은 어플리케이션에서

책임져야합니다.

그림 87: 어플리케이션을 통한 모듈 모니터링

예제: 작동 중 버스 연결 또는 I/O 모듈 제거

작동 중 X20 bus controller 연결을 취소하거나 런타임 중 I/O를 제거합니다. 제어기는 재 시작하여

SERVICE 모드로 진입하고 제어기 어플리케이션 실행은 취소됩니다. 로거 파일을 읽고 항목을 분석합니다.

1) 작동 중 버스 연결 또는 I/O 모듈 제거

2) 재 시작후 SERVICE 모드 시작을 기다림

3) 로거 파일 “System”을 읽고 분석

6.4 reACTION Technology

제어 시스템이 달성할 수 있는 응답 시간은 핵심 성능 요소를 나타냅니다. 고급 제어기, 빠른 실시간

네트워크와 지능형 시스템 아키텍처는 종종 상당한 노력으로 한계를 100 µs 이하로 낮출 수 있습니다.

그러나 시작은 여전히 더 짧은 응답 시간을 요구합니다.

reACTION Technology 사용을 통해서, 작은 로직 프로그램 실행은

제어기에서 I/O 모듈로 직접 전달됩니다. reACTION Technology

프로그램은 reACTION Technology I/O 모듈에서 실행되므로 매우

빠른 사이클 타임으로 µs 범위의 응답 시간이 가능합니다.

reACTION Technology I/O 모듈로 짧은 응답 시간을 만들기 때문에,

제어기와 필드 버스 부하가 줄어듭니다.

reACTION Technology 프로그램은 Logical View에서 구성합니다. 프로젝트를 전송할 때, reACTION

Technology 프로그램은 직접 I/O 모듈에 설치되고 실행됩니다.

reACTION Technology 구성과 진단을 위해, reACTION I/O 모듈의 I/O 매핑에서 데이터 포인트를

활용합니다.

Real-time operating system \ Target systems \Target systems - SG4 \ I/O management - SG4

\ Method of operation \ Error handling

Page 60: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

60 TM213 - Automation Runtime

I/O 처리

Programming \ Programs \ reACTION Technology

• Technology description

• Examples for use of reACTION Technology

• reACTION diagram

Page 61: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 61

요약

7 요약

운영 체제는 해당 타겟 시스템에서 지속적인 리소스 관리를 보장하도록 어플리케이션과 하드웨어 사이에

인터페이스를 제공합니다.

Automation Runtime의 다중 작업은 모듈화된 어플리케이션 구성으로 디자인 할 수 있다. 테스크 클래스로

그룹화 된 테스크에서 어플리케이션을 정렬하면 리소스를 최적으로 사용할 수 있습니다. 어플리케이션

타이밍은 다중 작업 시스템을 사용자 고유 요구 사항에 맞게 조정하여 구성할 수 있습니다.

따라서 기존 리소스를 효율적으로 사용하면서 어플리케이션 및 시스템 성능을 최대화하는 최적 구성을 달성

할 수 있습니다.

그림 88: Automation Runtime: 전반적인 B&R 제품 범위를 포괄하는 소프트웨어 플랫폼

클라이언트 및 서버 프로토콜뿐만 아니라 플랫폼 독립적인 구성 인터페이스는 Automation Runtime을

강력한 운영 체제로 만듭니다. 시스템 개방성으로 다른 제조업체의 장치를 직접 통합하고 OPC UA

클라이언트 및 서버에 연결에 필요한 IT 안전 메커니즘을 구현할 수 있습니다.

여러 진단 도구 및 소프트웨어 라이브러리 덕분에 Automation Runtime 상태는 항상 투명합니다. 시운전 및

개별 어플리케이션 요구 사항 구현에 도움이 됩니다.

Page 62: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

62 TM213 - Automation Runtime

Automation Academy에서 제공하는 것

Automation Academy에서 제공하는 것

우리는 고객뿐만 아니라 직원을 대상으로 한 교육 과정을 제공합니다.

Automation Academy에서, 당신이 필요한 능력을 즉시 향상시킬 수 있습니다.

자동화 엔지니어링 분야에서 필요한 지식 향상을 위해 세미나가 준비되어 있습니다. 한번 이수하면, 당신은 B&R

기술을 이용하여 능률적인 자동화 솔루션을 개발하는 위치에 있을 것입니다. 이를 통해 귀하와 귀사는 끊임 없이

변화하는 시장 수요에 보다 빠르게 대응할 수 있게 됨으로써 결정적인 경쟁 우위를 확보 할 수 있습니다.

세미나

품질 및 관련 성은 세미나의 필수 구성 요소입니다. 특정 세미나의 페이스는

엄격하게 코스 참가자가 직면한 요구 사항과 경험에 근거합니다. 그룹

스터디와 자율 학습에 조합은 학습 경험을 극대화하는데 필요한 높은 수준의

유연성을 제공합니다.

각 세미나는 숙련된 경험이 풍부한 강사 중 한 명이 진행합니다.

교육 자료(Training modules)

교육 자료는 세미나 뿐 만 아니라 자율 학습을 위한 기초로 제공합니다.

콤팩트 모듈은 일관된 교육 개념에 의존합니다. 상향식 구조는 복잡하고

상호 연관된 주제를 효율적이고 효과적으로 배울 수 있습니다. 광범위한

도움말 시스템이 가장 좋은 보완책입니다. 교육 자료는 다운받을 수

있으며 인쇄된 버전을 주문할 수 있습니다.

카테고리 주제:

➯ 제어 기술

➯ 모션 제어

➯ 세이프티 기술

➯ 화면 작화

➯ 프로세스 컨트롤

➯ 진단 및 서비스

➯ POWERLINK와 openSAFETY

ETA system

더 알아보기!

ETA 시스템(ETA system)은 훈련, 교육 및 실험실에서 사용하기 위해

실제와 같은 구조를 제공합니다. 두가지 이상의 다른 기구 구조가 선택될 수

있습니다. ETA light system은 높은 자유도, 공간 절약 및 연구소 작업에

적합합니다. ETA standard system은 튼튼한 기구 구조와 사전에

와이어링된 센서와 엑추에이터를 포함합니다.

추가 교육이 필요하세요? B&R Automation Academy가 제공하는 것에 흥미가

있으신가요? 잘 찾아오셨습니다.

상세한 정보는 아래 링크에서 확인하실 수 있습니다:

www.br-automation.com/academy

Page 63: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

TM213 - Automation Runtime 63

Automation Academy에서 제공하는 것

Page 64: TM213 Automation Runtime · 2019-12-09 · 4 TM213 - Automation Runtime 소개 1 소개 Automation Runtime은 B&R의 전 제품을 위한 소프트웨어 플랫폼 역할로 결정성

V2.2.0.0 ©2018/05/23 by B&R, All rights reserved.

All registered trademarks are the property of their respective owners.

We reserve the right to make technical changes.