고속카운터 사용 예제

[예 제]  고속카운터 모듈이 0번 슬롯에 장착되어 있는 것으로 가정합니다.

즉, 입출력 신호는 X0000~X000F, Y0000~Y000F가 됩니다.

 

 

고속카운터 CICON 설정

 

CICON 접속 후 모듈정보를 더블클릭 합니다.

고속카운터를 다시 더블클릭 합니다.

 

 

아래의 고속카운터모듈 설정 대화상자가 표시됩니다.

 

 

설정창에 카운터 방식에 맞게 해당 입력창에 설정을 한 후 쓰기를 합니다.

쓰기를 하면 고속카운터의 설정이 보여지는 창의 내용대로 설정이 완료됩니다.

현재상태는 고속카운터 동작시의 상태들을 볼 수 있습니다. 

 

 

사용자 고속카운터 프로그램 작성

 

고속카운터를 사용하기 위해서 카운터를 허가합니다.

고속카운터 카운트 허가 비트는 Y0004(1채널), Y000C(2채널)입니다.

각 채널을 카운트 하기 위해서는 카운트 허가 비트가 On상태를 유지 하여야 합니다.

M0000(1채널), M0001(2채널)의 입력 조건에 따라 카운트가 허가됩니다. 

 

 

 

고속카운터의 카운트 값 및 상태 읽기(FROM 명령사용)

 

카운트의 값이 32bit값이므로 더블워드를 읽을 수 있는 DFRO명령을 사용합니다.

 

 

 

 

고속카운터의 설정 값 쓰기(TO명령 사용)

 

설정 값을 쓰기 위해서는 TO 명령을 사용하여 값을 기록한 후 Dpram Request를 해 주어야 합니다.

 

 

 

입력접점 M0002가 On되면 D0010(32bit) 내용을 버퍼메모리 H12에 기록하고 Dpram Request를 합니다.

DPRAM의 설정을 유효 하게 하는 DPRAM REQUEST(Y03,Y0B)와 DPRAM ACK(X0F)의 타이밍

 

 

 

설정을 카드설정에서 입력할 수 있으나 상태에 따라 설정값을 바꾸어야 할 경우 프로그램으로 위와 같이 DTO 명령을 사용하여 설정을 바꿉니다.

 

프리셋 기능 사용

 

Preset 기능은 현재의 카운터 값을 Preset 값이라 하는 어느 정수 값으로 고쳐서 씁니다.

Preset 기능은 시퀀스 프로그램과 외부 컨트롤 신호를 사용하는 두 가지의 방법이 있습니다.

 

시퀀스 프로그램을 이용한 Preset

Preset은 시퀀스 프로그램을 사용하여 (Y01(Y09))를 On 하여 수행 됩니다. Preset 명령의 상승에지(OFF에서ON)에서 현재 카운터 값이 저장되어 있는 버퍼메모리의 값이 Preset값이 저장되어 있는 버퍼메모리의 값으로 설정 됩니다. Preset 기능은 카운트 허가 명령(Y04(Y0C))에 관계없이 실행 됩니다.

 

 

외부 제어 신호를 이용한 Preset

Preset은 외부 입력의 Preset입력 단자에 On전압이 들어 오면 수행 됩니다. 외부입력 단자에 입력된 전압의 상승에지(OFF에서ON)에서 현재 카운터 값이 저장되어 있는 버퍼메모리의 값이 Preset값이 저장되어 있는 버퍼메모리의 값으로 설정 됩니다. Preset 기능은 카운트 허가 명령(Y04(Y0C))에 관계없이 실행 됩니다. "외부 프리셋 요구 검출 플래그(X04(X0b))"가 ON인 경우에는 외부 프리셋 단자에 전압이 인가되거나 "프리셋 명령(Y01(Y09))"이 ON되더라도 프리셋 기능은 실행 되지 않습니다. 이 경우 프리셋 기능은 "외부 프리셋 요구 검출 리셋 명령(Y05(Y0d))"을 하여 "외부 프리셋 요구 검출 플래그"를 OFF를 하여야 수행이 됩니다. "외부 프리셋 요구 검출 리셋 명령(Y05(Y0d))"이 on인 상태에서는 외부 프리셋 입력이 인가 되더라도 프리셋 동작을 하지 않습니다.

 

 

