PulseOutput_Trapezoidal_FB

사다리꼴 제어

이 명령은 펑션블록과 지정된 DUT의 파라미터에 따라 자동으로 사다리꼴 제어를 수행합니다. 지정된 채널의 제어 플래그가 FALSE이고 실행 조건이 TRUE이면 이 채널에서 펄스가 출력됩니다.

파라미터

입력

bExecute (BOOL)

FP-SIGMA, FP-X, FP0, F168_PulseOutput_Trapezoidal: 엣지 트리거만 포함

F171_PulseOutput_Trapezoidal: 실행 조건은 엣지 트리거 영구 포함, 속도 변경이 필요한 경우일 수 있습니다.

bAbsoluteValueControl (BOOL)

절대값 제어 = TRUE, 상대값 제어 = FALSE

diInitialAndFinalSpeed (DINT)

초기 및 최종 속도: 이 값을 PulseOutput_Channel_Configuration_DUT에서 선택한 주파수 범위에 따라 설정합니다.

FPS, FP-X: 1~9800(1,5Hz~9,8kHz)

48~100000(48Hz~100kHz)

191~100000(191~100kHz)

F171_PulseOutput_Trapezoidal: 1~50000(1Hz~50kHz)

FP0, F168_PulseOutput_Trapezoidal: 40~5000(40Hz~5kHz)

diTargetSpeed (DINT)

타겟 속도: 이 값을 PulseOutput_Channel_Configuration_DUT에서 선택한 주파수 범위에 따라 설정합니다.

FPS, FP-X: 1~9800(1,5Hz~9,8kHz)

48~100000(48Hz~100kHz)

191~100000(191~100kHz)

F171_PulseOutput_Trapezoidal: 1~50000(1Hz~50kHz)

FP0, F168_PulseOutput_Trapezoidal: 40~5000(40Hz~5kHz)

diAccelerationTime (DINT)

가속/감속 시간(FPS, FP-X):

30스텝 포함: 30ms~32760ms (30스텝에서 지정)

60스텝 포함: 60ms~32760ms (60스텝에서 지정)

가속/감속 시간(FP0, F168_PulseOutput_Trapezoidal): 30ms~32760ms

가속 시간(F171_PulseOutput_Trapezoidal): 1ms~32760ms

diDecelerationTime (DINT)

감속 시간(F171_PulseOutput_Trapezoidal): 1ms~32760ms

diTargetValue (DINT)

목표값[펄스]: -2147483648~2147483647

dutChannelConfiguration채널 구성용 사전 정의된 시스템 DUT: PulseOutput_Channel_Configuration_DUT

출력

bError (BOOL)

적용된 입력 값이 무효인 경우에는 TRUE입니다. 펑션블록 실행이 정지됩니다.

주석

이 비 인라인 명령은 펄스 출력의 도구 명령 일부입니다. 내부에서 사용되는 명령의 자세한 내용은 :

  • FPS, FP-X: 2019-04-29F171_PulseOutput_Trapezoidal

  • FP0: 2019-04-29F168_PulseOutput_Trapezoidal

PulseInfo_IsActive를 사용하여 선택한 채널의 제어 플래그가 FALSE인지 확인합니다.

DUT

구조체(DUT)를 사용하여 다른 데이터 형식으로 구성된 구조체를 정의할 수 있습니다. DUT는 먼저 DUT 풀에서 정의된 후 POU 헤더의 전역 변수 목록에서 표준 데이터 형식(BOOL, INT 등)으로 처리됩니다.

POU 헤더

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

POU 본문

	VAR
		PulseOutput_Trapezoidal: PulseOutput_Trapezoidal_FB;
		bExecute: BOOL:=FALSE;
		bAbsolute: BOOL:=FALSE;
		ChannelConfiguration_DUT: PulseOutput_Channel_Configuration_DUT;
		bError: BOOL:=FALSE;
		bConfigureDUT: BOOL:=FALSE;
	END_VAR

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 28 ;
        NETWORK_BODY
