[카테고리:] PLC/Automation

PLC/자동제어 카테고리는 산업 자동화 현장에서 사용하는 PLC 제어, 전장 설계, 산업용 통신, 서보·모션, 제어반 제작과 관련된 실무 내용과 자동화 산업 현장 인사이트를 정리합니다. 현장 시운전과 유지보수 과정에서 자주 발생하는 문제, 전시회와 설비 트렌드에서 확인한 내용을 기준으로 작성합니다.

  • [실무] PLC 스캔 타임 개선과 CJ 점프 명령어 활용법

    PLC 프로그램 규모가 커지면 모든 로직을 매 스캔마다 연산하는 구조가 비효율적일 수 있습니다. 특히 특정 조건에서만 필요한 비교, 문자열 처리, 데이터 검사, 에러 처리 루틴이 매번 실행되면 스캔 타임이 길어지고 입력 감지나 출력 응답 타이밍에 영향을 줄 수 있습니다. 이때 CJ 명령어를 사용하면 조건에 따라 불필요한 로직 구간을 건너뛰어 스캔 효율을 개선할 수 있습니다.

    스캔 타임을 관리해야 하는 이유

    PLC는 입력을 읽고, 프로그램을 연산하고, 출력을 갱신하는 과정을 반복합니다. 이 한 바퀴에 걸리는 시간이 스캔 타임입니다.

    스캔 타임이 길어지면 단순히 PLC가 느려지는 문제가 아니라, 설비의 반응 타이밍이 늦어질 수 있습니다. 현장에서는 몇 ms 차이로 센서 감지, 정지 응답, 통신 처리 결과가 달라질 수 있습니다.

    스캔 타임이 길어졌을 때 발생할 수 있는 문제는 다음과 같습니다.

    문제설명
    입력 신호 누락짧은 센서 신호가 스캔 주기 사이에 지나갈 수 있음
    출력 응답 지연정지, 차단, 다음 동작 신호가 늦게 나갈 수 있음
    통신 주기 불안정상위 장비, 인버터, 서보와의 통신 처리 타이밍이 흔들릴 수 있음
    타이머·카운터 조건 지연조건 판단이 늦어져 공정 흐름이 달라질 수 있음
    디버깅 난이도 증가어느 구간에서 시간이 걸리는지 찾기 어려워짐

    스캔 타임 문제는 단순한 속도 문제가 아니라 설비의 입력과 출력이 언제 반응하느냐의 문제입니다. 따라서 프로그램이 커질수록 꼭 필요한 로직만 필요한 시점에 실행되도록 구성하는 것이 중요합니다.

    본 글은 미쓰비시 MELSEC Q/R 시리즈 및 GX Works2/3 기준의 일반적인 내용을 바탕으로 작성했습니다. CJ 명령어의 세부 동작, 포인터 사용 범위, 제한 조건은 CPU 모델과 프로그램 구조에 따라 달라질 수 있으므로 실제 적용 전 매뉴얼을 확인해야 합니다.

    CJ 명령어의 기본 개념

    CJ는 Conditional Jump의 약자로, 조건이 성립했을 때 지정한 포인터 위치로 프로그램 실행 흐름을 이동시키는 명령어입니다.

    예를 들어 특정 조건이 ON되면 현재 위치부터 지정된 포인터까지의 로직을 연산하지 않고 건너뜁니다. 조건이 OFF이면 점프하지 않고 아래 로직을 그대로 실행합니다.

    CJ의 핵심은 출력 제어가 아니라 연산 구간 생략입니다.

    구분설명
    CJ 조건 OFF아래 로직을 그대로 실행
    CJ 조건 ON지정한 포인터 위치까지 점프
    점프된 구간해당 스캔에서 연산되지 않음
    포인터 위치점프 후 다시 실행이 이어지는 위치

    CJ는 특정 출력을 끄는 명령이 아닙니다. CPU가 해당 구간을 읽지 않고 지나가게 만드는 명령에 가깝습니다. 이 차이를 이해하지 못하면 출력 HOLD 문제가 생길 수 있습니다.

    CJ는 로직을 끄는 기능이 아니다

    CJ를 사용할 때 가장 중요한 점은 CJ가 로직을 OFF시키는 기능이 아니라는 것입니다.

    MC/MCR은 특정 구간을 상위 조건으로 묶어 일반 출력이 OFF되도록 만드는 구조로 사용할 수 있습니다. 반면 CJ는 조건이 성립하면 해당 구간의 연산 자체를 건너뜁니다.

    즉, CJ로 건너뛴 구간은 그 스캔에서 판단되지 않습니다. 해당 구간 안에 출력 OFF 조건이나 RST 조건이 있어도, 점프가 걸리면 그 조건은 실행되지 않을 수 있습니다.

    구분MC/MCRCJ
    기본 성격구간 제어실행 흐름 이동
    OFF 처리일반 출력 차단 구조로 사용 가능구간을 연산하지 않고 건너뜀
    내부 로직MC 조건에 따라 처리점프 시 실행되지 않음
    주의점SET/RST 위치 확인 필요출력 HOLD와 RST 미실행 주의

    CJ는 성능 개선에 유용하지만, 출력 차단이나 안전 인터락 목적으로 직접 사용하면 위험할 수 있습니다.

    CJ를 사용하는 대표적인 상황

    CJ는 매 스캔마다 실행할 필요가 없는 로직을 조건부로 처리할 때 효과적입니다.

    예를 들어 다음과 같은 구간은 CJ 적용을 검토할 수 있습니다.

    적용 구간설명
    자동운전 전용 로직수동 모드일 때 자동 시퀀스 연산 생략
    모델 변경 처리모델 변경 요청이 있을 때만 레시피 복사 실행
    문자열 비교데이터 수신 완료 시에만 비교 루틴 실행
    알람 분석 루틴알람 발생 시에만 상세 분석 실행
    대량 데이터 검사검사 요청이 있을 때만 연산 실행
    통신 송신 준비송신 조건이 있을 때만 데이터 조립

    반대로 매 스캔 반드시 확인해야 하는 안전 조건, 정지 조건, 비상정지 관련 최종 출력 조건은 CJ로 건너뛰지 않는 것이 좋습니다.

    문자열 비교 루틴에 CJ를 적용하는 예

    비전 장비나 바코드 리더기에서 문자열 데이터를 받아 기준 문자열과 비교하는 공정이 있다고 가정합니다. 수신되는 문자열이 길고 비교 항목이 많다면, 이 비교 루틴을 매 스캔 실행하는 것은 불필요할 수 있습니다.

    기존 구조에서는 새 데이터가 들어오지 않아도 문자열 비교가 계속 실행됩니다. 데이터가 바뀌지 않았는데도 CPU는 같은 비교 연산을 반복합니다.

    이런 경우에는 리딩 완료 비트가 ON되었을 때만 비교 루틴을 실행하도록 구성할 수 있습니다.

    흐름은 다음과 같이 정리할 수 있습니다.

    상태처리
    평상시문자열 비교 루틴 생략
    리딩 완료비교 루틴 실행
    판정 완료OK 또는 NG 결과 생성
    결과 전송상위 장비 또는 HMI로 결과 전달
    완료 후리딩 완료 비트 초기화 후 대기

    이 구조를 사용하면 필요한 순간에만 연산이 실행되므로 스캔 효율이 좋아지고, 프로그램 흐름도 명확해집니다.

    CJ와 MC 블록을 함께 볼 때 주의할 점

    CJ가 MC 블록을 건너뛰는 구조에서는 MC가 OFF되어 꺼진 것인지, 아니면 MC 명령 자체가 연산되지 않은 것인지 구분해야 합니다.

    예를 들어 CJ 조건이 ON되어 MC 구간 앞에서 포인터 위치로 점프했다면, CPU는 해당 스캔에서 MC 명령과 그 내부 로직을 실행하지 않습니다. 이 경우 MC가 OFF되어 내부 로직을 차단한 것이 아니라, 애초에 MC 구간 자체가 연산되지 않은 것입니다.

    이 차이는 트러블슈팅에서 중요합니다.

    MC가 OFF된 경우에는 MC 조건을 추적해야 하지만, CJ로 건너뛴 경우에는 점프 조건과 포인터 위치를 먼저 확인해야 합니다.

    상황확인할 것
    MC 조건 OFFMC를 구동하는 상위 인터락 조건 확인
    CJ로 MC 구간 스킵CJ 조건과 점프 포인터 확인
    내부 출력 미동작MC OFF인지, CJ 스킵인지 구분
    내부 RST 미실행CJ로 RST 구간을 건너뛰었는지 확인

    CJ가 적용된 로직에서는 단순히 접점 상태만 보지 말고, 해당 네트워크가 실제로 스캔되고 있는지도 확인해야 합니다.

    출력 HOLD 현상을 반드시 확인해야 한다

    CJ 사용 시 가장 주의해야 할 문제는 출력 HOLD입니다.

    CJ는 구간을 연산하지 않고 지나갑니다. 따라서 점프되는 구간 안에 있던 출력이 이전 스캔에서 ON된 상태라면, 다음 스캔에서 해당 구간을 건너뛰는 동안 OFF 조건이 실행되지 않을 수 있습니다.

    이 경우 출력이 의도와 다르게 ON 상태로 남아 있을 수 있습니다.

    예를 들어 어떤 출력이 특정 조건에서 ON되었고, 그 출력을 끄는 조건이 같은 점프 구간 내부에 있다고 가정합니다. 이후 CJ 조건이 ON되어 해당 구간을 건너뛰면, 출력 OFF 로직도 실행되지 않습니다. 결과적으로 이전 출력 상태가 남을 수 있습니다.

    CJ를 사용할 때는 다음을 반드시 확인해야 합니다.

    확인 항목설명
    점프 구간 내 출력ON 상태로 남으면 위험한 출력이 있는지 확인
    OFF 조건 위치OFF 또는 RST 조건이 점프 구간 밖에서도 실행되는지 확인
    SET/RST 사용 여부SET된 비트가 점프 중에도 해제되는지 확인
    최종 출력부안전 인터락이 CJ와 무관하게 항상 실행되는지 확인
    점프 전 초기화필요한 경우 점프 전에 상태를 정리하는지 확인

    CJ는 로직을 끄는 것이 아니라 읽지 않고 지나가는 것입니다. 그래서 출력 차단 목적이라면 CJ보다 별도 인터락이나 최종 출력 조건을 사용하는 것이 안전합니다.

    CJ를 사용하기 전에 출력 구조를 분리한다

    CJ를 안정적으로 사용하려면 연산 루틴과 최종 출력 제어를 분리하는 것이 좋습니다.

    예를 들어 자동운전 계산, 문자열 비교, 레시피 복사, 조건 판단 같은 연산성 로직은 CJ로 건너뛸 수 있습니다. 그러나 실제 Y 출력, 실린더 구동, 모터 구동, 히터 출력 같은 최종 출력부는 CJ에 의해 건너뛰지 않도록 별도 영역에서 항상 연산되게 구성하는 것이 안전합니다.

    구조를 나누면 다음과 같습니다.

    영역CJ 적용 여부
    대량 데이터 처리조건부 CJ 적용 가능
    문자열 비교데이터 수신 시에만 실행 가능
    모델 변경 처리변경 요청 시에만 실행 가능
    상태 플래그 정리상황에 따라 주의 필요
    최종 출력 제어CJ로 건너뛰지 않는 것이 안전
    비상정지·안전 인터락항상 연산되는 위치에 배치

    CJ를 사용해 스캔 타임을 줄이더라도 최종 출력 안전 조건은 매 스캔 확인되도록 설계해야 합니다.

    포인터 위치는 추적 가능하게 남긴다

    CJ를 많이 사용하면 디버깅이 어려워집니다. 프로그램이 위에서 아래로 순서대로 실행되지 않고 중간 구간을 건너뛰기 때문에, 나중에 유지보수할 때 어느 위치로 점프했는지 찾기 어려울 수 있습니다.

    따라서 CJ와 포인터를 사용할 때는 주석과 상태 표시를 남기는 것이 좋습니다.

    관리 기준설명
    포인터 주석포인터 위치에 용도를 명확히 표시
    CJ 주석어떤 조건에서 어디로 점프하는지 기록
    가까운 범위 유지CJ와 도착 포인터를 너무 멀리 떨어뜨리지 않음
    상태 변수 활용현재 어떤 루틴을 실행 중인지 D나 M으로 표시
    점프 구조 최소화불필요한 다중 점프를 피함

    예를 들어 P1 위치가 자동운전 루틴 시작점이라면 포인터 근처에 자동운전 루틴 시작이라는 주석을 남겨야 합니다. 점프 전후로 상태값을 남기면 모니터링 중에도 현재 어느 흐름을 타고 있는지 확인하기 쉽습니다.

    CJ를 남발하면 유지보수가 어려워진다

    CJ는 스캔 타임 개선에 도움이 될 수 있지만, 너무 많이 사용하면 프로그램 흐름이 끊겨 보입니다. 특히 점프가 여러 단계로 중첩되면 현재 로직이 왜 실행되지 않는지 찾기가 어려워집니다.

    CJ를 사용할 때는 다음 기준을 적용하는 것이 좋습니다.

    기준설명
    필요한 구간에만 사용매 스캔 불필요한 연산에 한정
    안전 로직 제외안전, 정지, 최종 출력부는 점프 대상에서 제외
    구간 단위로 사용작은 조건마다 점프하지 않고 루틴 단위로 정리
    포인터 명확화점프 도착지와 목적을 주석으로 표시
    스캔 타임 확인실제 개선 효과를 SD 스캔 타임 등으로 확인

    CJ를 넣었다고 항상 스캔 타임이 의미 있게 개선되는 것은 아닙니다. 실제로 어떤 루틴이 스캔 타임을 많이 사용하고 있는지 확인한 뒤 적용하는 것이 좋습니다.

    CJ 설계 시 점검할 항목

    CJ 명령어를 사용할 때는 다음 항목을 점검해야 합니다.

    점검 항목확인 내용
    점프 조건의도치 않게 항상 ON 상태가 되지 않는지 확인
    점프 구간중요한 연산이나 안전 로직이 포함되지 않았는지 확인
    출력 상태ON된 출력이 점프 중 HOLD되지 않는지 확인
    RST 조건필요한 리셋이 점프 구간 밖에서도 실행되는지 확인
    포인터 위치CJ와 포인터가 명확하게 연결되는지 확인
    주석점프 목적과 도착 위치를 추적할 수 있는지 확인
    스캔 타임 효과적용 전후 스캔 타임 변화를 확인했는지 확인
    유지보수성다른 작업자가 흐름을 이해할 수 있는지 확인

    CJ는 잘 쓰면 프로그램 효율을 높일 수 있지만, 잘못 쓰면 로직이 실행되지 않는 이유를 찾기 어렵게 만듭니다.

    CJ 활용 기준 정리

    CJ는 조건에 따라 불필요한 로직 구간을 건너뛰는 명령어입니다. 매 스캔 실행할 필요가 없는 문자열 비교, 대량 데이터 검사, 모델 변경 루틴, 자동운전 전용 루틴 등에 활용하면 스캔 타임 개선에 도움이 될 수 있습니다.

    하지만 CJ는 출력을 끄는 명령이 아닙니다. 점프 구간 안에 출력 OFF 조건이나 RST 조건이 있으면, 점프 중에는 그 조건이 실행되지 않을 수 있습니다. 이 때문에 출력 HOLD나 내부 플래그 잔류 문제가 발생할 수 있습니다.

    따라서 CJ를 사용할 때는 연산 루틴과 최종 출력부를 분리하고, 안전 조건과 정지 조건은 항상 스캔되는 위치에 두는 것이 좋습니다. 또한 포인터 위치와 점프 목적을 주석으로 남겨 나중에 흐름을 추적할 수 있게 해야 합니다.

    스캔 타임 개선은 단순히 로직을 줄이는 작업이 아니라, 어떤 로직을 매 스캔 실행해야 하고 어떤 로직은 조건부로 실행해도 되는지 구분하는 작업입니다. CJ는 그 구분이 명확할 때 효과적인 명령어입니다.

  • [실무] 비상정지 복귀 시 오동작 막는 MC/MCR 설계 기준

    비상정지 해제 후 설비가 예상과 다르게 즉시 동작하는 경우가 있습니다. 이런 문제는 단순히 출력 회로만 볼 것이 아니라 PLC 내부의 인터락 구조, MC/MCR 블록, SET/RST 사용 위치를 함께 확인해야 합니다. MC OFF 상태에서 어떤 로직은 멈추고, 어떤 상태 비트는 그대로 남는지 구분하지 못하면 재기동 시 오동작으로 이어질 수 있습니다.

    MC/MCR을 이해해야 하는 이유

    MC/MCR은 특정 로직 구간을 통째로 제어하기 위한 마스터 제어 구조입니다. MC로 블록을 시작하고 MCR로 블록을 닫는 방식으로 사용하며, 해당 구간 안의 로직을 상위 조건에 따라 일괄적으로 동작시키거나 차단할 수 있습니다.

    예를 들어 자동운전 조건, 안전 조건, 비상정지 조건, 도어 인터록 조건이 정상일 때만 특정 구간의 로직을 실행하고 싶다면 MC/MCR 구조를 사용할 수 있습니다.

    다만 MC/MCR은 단순한 전원 스위치처럼 생각하면 안 됩니다. MC가 OFF되었을 때 일반 코일, 내부 비트, SET/RST, 타이머, 카운터가 각각 어떻게 동작하는지 확인해야 합니다.

    본 글은 미쓰비시 MELSEC Q/R 시리즈 및 GX Works2/3 기준의 일반적인 내용을 바탕으로 작성했습니다. MC/MCR 명령의 세부 동작과 제한 사항은 CPU 시리즈와 프로그램 구조에 따라 달라질 수 있으므로 실제 적용 전 매뉴얼을 확인해야 합니다.

    MC/MCR 블록은 특정 구간에만 영향을 준다

    MC/MCR은 프로그램 전체를 끄는 명령이 아니라, MC와 MCR 사이에 있는 특정 로직 구간에 영향을 줍니다.

    MC 조건이 ON이면 해당 구간의 로직은 정상적으로 연산됩니다. MC 조건이 OFF되면 해당 구간의 일반 출력은 차단되고, 구간 내부 로직은 정상 실행 상태와 다르게 처리됩니다.

    일반적인 개념은 다음과 같습니다.

    상태동작 개념
    MC ONMC/MCR 구간 내부 로직이 정상 연산됨
    MC OFF구간 내부 일반 출력이 OFF 방향으로 처리됨
    MCRMC로 시작한 제어 구간을 종료함
    MC/MCR 범위 밖 로직해당 MC 조건의 직접 영향 없음

    중요한 점은 MC 내부에 있는 신호는 그 신호가 SM400 같은 항상 ON 접점이라도 MC 조건의 영향을 받는다는 것입니다. MC 블록 안에 들어간 순간, 그 로직은 상위 MC 조건이 살아 있을 때만 정상적으로 의미를 갖습니다.

    MC/MCR 번호와 중첩 구조를 확인해야 한다

    MC/MCR은 시작과 종료 번호가 맞아야 합니다. 예를 들어 MC N1로 시작했다면 해당 구간은 MCR N1로 닫아야 합니다.

    번호가 맞지 않거나 MCR이 빠지면 어느 구간까지 MC의 영향을 받는지 파악하기 어려워집니다. 유지보수 시 로직 범위가 불명확해지고, 비상정지나 자동운전 조건이 의도하지 않은 구간까지 영향을 줄 수 있습니다.

    중첩 구조도 주의해야 합니다. 예를 들어 N0 블록 안에 N1 블록이 들어가 있다면, 상위 N0가 OFF될 경우 하위 N1 조건이 ON이어도 내부 로직은 영향을 받을 수 있습니다.

    MC/MCR을 사용할 때는 다음 항목을 확인해야 합니다.

    확인 항목설명
    MC 번호시작 번호가 의도한 번호인지 확인
    MCR 번호종료 번호가 MC 번호와 일치하는지 확인
    적용 범위어느 로직까지 MC 영향권인지 확인
    중첩 구조상위 MC와 하위 MC의 관계 확인
    주석블록 목적과 적용 범위를 명확히 표시

    MC/MCR은 로직을 깔끔하게 묶을 수 있지만, 범위가 틀어지면 문제 원인을 찾기 어려워집니다.

    MC OFF 시 일반 코일과 SET은 다르게 봐야 한다

    MC/MCR에서 가장 주의해야 할 부분은 일반 코일과 SET 명령의 차이입니다.

    일반 코일 OUT은 MC 구간이 OFF되면 함께 OFF되는 방향으로 처리됩니다. 그래서 안전 조건이나 자동운전 조건이 끊겼을 때 출력이 꺼지는 구조를 만들기 쉽습니다.

    하지만 SET으로 이미 ON된 비트는 별도의 RST가 실행되지 않으면 상태가 남을 수 있습니다. 이 차이를 모르고 MC 내부에서 SET을 사용하면 비상정지 복귀 후 예상하지 못한 동작이 발생할 수 있습니다.

    구분MC OFF 시 주의점
    일반 코일 OUTMC 조건이 끊기면 OFF 방향으로 처리됨
    자기유지MC 조건이 상위에 있으면 함께 끊기도록 구성 가능
    SET 비트RST가 실행되지 않으면 상태가 남을 수 있음
    RST 명령MC 내부에 있으면 MC OFF 중 실행되지 않을 수 있음

    MC는 SET으로 켜진 상태를 자동으로 정리해 주는 기능이 아닙니다. SET을 사용했다면 반드시 RST 조건을 별도로 설계해야 합니다.

    비상정지 복귀 후 즉시 동작하는 원인

    비상정지 해제 후 실린더나 모터가 바로 동작하는 경우에는 내부 상태 비트가 남아 있는지 확인해야 합니다.

    예를 들어 MC 내부에서 특정 동작 플래그를 SET해 두었고, 비상정지로 MC 조건이 OFF되었다고 가정합니다. 이때 일반 출력은 꺼졌기 때문에 설비는 멈춘 것처럼 보입니다. 그러나 SET된 내부 플래그가 RST되지 않았다면 메모리 상태는 여전히 ON으로 남아 있을 수 있습니다.

    이후 비상정지를 해제해 MC 조건이 다시 ON되면, 남아 있던 SET 비트가 다시 출력 조건을 만족시켜 설비가 즉시 동작할 수 있습니다.

    문제 흐름을 정리하면 다음과 같습니다.

    단계상태
    동작 중내부 동작 플래그가 SET됨
    비상정지 발생MC OFF로 일반 출력은 차단됨
    MC 내부 RST 미실행SET 비트가 그대로 남음
    비상정지 해제MC ON 복귀
    재기동 명령 없음남아 있던 SET 비트 때문에 출력 조건 성립 가능

    이 구조에서는 작업자가 다시 시작 버튼을 누르지 않았는데도 설비가 움직일 수 있습니다. 따라서 비상정지 복귀 조건과 재기동 조건은 반드시 분리해야 합니다.

    RST를 MC 내부에만 두면 문제가 생길 수 있다

    MC 구간 내부에 RST 명령을 넣는 경우가 있습니다. 그러나 MC가 OFF되었을 때 해당 구간이 정상 연산되지 않는 구조라면, 내부 RST도 실행되지 않을 수 있습니다.

    즉, 비상정지나 상위 인터락으로 MC가 OFF된 상태에서는 정작 SET 비트를 꺼야 하는 RST가 동작하지 못할 수 있습니다.

    이 문제는 현장에서 반복적으로 발생합니다. 전원을 껐다 켜면 일시적으로 정상처럼 보일 수 있지만, 같은 운전 조건이 반복되면 다시 동일한 증상이 발생합니다. 원인은 출력부가 아니라 내부 SET 비트와 RST 위치일 수 있습니다.

    따라서 비상정지, 알람, 자동운전 해제처럼 반드시 상태를 정리해야 하는 RST 조건은 MC 외부 또는 상위에서 확실히 실행되는 위치에 두는 것이 안전합니다.

    SET을 사용할 때는 외부 RST 구조를 만든다

    SET 자체가 항상 나쁜 것은 아닙니다. 알람 기억, 공정 완료 플래그, 특정 상태 유지처럼 SET/RST가 적합한 경우도 있습니다.

    문제는 SET을 사용하고도 확실한 RST 조건을 만들지 않는 것입니다.

    SET을 사용하는 경우에는 다음 조건에서 RST가 실행되는지 확인해야 합니다.

    RST 조건목적
    비상정지 발생위험 상태에서 내부 동작 플래그 제거
    자동운전 OFF자동 시퀀스 상태 초기화
    알람 발생이상 상태에서 다음 동작 차단
    원점 복귀 시작이전 공정 상태 정리
    운전 준비 해제재기동 전 내부 상태 제거
    작업자 리셋확인 후 다음 사이클 준비

    특히 비상정지와 자동운전 OFF 조건은 MC 내부가 아니라 MC 외부에서 RST가 실행되도록 구성하는 것이 좋습니다. 그래야 MC가 OFF된 상태에서도 내부 상태를 확실히 정리할 수 있습니다.

    재기동 조건은 비상정지 복귀와 분리한다

    비상정지를 해제했다고 해서 설비가 바로 다시 동작하면 안 됩니다. 비상정지 해제는 운전 가능 상태로 돌아가는 조건일 뿐, 기동 명령 자체가 되어서는 안 됩니다.

    안전한 구조는 다음과 같이 나누는 것입니다.

    구분의미
    비상정지 해제설비가 다시 운전 가능한 상태
    운전 준비안전 조건, 원점, 알람 상태 정상 확인
    작업자 시작작업자가 Start 버튼으로 재기동 승인
    자동운전 플래그시작 조건 후에만 ON
    출력 동작자동운전 플래그와 공정 조건이 모두 만족될 때 동작

    이렇게 구성하면 비상정지를 해제해도 내부 상태가 바로 출력으로 이어지지 않습니다. 작업자가 다시 시작 명령을 넣어야만 자동운전 플래그가 살아나고, 그 이후 공정 조건이 순서대로 진행됩니다.

    MC 내부 출력은 최종 인터락을 한 번 더 거치는 것이 좋다

    MC/MCR은 소프트웨어 인터락 구조입니다. 하지만 실제 출력은 별도 안전 조건과 최종 인터락을 거쳐 제어하는 것이 좋습니다.

    예를 들어 실린더 전진 출력은 단순히 공정 플래그만으로 나가는 것이 아니라 다음 조건을 함께 봐야 합니다.

    출력 전 확인 조건설명
    비상정지 정상안전 회로 정상 여부
    자동운전 상태작업자가 운전을 승인했는지 확인
    알람 없음장비 이상 상태가 아닌지 확인
    반대 동작 OFF전진·후진 동시 출력 방지
    위치 조건현재 위치가 동작 가능한 상태인지 확인
    에어 압력 정상공압 동작 가능 여부 확인

    MC 내부 로직이 정상이어도 최종 출력부에서 한 번 더 조건을 걸면 예상하지 못한 내부 플래그 잔류로 인한 동작을 줄일 수 있습니다.

    MC와 SET/RST 사용 시 점검할 항목

    MC/MCR과 SET/RST가 함께 사용된 로직은 다음 항목을 확인하는 것이 좋습니다.

    점검 항목확인 내용
    MC 범위MC와 MCR 사이에 어떤 로직이 포함되는지 확인
    SET 위치MC 내부에 SET 명령이 있는지 확인
    RST 위치RST가 MC 외부 또는 상위 조건에서 실행되는지 확인
    비상정지 시 상태비상정지 발생 시 내부 플래그가 정리되는지 확인
    복귀 시 상태비상정지 해제 후 출력이 즉시 살아나지 않는지 확인
    재기동 조건Start 버튼 등 작업자 기동 조건이 분리되어 있는지 확인
    중복 제어같은 비트를 OUT, SET, RST로 여러 곳에서 제어하지 않는지 확인
    MC 번호MC/MCR 번호와 중첩 구조가 맞는지 확인

    시운전 중에는 비상정지, 알람 발생, 자동운전 해제, 전원 재투입, 원점 복귀 같은 비정상 흐름을 반드시 테스트해야 합니다. 정상 사이클만 확인하면 SET 비트 잔류 문제를 놓치기 쉽습니다.

    MC/MCR 설계 기준 정리

    MC/MCR은 로직 구간을 일괄적으로 제어할 수 있는 유용한 구조입니다. 자동운전 조건, 안전 조건, 상위 인터락을 기준으로 특정 구간을 묶어 관리할 때 효과적입니다.

    하지만 MC가 OFF된다고 해서 모든 내부 상태가 자동으로 안전하게 초기화되는 것은 아닙니다. 일반 코일은 MC 조건에 따라 OFF될 수 있지만, SET으로 유지된 비트는 RST가 실행되지 않으면 그대로 남을 수 있습니다. 또한 RST를 MC 내부에만 두면 MC OFF 상태에서 정작 리셋이 실행되지 않을 수 있습니다.

    따라서 MC 내부에 SET을 사용하는 경우에는 반드시 MC 외부 또는 상위 조건에서 실행되는 RST 구조를 만들어야 합니다. 비상정지 해제 후에는 자동 재기동이 되지 않도록 작업자의 Start 조건을 별도로 요구해야 합니다.

    MC/MCR은 편의 기능이 아니라 상위 인터락 구조입니다. 설계할 때는 MC OFF 시 일반 출력, SET 비트, RST 조건, 재기동 조건이 각각 어떻게 동작하는지 확인해야 비상정지 복귀 시 오동작을 줄일 수 있습니다.

  • [현장] 2026 SIMTOS 참관기 제조 자동화와 AI, 현장에서 본 변화

    킨텍스에서 열린 SIMTOS 2026을 참관했습니다. 제조 장비, 자동화 시스템, 로봇 기술, AI 활용 흐름을 한자리에서 볼 수 있는 전시회였고, 현재 제조업이 어떤 방향으로 움직이고 있는지 확인할 수 있었습니다. 이번 글은 전시장 전체를 둘러보며 느낀 변화와 현장 엔지니어 관점에서 눈에 들어온 부분을 정리한 참관기입니다.


    KINTEX 외부 전시장에 설치된 SIMTOS 2026 대형 배너 전경
    [Fig. 1] KINTEX 외부에 설치된 SIMTOS 2026 행사 배너

    제조업의 중심은 여전히 기계에 있다

    전시장을 둘러보며 가장 먼저 느낀 점은 제조업의 중심이 여전히 기계라는 점입니다. 자동화와 AI가 빠르게 확장되고 있지만, 그 기반에는 가공기, 절단기, 용접기, 성형 장비 같은 물리적인 설비가 자리 잡고 있었습니다.

    전체적인 흐름은 다음과 같이 볼 수 있었습니다.

    구분현장에서 느낀 흐름
    기계 장비여전히 제조업의 핵심 기반
    자동화기존 설비와 결합해 계속 확장
    로봇단순 반복을 넘어 정밀 제어 영역으로 발전
    AI전면 대체보다 운영 보조와 데이터 분석 중심
    3D 프린팅시제품을 넘어 일부 생산 공정 적용 가능성 확대

    AI가 모든 공정을 한 번에 바꾸는 분위기라기보다는, 기존 기계와 자동화 시스템 위에 필요한 기능이 단계적으로 결합되는 흐름에 가까웠습니다. 현장에서는 안정성과 반복성이 중요하기 때문에 새로운 기술도 기존 설비와 연결될 수 있어야 실제 적용 가능성이 높아집니다.

    자동화와 로봇 기술이 집중된 구역

    가장 오래 머물렀던 곳은 자동화와 로봇 기술이 집중된 7·8홀이었습니다. PLC 제어, 로봇, 센서, 비전, 모션 제어와 관련된 요소가 많아 제어 설계나 프로그램을 다루는 입장에서는 자연스럽게 관심이 갔습니다.

    특히 인상적이었던 장면은 로봇 손 위에 사탕을 올렸을 때 손가락이 자연스럽게 오므라드는 시연이었습니다. 단순히 정해진 위치로 반복 이동하는 로봇이 아니라, 대상물에 반응하고 미세하게 움직임을 조정하는 모습이었습니다.

    이런 시연을 보면 로봇 제어가 단순 반복 동작에서 벗어나고 있다는 점을 체감할 수 있습니다. 물론 실제 양산 설비에 적용하려면 안정성, 유지보수성, 속도, 비용까지 함께 검토해야 하지만, 제어 기술의 방향 자체는 분명히 정밀화되고 있었습니다.

    자동화와 로봇 기술이 전시된 SIMTOS 2026 Hall 7~8 내부 전경
    [Fig. 2] 자동화·로봇 기술 중심의 Hall 7~8 전시장 모습

    전통 제조 장비의 안정감

    1~5홀에서는 CNC, 밀링 등 전통적인 가공 장비가 중심이었습니다. 화려한 신기술보다 기계적인 완성도와 가공 안정성이 더 눈에 들어오는 구역이었습니다.

    가공 장비는 제조업에서 쉽게 대체되기 어려운 영역입니다. 자동화가 발전해도 실제 제품을 깎고, 자르고, 성형하는 장비의 정밀도와 강성은 여전히 중요합니다. 결국 자동화 시스템도 기계가 안정적으로 동작해야 의미가 있습니다.

    9~10홀에서는 절단, 용접, 성형 장비들이 많이 보였습니다. 완전히 새로운 기술이라기보다는 이미 현장에 자리 잡은 장비들이 고도화되고 있다는 느낌이 강했습니다. 생산 현장에서 오랫동안 검증된 기술이 계속 개선되는 흐름으로 볼 수 있었습니다.

    가공·절단·성형 장비가 전시된 SIMTOS 2026 Hall 9~10 내부 모습
    [Fig. 3] 가공 및 제조 장비가 전시된 Hall 9~10 전경

    3D 프린팅의 적용 가능성

    전시장을 돌면서 3D 프린팅 장비도 자주 확인할 수 있었습니다. 과거에는 시제품 제작이나 샘플 출력 중심으로 보는 경우가 많았지만, 이제는 일부 생산 공정에서 실제 활용 가능성을 검토할 단계로 보였습니다.

    물론 3D 프린팅이 기존 가공이나 프레스 공정을 모두 대체한다고 보기는 어렵습니다. 생산 속도, 소재 특성, 표면 품질, 반복 정밀도, 원가 같은 요소를 함께 봐야 하기 때문입니다.

    다만 복잡한 형상, 소량 다품종, 전용 지그, 시제품, 일부 맞춤형 부품에서는 활용 범위가 더 넓어질 가능성이 있습니다. 앞으로 출력 속도와 안정성이 더 좋아진다면 금형 중심 공정 중 일부는 역할이 나뉠 수도 있어 보였습니다.


    SIMTOS 2026 전시장 내부 로비에 설치된 행사 조형물
    [Fig. 4] 전시장 내부 로비에 설치된 SIMTOS 2026 조형물

    AI는 운영 보조와 데이터 분석부터 들어오고 있다

    이번 전시에서 AI는 제조업을 완전히 바꾸는 단독 기술이라기보다, 기존 자동화 시스템을 보조하는 방향으로 보였습니다.

    현장에서 AI가 먼저 적용되기 쉬운 영역은 다음과 같습니다.

    적용 영역활용 방향
    설비 데이터 분석운전 상태, 이상 징후, 생산 흐름 분석
    품질 검사비전 검사와 결합한 불량 판정 보조
    예지 보전모터, 센서, 설비 상태 변화 감시
    운영 최적화생산 조건, 가동률, 병목 구간 분석
    작업 지원알람 분석, 유지보수 정보 제공

    제조 현장에서는 검증되지 않은 기술을 바로 핵심 공정에 넣기 어렵습니다. 그래서 AI도 설비를 직접 제어하는 영역보다, 데이터를 분석하고 작업자가 판단하기 쉽게 도와주는 영역부터 들어오는 흐름이 자연스러워 보였습니다.

    KOREA LAB 2026과 비교해 본 느낌

    지난번에 참관한 KOREA LAB 2026과 비교하면 개인적으로는 KOREA LAB 쪽이 조금 더 신선하게 느껴졌습니다. 검사 시스템, 실험 장비, 자동화 장비에서 처음 보는 방식이 많아 새로운 아이디어가 더 많이 떠올랐기 때문입니다.

    반면 SIMTOS 2026은 놀라움보다는 현실감에 가까웠습니다. 몇 년째 참관해 온 행사이기도 하고, 전시된 기술들이 이제는 낯선 기술이라기보다 실제 제조 현장에 충분히 적용 가능한 기술로 보였습니다.

    기술이 덜 인상적이었다기보다는, 기술을 보는 기준이 달라진 것에 가까웠습니다. 예전에는 장비가 새롭고 신기한지에 먼저 눈이 갔다면, 이제는 실제 설비에 붙였을 때 안정적으로 쓸 수 있는지, 제어 구조가 어떻게 구성될지, 유지보수는 가능한지부터 보게 됩니다.

    전시장 분위기와 현장 경험

    SIMTOS는 전시장 규모가 큰 편이라 전체를 둘러보려면 이동 시간이 꽤 필요합니다. 장비를 하나씩 보다 보면 체력도 생각보다 많이 소모됩니다.

    현장 이벤트에서 푸드트럭 이용권을 받아 잠시 쉬어가는 시간도 있었습니다. 전시회는 기술을 보는 자리이기도 하지만, 여러 업체의 분위기와 현장 반응을 함께 보는 자리이기도 합니다. 이런 소소한 요소들도 전시회를 기억하게 만드는 부분입니다.

    SIMTOS 2026 현장 이벤트로 받은 푸드트럭 이용권 사진
    [Fig. 5] 현장 이벤트에서 받은 푸드트럭 이용권

    이번 참관에서 정리한 변화

    이번 SIMTOS 2026을 보며 정리한 핵심은 다음과 같습니다.

    항목정리
    로봇 제어사람 손동작에 가까운 정밀한 움직임으로 발전
    AI 활용전면 대체보다 운영 보조와 데이터 분석 중심
    3D 프린팅일부 생산 공정 적용 가능성이 점차 확대
    전통 제조 장비여전히 제조업의 핵심 기반
    자동화 방향기존 설비 위에 안정적으로 결합되는 흐름

    제조업은 빠르게 바뀌고 있지만, 현장 적용은 항상 단계적으로 진행됩니다. 새로운 기술이 보여주는 가능성도 중요하지만, 실제 설비에 적용했을 때 반복성, 안정성, 유지보수성이 확보되는지가 더 중요합니다.

    SIMTOS 2026 참관 정리

    이번 SIMTOS 2026은 제조 자동화와 AI가 어떤 방향으로 현장에 들어오고 있는지 확인할 수 있는 자리였습니다. 전시장에서 본 흐름은 급격한 대체보다는 기존 제조 시스템 위에 자동화, 로봇, AI, 데이터 분석 기술이 점진적으로 결합되는 모습에 가까웠습니다.

    기계 장비의 기본 성능은 여전히 중요했고, 로봇과 자동화 기술은 더 정밀해지고 있었습니다. AI는 설비를 직접 대체하기보다 운영 최적화, 검사, 데이터 분석, 유지보수 지원 영역에서 먼저 자리 잡는 흐름으로 보였습니다.

    전시회 참관은 단순히 새로운 장비를 구경하는 것이 아니라, 앞으로 현장에서 어떤 기술을 준비해야 할지 확인하는 과정입니다. 이번 참관을 통해 제조 현장은 여전히 기계와 제어가 중심이며, 그 위에 데이터와 AI가 실용적인 방식으로 붙어가고 있다는 점을 다시 확인할 수 있었습니다.