F176_PulseOutput_Pass

원 보간(전달 위치)

펄스는 지정한 DUT의 파라미터를 따라 2채널에서 출력되므로, 대상 위치 경로는 호로 형성됩니다. 원 반경은 중심 위치와 끝 위치를 지정하여 계산됩니다. 지정된 채널의 제어 플래그가 FALSE이고 실행 조건이 TRUE이면 이 채널에서 펄스가 출력됩니다.

파라미터

입력

n_iPulseOutputChannel*(10진수 정수)

펄스 출력 채널:0, 2

입력/출력

s_dutDataTable (F176_PulseOutput_Pass_DUT)

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

주석

다음과 같은 사전 정의된 DUT 사용: 2023-03-14F176_PulseOutput_Pass_DUT

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

  • 제어 코드

  • 합성 속도

  • X-축 목표값

  • Y-축 목표값

  • X-축 전달값

  • Y-축 전달값

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

  • 반경

  • X-축 중심값

  • Y-축 중심값

펄스 출력 특정

(1)

회전 방향: 채널 0(X축)에서 채널 2(Y축)로(두 채널 모두 + 방향으로 이동하는 경우)

(2)

회전 방향: 채널 2(Y축)에서 채널 0(X축)로(두 채널 모두 + 방향으로 이동하는 경우)

Fv:

합성 속도

O (Xo,Yo):

중심 위치

Fx:

X-축 속도

S (Xs,Ys):

현재 위치(시작)

Fy:

Y-축 속도

P (Xp,Yp)

전달 위치

r:

반경

E (Xe,Ye)

타겟 위치(끝)

채널 0을 X축으로, 채널 2를 Y축으로 합니다.위치 제어 모드는 절대 값 제어입니다.

현재 위치는 (q=60°, Xs=5000, Ys=8660)입니다. 중심 위치 O(Xo=0, Yo=0)은 참조점으로 사용됩니다. 펄스는 목표 위치(q=-30°, Xe=8660, Ye=-5000)에 도달할 때까지 X축(채널 0)과 Y축(채널 2)에서 Fv=2000Hz 속도로 출력됩니다.

일반 프로그래밍 정보

  • 이 명령의 실행 조건은 계속 TRUE여야 합니다. 실행 조건이 FALSE이면 펄스 출력이 정지합니다.

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

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

  • 연산 연결 모드에 "연속"을 선택하면 특수 플래그(sys_bIsCircularInterpolationOverwritingPossible)를 사용하여 대상 값 덮어쓰기를 허용합니다. 원 보간 명령이 실행되면 플래그는 1회 스캔에 대해 TRUE입니다.

  • 각 축의 목표 값은 -8388608–8388607 범위 이내여야 합니다. 이 명령을 다른 펄스 출력 명령과 같이 사용하면(예: F171_PulseOutput_Trapezoidal) 이러한 명령의 목표 값은 같은 범위 이내여야 합니다.

  • 스캔 시간이 너무 길면 원 보간 정확도가 저하될 수 있습니다.

  • 이 명령에 대해 RUN 모드 중의 온라인 편집을 사용할 수 없습니다.

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

  • 원점 복귀용 보간 함수가 없으면 각 채널마다 원점 복귀를 실행해야 합니다.

  • 정밀도가 필요한 애플리케이션에서 사용하면 실제 장비를 사용한 테스트 실행이 필요합니다.

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

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

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

명령 실행 중에 플래그 설정

(1)

실행 조건 X0

(2)

펄스 출력 제어 플래그, 채널 0(sys_bIsPulseChannel0Active)

(3)

펄스 출력 제어 플래그, 채널 2(sys_bIsPulseChannel2Active)

(4)

원 보간 제어 플래그(sys_bIsCircularInterpolationActive)

(5)

대상 값 덮어쓰기 가능 플래그(sys_bIsCircularInterpolationOverwritingPossible)

a

시작(S)

b

실행 조건 FALSE

c

목표 값에 도달함

d

연속 모드 시작

e

1회 스캔

POU 헤더

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

	VAR
		Trigger: BOOL:=FALSE;
		dutPassData: F176_PulseOutput_Pass_DUT:=dwControlCode := 16#1000,
diSpeed := 2000,
diTargetPos_X := 8660,
diTargetPos_Y := -5000,
diPassPos_X := 9396,
diPassPos_Y := -3420;
			(*Control code:
Digit 4: 0=Operation connection mode: stop
Digit 3: 1=Rotation direction: CCW (left)  
Digit 2: 0=Fixed
Digit 1: 0=Relative value control
Digit 0: 2=Pulse/direction (Forward 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 := 6 ;
        NETWORK_BODY
B(B_CONTACT,,Trigger,4,2,6,4,R);
B(B_VARIN,,dutPassData,10,4,12,6,);
B(B_VARIN,,0,10,3,12,5,);
B(B_F,F176_PulseOutput_Pass!,Instance,12,1,27,6,,?DEN?Hn_iPulseOutputChannel?Ds_dutDataTable?As_dutDataTable?AENO);
L(1,3,4,3);
L(6,3,12,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF DF(Trigger) then
    F176_PulseOutput_Pass(n_iPulseOutputChannel := 0, 
        s_dutDataTable := dutPassData);
END_IF;

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