2025년 10월 21일 화요일

plc -자판기 시스템 제어기 // 클로드AI 기반 래더도

 

PLC 자판기 시스템 래더 다이어그램 쉽게 이해하기- https://claude.ai/chat/e9215b84-472e-4c7b-aeb0-1f1e48d502ef

5살 아이에게 설명하듯이 알려드릴게요!

🎮 래더 다이어그램이 뭐예요?

래더 다이어그램은 전기 회로를 그림으로 그린 것이에요. 마치 사다리(Ladder)처럼 생겼어요!

  • 왼쪽 세로선: 전기가 시작되는 곳 (전원 +)
  • 오른쪽 세로선: 전기가 끝나는 곳 (전원 -)
  • 가로선(Rung): 전기가 흐르는 길

🍫 자판기는 어떻게 동작하나요?

  1. 돈을 넣으면 → 센서가 감지
  2. 버튼을 누르면 → 신호가 들어옴
  3. 모터가 돌아가서 → 음료수가 나와요!

📝 래더 작성 기본 요령

1. 입력(Input) 장치

동전 투입구: I0.0
버튼 1번: I0.1
버튼 2번: I0.2

2. 출력(Output) 장치

모터 1: Q0.0
램프: Q0.1

3. 메모리(내부 릴레이)

금액 확인: M0.0
선택 완료: M0.1

🎯 간단한 자판기 래더 예제## 🎨 쉬운 비유로 이해하기

자판기 = 똑똑한 상자

  1. 동전 넣기 = 돼지 저금통에 돈 넣기
  2. 버튼 누르기 = 초인종 누르기
  3. 모터 돌아가기 = 장난감 자동차가 움직이기
  4. 음료 나오기 = 선물 받기!

래더 다이어그램 = 레고 블록

  • 스위치(|-|): "문이 열렸니?"
  • 코일(( )): "불을 켜!"
  • 타이머(TON): "10초 세고 나서..."
  • 카운터(CTU): "3번 세면..."

💡 초보자 팁

  1. 천천히 한 줄씩: 한 번에 하나의 기능만 작성
  2. 그림 그리기: 먼저 종이에 흐름도를 그려보세요
  3. 시뮬레이션: 실제 기계에 넣기 전에 컴퓨터로 테스트
  4. 주석 달기: 나중에 봐도 이해할 수 있게!

위 아티팩트에 자세한 예제와 설명이 있으니 천천히 읽어보세요. 궁금한 부분이 있으면 언제든 물어보세요! 🎉

PLC 자판기 시스템 래더 다이어그램

입출력 정의

입력 (Input)

  • I0.0: 100원 동전 센서
  • I0.1: 500원 동전 센서
  • I0.2: 콜라 선택 버튼
  • I0.3: 사이다 선택 버튼
  • I0.4: 반환 버튼
  • I0.5: 재고 센서 (콜라)
  • I0.6: 재고 센서 (사이다)

출력 (Output)

  • Q0.0: 콜라 배출 모터
  • Q0.1: 사이다 배출 모터
  • Q0.2: 거스름돈 반환 솔레노이드
  • Q0.3: 준비 완료 LED
  • Q0.4: 판매중 LED

내부 메모리 (Memory)

  • M0.0: 금액 충분 (800원 이상)
  • M0.1: 임시 금액 저장
  • M1.0: 타이머 완료 플래그
  • MW10: 누적 금액 (Word)

타이머

  • T1: 모터 동작 시간 (3초)
  • T2: 선택 대기 시간 (30초)

래더 다이어그램 로직

Rung 1: 동전 투입 및 금액 누적

|  I0.0                                ADD           |
|--| |--------------------------------[MW10 + 100]---|
|                                      → MW10        |

|  I0.1                                ADD           |
|--| |--------------------------------[MW10 + 500]---|
|                                      → MW10        |

설명: 100원 또는 500원 동전이 들어오면 금액을 누적합니다.


Rung 2: 금액 확인 (800원 이상)

|  MW10 >= 800                                       |
|--[비교]------------------------------------( M0.0 )|

설명: 누적 금액이 800원 이상이면 M0.0 플래그를 켭니다.


Rung 3: 준비 완료 LED

|  M0.0                                              |
|--| |---------------------------------------( Q0.3 )|

