본문 바로가기
PLC 전기제어 기술자료/PLC 기초

PLC 래더 기초 6편: PLS/PLF 펄스 명령으로 원샷 신호 만들기

by 위치결정JP 2026. 6. 17.
728x90
반응형

이전 글 — PLC 래더 기초 5편: 비교/연산 명령 사용법과 D 레지스터

 

 

PLC 래더에서 입력이 바뀌는 그 순간만 한 번 동작시키는 펄스 명령 PLS/PLF 를 다룹니다.
미쓰비시 Q시리즈를 기준으로 상승엣지 펄스 PLS, 하강엣지 펄스 PLF 의 동작과, 이를 SET/RST/연산과 묶어 "원샷(1회)" 처리를 만드는 방법을 실제 래더 화면과 함께 정리합니다.

지금까지 다룬 명령은 조건이 ON 인 동안 계속 실행됐습니다.
하지만 PLC 는 1초에도 수없이 스캔을 반복하므로, 버튼을 누르고 있으면 그 사이 같은 동작이 수백 번 실행됩니다.
"누른 그 순간 딱 한 번만" 실행하고 싶을 때 쓰는 것이 펄스 명령입니다.

1. 왜 펄스 명령이 필요한가

PLC 는 프로그램 전체를 위에서 아래로 읽는 스캔을 매우 빠르게 반복합니다(보통 수 ms).
그래서 MOV K100 D0 를 버튼 ON 조건으로 두면, 버튼을 누르고 있는 동안 매 스캔마다 100 이 계속 D0 에 들어갑니다.
단순 전송이면 문제없지만, 값을 1 씩 더하는 연산이나 1회만 보내야 하는 명령이라면 누르고 있는 시간만큼 폭주합니다.

이때 입력이 OFF→ON 으로 바뀌는 딱 그 순간 1스캔만 신호를 만들어 주면, 버튼을 길게 눌러도 동작은 1회로 끝납니다.
이 1스캔짜리 펄스를 만드는 것이 PLS/PLF 입니다.

2. PLS: 상승엣지에서 1스캔 펄스

PLS M0 은 입력 조건이 OFF→ON 으로 바뀌는 순간 지정한 디바이스 M0단 1스캔 동안만 ON 시키는 명령입니다.
그 다음 스캔부터는 입력을 계속 누르고 있어도 M0 는 OFF 로 돌아갑니다.

 

 

위 래더는 X0 을 누르는 순간 M0 가 1스캔만 ON 되고, 그 M0 접점으로 뒤의 동작을 1회 실행합니다.

모니터링 GIF로 보면 X0 을 아무리 길게 눌러도 M0 는 누른 그 순간 한 번만 반짝이는 것을 확인할 수 있습니다.

스캔 단위로 풀어 보면, X0 을 5스캔 내내 누르고 있어도 동작은 이렇게 됩니다.

스캔 차수 1 2 3 4 5
X0 입력 OFF ON ON ON ON
M0 (PLS 결과) OFF ON OFF OFF OFF

X0 가 OFF→ON 으로 바뀐 2번째 스캔에서만 M0 가 ON 되고, 계속 누르고 있어도 3번째 스캔부터는 다시 OFF 로 돌아갑니다. 이것이 "누른 그 순간 딱 1스캔" 의 의미입니다.

📝 NOTE

PLS 가 만드는 펄스는 OFF→ON 1스캔 입니다.
비슷하게 접점 자리에 직접 놓는 상승엣지 접점(LDP, 래더에서 위 화살표 표시)도 있습니다.
차이는 PLS 는 지정한 디바이스에 1스캔 펄스를 만들어 두는 명령이고, 펄스 접점은 그 자리에서만 엣지를 검출하는 접점이라는 점입니다.
여러 줄에서 같은 엣지 신호를 재사용하려면 PLS 로 비트를 만들어 두는 편이 편합니다.
반대로 한 자리에서 한 번만 쓸 때는, 가독성과 메모리 절약 때문에 실무에서 접점형 펄스(LDP)를 더 자주 씁니다. 현업 래더에서 위 화살표 접점을 보면 같은 원리라고 생각하면 됩니다.

3. PLF: 하강엣지에서 1스캔 펄스