전원 Off후 재투입시 이전 고속카운터 값 기억하기

 

어느때에 전원이 Off될지 예상할수 없으므로 매 스캔마다 카운터 값을 특정영역에 기록합니다. 카운트 값을 기록할 영역은 필히 래치영역으로 지정된 곳이어야 합니다.

 

 첫 스캔 시작시 저장된 영역의 값을 프리셋 설정영역에 기록 후 Dpram Request를 합니다.

 

 두번째 스캔시 프리셋 요구를 하여 현재 카운트값을 프리셋 값으로 기록합니다.

 

 

 

카운터 기능 사용하기

 

카운터 기능은 시퀀스 프로그램과 외부 컨트롤 신호를 사용하는 두 가지의 방법이 있습니다.

카운터 기능 사용은 위의 프리셋 기능 사용하기와 유사합니다. 0번 슬롯에 고속 카운터가 장착 되어 있고 1번 슬롯에 입력 모듈이 장착 되어 있을 경우 사용 프로그램 예 입니다.

 

카운트 금지 기능

카운트 허가 명령(Y04(Y0c))가 ON인 상태에서 "카운터 기능 시작" 명령이 ON인 경우 카운트 하는 것을 정지 합니다.

 

 

X0000은 모듈 레디 신호이고, X0014는 외부 입력 접점 입니다. X0014가 ON이 되면 입력되는 펄스를 카운트 하지 않고 현재 값에서 멈추어 있습니다. X0014가 OFF 되면 입력 되는 펄스를 현재 값부터 카운트 시작 합니다.

 

 

래치 카운터

기능  현재의 카운터 값을 저장 합니다.

 

 

X0015가 상승되는 순간 현재 카운트 값을 버퍼메모리 ( CH1:04H, 05H / CH2:24H, 25H )에 저장 합니다.

 

 

샘플링 카운터 기능

설정된 시간 동안 입력되는 펄스를 카운트 합니다. X0016이  OFF에서 ON되는 순간부터 설정된 시간 동안 외부에서 입력 되는 펄스를 카운트 하여 버퍼메모리 ( CH1:06H, 07H / CH2:26H, 27H )에 저장 합니다.

 

 

 

주기 펄스 카운터 기능

현재와 예전의 카운트 값을 설정된 주기적인 시간동안 저장 합니다. X0017이 ON 되면 현재 카운트 되는 값들을 설정된 주기마다 따라 버퍼 메모리의 주기펄스카운트 현재 값( CH1:08H, 09H /  CH2:28H, 29H ) 과 이전 값( CH1:0AH, 0BH / CH2:2AH, 2BH )에 저장합니다.

 

일치출력

Sink 타입의 24V TR 타입출력입니다.
스캔타임보다 빠르게 카운트를 비교하여 신호를 발생 가능한 특징이 있습니다.
일치출력기능은 어느 카운트 값으로 미리 설정된 것을 현재의 카운트 값과 비교하여 일치되었을 때 외부 신호를 출력 합니다.
일치출력은 각 채널에 대해 2점을 설정 할 수 있습니다.
외부로 일치신호를 출력 하기 위해서는 "일치신호 허가 명령(Y02(Y0A))를 ON 해야 합니다.
"일치 신호 리셋" 명령이 ON되면 "카운터 값 일치"신호가 리셋 됩니다. 만약 "카운터 값 일치" 신호가 계속 ON 되어 있으면 다음번의 일치신호가 출력 되지 않습니다.

 

 

고속카운터( CM1-HS02C(B) ) 사용 가능 엔코더

 

토템폴 출력을 전압 출력형으로 이용할 경우

 

 

PNP 오픈 콜렉터 출력

 

 

 

사용 불가능 엔코더

토템폴 출력을 NPN 오픈콜렉터 출력형으로 이용할 경우
NPN 오픈콜렉터 출력