연산 상태 플래그

연산 상태 플래그에 대한 다음 지침을 따르십시오.
설명
명령어로 직접 액세스하기 위한 연산 상태 플래그의 집합입니다. 이 플래그는 래더 다이어그램 루틴에서만 업데이트되며 태그가 아니므로 플래그 별칭은 적용되지 않습니다.
상태 플래그
다음 표에는 특정 상태 플래그에 대한 설명이 나와 있습니다.
상태 플래그
설명
S:FS
첫 스캔 플래그
컨트롤러는 다음 경우에 첫 스캔 플래그를 설정합니다.
  • 컨트롤러가 실행 모드로 전환된 후 처음으로 프로그램이 스캔될 때
  • 프로그램이 금지 해제된 후 처음으로 프로그램이 스캔될 때
  • 루틴이 SFC 작업에서 호출되고 이 작업을 소유한 스텝이 처음으로 스캔될 때.
첫 스캔 플래그는 이후 스캔에서 사용할 데이터를 초기화하는 데 사용합니다. 이를 최초 통과 비트라고도 합니다.
S:N
음수 플래그
컨트롤러는 연산 또는 로직 연산의 결과가 음의 값일 경우 음수 플래그를 설정합니다. 이 플래그를 사용하여 음의 값을 신속하게 테스트해볼 수 있습니다.
S:Z
0 플래그
컨트롤러는 연산 또는 로직 연산의 결과가 0일 경우 0 플래그를 설정합니다. 이 플래그를 사용하여 0 값을 신속하게 테스트해볼 수 있습니다.
0 플래그는 플래그를 설정할 수 있는 명령어가 실행되자마자 해제됩니다.
S:V
오버플로 플래그
컨트롤러는 다음과 같은 경우 오버플로 플래그를 설정합니다.
  • 수학 연산의 결과로 오버플로가 발생합니다.
    예를 들어, SINT에 1을 더할 때 값이 127에서 -128로 넘어가면 오버플로가 발생합니다.
  • 대상 태그가 너무 작아 값을 보유하지 못합니다.
    예를 들어, SINT 또는 INT 태그에 123456 값을 저장하려는 경우입니다.
오버플로 플래그는 연산 결과가 범위 내에 있는지 확인하는 데 사용합니다.
저장 중인 데이터가 문자열 유형일 때, 그 문자열이 너무 커 대상 태그에 맞지 않으면 S:V가 설정됩니다.
해당하는 경우 OTE 또는 OTL 명령어로 S:V를 설정합니다.
컨트롤러 속성 > 고급 탭 > 오버플로 오류 보고
를 선택하여 오버플로 오류 보고를 활성화 또는 비활성화할 수 있습니다.
배열 아래 첨자를 평가하는 동안 오버플로가 발생하면 부 폴트가 생성되고 인덱스가 범위를 벗어났음을 나타내기 위해 주 폴트가 생성됩니다.
S:C
자리올림 플래그
수학 연산의 결과로 최상위 비트의 자리올림이 발생한 경우 컨트롤러에서 자리올림 플래그를 설정합니다.
정수 값으로 된 ADD 및 SUB 명령어만 이 플래그에 영향을 줍니다. +와 - 연산자는 그렇지 않습니다.
S:MINOR
부 폴트 플래그
최소 하나의 부 프로그램 폴트(Minor Program Fault)가 있을 때 컨트롤러(Controller)에서 부 폴트(Minor Fault) 플래그를 설정합니다.
부 폴트 태그를 사용하여 부 폴트가 발생했는지 테스트합니다. 이 비트는 오버플로와 같은 프로그래밍 폴트로만 트리거됩니다. 배터리 오류로는 트리거되지 않습니다. 스캔이 시작될 때마다 이 비트는 해제됩니다.
해당하는 경우 OTE 또는 OTL 명령어로 명시적으로 S:MINOR를 설정합니다.
중요: 연산 상태 플래그는 저장된 값에 따라 설정됩니다. 유형 변환이 혼합 데이터 유형에서 명령어 파라메터에 대해 발생하면 평상시 연산 상태 플래그에 영향을 주지 않는 명령어가 연산 상태 플래그에 영향을 줄 수 있습니다. 유형 변환 프로세스가 연산 상태 플래그를 설정합니다.
배열 아래 첨자의 식
식이 수학 연산 결과에 따라 상태 플래그를 설정하지 않습니다. 식이 오버플로되는 경우:
  • 컨트롤러가 부 폴트를 생성하도록 구성된 경우 부 폴트가 생성됩니다.
  • 결과 값이 범위를 벗어나므로 주 폴트(유형 4, 코드 20)가 생성됩니다.
    팁: 배열 아래 첨자가 너무 크면(범위 이탈), 주 폴트(유형 4, 코드 20)가 생성됩니다.
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal