산업 자동화 기술(PLC편)/PLC실습

[PLC 실무 10편]PLC 레시피(Recipe) 관리, 이렇게 구성하면 헷갈리지 않습니다

eins-solutionlab 2026. 8. 21. 15:44

지난 9편에서 알람을 D 디바이스 워드 하나에 비트로 모아 관리하는 방법을 다뤘는데, 같은 발상을 파라미터 쪽으로 확장하면 PLC 레시피 관리가 됩니다. 제품이나 모델이 바뀔 때마다 속도·시간·온도 같은 값을 프로그램 안에서 직접 고쳐 쓰면 실수하기 쉽고, 누가 언제 무엇을 바꿨는지도 알기 어렵습니다. 이번 10편에서는 LS산전 XGK 기준으로, 레시피 데이터를 구조화해서 안전하게 선택·로드·변경하는 방법을 정리합니다.

1. 레시피 데이터의 기본 구조

레시피 관리의 핵심은 "레시피 번호"와 "그 번호에 딸린 파라미터 세트"를 분리해서 D 디바이스에 저장하는 것입니다. 예를 들어 레시피 1개당 속도·가속시간·정지시간 등 5개 파라미터를 쓴다면, 레시피 1번은 D1000~D1004, 레시피 2번은 D1010~D1014 하는 식으로 일정한 간격을 두고 블록 단위로 배치합니다. 이렇게 규칙적으로 배치해두면 다음 단계인 인덱스 계산이 훨씬 단순해집니다.

2. 레시피 선택과 로드

운전자가 레시피 번호를 선택하면, PLC는 그 번호에 해당하는 블록의 시작 주소를 계산해서 실제 운전에 쓰는 워크 영역(D 디바이스)으로 값을 복사합니다. XGK에서는 인덱스 레지스터(Z, V 디바이스)를 활용하면 레시피 번호에 따라 참조 주소를 동적으로 바꿀 수 있어, 레시피가 몇 개든 같은 로직 한 벌로 처리할 수 있습니다. 로드는 아무 때나 실행되면 안 되고, 설비가 정지 상태이고 자동운전 중이 아닐 때만 실행되도록 인터록을 걸어야 값이 바뀌는 도중에 엉뚱한 파라미터로 운전되는 상황을 막을 수 있습니다.

3. 레시피 저장과 변경

운전자가 파라미터를 새로 입력하고 저장하는 흐름도 로드와 마찬가지로 인터록이 필요합니다. 자동운전 중에 레시피 값이 바뀌면 그 순간 제어 목표값이 흔들려 품질 문제나 설비 이상으로 이어질 수 있으므로, 저장 역시 정지 상태에서만 허용하는 것이 안전합니다. 또한 저장 버튼을 눌렀을 때 어떤 레시피 번호에 저장되는지 화면에서 반드시 다시 확인시켜주는 것이 실무에서 흔한 사고(엉뚱한 번호에 덮어쓰기)를 막는 데 도움이 됩니다.

4. 레시피 데이터 보존

정전이나 재기동 후에도 레시피 값이 남아있어야 하므로, D 디바이스 중에서도 보존(래치)형으로 지정된 영역이나 배터리 백업이 적용된 영역을 사용해야 합니다. XG5000 프로젝트 설정에서 디바이스별 보존 영역을 지정할 수 있으니, 레시피 데이터 블록은 반드시 이 영역에 배치되어 있는지 확인하시기 바랍니다. 중요한 레시피는 주기적으로 별도 백업(예: SD 메모리, 상위 시스템 연동)을 해두는 것도 함께 권장드립니다.

PLC 입출력 모듈과 주의사항

레시피 관리는 대부분 내부 로직(D 디바이스, 인덱스 레지스터)으로 처리되지만, 관련된 입출력도 있습니다. 레시피 번호 선택은 로터리 스위치나 BCD 입력 모듈로 받는 경우가 많고, 로드·저장 버튼은 일반 24V DC 디지털 입력입니다.

  • BCD 입력 모듈을 쓴다면 자리수와 배선 극성을 결선 전에 반드시 확인합니다. 배선이 한 자리라도 어긋나면 완전히 다른 레시피 번호로 읽힐 수 있습니다.
  • 로드·저장 버튼 입력 모듈의 정격전류와 배선 방식은 사용 중인 모듈 사양서를 기준으로 확인합니다.
  • 레시피 로드·저장은 반드시 설비 정지 상태에서만 실행되도록 소프트웨어 인터록을 걸어둡니다. 이는 배선보다 로직 설계의 문제이지만, 안전과 직결되므로 빠뜨리지 않아야 합니다.
  • 배선 작업 전에는 반드시 전원을 차단하고, 보존 영역 설정은 XG5000 프로젝트 설정 화면에서 작업 전후로 다시 한 번 점검합니다.

래더 예제 (XG5000 기준)

2번 항목에서 설명한 "레시피 로드 실행 조건"을 XG5000 래더 에디터 작성 기준으로 옮기면 다음과 같습니다.

 
[Network 0]  ; 레시피 로드 실행 조건
LD   P0012     ; 레시피로드버튼
AND  M0050     ; 설비정지상태
ANDN M0051     ; 자동운전중 아님 (b접점)
OUT  M0052     ; 레시피로드실행 비트

같은 로직을 래더 다이어그램으로 그리면 아래와 같습니다.

디바이스 주소(P0012, M0050, M0051, M0052)는 이해를 돕기 위한 예시입니다. 실제 적용 시에는 현재 설비의 I/O 맵과 인터록 조건에 맞게 조정하시기 바랍니다.

마무리

PLC 레시피 관리는 파라미터를 어디에 저장하느냐보다, 언제 로드·저장을 허용할지에 대한 인터록 설계가 더 중요합니다. 오늘 정리한 블록 구조와 정지 상태 인터록을 기본 골격으로 삼고, 레시피 개수가 늘어날 것을 감안해 인덱스 레지스터 기반 구조로 처음부터 설계해두시기 바랍니다. 다음 11편에서는 오늘 다룬 레시피 값들이 실제로 어떻게 생산수량 관리와 연결되는지 다루겠습니다.

반응형