Tiny Bunny
본문 바로가기
카테고리 없음

TwinCAT - 변수

by 내이름효주 2024. 8. 29.
  • 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_GLOBAL                   END_VAR
    • (상수) VAR_GLOBAL CONSTANT                  END_VAR
      - 선언할 때는 항상 초기화 값을 할당, 그 후에는 상수를 더 이상 쓸 수 없음
    • (영속) VAR_GLOBAL PERSISTENT                   END_VAR
      - 프로그램 런타임 이후에도 해당 값을 유지
      - 제어되지 않는 종료, 리셋 콜드 또는 PLC 프로젝트의 새 다운로드 후에도 값을 유지
      - 프로그램이 다시 시작되면 시스템은 저장된 값으로 계속 작동
      - Reset origin 중에만 변수 초기화