F173_PulseOutput_PWM

채널 사양이 있는 펄스 출력 명령(PWM 출력)

이 명령은 지정된 DUT에 따라 펄스 폭 변조 출력 신호를 전달합니다. 지정된 채널의 제어 플래그가 FALSE이고 실행 조건이 TRUE이면 이 채널에서 펄스가 출력됩니다.

파라미터

입력

s_dutDataTable (F173_PulseOutput_PWM_DUT)

데이터 테이블이 포함된 영역의 시작 어드레스

n_iPulseOutputChannel*(10진수 정수)

펄스 출력 채널:

FP-XH C30 T/P: 0~3

FP-XH C60 T/P: 0~5

FPS: 0,2

FP-X, FP-XH 릴레이: 0.1

FP-X, FP-XH 16k 트랜지스터: 0-2

FP0R, FP0H, FP-X, FP-XH 32 트랜지스터: 0-3

FP-XH 32k 트랜지스터: 0-5

주석

다음과 같은 사전 정의된 DUT 사용: F173_PulseOutput_PWM_DUT

DUT에서 F168_PulseOutput_Home_DUT 파라미터를 지정할 수 있습니다.

  • 대략적인 주파수

  • 듀티(펄스 기간 및 주기)

    구형파의 펄스 지속 시간과 주기 간의 비율 차이입니다. 펄스 지속 시간이 1ms이고 펄스 주기가 4ms인 펄스 열의 경우, 듀티는 0,25 또는 25%입니다.

일반 프로그래밍 정보

  • 특히 듀티가 최소 또는 최대값과 가까우면 부하 전압과 부하 전류에 따라 특정 듀티와 다를 수 있습니다.

  • 듀티는 스캔할 때마다 변경될 수 있습니다.

  • 명령 실행 중에 주파수 정수 K를 변경할 수 없습니다. 변경하면 주파수에는 효과가 없지만 듀티 해상도에는 효과가 있습니다.

  • 명령 실행 중에 듀티가 허용 범위를 벗어난 값으로 변경되면 듀티는 최대 값으로 조정됩니다. 명령 실행이 시작되면 연산 에러가 표시됩니다.

  • 명령 실행 중에 주파수가 허용 범위를 벗어난 값으로 변경되면 해상도는 100으로 조정됩니다. 명령 실행이 시작되면 연산 에러가 표시되지 않습니다.

  • 명령 실행 중에 듀티가 100% 이상으로 변경되면 주파수는 특정 해상도에서의 최대 값으로 조정됩니다. 명령 실행이 시작되면 연산 에러가 표시되지 않습니다.

  • 주 프로그램과 인터럽트 프로그램 모두에 같은 채널 코드가 포함된 경우, 두 프로그램을 동시에 실행하지 마십시오.

  • FP-X, FP0R: 펄스 출력 명령이 실행되고 펄스가 출력 중이면 해당 채널의 펄스 출력 제어 플래그(예: sys_bIsPulseChannel0Active)는 TRUE입니다. 다른 펄스 출력 명령이 실행되면 이 플래그는 더 이상 TRUE가 아닙니다.

  • FPS: 고속 카운터 제어 플래그(예: sys_bIsHscChannel0ControlActive)와 펄스 출력 제어 플래그(예: sys_bIsPulseChannel0Active)가 같은 특수 내부 플래그 번호(예: R903A)에 할당됩니다. 따라서 고속 카운터 명령 또는 펄스 출력 명이 실행되면 사용된 채널의 고속 카운터 제어 플래그(예: sys_bIsHscChannel0ControlActive)와 펄스 출력 제어 플래그(예: sys_bIsPulseChannel0Active)는 TRUE입니다. 다른 고속 카운터 명령 또는 펄스 출력 명령이 실행되면 이 플래그는 더 이상 TRUE가 아닙니다.

  • FPS: 원 보간 제어 명령 F176_PulseOutput_Center를 실행하면 원 보간 제어 플래그(sys_bIsCircularInterpolationActive)가 TRUE로 설정됩니다. 이 플래그 상태는 목표 값에 도달할 때까지 유지됩니다(실행 조건이 TRUE가 아니더라도). 이 시간 동안에는 다른 펄스 출력 명령을 실행할 수 없습니다.

  • FPS: 펄스 출력 채널에 할당된 모든 고속 카운터를 시스템 레지스터의 "미사용"으로 설정합니다.

  • FP-X, FP0R: 시스템 레지스터에서 원하는 채널의 "PWM 출력"을 설정합니다.

  • 위치결정 프로그램에 강제 정지 옵션을 통합하는 것이 좋습니다.

  • 고속 카운터 제어 플래그 또는 펄스 출력 제어 플래그 상태는 스캔이 실행 중인 동안에 변경될 수 있습니다. 예를 들어, 수신된 바이트 수를 읽으면 스캔 1회에 다른 상태가 두 개 이상 있을 수 있습니다.

글로벌 변수

글로벌 변수 리스트에서 프로젝트의 모든 POU에서 액세스할 수 있는 변수를 정의합니다.

DUT

DUT F173_PulseOutput_PWM_DUTFP Library에서 사전 정의됩니다.

POU 헤더

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

	VAR_EXTERNAL
		X6_bEnablePWM: BOOL:=FALSE;
	END_VAR
	VAR 
		dutPWMControl: F173_PulseOutput_PWM_DUT:=iFrequencyValue := 1;
			(*iFrequencyValue := 1: f=2.0 Hz, T=502.5 ms; 
*)
		iPulseWidthModulationDuty: INT:=500;
			(*500 = 50% duty*)
		@'': @'';
	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 := 5 ;
        NETWORK_BODY
B(B_CONTACT,,X6_bEnablePWM,5,2,7,4,);
B(B_F,E_MOVE!,Instance,16,1,22,5,,?DEN?D?AENO?C);
B(B_VARIN,,iPulseWidthModulationDuty,14,3,16,5,);
B(B_VAROUT,,dutPWMControl.iPulseWidthModulationDuty,22,3,24,5,);
L(7,3,16,3);
L(1,3,5,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,F173_PulseOutput_PWM!,Instance,16,0,29,5,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
B(B_VARIN,,dutPWMControl,14,2,16,4,);
B(B_VARIN,,2,14,3,16,5,);
B(B_CONTACT,,X6_bEnablePWM,5,1,7,3,);
L(7,2,16,2);
L(1,2,5,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF (X6_bEnablePWM) then
    dutPWMControl.iPulseWidthModulationDuty:=iPulseWidthModulationDuty;
END_IF;
IF (X6_bEnablePWM) then
    F173_PulseOutput_PWM(s_dutDataTable := dutPWMControl, 
       n_iPulseOutputChannel := 2);
END_IF;

최종 수정일: 2022-09-19이 페이지에 대한 피드백Panasonic 직통 전화