본문으로 바로가기

Task와 POU

category Programming/PLC 2021. 3. 22. 15:57
반응형

Task와 POU

PLCopen의 소프트웨어 모델은

PLC 애플리케이션은 TaskProgram으로 구성되어 있다. 이것을 바꿔 말하면, IEC 표준에 따르는 PLC 애플리케이션을 개발하기 위해서는 목적에 따르는 여러 Task를 정의하고, 각각의 목적에 맞는 프로그램 코드를 작성해주어야 한다는 의미이다.

CODESYS 개발 툴에서 표준 프로젝트를 생성하면,

화면 왼쪽의 디바이스 파트가 위 그림과 같이 나타난다. 여기서 파란색으로 표시한 부분이 Task, 녹색으로 표시한 부분이 사용자에 의해 작성되는 프로그램인 POU이다. Task는 PLC 애플리케이션에서 프로그램 (POU)의 실행을 제어하는 오브젝트이다. 디바이스 창에서 MainTask를 더블 클릭하면,

CODESYS 개발 툴에 위 그림과 같은 창이 열린다. 이 부분은 Task의 속성을 정의하는 부분으로, Task의 우선순위나 실행 타입을 설정할 수 있고, 호출할 POU를 등록하거나 Task의 실행을 감시하는 Watchdog 메커니즘 등을 정의할 수 있다. Task에 우선 순위를 부여할 수 있다는 것은 하나의 PLC 애플리케이션에 여러 개의 Task를 등록해서 사용할 수 있다는 것을 의미한다. 그리고, 각각의 Task들마다 실행되는 방식을 다르게 정의할 수도 있다. 이렇게 정의된 Task들은 PLC 애플리케이션이 적용된 컨트롤러의 시스템에서 설정된 우선 순위와 실행 타입에 따라 자동으로 제어되고, Task가 실행될 때 등록된 POU의 연산들을 처리하는 형태로 동작한다.

POU는 Program Organization Unit의 약자로, 사용자에 의해 작성되는 프로그램 코드가 담긴 오브젝트를 의미한다. CODESYS의 표준 프로젝트를 생성하면 PLC_PRG라는 이름의 POU가 자동으로 생성되어 있고, MainTask에도 자동으로 등록되어 있다. 여기 PLC_PRG POU를 더블 클릭하면,

위 그림과 같이 POU 에디터 화면이 CODESYS 개발 툴에 나타난다. POU가 프로그램 코드의 기본 단위인 만큼, 프로그램에서 사용되는 변수의 선언과 연산 처리 내용을 담고 있는 프로그램 코드들이 POU에 포함된다. 따라서, 작성 언어에 따라 프로그래밍 파트가 약간씩 달라질 수 있지만, POU의 에디터 화면도 기본적으로 변수를 선언하는 부분과 프로그램을 작성하는 부분으로 구분된다.

IEC 표준에서는 ProgramFunction Block, 그리고 Function을 POU로 정의하고 있다. 각각의 POU마다 서로 다른 특성을 가지고 있고, PLC 애플리케이션 내부에서 다른 목적으로 사용된다. 각 POU의 특성에 대해서는 다른 글을 통해 좀 더 자세히 알아보기로 하자.

이번 글의 주제에 관한 더욱 자세한 내용은 전자책을 통해 확인하실 수 있습니다.
아래 Link를 클릭하면 전자책 구매 사이트 (크몽)으로 연결되니,
전자책 구매에 관심 있으신 분들은 참고하시기 바랍니다.

(전자책 구매하러가기)

 

지금 읽고 계신 글이 유익했다면, 커피 한 잔 부탁드립니다.
더욱 참신한 글로 여러분의 후원에 보답하겠습니다.


donaricano-btn

반응형

'Programming > PLC' 카테고리의 다른 글

Structured Text  (0) 2021.04.23
FBD와 CFC  (0) 2021.04.19
래더 다이어그램  (2) 2021.04.18
변수의 종류  (0) 2021.04.07
변수와 데이터 타입  (0) 2021.03.28