F166_PulseOutput_Set

목표값 일치 ON(펄스 출력)

경과 값이 선택한 펄스 출력 채널의 목표 값과 일치하면 지정된 출력이 즉시 TRUE로 전환됩니다.

파라미터

입력

n_diPulseOutputChannel (DINT)

펄스 출력 채널:0–3

s_diTargetValue (DINT)

목표 값의 32비트 데이터 값을 다음 범위 내로 지정: -2147483467~+2147483648

출력

d_Y (BOOL)

경과 값이 목표 값과 일치하는 경우, TRUE로 전환된 출력: Y0~Y1F

주석

  • 펄스 출력 특정

    목표값:10000

    (1)

    펄스 출력의 경과 값

    (2)

    실행 조건

    (3)

    "출력 제어 활성" 플래그

    (4)

    PLC 출력

    경과 값이 목표 값과 일치하면 PLC 출력은 TRUE로 전환됩니다. 또한 "출력 제어 활성" 플래그는 FALSE로 전환되고 명령이 비활성화됩니다.구현되지 않은 출력이 지정되면 해당 WY 어드레스의 내부 메모리만 설정되거나 초기화됩니다.

  • 인터럽트 연산

    경과 값이 목표 값과 일치하면 인터럽트 프로그램이 실행됩니다. 작업 목록에 입력된 모든 인터럽트가 자동으로 활성화됩니다. 특수 인터럽트 프로그램 번호는 각 채널 번호에 할당됩니다.

  • 인터럽트 프로그램에서 사용한 채널:

    인터럽트8

    채널0

    인터럽트9

    채널1

    인터럽트10

    채널2

    인터럽트11

    채널3

일반 프로그래밍 정보

  • 시스템 레지스터에서 원하는 채널의 "펄스 출력"을 설정합니다.

  • 이 명령이 실행되면 사용한 채널의 "출력 제어 활성" 플래그(예: sys_bIsPulseChannel0ControlActive)는 TRUE로 전환됩니다. 같은 채널을 사용하여 출력 제어(F166_PulseOutput_Set 또는 F167_PulseOutput_Reset)가 있는 다른 고속 카운터 명령은 이 플래그가 TRUE인 동안에는 실행될 수 없습니다.

  • F173_PulseOutput_PWM을 제외한 모든 펄스 출력 명령에 이 명령을 사용할 수 있고 펄스 출력 명령 실행 전 또는 후에 실행할 수 있습니다.

  • 다른 명령(OUT, SET, RST, KEEP 및 기타 F 명령)에서 출력을 중복 사용하면 이러한 사용은 FPWIN Pro에서 확인되지 않고 감지되지 않습니다.

  • 이전에 TRUE로 설정한 PLC 출력을 이 명령으로 FALSE로 출력하려면 RST 또는 MOVE 명령을 사용합니다.

  • 펄스 출력 명령 실행을 취소하려면 펄스 출력 제어 코드(sys_wHscOrPulseControlCode)를 저장하는 데이터 레지스터의 비트 2TRUE로 설정합니다. 그런 다음 펄스 출력 제어 플래그가 FALSE로 변경됩니다. 명령 실행을 다시 활성화하려면 비트 2FALSE로 다시 설정합니다.

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

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

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

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 채널 번호 또는 데이터 테이블 값이 허용 범위를 벗어나는 경우
  • 펄스 출력이 시스템 레지스터에 설정되지 않은 경우
sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 채널 번호 또는 데이터 테이블 값이 허용 범위를 벗어나는 경우
  • 펄스 출력이 시스템 레지스터에 설정되지 않은 경우

글로벌 변수

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

POU 헤더

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

VAR_EXTERNAL
		out_0: BOOL:=FALSE;
			(*output Y0 of PLC*)
	END_VAR
	VAR 
		start: BOOL:=FALSE;
			(*start condition*)
		@'': @'';
	END_VAR

POU 본문

변수 startTRUE로 설정되면 펑션이 실행됩니다.

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_F,F166_PulseOutput_Set!,Instance,12,1,26,6,,?DEN?Hn_diPulseOutputChannel?Ds_diTargetValue?AENO?Cd_Y);
B(B_VARIN,,0,10,3,12,5,);
B(B_VARIN,,10,10,4,12,6,);
B(B_VAROUT,,out_0,26,3,28,5,);
B(B_CONTACT,,start,5,2,7,4,R);
L(1,3,5,3);
L(7,3,12,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF DF(start) then
    F166_PulseOutput_Set(n_diPulseOutputChannel := 0, 
          s_diTargetValue := 10, 
          d_Y => out_0);
END_IF;

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