순차 기능 차트

순차 기능 차트(, SFC)는 프로그래머블 로직 컨트롤러(PLC)에 사용되는 시각적 프로그래밍 언어이다. IEC 61131-3 표준에 정의된 다섯 가지 언어 중 하나이다. SFC 표준은 제어 시스템용 기능 차트 작성으로 정의되며, (이진 페트리 네트를 기반으로 함)를 바탕으로 만들어졌다.

SFC는 단계별로 나눌 수 있는 공정을 프로그래밍하는 데 사용될 수 있다.

SFC의 주요 구성 요소는 다음과 같다.

 연관된 동작(Action)이 있는 단계(Step)
 연관된 논리 조건이 있는 전이(Transition)
 단계와 전이 사이의 방향성 연결(Link)

SFC 다이어그램의 단계는 활성 또는 비활성 상태일 수 있다. 동작은 활성 단계에 대해서만 실행된다. 단계는 다음 두 가지 이유 중 하나로 활성화될 수 있다:
 프로그래머가 지정한 초기 단계인 경우.
 스캔 주기 동안 활성화되었고 그 이후로 비활성화되지 않은 경우.

단계 위의 모든 단계가 활성 상태이고 연결된 전이가 통과 가능할 때(즉, 연관된 조건이 참일 때) 해당 단계가 활성화된다. 전이가 통과되면 위에 있는 모든 단계는 즉시 비활성화되고, 그 후에 아래에 있는 모든 단계가 즉시 활성화된다.

단계와 연관된 동작은 여러 유형이 있을 수 있으며, 가장 관련이 깊은 것은 연속(N), 세트(S), 리셋(R)이다. 세트와 리셋의 명확한 의미 외에도, N 동작은 단계가 활성 상태인 동안 대상 변수가 1로 유지되도록 보장한다. SFC 규칙에 따르면 두 단계가 동일한 대상에 대해 N 동작을 갖는 경우, 해당 변수는 절대 0으로 리셋되지 않아야 한다. SFC 프로그램 내부에 LD(래더 다이어그램) 동작을 삽입하는 것도 가능하다(이는 예를 들어 정수 변수를 다루는 표준적인 방법이다).

SFC는 표준 용어로 프로그램 조직 단위(POU)라고 불리는 여러 제어 흐름이 동시에 활성화될 수 있다는 점에서 본질적으로 병렬 프로그래밍 언어이다.

언어에 대한 비표준 확장에는 매크로 동작이 포함된다. 즉, 한 프로그램 단위 내부의 동작이 다른 프로그램 단위의 상태에 영향을 미치는 것이다. 가장 대표적인 매크로 동작은 "강제(forcing)"로, 하나의 POU가 다른 POU의 활성 단계를 결정할 수 있다.Tom Meadowcroft, 2018

 같이 보기 
 DRAKON 차트
 UML 활동 다이어그램
 연속 기능 차트

 각주 

 외부 링크 

 SFC/GRAFCET free stencils for Microsoft Visio
 Rockwell Automation, Allen-Bradley. Sequential Function Charts
 CODESYS

분류:시각적 프로그래밍 언어