본문 바로가기
econtop econtop

PLC 래더 다이어그램에서 SET·RESET 명령 사용법

takshout 읽는 시간 약 8분

PLC 래더 다이어그램에서 SET과 RESET 명령이 중요한 이유

자동화 현장에서 일해본 적이 있거나 PLC 프로그래밍을 접해본 사람이라면 출력을 유지하는 것이 얼마나 중요한지 잘 알 것입니다. 일반적인 릴레이 회로는 입력 신호가 사라지면 출력도 함께 꺼지는 일시적인 특성을 가집니다. 하지만 실제 산업 현장에서는 버튼을 한 번 누르면 계속 켜져 있거나, 정지 버튼을 누르기 전까지는 장비가 계속 작동해야 하는 상황이 훨씬 많습니다.

이때 가장 강력하고 직관적인 도구가 바로 SET과 RESET 명령입니다. 이 두 가지 명령은 복잡한 자기유지 회로를 단순하게 만들어주며 프로그램의 가독성을 엄청나게 높여줍니다. 초보자부터 숙련된 엔지니어까지 가장 빈번하게 사용하는 핵심 기능 중 하나이므로 그 작동 원리와 올바른 사용법을 정확히 이해하는 것이 필수적입니다.

SET과 RESET 명령의 기본 개념과 동작 원리

SET 명령은 조건이 성립했을 때 지정된 디바이스 비트를 무조건 ON 상태로 만드는 기능을 합니다. 한 번 SET 명령이 실행되면, 그 이후에 입력 조건이 꺼지더라도 ON 상태는 그대로 유지됩니다. 이것은 마치 전등 스위치를 켜면 손을 떼도 불이 계속 켜져 있는 것과 비슷합니다.

반대로 RESET 명령은 ON 상태로 유지되고 있는 디바이스 비트를 OFF 상태로 되돌리는 역할을 합니다. RESET 명령이 실행되기 전까지는 앞서 SET으로 켜둔 상태가 절대 꺼지지 않습니다. 이 두 명령은 항상 쌍을 이루어 사용되는 경우가 많으며 시스템의 시작과 정지를 제어하는 뼈대를 이룹니다.

이 명령들의 가장 큰 특징은 비휘발성 메모리 영역과 결합했을 때 전원이 나갔다 들어와도 이전 상태를 기억할 수 있다는 점입니다. 따라서 갑작스러운 정전 후 복구되었을 때 위험할 수 있는 설비 제어에서는 이 특성을 반드시 고려하여 프로그램을 작성해야 합니다.

자기유지 회로와의 차이점과 선택 가이드

PLC에서 출력을 유지하는 방법은 크게 두 가지가 있습니다. 하나는 전통적인 a접점을 활용한 자기유지 회로이고, 다른 하나는 지금 다루고 있는 SET과 RESET 명령을 사용하는 방식입니다. 각각의 장단점이 뚜렷하기 때문에 상황에 맞는 현명한 선택이 필요합니다.

  • 자기유지 회로는 회로의 흐름을 눈으로 직접 추적하기 쉽고 조건 해제가 직관적입니다
  • SET과 RESET은 프로그램 코드가 매우 간결해지고 복잡한 인터록을 구현할 때 유리합니다
  • 자기유지는 출력이 여러 곳에서 꼬일 경우 디버깅이 어려워질 수 있습니다
  • SET과 RESET은 나중에 프로그램이 길어졌을 때 어디서 켜고 끄는지 추적하기 위해 교차 참조 기능을 잘 활용해야 합니다

일반적으로 단순한 컨베이어 구동이나 램프 점등처럼 끄고 켜는 위치가 명확할 때는 SET과 RESET이 코드량을 줄여주어 매우 효율적입니다. 반면 안전 관련 비상정지 회로와 같이 즉각적인 물리적 차단이 연관된 부분에서는 오히려 자기유지나 하드웨어 릴레이를 병행하는 것이 안전합니다.

실생활과 산업 현장에서의 구체적인 활용 방법

자동화 설비를 설계할 때 SET과 RESET은 거의 모든 공정의 제어 로직에 포함됩니다. 몇 가지 대표적인 적용 사례를 살펴보면 이해가 훨씬 쉽습니다.

첫 번째는 공작기계의 가동 시작과 비상 정지 제어입니다. 작업자가 운전 버튼을 누르면 SET 명령에 의해 메인 모터가 구동 시작 상태로 진입합니다. 이때 작업 도중 문제가 생겨 센서가 감지되거나 비상 스위치가 눌리면 즉시 RESET 명령이 실행되어 모터 구동 비트를 강제로 끕니다.

두 번째는 물류 자동화 라인의 불량품 배출 실린더 제어입니다. 센서가 불량품을 감지하는 순간 솔레노이드 밸브를 제어하는 비트를 SET하여 실린더를 전진시키고, 일정 시간이 지난 뒤 타이머가 완료되면 RESET 명령으로 실린더를 원위치시킵니다.

세 번째는 터치스크린 화면의 수동 및 자동 모드 전환입니다. 화면에서 자동 버튼을 터치하면 내부 릴레이가 SET되어 전체 공정이 자동으로 돌아가고, 수동 버튼을 누르면 RESET되어 수동 조작 화면으로 전환됩니다.

