유지 영역에 있는 펑션블럭 인스턴스

펑션블럭 인스턴스를 유지 영역에 액세스할 수 있습니다. 즉, 전원을 끈 후에 펑션블럭 변수의 모든 조건은 그대로 유지됩니다. 이 경우, POU 헤더의 클래스 VAR_RETAIN or VAR_EXTERNAL_RETAIN에서 변수를 입력해야 합니다. VAR_EXTERNAL_RETAIN의 경우, FB 변수를 글로벌 변수 리스트에서 VAR_GLOBAL_RETAIN으로 선언해야 합니다.

인스턴스에 클래스 VAR_RETAIN 또는 VAR_EXTERNAL_RETAIN을 사용하는 경우, 컴파일러는 어드레스를 유지 영역에서 클래스 VAR, VAR_INPUT, VAR_OUTPUT 또는 VAR_IN_OUT의 비유지 변수로 할당합니다. 어드레스는 프로그램이 다운로드된 후에만 초기화됩니다. 클래스 VAR의 하위 인스턴스는 클래스 VAR_RETAIN의 하위 인스턴스처럼 처리됩니다. 클래스 VAR_RETAIN, VAR_OUTPUT_RETAIN, VAR_EXTERNAL, 또는 VAR_EXTERNAL_RETAIN의 기타 변수 또는 하위 인스턴스의 어드레스는 클래스 VAR 또는 VAR_EXTERNAL의 인스턴스로 할당됩니다. 클래스 VAR_CONSTANTVAR_EXTERNAL_CONSTANT의 변수값은 프로그램 코드의 정수값으로 입력됩니다.

인스턴스에 클래스 VAR 또는 VAR_EXTERNAL을 사용하는 경우, 펑션블럭의 변수 또는 하위 인스턴스 선언은 유지(VAR_RETAIN) 또는 비유지(VAR) 여부를 결정합니다.

프로그램 Prog의 POU 헤더

프로그램 Prog는 펑션블럭 FB1에 두 번 액세스합니다.

펑션블럭 FB1의 POU 헤더

펑션블럭 FB1의 POU 헤더에는 다음 엔트리가 있습니다. 또한 펑션블럭 FB1은 펑션블럭 FB2의 인스턴스 두 개를 만듭니다.

펑션블럭 FB2의 POU 헤더

펑션블럭 FB2의 POU 헤더에는 다음 엔트리가 있습니다.

프로그램 Prog의 메모리 배포:

관련 항목

최종 수정일: 2020-08-12이 페이지에 대한 피드백Panasonic 직통 전화