설명: 금액이 충분하면 준비 완료 LED를 켭니다.


Rung 4: 콜라 선택 및 배출

|  M0.0      I0.2      I0.5      Q0.0               |
|--| |-------| |-------| |------/| |---------(TON)--|
|                                          T1, 3s   |
|                                                    |
|  T1                                                |
|--| |---------------------------------------( Q0.0 )|

설명:

  • 금액 충분 + 콜라 버튼 + 재고 있음 + 모터 정지 상태 → 타이머 시작
  • 타이머 동작 중 모터 구동 (3초간)

Rung 5: 사이다 선택 및 배출

|  M0.0      I0.3      I0.6      Q0.1               |
|--| |-------| |-------| |------/| |---------(TON)--|
|                                          T1, 3s   |
|                                                    |
|  T1                                                |
|--| |---------------------------------------( Q0.1 )|

설명: 콜라와 동일한 로직으로 사이다를 배출합니다.


Rung 6: 금액 차감

|  T1                                    SUB         |
|--| |----------------------------------[MW10 - 800]--|
|                                        → MW10      |

설명: 제품 배출 완료 후 800원을 차감합니다.


Rung 7: 반환 버튼

|  I0.4                                              |
|--| |---------------------------------------( Q0.2 )|
|                                                    |
|  I0.4                                    MOVE      |
|--| |----------------------------------[0 → MW10]---|

설명: 반환 버튼을 누르면 거스름돈을 반환하고 금액을 0으로 초기화합니다.


Rung 8: 선택 대기 타이머

|  M0.0      I0.2      I0.3                          |
|--| |------/| |------/| |---------------------(TON)--|
|                                            T2, 30s |
|                                                    |
|  T2                                                |
|--| |---------------------------------------( Q0.2 )|
|                                                    |
|  T2                                      MOVE      |
|--| |----------------------------------[0 → MW10]---|

설명: 금액이 충분한데 30초 동안 선택이 없으면 자동 반환합니다.


주요 작성 요령

1. 왼쪽에서 오른쪽으로 논리 흐름

  • 조건들을 왼쪽에 배치
  • 결과(출력)를 오른쪽에 배치

2. 직렬 연결 (AND 조건)

|  I0.0      I0.1                                    |
|--| |-------| |-------------------------------( Q0.0)|

두 조건이 모두 참이어야 출력

3. 병렬 연결 (OR 조건)

|  I0.0                                              |
|--| |---------------------------------------( Q0.0 )|
|                                                    |
|  I0.1                                              |
|--| |----------------------------------------(    )|

두 조건 중 하나만 참이어도 출력

4. NOT 조건 (반대)

|  I0.0                                              |
|--| / |-------------------------------------( Q0.0 )|

입력이 꺼져있을 때 출력

5. 자기유지 회로 (래칭)

|  I0.0      Q0.0      I0.1                          |
|--| |-------| |------| / |-------------------( Q0.0)|

시작 버튼으로 켜고, 정지 버튼으로 끔


안전 고려사항

  1. 비상정지 버튼: 모든 출력에 직렬로 연결
  2. 인터락: 여러 모터가 동시에 동작 방지
  3. 타임아웃: 모터가 계속 돌지 않도록 시간 제한
  4. 에러 처리: 재고 없음, 금액 부족 등 표시

실전 팁

✅ DO (해야 할 것)

  • 명확한 주석 달기
  • 입출력 번호를 문서화
  • 간단한 로직부터 시작
  • 시뮬레이션으로 테스트

❌ DON'T (하지 말아야 할 것)

  • 한 출력을 여러 곳에서 제어 (코일 중복)
  • 복잡한 논리를 한 Rung에 모두 넣기
  • 주석 없이 작성
  • 테스트 없이 바로 적용

디버깅 체크리스트

  • [ ] 입력 신호가 제대로 들어오는가?
  • [ ] 타이머 설정 시간이 적절한가?
  • [ ] 금액 계산이 정확한가?
  • [ ] 모든 안전 조건이 확인되는가?
  • [ ] 반환 로직이 정상 작동하는가?


GX2 Q시리즈 기반 By claude AI

PLC, GX2 Q시리즈 버전에 기반하여 X0=500원,X1=1000원,X2=5000원 튑을 가정으로하여 해당음료가능램프는 Y30~Y32로 하는 인포그래픽 래더도를 제공해줘

