카테고리 없음

Mitsubishi PLC Q 시리즈 DECO 명령어 소개

myfree97 2025. 4. 7. 13:50

Mitsubishi PLC

🔹 1. 개요

DECO 명령어는 디코더(Decoder) 기능을 수행하는 명령어로, 바이너리 입력을 받아 해당 값에 따라 하나의 출력 비트를 ON시키는 명령입니다. 예를 들어, 3비트 입력으로 최대 8개의 출력 중 하나를 선택적으로 ON할 수 있습니다.

이는 주로 다중 분기, 메뉴 선택, 이벤트 트리거 등에 활용됩니다.


🔹 2. 명령어 형식

 
[DECO S D]
  • S : 입력 비트의 값(바이너리 값)을 가지는 워드 (16비트 정수)
  • D : 출력 비트 주소 시작점 (비트 단위, 예: M100)

입력된 정수값 S가 n이라면, D+n 비트가 ON되고, 나머지는 OFF됩니다.


🔹 3. 사용 예제

🎯 목적

입력 디바이스 X0~X2 (총 3비트)로 07의 값을 만들고, 해당 값에 해당하는 M100 ~ M107 중 하나의 비트를 ON시키는 디코더 기능 구현.

💡 회로 구성

입력의미설명
X0 LSB 2^0
X1   2^1
X2 MSB 2^2

→ 총 8가지 조합 (000~111)

🧠 래더 논리

 
| LD X0 | OUT M0 | LD X1 | OUT M1 | LD X2 | OUT M2 | MOV K0 D0 ; 초기화 | LD M0 | SFTL D0 K1 | LD M1 | SFTL D0 K1 | LD M2 | SFTL D0 K1 | DECO D0 M100 ; 결과 디코딩

또는 간단히 BIN → 워드로 변환 후 DECO 적용:

 
| LD X0 | OUT M0 | LD X1 | OUT M1 | LD X2 | OUT M2 | MOV K0 D0 | LD M0 | = D0.0 | LD M1 | = D0.1 | LD M2 | = D0.2 | DECO D0 M100

결과:

  • X2~X0 = 011 (3) → M103 ON
  • X2~X0 = 101 (5) → M105 ON

🔹 4. 동작 원리

✔️ 디코딩 방식

  • S 값이 n일 때, D+n 비트만 ON
  • 예를 들어 S=5, D=M100이면 M105 = ON, 나머지 M100~M104, M106~M107 = OFF

✔️ 3비트 입력 기준

입력값 (10진수)출력 비트
000 0 M100
001 1 M101
010 2 M102
011 3 M103
100 4 M104
101 5 M105
110 6 M106
111 7 M107

🔹 5. 주의 사항 및 팁

  • S 값이 0~7 범위를 초과하면 모든 출력이 OFF 상태가 됩니다.
  • D의 주소는 반드시 비트 디바이스 (M, B, X 등) 이어야 합니다.
  • 사용 후 즉시 리셋됨 → 1 스캔 동안만 유효합니다. 결과를 유지하려면 결과를 별도 저장 필요.
  • S 값을 생성할 때는 반드시 정수값으로 변환되도록 주의하세요. (예: BIN→INT 변환)
  • 래더 프로그램 내에서는 디코딩 후 출력 비트를 이용해 타 로직을 구분하면 깔끔합니다.

🔹 6. 활용 예시

✅ 다중 기능 선택기 (예: 기계 모드 선택)

  • 3비트 스위치로 기계 모드 8가지 설정 (자동, 수동, 점검, 유지보수 등)

✅ 화면 전환 제어

  • 선택 스위치를 디코딩하여 HMI 화면 전환 트리거

✅ 신호 라우팅

  • 복수 장치 중 하나 선택 → 해당 장치에만 신호 전달

🔹 7. 요약

항목내용
명령어 DECO S D
입력 워드 (0~7 등 정수값)
출력 비트 주소 시작점부터 선택 ON
스캔 지속 1 스캔 한정 (리셋 자동)
활용 예시 모드 선택, 화면 제어 등