- VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT > function block에 대한 입력 변수
- VAR_IN_OUT(통과변수)
# FB FUNCTION_BLOCK FB_Sample VAR_IN_OUT bInOut : BOOL; END_VAR # MAIN VAR bTest : BOOL; fbSample : FB_Sample; END_VAR
fbSample(bInOut := bTest); // OK fbSample(); // NOK fbSample.bInOut := bTest; // NOK
- fbSample(); - FB호출에 VAR_IN_OUT 변수가 할당되지 않음
- fbSample.bInOut := bTest; - 외부에서 VAR_IN_OUT 변수에 직접 접근할 수 없음
- VAR_IN_OUT(통과변수)
- 전역변수
- (일반) VAR_GLOBAL END_VAR
- (상수) VAR_GLOBAL CONSTANT END_VAR
- 선언할 때는 항상 초기화 값을 할당, 그 후에는 상수를 더 이상 쓸 수 없음 - (영속) VAR_GLOBAL PERSISTENT END_VAR
- 프로그램 런타임 이후에도 해당 값을 유지
- 제어되지 않는 종료, 리셋 콜드 또는 PLC 프로젝트의 새 다운로드 후에도 값을 유지
- 프로그램이 다시 시작되면 시스템은 저장된 값으로 계속 작동
- Reset origin 중에만 변수 초기화