🎰 GX Works2 Q시리즈 자판기 래더 다이어그램

MITSUBISHI Q시리즈 PLC | 3가지 음료 자동판매 시스템

📥 입력 (INPUT)

X0500원 투입
X11000원 투입
X25000원 투입
X10음료1 선택버튼
X11음료2 선택버튼
X12음료3 선택버튼
X20반환버튼

📤 출력 (OUTPUT)

Y30음료1 가능 램프 (500원)
Y31음료2 가능 램프 (1000원)
Y32음료3 가능 램프 (5000원)
Y40음료1 배출 모터
Y41음료2 배출 모터
Y42음료3 배출 모터
Y50거스름돈 반환

💾 내부 디바이스

D0누적 금액 (Word)
M0500원 이상
M11000원 이상
M25000원 이상
T0모터 동작 타이머
T1선택 대기 타이머

💰 음료 가격 설정

음료1: 500원
음료2: 1,000원
음료3: 5,000원

📋 래더 다이어그램 프로그램

Rung 0
500원 투입 시 금액 누적 (D0 += 500)
X0
ADD D0 K500 D0
▸ X0이 ON되면 D0에 500을 더함
Rung 1
1000원 투입 시 금액 누적 (D0 += 1000)
X1
ADD D0 K1000 D0
▸ X1이 ON되면 D0에 1000을 더함
Rung 2
5000원 투입 시 금액 누적 (D0 += 5000)
X2
ADD D0 K5000 D0
▸ X2가 ON되면 D0에 5000을 더함
Rung 3
금액 비교 - 500원 이상 체크
D0 >= K500
(M0)
▸ D0 >= 500이면 M0 ON
Rung 4
금액 비교 - 1000원 이상 체크
D0 >= K1000
(M1)
▸ D0 >= 1000이면 M1 ON
Rung 5
금액 비교 - 5000원 이상 체크
D0 >= K5000
(M2)
▸ D0 >= 5000이면 M2 ON
Rung 6
음료1 가능 램프 (500원 이상 시 Y30 점등)
M0
(Y30)
▸ 500원 이상이면 음료1 램프 점등
Rung 7
음료2 가능 램프 (1000원 이상 시 Y31 점등)
M1
(Y31)
▸ 1000원 이상이면 음료2 램프 점등
Rung 8
음료3 가능 램프 (5000원 이상 시 Y32 점등)
M2
(Y32)
▸ 5000원 이상이면 음료3 램프 점등
Rung 9
음료1 선택 및 배출 (500원 차감)
M0
X10
OUT T0 K30
T0
(Y40)
X10
SUB D0 K500 D0
▸ 금액 충분 + 버튼 누름 → 3초간 모터 동작 + 500원 차감
Rung 10
음료2 선택 및 배출 (1000원 차감)
M1
X11
OUT T0 K30
T0
(Y41)
X11
SUB D0 K1000 D0
▸ 금액 충분 + 버튼 누름 → 3초간 모터 동작 + 1000원 차감
Rung 11
음료3 선택 및 배출 (5000원 차감)
M2
X12
OUT T0 K30
T0
(Y42)
X12
SUB D0 K5000 D0
▸ 금액 충분 + 버튼 누름 → 3초간 모터 동작 + 5000원 차감
Rung 12
반환 버튼 - 거스름돈 반환 및 금액 초기화
X20
(Y50)
X20
MOV K0 D0
▸ 반환버튼 누르면 Y50 작동 + D0을 0으로 초기화

📖 기호 설명

X0
A접점 (NO) - 입력 신호
( )
코일 - 출력
ADD
덧셈 명령어
SUB
뺄셈 명령어
MOV
전송 명령어
>=
비교

댓글 없음:

자동차 전면 유리 제상(Defrost/De-icing) 성능”**을 ANSYS Fluent로 해석 ///

도움말  좋은 화면 캡처예요 👍 이 이미지는 ANSYS Fluent → Setup 단계의 General 화면 이고, **“해석의 뼈대(종류·시간·좌표계)를 결정하는 곳”**입니다. 아래에서 화면에 보이는 기능을 영역별로 정확히 설명할게요. 🔧 ...