펑션(FUN)은 프로그램 구성 유닛(POU)으로, 실행 시 결과로 데이터 요소와 클래스 VAR_OUTPUT 및 VAR_IN_OUT의 출력 값 수를 전달합니다. 출력 데이터 형식 VOID를 지정하면 펑션은 결과를 제공하지 않습니다.
또한 VAR_EXTERNAL, VAR_EXTERNAL_RETAIN 또는 VAR_EXTERNAL_CONSTANT를 통해 글로벌 변수에 액세스할 수 있습니다.
펑션은 어떠한 내부 상태 정보도 포함하지 않습니다. 즉, 클래스 VAR_INPUT, VAR_IN_OUT 및 VAR_EXTERNAL의 같은 입력 변수로 펑션을 호출하면 항상 클래스 VAR_OUTPUT, VAR_IN_OUT 및 VAR_EXTERNAL에 대한 같은 결과와 같은 출력값이 제공됩니다.
Control FPWIN Pro7에는 두 가지 형식의 펑션이 있습니다.
시스템 라이브러리의 시스템 명령
[IEC standard library]
[FP library]
[FP tool library]
[FP pulsed library]
사용자 정의 펑션
자신만의 펑션을 프로그램하여 유저 라이브러리에 저장할 수도 있습니다. 그러면 유저 라이브러리가 설치된 모든 프로젝트에서 새 펑션을 사용할 수 있습니다.
다음 프로그래밍 언어로 펑션을 쓸 수 있습니다.
[사다리 다이어그램(LD)] 또는 [펑션블럭 다이어그램(FBD)]
[구조화된 문자(ST)]
[명령 목록(IL)]
펑션은 프로그램, 펑션 또는 펑션블록에 의해서만 로드될 수 있으므로, 태스크에 할당될 수 없습니다.
펑션을 재귀적으로 호출할 수 없습니다.
FUN1() -> FUN2() -> FUN3() -> FUN1()
은 허용되지 않음
FUN1 (FUN2 (FUN3 (FUN4 (FUN5 (x)))))
).
중첩 펑션 호출의 최대 수 |
PLC 기종 |
---|---|
16 |
FP7 |
10 |
FP0H, FP_XH, FP0R과 같은 최신 16비트 PLC 기종 |
15 |
이전 16비트 PLC 기종 |
공식 파라미터가 없는 ST 또는 IL 펑션을 제외하고 펑션 결과와 펑션 출력이 연결되지 않은 상태로 유지될 수 있습니다.
ST 에디터에서 공식 파라미터와 함께 펑션을 호출하면 다음 조건이 적용됩니다.
정식 파라미터가 있는 인수의 경우, 파라미터 순서는 문제가 되지 않습니다.
유저 펑션을 사용하여 EN입력과 출력을 생략할 수 있습니다. 생략된 EN은 TRUE로 해석됩니다.