사용자 도구

사이트 도구

English

codesysmanual:function

사용자 정의 펑션

POU를 추가할 때 아래와 같이 Function을 선택하고 추가할 수 있습니다.

2개의 값을 입력받아 더한결과를 반환하는 단순한 펑션을 만들어 보겠습니다.

그리고 PLC_PRG에 가서 오른쪽을 보면 방금 작성한 펑션이 보입니다. 끌어다가 LD영역에 놓으면 됩니다.

이런식으로 사용자가 정의한 펑션이 LD언어창에 블록형태로 표시됩니다.

입출력 파라미터를 작성해주면 사용할 수 있습니다.

사용자 정의 펑션 블록 (FB)

사용자 정의 펑션블록도 POU 추가에서 선택하여 생성할 수 있습니다.

펑션과 거의 유사한데, 차이점은

  • 인스턴스가 생성됩니다.
  • 여러개 값을 반환할 수 있습니다. (펑션은 1개만 가능)

다음은 2개의 입력을 받아 더한뒤 반환하는 단순한 펑션블록입니다.

LD언어에서 방금 작성한 펑션블록을 추가하면 다음과 같은 형태가 됩니다.

FunctionBloack_Add_0 이라는 인스턴스가 생성됩니다.

인스턴스란? 간단하게 설명드리자면 펑션블록을 선언하는 것은 일종의 붕어빵 틀이고, 그걸로 구워낸 붕어빵이 "인스턴스"입니다. 펑션블록은 그 자체로 이용이 불가능하지만 인스턴스를 생성해 냄으로서 이용가능한 실체(프로그램 메모리에 존재하는)가 만들어지는 것입니다.

  • 펑션은 C언어에서 사용하는 펑션과 동일한 개념입니다.
  • 펑션블록은 C++이나 C#에서 사용하는 클래스와 동일한 개념입니다.

선언한 펑션블록(FB)은 모든 언어(ST,LD,FBD,IL,SFC,CFC)에서 호출 할 수 있습니다.

CODESYS 와 ComfilePi

codesysmanual/function.txt · 마지막으로 수정됨: 2020/12/13 18:41 저자 Comfile Technology