초보자들이 자주 하는 실수와 해결 방법

SET과 RESET을 사용할 때 현장에서 가장 빈번하게 발생하는 문제 중 하나는 이중 출력 오류입니다. 프로그램 내에서 동일한 비트를 여러 번 SET 하거나, 반대로 한쪽에서는 끄려고 하고 다른 쪽에서는 켜려고 할 때 발생합니다.

예를 들어 프로그램 상단에서 수동 조작으로 비트를 끄려고 RESET을 넣었는데, 하단에서 오토 프로그램이 계속해서 해당 비트를 SET 하고 있다면 스캔 타임에 의해 로직이 꼬이게 됩니다. PLC는 위에서 아래로, 그리고 좌에서 우로 스캔을 하기 때문에 가장 마지막에 처리된 명령이 최종 결과가 되지만 이는 예기치 않은 오작동을 유발합니다.

이러한 문제를 방지하기 위한 전문가들의 조언은 다음과 같습니다.

  • 특정 디바이스 비트는 가급적 하나의 루틴이나 구역에서만 SET과 RESET을 제어하도록 구조화하세요
  • 조건문이 복잡해질 경우 플래그(Flag) 메모리를 활용하여 중간 단계를 거친 뒤 최종 명령을 내리세요
  • 디버깅 모드를 적극 활용하여 현재 어떤 조건이 살아있고 어떤 명령이 계속 실행 중인지 모니터링하세요
  • 변수 이름을 지정할 때 용도를 명확히 적어두어 나중에 헷갈리지 않도록 하세요

특히 현장에서 급하게 프로그램을 수정하다 보면 원인 모를 헌팅 현상이나 출력이 떨리는 현상이 발생하는데, 대부분 SET과 RESET의 조건이 충돌할 때 나타나는 증상입니다. 조건 충돌을 방지하는 인터록 로직을 탄탄하게 짜는 것이 숙련된 엔지니어의 핵심 역량입니다.

비용 효율적이고 유지보수가 쉬운 프로그램 작성 팁

좋은 프로그램은 단순히 작동만 잘 되는 것이 아니라 나중에 다른 사람이 보거나 유지보수할 때 시간이 적게 걸리는 프로그램입니다. SET과 RESET을 활용할 때 비용과 시간을 아낄 수 있는 실용적인 팁들이 있습니다.

첫째, 펑션 블록이나 서브루틴을 적극 활용하여 반복되는 제어 패턴을 모듈화하세요. 예를 들어 수십 개의 실린더가 있는 설비에서 각각의 전진과 후진 로직을 일일이 SET과 RESET으로 짜는 것은 시간 낭비입니다. 표준화된 실린더 제어 블록을 하나 만들어두고 인자값만 바꿔가며 호출하면 개발 비용을 획기적으로 줄일 수 있습니다.

둘째, 주석 기능을 철저히 사용하세요. SET 명령이나 RESET 명령 바로 옆이나 위에 이 조건이 왜 들어가야 하는지 간결하게 메모를 남겨두면, 수개월 뒤 유지보수를 위해 현장에 출동했을 때 원인 분석 시간을 몇 시간씩 단축할 수 있습니다. 이는 곧 기업의 다운타임 비용을 줄이는 직접적인 방법이 됩니다.

셋째, 시뮬레이션 기능을 최대한 활용하세요. 실제 하드웨어에 연결하기 전에 PLC 제조사에서 제공하는 가상 시뮬레이터로 SET과 RESET의 타이밍을 미리 검증하면 현장에서 배선이나 모터가 타버리는 등의 물리적 사고와 이에 따른 비용 손실을 원천적으로 차단할 수 있습니다.

자주 묻는 질문

SET 명령을 사용하면 전원이 꺼졌을 때 상태가 그대로 유지되나요?
사용하는 PLC의 메모리 영역에 따라 다릅니다. 일반 래치 영역이나 배터리 백업, 혹은 비휘발성 메모리(ROM/Flash)로 설정된 디바이스를 사용했다면 전원이 꺼져도 상태가 유지되지만, 일반 내부 릴레이 영역이라면 전원 차단 시 초기화됩니다.
RESET 명령을 사용하지 않고 조건이 꺼지면 저절로 꺼지게 할 수 없나요?
SET 명령은 조건이 꺼져도 유지되는 특성이 있으므로 반드시 RESET 명령이나 이에 준하는 클리어 조건이 있어야 꺼집니다. 조건에 따라 자동으로 꺼지게 만들고 싶다면 SET/RESET 대신 일반 자기유지 회로를 사용하는 것이 맞습니다.
하나의 비트에 SET과 RESET을 동시에 조건이 들어가면 어떻게 되나요?
PLC의 스캔 방식에 따라 마지막에 연산된 결과가 최종 출력됩니다. 하지만 이 상태는 로직을 매우 불안정하게 만들고 오작동의 주원인이 되므로 프로그램 상에서 두 조건이 동시에 성립하지 않도록 반드시 인터록을 걸어주어야 합니다.

takshout

takshout
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.