PLF M1 은 반대로 입력이 ON→OFF 로 바뀌는 순간 M1 을 1스캔 ON 시킵니다.
"버튼에서 손을 떼는 순간" 또는 "신호가 사라지는 순간" 한 번 동작시키고 싶을 때 사용합니다.

 

 

예를 들어 도어가 닫혀 있다가 열리는 순간(센서 ON→OFF) 한 번만 기록을 남기거나 알람을 띄우는 처리에 PLF 가 알맞습니다.

스캔 차수 1 2 3 4 5
X0 입력 ON ON ON OFF OFF
M1 (PLF 결과) OFF OFF OFF ON OFF

X0 가 ON→OFF 로 바뀐 4번째 스캔에서만 M1 이 1스캔 ON 됩니다. PLS 가 켜지는 순간을 잡는다면, PLF 는 꺼지는 순간을 잡는 것입니다.

4. 펄스 명령 활용: 원샷 처리와 토글

펄스 신호의 대표 활용이, 버튼을 누를 때마다 출력이 ON↔OFF 로 바뀌는 토글 회로입니다.
여기서 한 가지 주의할 점이 있습니다.

 

 

"출력이 OFF 면 SET, ON 이면 RST" 하도록 두 줄로 분기하면 토글이 될 것 같지만, 실제로는 동작하지 않습니다.
PLC 는 한 스캔에서 래더를 위에서 아래로 실행하므로, 펄스가 들어온 순간 윗줄에서 SET 으로 켜지면 같은 스캔의 아랫줄(출력 ON 조건)이 곧바로 성립해 RST 로 다시 꺼집니다.
결국 출력은 누를 때마다 리셋되어 토글이 성립하지 않습니다.

 

 

그래서 1버튼 토글에는 입력이 ON 될 때마다 지정 비트를 반전시키는 FF 명령을 씁니다.
FF Y0 은 입력이 OFF→ON 되는 순간마다 Y0 의 상태를 ON↔OFF 로 한 번씩 뒤집습니다.
FF 는 자체적으로 상승엣지를 검출하므로 PLS 를 따로 두지 않아도 됩니다.
누르고 있어도 한 번만 반전되고, 손을 뗐다 다시 누르면 원래대로 돌아옵니다.

동작 1차 누름 1차 뗌 2차 누름 2차 뗌
X0 입력 ON OFF ON OFF
Y0 (FF 결과) ON ON OFF OFF

X0 를 누를 때마다(상승엣지) Y0 가 한 번씩 반전됩니다. 누르고 있는 동안에는 더 바뀌지 않고, 손을 뗐다 다시 눌러야 다음 반전이 일어납니다.

💡 TIP

값을 1 씩 올리는 카운트(INC D0)나 한 번만 보내는 MOV 도 엣지 펄스를 조건으로 두면 "누를 때마다 정확히 +1" 처럼 깔끔하게 동작합니다.
3편의 카운터(OUT C)는 자체적으로 상승엣지를 세지만, 데이터 연산을 직접 1회씩 돌릴 때는 PLS 로 펄스를 만들어 조건에 거는 것이 안전합니다.

마무리

PLS 는 켜지는 순간, PLF 는 꺼지는 순간 1스캔 펄스를 만듭니다.
이 "원샷" 덕분에 버튼을 길게 눌러도 동작은 정확히 1회로 제한되고, FF 와 묶으면 토글, 연산과 묶으면 정확한 1회 처리가 됩니다.
1편의 자기유지/인터락, 2편의 AND/OR, 3편의 타이머/카운터, 4편의 SET/RST, 5편의 비교/연산, 그리고 6편의 펄스 명령까지 — 기본 명령을 모두 갖췄으니 이제 실제 설비 시퀀스를 직접 설계할 수 있습니다.
여기서 한 걸음 더 나아가면, 이 기초 명령들을 엮어 실린더/모터를 정해진 순서로 움직이는 공정 시퀀스(스텝 제어) 설계로 이어집니다.

💡 TIP

기본 명령을 익혔다면, 반복되는 기능을 함수로 묶어 재사용성을 높이는 단계로 나아갈 차례입니다.
함수화 1편: 스케일 변환 부터 시작하는 함수화 시리즈에서 CALL/XCALL 로 묶어 쓰는 법을 다루고, 래더 기초 3편: 타이머/카운터 와 묶으면 시간/횟수/엣지 조건을 자유롭게 조합할 수 있습니다.

728x90
반응형