PLC 고속 카운터·위치 제어 모듈 프로그래밍 완벽 정리 | 래더·배선도 포함
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
특수 모듈(고속 카운터·위치 제어) 프로그래밍 예제 완벽 정리
고속 카운터·위치 제어 모듈, 왜 어려운가?
PLC 시스템을 설계하다 보면, 일반 디지털 입력으로는 처리할 수 없는 고속 펄스 신호를 다뤄야 하는 상황에 자주 부딪힙니다. 예를 들어 엔코더에서 초당 50,000펄스 이상 출력되는 환경에서는 CPU 스캔 타임이 20ms라면 물리적으로 카운트 누락이 발생할 수밖에 없습니다. 이 문제를 해결하는 것이 바로 PLC 고속 카운터(HSC) 특수 모듈입니다.
위치 제어 역시 마찬가지입니다. 서보 드라이버에 정밀 펄스를 출력해 원하는 위치에 정확히 멈추게 하려면, CPU 출력 트랜지스터만으로는 한계가 있습니다. 위치 제어 모듈(포지셔닝 모듈)은 독립적인 DSP를 내장해 고속 펄스 출력, 가감속 제어, 원점 복귀를 하드웨어 레벨에서 처리합니다.
이 글에서는 미쓰비시 MELSEC iQ-R 및 FX5U 시리즈를 기준으로, 고속 카운터 모듈과 위치 제어 모듈의 파라미터 설정, 래더 프로그래밍 예제, 엔코더 배선 방법을 단계별로 완전 정리합니다. 현장에서 바로 적용할 수 있는 실전 예제를 포함합니다.
고속 카운터 모듈 원리와 종류
고속 카운터(High Speed Counter, HSC) 모듈은 CPU 스캔 사이클과 독립적으로 동작하는 전용 카운터 회로를 내장한 특수 모듈입니다. 일반 디지털 입력의 응답 속도가 최대 1kHz 수준인 데 비해, 전용 HSC 모듈은 최대 4MHz 이상의 펄스도 안정적으로 처리합니다. 이를 통해 컨베이어 제품 계수, 로터리 엔코더 위치 추적, 유량계 펄스 적산 등 고정밀 계측 작업이 가능해집니다.
카운터 입력 방식에는 크게 네 가지가 있습니다. 단상 단방향(1상 1배)은 펄스를 오름차순으로만 카운트하고, 단상 양방향은 UP/DOWN 신호를 별도로 받아 방향을 구분합니다. 2상 4체배(A/B 직교 엔코더) 방식은 A상과 B상의 위상 차이를 이용해 동일한 분해능 엔코더에서 4배의 분해능을 얻을 수 있어 고정밀 위치 제어에 널리 쓰입니다. Z상 입력은 원점 신호로 활용합니다.
고속 카운터 입력 방식 비교
| 입력 방식 | 신호선 | 최대 주파수 | 분해능 배율 | 주요 용도 |
|---|---|---|---|---|
| 단상 1배 | 1상 | 200kHz | ×1 | 단순 계수, 유량 적산 |
| 단상 2배 | 1상+방향 | 200kHz | ×2 (상승·하강 검출) | 방향 있는 컨베이어 계수 |
| 2상 2배 | A상+B상 | 500kHz | ×2 | 로터리 엔코더 중정밀 |
| 2상 4배 | A상+B상+Z상 | 4MHz | ×4 | 서보 피드백, 고정밀 위치 |
| SSI 절대값 | CLK/DATA | 8MHz | 절대값 직독 | 절대치 엔코더, 로봇 축 |
| 인터페이스 비교 | RS-422 차동 | — | 노이즈 강인 | 장거리 배선(20m 이상) |
엔코더 ↔ 고속 카운터 모듈 배선도
엔코더와 고속 카운터 모듈 간 배선은 신호 품질과 직결됩니다. 특히 장거리 배선이나 인버터 주변과 같이 전자기 노이즈가 심한 환경에서는 배선 방법이 카운트 정확도에 결정적 영향을 미칩니다. RS-422 차동 배선을 사용하면 동상 노이즈를 제거할 수 있어 20m 이상 장거리에서도 안정적인 신호 전송이 가능합니다. 쉴드 케이블을 사용할 때는 한쪽 끝(제어판 측)만 접지하는 단말 접지를 원칙으로 합니다.
배선 작업 전에는 반드시 엔코더 사양서에서 전원 전압(5V/12V/24V), 출력 방식(오픈 컬렉터/푸시풀/라인 드라이버), 최대 출력 주파수를 확인해야 합니다. 모듈의 입력 전압 범위와 불일치하면 신호가 들어오지 않거나 모듈이 손상됩니다.
고속 카운터 모듈 파라미터 설정 완전 가이드
고속 카운터 모듈을 사용하기 위해서는 GX Works3(또는 GX Works2) 소프트웨어에서 지능형 기능 모듈 파라미터를 먼저 설정해야 합니다. 모듈 파라미터 미설정 시 모듈이 초기화되지 않아 카운트 동작 자체가 실행되지 않습니다. 파라미터는 크게 기본 설정(카운터 방식, 배율, 프리셋값)과 인터럽트 설정(일치 검출 시 인터럽트 번호)으로 구분됩니다.
필터 시간 설정은 노이즈가 많은 현장 환경에서 특히 중요합니다. 필터 시간을 너무 짧게 설정하면 노이즈를 펄스로 잘못 인식하고, 너무 길게 설정하면 실제 고속 펄스가 잘려나갑니다. 일반적으로 인버터 주변 환경에서는 10μs~100μs 범위로 설정하고, 계단식으로 줄이며 테스트하는 방법을 권장합니다.
카운터 모드: 2상 4체배 (A/B 직교)
카운트 방향: 정방향 UP 카운트
프리셋 값: 0 (초기화 시 0으로)
최대 카운트: 2,147,483,647 (32bit)
링 카운터: 비활성 (오버플로우 에러)
입력 필터: 10μs (노이즈 환경)
일치 검출 1: 카운터값 = 10,000 → INT 0
일치 검출 2: 카운터값 = 20,000 → INT 1
Z상 원점: 검출 시 카운터 자동 클리어
오버플로우: 에러 출력 SM2048 ON
인터럽트 우선순위: 레벨 3 (높음)
응답 시간: 0.88μs (최소)
파라미터 설정 오류 진단표
| 현상 | 원인 파라미터 | 진단 방법 | 해결책 | 난이도 |
|---|---|---|---|---|
| 카운트 값이 4배 크게 표시 | 카운터 모드 오설정 | GX Works3 모듈 진단 창 | 1상 1배 → 2상 4배로 변경 | 쉬움 |
| 카운트가 자꾸 리셋됨 | Z상 클리어 활성 오설정 | Z상 입력 신호 모니터링 | Z상 클리어 기능 비활성화 | 쉬움 |
| 소수 펄스 누락·오동작 | 필터 시간 너무 짧음 | 오실로스코프 신호 파형 확인 | 필터 시간 10μs → 100μs로 증가 | 보통 |
| 모듈 Ready 신호 안 됨 | 초기화 프로그램 누락 | SM2048~2055 에러 비트 확인 | U0\G0 버퍼 메모리 초기화 추가 | 보통 |
| 일치 검출 인터럽트 미동작 | 인터럽트 프로그램 미등록 | GX Works3 인터럽트 포인터 확인 | I28~I31 인터럽트 루틴 등록 | 어려움 |
| 역방향 회전 시 감산 불가 | 카운트 방향 단방향 설정 | 엔코더 B상 신호 위상 확인 | 양방향 카운터 모드로 변경 | 쉬움 |
고속 카운터 래더 프로그램 예제 (제품 계수)
아래 래더 예제는 컨베이어 라인에서 고속 카운터로 제품 100개를 계수한 뒤 이젝터를 작동시키는 실전 프로그램입니다. 미쓰비시 MELSEC iQ-R 시리즈 기준이며, 슬롯 0에 고속 카운터 모듈(RD62P2)이 장착된 것으로 가정합니다. FROM/TO 명령으로 모듈의 버퍼 메모리에 직접 접근하여 파라미터를 설정합니다.
// ── 블록1: 초기화 (SM402 = 첫 스캔 ON) ────────────────────────── SM402 MOV K2 U0\G0 // 카운터모드: 2상4배 SM402 MOV K10 U0\G2 // 필터시간: 10μs SM402 MOV K1 U0\Y0 // 카운터 게이트 ENABLE // ── 블록2: 현재값 읽기 (SM400 = 항상ON) ─────────────────────────── SM400 FROM U0 G10 D100 K2 DMOV D100 D200 // D200=현재 카운트값(32bit) // ── 블록3: 100개 일치 비교 ──────────────────────────────────────── SM400 DCMP D200 K100 M20 // M20=일치(=) M21=미달(<) M22=초과(>) // ── 블록4: 일치 시 이젝터 출력 ─────────────────────────────────── M20 SET Y10 // 이젝터 ON M20 OUT T10 K5 // 0.5초 타이머 T10 RST Y10 // 이젝터 OFF T10 DMOV K0 D200 // 카운터 리셋 // ── 블록5: 총 생산수 적산 ───────────────────────────────────────── M20 PLS M30 M30 DINC D300 // 총 생산수 +1(×100개)
위치 제어 모듈 원리와 서보 연결 구성
위치 제어 모듈(포지셔닝 모듈)은 PLC CPU와는 독립적으로 고속 펄스를 출력하여 서보 드라이버를 제어하는 전용 모듈입니다. CPU 스캔 타임의 영향을 전혀 받지 않아 최대 4Mpps(초당 400만 펄스)까지 출력 가능하며, 내장 DSP가 가감속 곡선을 연산해 부드러운 기동·정지를 실현합니다. 미쓰비시 RD77MS 시리즈는 최대 16축까지 동시 제어가 가능합니다.
서보 드라이버와의 연결 방식은 크게 펄스+방향(PULSE/DIR) 방식과 A/B 직교 펄스 방식 두 가지입니다. 펄스+방향 방식은 배선이 간단하고 범용 서보 드라이버와 호환성이 높습니다. 고속 제어를 위해서는 라인 드라이버(RS-422) 출력을 사용하고, 케이블 길이는 3m 이내로 유지하는 것이 권장됩니다.
위치 제어 프로그램 예제 — 원점 복귀 및 절대 위치 이동
위치 제어 모듈 프로그래밍의 첫 단계는 반드시 원점 복귀(Home Return) 동작을 수행하는 것입니다. 절대값 엔코더를 사용하더라도 처음 전원을 켰을 때 모듈이 현재 위치를 인식하려면 원점 복귀가 필요합니다. 원점 복귀 완료 후 위치 데이터(목표 위치, 이동 속도, 가감속 시간)를 설정하고 기동 명령을 내립니다.
아래 예제는 미쓰비시 RD77MS2 모듈 기준으로, 절대 위치 이동(ABS) 방식으로 3개 지점을 순서대로 이동하는 시퀀스 프로그램입니다. 위치 데이터는 모듈의 위치 데이터 1~3번 포인트에 미리 GX Works3에서 저장하거나, 프로그램 내에서 버퍼 메모리에 직접 써넣을 수 있습니다.
// ── 원점 복귀 (Home Return) ───────────────────────────────────── X0 // 원점 복귀 버튼 SET U0\Y3 // 원점 복귀 요청 (축1 HOME 비트) U0\X5 // 원점 복귀 완료 신호 RST U0\Y3 // 요청 비트 리셋 SET M100 // 원점 복귀 완료 플래그 // ── 위치 데이터 1번 포인트: X=10,000 μm, 속도=100,000 pps ──────── M100 X1 // 원점완료 + 이동1 버튼 MOV K1 U0\G1500 // 위치 지정 번호 = 1 SET U0\Y0 // 위치 이동 기동 U0\X0 // 위치 이동 완료 RST U0\Y0 // 기동 비트 리셋 SET M101 // 포인트1 완료 플래그 // ── 위치 데이터 2번 포인트: X=50,000 μm ─────────────────────────── M101 X2 MOV K2 U0\G1500 SET U0\Y0 U0\X0 RST U0\Y0 SET M102 // ── 서보 알람 감시 ──────────────────────────────────────────────── U0\X1 // 서보 알람 발생 RST U0\Y0 // 즉시 정지 SET Y20 // 알람 표시등 ON FROM U0 G806 D500 K1 // 알람 코드 읽기
위치 제어 파라미터 설정 항목
| 파라미터 항목 | 설정값 예시 | 단위 | 설명 | 주의사항 |
|---|---|---|---|---|
| 단위 설정 | μm (마이크로미터) | — | 이동량 단위 선택 | 볼스크류 리드와 일치시킬 것 |
| 전자 기어비 (분자) | 131,072 | 펄스 | 엔코더 1회전 펄스수 | 서보 드라이버 설정과 맞춤 |
| 전자 기어비 (분모) | 10,000 | μm | 1회전당 이동량 10mm | 볼스크류 리드(mm) 기준 |
| 최대 속도 | 200,000 | pps | 최대 펄스 출력 속도 | 서보 드라이버 최대 입력 이하 |
| 가속 시간 0 | 200 | ms | 0→최대속도 도달 시간 | 기계 관성에 따라 조정 |
| 감속 시간 0 | 200 | ms | 최대속도→0 감속 시간 | 오버슛 발생 시 증가 |
| 원점 복귀 속도 | 10,000 | pps | 크리프 속도로 천천히 | 너무 빠르면 원점 초과 위험 |
| 소프트 리밋(+) | 200,000 | μm | 정방향 이동 한계 | 하드웨어 리밋과 이중 설정 |
KEC 및 관련 법규 기준
PLC 특수 모듈 시스템은 고압·저압 수배전 설비와 달리 직접적인 KEC 조항 적용이 제한적이지만, 제어 패널 구성 및 배선 방법에 관해서는 반드시 준수해야 할 조항이 있습니다. 특히 고속 신호 배선의 노이즈 대책과 접지 방법은 KEC 212(저압 전기설비) 및 전기설비기술기준 제21조에 근거하여 시행합니다. 이를 지키지 않으면 오작동뿐만 아니라 제어 시스템 전체의 신뢰성이 저하됩니다.
현장 적용 실전 팁과 자주 하는 실수
쉴드 케이블은 반드시 제어판 측 한쪽 끝만 접지(단말 접지)합니다. 양단 접지 시 접지 루프 전류가 흘러 오히려 노이즈가 증가합니다. 접지선은 PE 바에 직결하되, 동력 접지와 분리된 신호 접지 바를 사용하세요.
전자 기어비 = 엔코더 분해능(P/rev) ÷ 기계 이동량(μm/rev). 예: 볼스크류 리드 10mm, 엔코더 131,072 P/rev → 기어비 = 131072 / 10000(μm). 계산 오류 시 실제 이동량이 지령과 다르게 됩니다.
엔코더 선과 인버터 동력선을 같은 덕트에 배선하면 고속 카운터 오동작이 발생합니다. 부득이한 경우 인버터 측에 라인 필터와 접지 커패시터를 설치하고, 엔코더 케이블에는 페라이트 코어를 전원 측에 장착하세요.
원점 복귀가 완료되지 않는 경우, 먼저 원점 센서 입력 신호를 모니터링합니다. 신호가 없다면 센서 전원과 배선을 점검하고, 있다면 모듈 파라미터의 원점 복귀 방향과 센서 극성(A접점/B접점) 설정을 확인하세요.
목표 위치에 도달했음에도 완료 신호가 안 나오면 인포지션(In-Position) 범위 파라미터를 확인합니다. 기계 진동이 크거나 볼스크류 백래시가 있으면 인포지션 범위를 넓혀서 완료 판정을 느슨하게 설정해야 합니다.
2상 4체배 모드에서 카운트값이 실제의 4배로 표시된다면 배율 설정이 1상 1배로 되어 있는 것입니다. 반대로 카운트가 너무 적게 나오면 체배가 과도하게 설정된 것이므로, 파라미터의 카운터 모드를 우선 점검하세요.
모듈 교체 시 반드시 정전
지능형 모듈은 활선 상태에서 탈착 시 CPU 버스 손상 위험이 있습니다. 반드시 PLC 전원을 차단한 뒤 교체하고, 정전기 방지를 위해 손목 스트랩을 착용하세요.
소프트·하드 리밋 이중 설정
위치 제어 시 소프트 리밋만 설정하고 하드웨어 리밋 스위치를 생략하면, 프로그램 오류 시 기계가 한계를 넘어 파손됩니다. 반드시 하드웨어 리밋 스위치를 설치하세요.
비상 정지 회로 독립 구성
비상 정지(EMG) 회로는 PLC 프로그램에 의존하지 말고 하드웨어 회로로 독립 구성해야 합니다. 서보 드라이버의 EMG 단자에 직접 배선하는 것이 원칙입니다.
시운전 전 이동 범위 최소화
위치 제어 모듈 첫 시운전 시에는 목표 위치를 실제의 10% 수준으로 시작해 점진적으로 늘리세요. 전자 기어비 계산 오류로 인한 과이동 사고를 예방할 수 있습니다.
전기기술사 시험 출제 포인트
전기기술사 시험에서 PLC 특수 모듈 관련 문제는 주로 고속 카운터의 입력 방식과 배율 계산, 위치 제어 모듈의 전자 기어비 계산, 서보 시스템 제어 블록도 설명 등에서 출제됩니다. 단순 암기보다는 엔코더 분해능과 볼스크류 리드를 연계한 전자 기어비 계산 능력을 검증하는 문제가 최근 증가 추세입니다.
| 출제 영역 | 핵심 키워드 | 출제 형태 | 중요도 |
|---|---|---|---|
| HSC 입력 방식 | 2상 4체배, A/B 직교 펄스 | 서술형·단답형 | ★★★ |
| 전자 기어비 계산 | 엔코더 P/rev, 볼스크류 리드 | 계산 문제 | ★★★ |
| RS-422 차동 배선 | 라인 드라이버, 쉴드 접지 | 배선도 작성 | ★★☆ |
| 서보 제어 시스템 구성 | 위치 루프, 속도 루프, 전류 루프 | 블록도 설명 | ★★★ |
| 노이즈 대책 | 페라이트 코어, 라인 필터 | 서술형 | ★★☆ |
→ 풀이: 20mm = 20,000μm / rev → 1μm = 262,144 ÷ 20,000 = 13.1072 펄스/μm
전자 기어비: 분자 = 262,144 / 분모 = 20,000 (약분 후 16,384 / 1,250)
자주 묻는 질문
▸ 관련 주제: PLC 타이머·카운터 명령어 실전 예제 (글번호 62)
▸ 하위 주제: 현장 PLC 고장 진단 — CPU 에러 코드와 대처법 (글번호 67)
▸ 심화 주제: 엔코더(회전 속도 센서) 배선과 PLC 고속 카운터 연결 (글번호 88)
- 공유 링크 만들기
- X
- 이메일
- 기타 앱