펑션(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)]
펑션은 프로그램, 펑션 또는 펑션블럭에 의해서만 로드될 수 있으므로, 태스크에 할당될 수 없습니다.
펑션을 재귀적으로 호출할 수 없습니다.
중첩 펑션 호출은 최대 5개를 초과할 수 없습니다(예: Fun1 (Fun2 (Fun3 (Fun4 (Fun5 (x)))))
).
공식 파라미터가 없는 ST 또는 IL 펑션을 제외하고 펑션 결과와 펑션 출력이 연결되지 않은 상태로 유지될 수 있습니다.
ST 에디터에서 공식 파라미터와 함께 펑션을 호출하면 다음 조건이 적용됩니다.