F175_PulseOutput_Linear

선형 보간

펄스는 지정한 DUT의 파라미터를 따라 2채널에서 출력되므로, 대상 위치 경로는 직선으로 형성됩니다. 지정된 채널의 제어 플래그가 FALSE이고 실행 조건이 TRUE이면 이 채널에서 펄스가 출력됩니다.

파라미터

입력

n_iPulseOutputChannel정수

펄스 출력 채널:

FP-XH C30 T/P: 0~3

FP-XH C60 T/P: 0~5

FPS: 0, 2

FP-X R: 0, 1

FP-XC14T: 0, 1, 2

FP-X C30T/C60T: 0, 1, 2, 3

FP0R: 0, 1, 2, 3

보간의 경우, 채널 0과 1 또는 채널 2와 3이 쌍으로 사용됩니다. 0 또는 2만 지정할 수 있습니다(C14T의 경우: 0만).

입력/출력

s_dutDataTable(DUT)

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

FPS, FP-X: F175_PulseOutput_Linear_DUT_0

FP0R: F175_PulseOutput_Linear_DUT_1

FP-Sigma, FP-X 설명

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

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

  • 제어 코드
  • 초기 및 최종 속도
  • 타겟 속도
  • 가속/감속 시간
  • X-축 목표값
  • Y-축 목표값

각 축의 다음 파라미터는 명령 실행 시 계산되고 DUT의 연산 결과 영역에 저장됩니다.

  • X-축 초기값 및 최종 속도
  • X-축 타겟 속도
  • Y-축 초기값 및 최종 속도
  • Y-축 타겟 속도
  • X-축 주파수 범위
  • Y-축 주파수 범위
  • 가속/감속 스텝의 X-축 숫자
  • 가속/감속 스텝의 Y-축 숫자

펄스 출력 특정

X-축 목표값(채널 0): 5000

Y-축 목표값(채널 2)(FP-X: 채널 1): 2000

선형 경로가 목표 위치를 따르도록 두 축을 제어합니다.

  • 각 축의 목표 값은 -8388608–8388607 범위 이내여야 합니다. 이 명령을 다른 펄스 출력 명령과 같이 사용하면(예: F171_PulseOutput_Trapezoidal) 이러한 명령의 목표 값은 같은 범위 이내여야 합니다.
  • 정밀도가 필요한 애플리케이션에서 사용하면 실제 장비를 사용한 테스트 실행이 필요합니다.
  • 주 프로그램과 인터럽트 프로그램 모두에 같은 채널 코드가 포함된 경우, 두 프로그램을 동시에 실행하지 마십시오.
  • FP-X: 펄스 출력 명령이 실행되고 펄스가 출력 중이면 해당 채널의 펄스 출력 제어 플래그(예: 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: 시스템 레지스터에서 원하는 채널의 "펄스 출력"을 설정합니다.

  • 프로그램이 RUN 모드에서 편집되면 펄스 출력이 정지하지만 프로그램 변경 후 다시 시작되어 다운로드됩니다.
  • 위치결정 프로그램에 강제 정지 옵션을 통합하는 것이 좋습니다.

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

FP0R 설명

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

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

  • 제어 코드
  • 초기 및 최종 속도
  • 타겟 속도
  • 가속 시간
  • 감속 시간
  • X-축 목표값
  • Y-축 목표값

각 축의 다음 파라미터는 명령 실행 시 계산되고 DUT의 연산 결과 영역에 저장됩니다.

  • X-축 초기값 및 최종 속도
  • X-축 타겟 속도
  • Y-축 초기값 및 최종 속도
  • Y-축 타겟 속도

펄스 출력 특정

X-축 목표값(채널 0): 5000

Y-축 목표값(채널 1): 2000

펄스는 X축(채널 0)과 Y축(채널 1)에서 출력되므로, 초기 속도는 500Hz, 목표 속도는 5kHz, 가속 시간과 감속 시간은 300ms입니다. 선형 경로가 타겟 위치를 따르도록 두 축을 제어합니다.

펄스는 듀티 25%를 사용하여 출력됩니다.펄스 출력 방법 "펄스/방향"을 사용하면 방향 신호가 출력된 후에 펄스는 약 300ms로 출력됩니다. 모터 드라이버 특성도 동시에 고려해야 합니다.

  • 목표 값에 도달하면 펄스 출력이 정지합니다.

  • 각 축의 목표 값은 -8388608–8388607 범위 이내여야 합니다. 이 명령을 다른 펄스 출력 명령과 같이 사용하면(예: F171_PulseOutput_Trapezoidal) 이러한 명령의 목표 값은 같은 범위 이내여야 합니다.
  • 정밀도가 필요한 애플리케이션에서 사용하면 실제 장비를 사용한 테스트 실행이 필요합니다.
  • 주 프로그램과 인터럽트 프로그램 모두에 같은 채널 코드가 포함된 경우, 두 프로그램을 동시에 실행하지 마십시오.
  • 펄스 출력 명령이 실행되고 펄스가 출력 중이면 해당 채널의 펄스 출력 제어 플래그(예: sys_bIsPulseChannel0Active)는 TRUE입니다. 다른 펄스 출력 명령이 실행되면 이 플래그는 더 이상 TRUE가 아닙니다.
  • 프로그램이 RUN 모드에서 편집되면 펄스 출력이 정지하지만 프로그램 변경 후 다시 시작되어 다운로드됩니다.
  • 위치결정 프로그램에 강제 정지 옵션을 통합하는 것이 좋습니다.

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

POU 헤더

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

	VAR
		bTrigger: BOOL:=FALSE;
		dutLinearData: F175_PulseOutput_Linear_DUT_0:=dwControlCode := 16#1000,
diInitialAndFinalSpeed := 500,
diMaximumSpeed := 5000,
diAccelerationAndDecelerationTime := 300,
diTargetValue_X := 5000,
diTargetValue_Y := 2000;
			(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 0=Fixed
Digit 1: 0=Relative value control 
Digit 0: 0=CW/CCW
*)
		@'': @'';
	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 := 6 ;
        NETWORK_BODY
B(B_CONTACT,,bTrigger,4,2,6,4,R);
B(B_VARIN,,dutLinearData,11,4,13,6,);
B(B_VARIN,,0,11,3,13,5,);
B(B_F,F175_PulseOutput_Linear!,Instance,13,1,28,6,,?DEN?Hn_iPulseOutputChannel?Ds_dutDataTable?As_dutDataTable?AENO);
L(1,3,4,3);
L(6,3,13,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF DF(bTrigger) then
    F175_PulseOutput_Linear(n_iPulseOutputChannel := 0, 
      s_dutDataTable := dutLinearData);
END_IF;

최종 수정일: 2023-03-15이 페이지에 대한 피드백Panasonic 직통 전화