펑션블럭(FB)은 작은 프로그램입니다. 펑션과 달리 펑션블럭에는 값을 저장할 수 있는 자체 메모리 영역이 있습니다. 저장된 값(더하거나 뺄 수 있음)에 따라 같은 입력값이 다른 결과를 제공합니다. 프로그램에서 원하는 만큼 자주 같은 펑션블럭을 사용할 수 있습니다. 이러한 이유로 펑션블럭을 로드할 때마다 사본이 생성됩니다. 값이 같은 입력의 펑션블럭에 의해 덮어쓰기되거나 처리되지 않도록 이 사본(인스턴스)에 이름을 지정합니다.
Control FPWIN Pro7에는 두 가지 형식의 펑션블럭이 있습니다.
시스템 펑션블럭
[IEC standard library]: 예: TON, TOF
[FP library]: 예: CT_FB, PID_FB
사용자 정의 펑션블럭
이러한 펑션블럭을 4가지 프로그래밍 언어로 덮어쓸 수 있습니다.
[사다리 다이어그램(LD)] 또는 [펑션블럭 다이어그램(FBD)]
[구조화된 문자(ST)]
[명령 목록(IL)]
예를 들어 지연이 있는 모터를 켜는 경우, 먼저 IEC 표준 라이브러리의 FB "TON"(전원 켜짐 지연이 있는 타이머)을 호출하면 이 FB 이름은 "delay_motor"가 됩니다. 이 FB를 다음에 호출하면 다른 이름(예: "delay_heating" 등)이 지정됩니다.
프로그램 또는 펑션블럭에서만 펑션블럭을 호출할 수 있으므로, 펑션블럭을 태스크에 할당하지 마십시오.
펑션블럭을 재귀적으로 호출할 수 없습니다.
중첩 펑션블럭 호출은 최대 5개를 초과할 수 없습니다(예: FB1(FB2(FB3(FB4(FB5(x)))))).