목표값 일치 끄기(고속 카운터)
고속 카운터의 경과 값이 목표 값과 일치하면 인터럽트 프로세스가 지정된 출력을 바로 FALSE로 전환합니다.
입력
고속 카운터 채널:
FP-S: 0–3
FP-X R: 0–11
FP-X T: 0–7
FP0: 0–3
F168_PulseOutput_Trapezoidal: 0–3
F171_PulseOutput_Trapezoidal: 0–5
목표 값의 32비트 데이터 값을 다음 범위 내로 지정:
FP0, F168_PulseOutput_Trapezoidal: -838808–+8388607
FPS, FP-X, F171_PulseOutput_Trapezoidal: -2147483467–+2147483648
출력
경과 값이 목표 값과 일치하는 경우, FALSE로 전환된 출력:
FP-S, FP0, F168_PulseOutput_Trapezoidal: Y0–Y7
FP-S(V3.1 이상), F171_PulseOutput_Trapezoidal: Y0–Y1F
FP-X: Y0–Y29F
목표 값 일치 끄기 제어 특징
경과 값이 목표 값과 일치하면 PLC 출력은 FALSE로 전환됩니다. 또한 고속 카운터 제어 플래그는 FALSE로 전환되고 명령이 비활성화됩니다.
경과 값이 목표 값과 일치하면 인터럽트 프로그램이 실행됩니다. 작업 목록에 입력된 모든 인터럽트가 자동으로 활성화됩니다. 특수 인터럽트 프로그램 번호는 각 채널 번호에 할당됩니다.
인터럽트 프로그램에서 사용한 채널:
PLC 유형 |
FP0, FP-e |
FPS, FP0H |
FP-X(릴레이 형식), FP-XH |
FP-X(트랜지스터 형식) |
FP0R |
---|---|---|---|---|---|
인터럽트0 |
채널0 |
채널0 |
채널0 |
채널0 |
채널0 |
인터럽트1 |
채널1 |
채널1 |
채널1 |
채널1 |
채널1 |
인터럽트2 |
채널2 |
채널2 |
|||
인터럽트3 |
채널2 |
채널2 |
채널3 |
채널3 |
채널2 |
인터럽트4 |
채널3 |
채널3 |
채널4 |
채널4 |
채널3 |
인터럽트5 |
채널5 |
채널5 |
|||
인터럽트6 |
채널6 |
채널6 |
채널4 |
||
인터럽트7 |
채널7 |
채널7 |
채널5 |
||
인터럽트8 |
채널8 |
||||
인터럽트9 |
채널9 |
||||
인터럽트10 |
|||||
인터럽트11 |
채널A |
||||
인터럽트12 |
채널B |
시스템 레지스터에서 원하는 채널의 고속 카운터 입력을 선택합니다.
FP-X, FP0R: 고속 카운터 명령이 실행되면 사용한 채널의 고속 카운터 제어 플래그(예: sys_bIsHscChannel0ControlActive)는 TRUE로 전환됩니다. 같은 채널을 사용하여 다른 고속 카운터 명령을 실행하면 제어 플래그는 더 이상 TRUE가 아닙니다.
FP0, FP-e, FPS: 고속 카운터 제어 플래그(예: sys_bIsHscChannel0ControlActive)와 펄스 출력 제어 플래그(예: sys_bIsPulseChannel0Active)가 같은 특수 내부 플래그 번호(예: R903A)에 할당됩니다. 따라서 고속 카운터 명령 또는 펄스 출력 명이 실행되면 사용된 채널의 고속 카운터 제어 플래그(예: sys_bIsHscChannel0ControlActive)와 펄스 출력 제어 플래그(예: sys_bIsPulseChannel0Active)는 TRUE입니다. 다른 고속 카운터 명령 또는 펄스 출력 명령이 실행되면 이 플래그는 더 이상 TRUE가 아닙니다.
주 프로그램과 인터럽트 프로그램 모두에 같은 채널 코드가 포함된 경우, 두 프로그램을 동시에 실행하지 마십시오.
이전에 TRUE로 설정한 PLC 출력을 이 명령으로 FALSE로 출력하려면 RST 또는 MOVE 명령을 사용합니다.
명령 실행을 취소하려면 고속 카운터 제어 코드(sys_wHscOrPulseControlCode)를 저장하는 데이터 레지스터의 비트 3을 TRUE로 설정합니다. 그러면 고속 카운터 제어 플래그는 FALSE로 변경됩니다. 고속 카운터 명령 실행을 다시 활성화하려면 비트 3을 FALSE로 초기화합니다.
고속 카운터 제어 플래그 또는 펄스 출력 제어 플래그 상태는 스캔이 실행 중인 동안에 변경될 수 있습니다. 예를 들어, 수신된 바이트 수를 읽으면 스캔 1회에 다른 상태가 두 개 이상 있을 수 있습니다.
글로벌 변수 리스트에서 프로젝트의 모든 POU에서 액세스할 수 있는 변수를 정의합니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR_EXTERNAL
out_0: BOOL:=FALSE;
(*output Y0 of PLC*)
END_VAR
VAR
start: BOOL:=FALSE;
(*start condition*)
END_VAR
변수 start가 TRUE로 설정되면 펑션이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_VARIN,,0,10,2,12,4,);
B(B_VARIN,,-200,10,3,12,5,);
B(B_CONTACT,,start,5,1,7,3,R);
B(B_VAROUT,,out_0,27,2,29,4,);
B(B_F,F167_HighSpeedCounter_Reset!,Instance,12,0,27,5,,?DEN?Hn_diHscChannel?Ds_diTargetValue?AENO?Cd_Y);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(start) then
F167_HighSpeedCounter_Reset(n_diHscChannel := 0,
s_diTargetValue := -200,
d_Y => out_0);
END_IF;
숫자를 입력 변수를 할당하거나(예: , 변수 클릭, 값 입력, <Enter> 누름) 입력 변수를 숫자로 바꿉니다.