 Pulse_TargetValueMatch_Set
Pulse_TargetValueMatch_Set목표 값 일치 ON(펄스 출력)
경과 값이 iChannel에서 지정한 펄스 출력 채널의 목표 값 diTargetValue와 일치하면 pYOutput에서 지정한 출력 릴레이가 바로 TRUE로 전환됩니다.

입력
상승 엣지가 함수 활성화, PulseInfo_IsTargetValueMatchActive를 사용하여 펄스 출력 채널 제어 플래그 평가
FPS: 0, 2
FP-X R: 0, 1
FP-X 16K C14T: 0, 1, 2
FP-X 32K C30T, C60T: 0, 1, 2, 3
FP0R: 0, 1, 2, 3
FP0: 0, 1
FP-e: 0, 1
채널 번호와 출력을 공급하는 전역 변수에서 GetPointer로 가져온 포인터 결과
목표 값의 32비트 데이터 값을 다음 범위 내로 지정:
FP0, FP-e: -838808~+8388607
FPS, FP-X, FP0R: -2147483467~+2147483648
출력
Channel%d와 pYOuput.iOffset의 조합이 전역 변수에서 정의한 채널 번호와 출력의 조합과 일치하지 않으면 TRUE
이 비 인라인 명령은 펄스 출력의 도구 명령 일부입니다. 내부에서 사용되는 명령의 자세한 내용은 :F166_PulseOutput_Set
채널과 Y 출력 조합의 유효성을 검사하려면 컴파일러에 전역 변수에 대한 다음과 같은 이름 패턴이 필요합니다.%sPulse_TargetValueMatch_Channel%d_Y%d_%s
항상 목표 값 일치 제어에 전역 변수에 대한 이 패턴을 사용합니다.
Channel%d는 시스템 레지스터에서 활성화된 펄스 출력 채널 번호여야 합니다.
Y%d 는 PLC에서 제공하는 명시적 출력 어드레스여야 합니다.
| FP-S, FP0, FP-e: | Y0~Y7 | 
| FP-S(V3.1 이상), FP0R: | Y0~Y1F | 
| FP-X: | Y0~Y29F | 
%s 는 패턴 시작에서의 옵션 설명자입니다.
_%s 는 패턴 끝에서의 옵션 설명자입니다.
| 옵션 | 고정 패턴 | 옵션 | 
| g_b | Pulse_TargetValueMatch_ChannelA_Y11F | _MotorOn | 
이 전역 변수는 채널 A의 코드와 출력 Y11F를 생성합니다.
글로벌 변수 리스트에서 프로젝트의 모든 POU에서 액세스할 수 있는 변수를 정의합니다.


이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR_EXTERNAL
		g_bPulse_TargetValueMatch_Channel1_YA_Horn1_On: BOOL:=FALSE;
	END_VAR
	VAR 
		diTargetValue0: DINT:=11000;
		iChannel1: INT:=1;
		bIsActive: BOOL:=FALSE;
		bErrorSet: BOOL:=FALSE;
		bSet: BOOL:=FALSE;
	END_VAR
PulseInfo_IsTargetValueMatchActive를 사용하여 iChannel1이 활성화되어 있는지 평가합니다. bSet에서 상승 엣지가 검색되고 bIsActive가 TRUE가 아니면 명령이 실행됩니다. 채널 번호와 출력 접점 조합은 글로벌 변수 g_bPulse_TargetValueMatch_Channel1_YA_Horn1_On에서 확인됩니다. 채널 1의 펄스 출력이 목표값 diTargetValue0에 도달하면 출력 YA는 TRUE로 설정됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_VARIN,,iChannel1,7,1,9,3,);
B(B_VAROUT,,bIsActive,26,1,28,3,);
B(B_F,PulseInfo_IsTargetValueMatchActive!,,9,0,26,3,,?DiChannel?C);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_VAROUT,,bErrorSet,51,1,53,3,);
B(B_CONTACT,,bSet,3,1,5,3,R);
B(B_CONTACT,,bIsActive,7,1,9,3,N);
B(B_VARIN,,iChannel1,32,2,34,4,);
B(B_VARIN,,diTargetValue0,32,4,34,6,);
B(B_F,GetPointer!,,27,3,34,5,,?D?C);
B(B_VARIN,,g_bPulse_TargetValueMatch_Channel1_YA_Horn1_On,25,3,27,5,);
B(B_F,Pulse_TargetValueMatch_Set!,,34,0,48,6,,?DbExecute?DiChannel?DpYOutput?DdiTargetValue?CbError);
L(5,2,7,2);
L(1,2,3,2);
L(9,2,34,2);
L(48,2,51,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY
bIsActive:=PulseInfo_IsTargetValueMatchActive(iChannel1);
Pulse_TargetValueMatch_Set(bExecute := DF(bSet) AND NOT bIsActive,
             iChannel := iChannel1,
             pYOutput := GetPointer(g_bPulse_TargetValueMatch_Channel1_YA_Horn1_On),
             diTargetValue := diTargetValue0,
             bError => bErrorSet);