F166_HighSpeedCounter_Set

목표 값 일치 켜기(고속 카운터)

고속 카운터의 경과 값이 목표 값과 일치하면 인터럽트 프로세스가 지정된 출력을 바로 TRUE로 전환합니다.

파라미터

입력

n_diHscChannel (DINT)

고속 카운터 채널:

FP-S: 0–3

FP-X R: 0–11

FP-X T: 0–7

FP0: 0–3

F168_PulseOutput_Trapezoidal: 0–3

F171_PulseOutput_Trapezoidal: 0–5

s_diTargetValue (DINT)

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

FP0, F168_PulseOutput_Trapezoidal: -838808–+8388607

FPS, FP-X, F171_PulseOutput_Trapezoidal: -2147483467–+2147483648

출력

d_Y (BOOL)

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

FP-S, FP0, F168_PulseOutput_Trapezoidal: Y0–Y7

FP-S(V3.1 이상), F171_PulseOutput_Trapezoidal: Y0–Y1F

FP-X: Y0–Y29F

주석

목표 값 일치 ON 제어 특징

10000

목표값

  1.  (1) 고속 카운터 경과 값
  2.  (2) 실행 조건
  3.  (3) 고속카운터 제어 플래그
  4.  (4) PLC 출력

경과 값이 목표 값과 일치하면 PLC 출력은 TRUE로 전환됩니다. 또한 고속 카운터 제어 플래그는 FALSE로 전환되고 명령이 비활성화됩니다.

구현되지 않은 출력이 지정되면 해당 WY 어드레스의 내부 메모리만 설정되거나 초기화됩니다.

인터럽트 연산

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

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

PLC 유형

FP0, FP-e

FPS, FP0H

FP-X(릴레이 형식), FP-XH

FP-X(트랜지스터 형식)

FP0R

인터럽트0

채널0

채널0

채널0

채널0

채널0

인터럽트1

채널1

채널1

채널1

채널1

채널1

인터럽트2

채널2

채널2

인터럽트3

채널2

채널2

채널3

채널3

채널2

인터럽트4

채널3

채널3

채널4

채널4

채널3

인터럽트5

채널5

채널5

인터럽트6

채널6

채널6

채널4

인터럽트7

채널7

채널7

채널5

인터럽트8

채널8

인터럽트9

채널9

인터럽트10

인터럽트11

채널A

인터럽트12

채널B

일반 프로그래밍 정보

  • 시스템 레지스터에서 원하는 채널의 고속 카운터 입력을 선택합니다.

  • FP-X, FP0R: 고속 카운터 명령이 실행되면 사용한 채널의 고속 카운터 제어 플래그(예: sys_bIsHscChannel0ControlActive)는 TRUE로 전환됩니다. 같은 채널을 사용하여 다른 고속 카운터 명령을 실행하면 제어 플래그는 더 이상 TRUE가 아닙니다.

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

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

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

  • 명령 실행을 취소하려면 고속 카운터 제어 코드(sys_wHscOrPulseControlCode)를 저장하는 데이터 레지스터의 비트 3TRUE로 설정합니다. 그러면 고속 카운터 제어 플래그는 FALSE로 변경됩니다. 고속 카운터 명령 실행을 다시 활성화하려면 비트 3FALSE로 초기화합니다.

  • 고속 카운터 제어 플래그 또는 펄스 출력 제어 플래그 상태는 스캔이 실행 중인 동안에 변경될 수 있습니다. 예를 들어, 수신된 바이트 수를 읽으면 스캔 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 := 5 ;
        NETWORK_BODY
B(B_F,F166_HighSpeedCounter_Set!,Instance,12,0,26,5,,?DEN?Hn_diHscChannel?Ds_diTargetValue?AENO?Cd_Y);
B(B_VARIN,,0,10,2,12,4,);
B(B_VARIN,,10,10,3,12,5,);
B(B_VAROUT,,out_0,26,2,28,4,);
B(B_CONTACT,,start,5,1,7,3,R);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF DF(start) then
    F166_HighSpeedCounter_Set(n_diHscChannel := 0, 
      s_diTargetValue := 10, 
      d_Y => out_0);
END_IF;
주석
숫자를 입력 변수를 할당하거나(예: [모니터] > [헤더 모니터], 변수 클릭, 값 입력, <Enter> 누름) 입력 변수를 숫자로 바꿉니다.

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