B(B_CONTACT,,bConfigureDUT,5,1,7,3,);
B(B_F,E_MOVE!,,14,0,20,4,,?DEN?D?AENO?C);
B(B_VARIN,,1,12,2,14,4,);
B(B_F,E_MOVE!,,14,8,20,12,,?DEN?D?AENO?C);
B(B_VARIN,,FALSE,12,10,14,12,);
B(B_VAROUT,,ChannelConfiguration_DUT.bOutput_Pulse_SignReverse,20,10,22,12,);
B(B_F,E_MOVE!,,14,12,20,16,,?DEN?D?AENO?C);
B(B_F,E_MOVE!,,14,4,20,8,,?DEN?D?AENO?C);
B(B_VARIN,,TRUE,12,6,14,8,);
B(B_VAROUT,,ChannelConfiguration_DUT.bOutput_Pulse_SignForward,20,6,22,8,);
B(B_VARIN,,TRUE,12,14,14,16,);
B(B_VAROUT,,ChannelConfiguration_DUT.iChannel,20,2,22,4,);
B(B_F,E_MOVE!,,14,16,20,20,,?DEN?D?AENO?C);
B(B_VARIN,,FALSE,12,18,14,20,);
B(B_VAROUT,,ChannelConfiguration_DUT.bDutyRatio25,20,18,22,20,);
B(B_VAROUT,,ChannelConfiguration_DUT.bAccelerationSteps60,20,14,22,16,);
B(B_VAROUT,,ChannelConfiguration_DUT.bFrequencyRange_191Hz_100kHz,20,22,22,24,);
B(B_VARIN,,TRUE,12,22,14,24,);
B(B_F,E_MOVE!,,14,20,20,24,,?DEN?D?AENO?C);
B(B_F,E_MOVE!,,14,24,20,28,,?DEN?D?AENO?C);
B(B_VARIN,,TRUE,12,26,14,28,);
B(B_VAROUT,,ChannelConfiguration_DUT.Trapezoidal_bTargetSpeedUpToTheMaximum,20,26,22,28,);
L(9,18,14,18);
L(9,14,14,14);
L(9,10,14,10);
L(9,6,14,6);
L(9,2,9,18);
L(9,18,9,22);
L(9,22,14,22);
L(9,22,9,26);
L(9,26,14,26);
L(9,2,14,2);
L(7,2,9,2);
L(1,2,5,2);
L(1,0,1,28);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 11 ;
        NETWORK_BODY
B(B_FB,PulseOutput_Trapezoidal_FB!,PulseOutput_Trapezoidal,14,1,28,11,,?BbExecute?BbAbsolute?BdiInitialAndFinalSpeed?BdiTargetSpeed?BdiAccelerationTime?BdiDecelerationTime?BdiTargetValue?BdutChannelConfiguration?AbError);
B(B_VARIN,,bExecute,12,2,14,4,);
B(B_VARIN,,bAbsolute,12,3,14,5,);
B(B_VARIN,,600,12,4,14,6,);
B(B_VARIN,,12000,12,5,14,7,);
B(B_VARIN,,300,12,6,14,8,);
B(B_VARIN,,600,12,7,14,9,);
B(B_VARIN,,50000,12,8,14,10,);
B(B_VARIN,,ChannelConfiguration_DUT,12,9,14,11,);
B(B_VAROUT,,bError,28,2,30,4,);
L(1,0,1,11);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

(* Used DUT parameters *)
ChannelConfiguration_DUT.iChannel := 1;
ChannelConfiguration_DUT.bOutput_Pulse_ForwardTrue := TRUE;
ChannelConfiguration_DUT.bOutput_Pulse_ForwardFalse := FALSE;
ChannelConfiguration_DUT.bAccelerationSteps60 := FALSE;
ChannelConfiguration_DUT.bDutyRatio25 := TRUE;
ChannelConfiguration_DUT.bFrequencyRange_191Hz_100kHz := TRUE;
ChannelConfiguration_DUT.Trapezoidal_bTargetSpeedUpToTheMaximum := TRUE;
ChannelConfiguration_DUT.bExecuteInInterrupt := FALSE;
(* FB *)
PulseOutput_Trapezoidal(bExecute := bExecute,
            bAbsolute := bAbsolute,
            diInitialAndFinalSpeed := 600,
            diTargetSpeed := 12000,
            diAccelerationTime := 300,
            diDecelerationTime := 600,
            diTargetValue := 50000,
            dutChannelConfiguration := ChannelConfiguration_DUT,
            bError => bError);

최종 수정일: 2019-04-29이 페이지에 대한 피드백Panasonic 직통 전화