2025년 4월 8일 화요일

PLC 전문가 / 장학퀴즈 프로그램 설계 / 타이머 설정

 

타이머 설정 : https://blog.naver.com/byj2b/221972709360

①현재 시간 표시: 타이머의 현재 시간을 표시해 줍니다.

②전원표시등: 타이머에 220V 전원이 입력되었는지 여부를 표시합니다.

③Select 스위치: 두가지 기능인 Auto /On 설정 가능합니다.

※Auto는 설정해 놓은 시간대에만 전원이 on/off 되도록 할 수 있으며, On은 설정 상관 없이 항상 전원이 on상태 유지 시켜줍니다.

④입력단자: 타이머에 220V 전원을 입력하는 단자입니다.

⑤출력단자: 릴레이 쪽으로 연결하는 단자입니다.

위의 모델은 사용하는 설비나 조명이 16A이상일때 릴레이와 함께 사용하는 제품입니다. 일반적으로 사용 기기나 조명이 16A이하일때에는 타이머 단독으로 사용이 가능하지만, 16A이상 일때에는 릴레이와 같이 사용해야합니다.


너는 PLC 전문가야

퀴즈프로그램을 다음과 같이 진행코자 함.

1. 사회자 입력코드는 X7이며, 출연자의 정답여부를 ON, OFF  할 수 있다.

 (사회자는 모든 출연자의 램프를 끌 수 있다)

2. 출연자 입력코드는 X0,X1,X2X,X3 이며, 출력코드는 Y20,Y21,Y22,Y23으로 셋팅 시킨다.

3. 각각의 출연자는 가장 빨리 누른 한명의 램프만 ON되고, 사회자만 OFF 할수있다.

위의 상황을 PLC 래더도를 작성해줘. 그리고 설명을 요약해서 개조식으로 작설해줘.

알겠습니다. 퀴즈 프로그램에 대한 PLC 래더 다이어그램을 작성하고, 간략하게 설명을 덧붙이겠습니다.


**래더 다이어그램 (Ladder Diagram)**


```

// 사회자 입력 (X7): 모든 출연자 램프 OFF

LD     X7

OUT    Y20   // 출연자 1 램프 OFF

OUT    Y21   // 출연자 2 램프 OFF

OUT    Y22   // 출연자 3 램프 OFF

OUT    Y23   // 출연자 4 램프 OFF


// 출연자 1 (X0): 램프 Y20 ON

LD     X0

OR     Y20   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y20


// 출연자 2 (X1): 램프 Y21 ON

LD     X1

OR     Y21   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y21


// 출연자 3 (X2): 램프 Y22 ON

LD     X2

OR     Y22   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y22


// 출연자 4 (X3): 램프 Y23 ON

LD     X3

OR     Y23   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y23

```


**설명 (요약)**


*   **입력:**

    *   X7: 사회자 리셋 (모든 램프 OFF)

    *   X0, X1, X2, X3: 출연자 1, 2, 3, 4 입력

*   **출력:**

    *   Y20, Y21, Y22, Y23: 출연자 1, 2, 3, 4 램프

*   **동작:**

    1.  사회자 (X7) ON: 모든 출연자 램프 OFF.

    2.  출연자 (X0~X3) ON: 해당 출연자 램프 ON (자기 유지).

    3.  가장 먼저 누른 출연자 램프만 ON.

    4.  사회자가 X7을 ON 하면 모든 램프가 OFF 되고 초기화.

// 사회자 입력 (X7): 모든 출연자 램프 OFF

LD     X7

OUT    Y20   // 출연자 1 램프 OFF

OUT    Y21   // 출연자 2 램프 OFF

OUT    Y22   // 출연자 3 램프 OFF

OUT    Y23   // 출연자 4 램프 OFF


// 출연자 1 (X0): 램프 Y20 ON

LD     X0

OR     Y20   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y20


// 출연자 2 (X1): 램프 Y21 ON

LD     X1

OR     Y21   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y21


// 출연자 3 (X2): 램프 Y22 ON

LD     X2

OR     Y22   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y22


// 출연자 4 (X3): 램프 Y23 ON

LD     X3

OR     Y23   // 자기 유지

ANI    X7    // 사회자가 끄지 않았을 때

OUT    Y23

// 사회자 입력 (X7): 모든 출연자 램프 OFF
LD     X7
OUT    Y20   // 출연자 1 램프 OFF
OUT    Y21   // 출연자 2 램프 OFF
OUT    Y22   // 출연자 3 램프 OFF
OUT    Y23   // 출연자 4 램프 OFF

// 출연자 1 (X0): 램프 Y20 ON
LD     X0
OR     Y20   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y20

// 출연자 2 (X1): 램프 Y21 ON
LD     X1
OR     Y21   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y21

// 출연자 3 (X2): 램프 Y22 ON
LD     X2
OR     Y22   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y22

// 출연자 4 (X3): 램프 Y23 ON
LD     X3
OR     Y23   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y23
출연자 입력 코드(X0, X1, X2, X3)에 따른 램프 출력(Y20, Y21, Y22, Y23)을 설정하는 방법은 래더 다이어그램에서 각 입력에 해당하는 출력 코일을 연결하는 방식으로 구현합니다. 이미 위에서 작성해 드린 래더 다이어그램에 해당 내용이 포함되어 있지만, 다시 한번 자세히 설명드리겠습니다.

**래더 다이어그램 (수정)**

```
// 사회자 입력 (X7): 모든 출연자 램프 OFF
LD     X7
OUT    Y20   // 출연자 1 램프 OFF
OUT    Y21   // 출연자 2 램프 OFF
OUT    Y22   // 출연자 3 램프 OFF
OUT    Y23   // 출연자 4 램프 OFF

// 출연자 1 (X0): 램프 Y20 ON
LD     X0
OR     Y20   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y20

// 출연자 2 (X1): 램프 Y21 ON
LD     X1
OR     Y21   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y21

// 출연자 3 (X2): 램프 Y22 ON
LD     X2
OR     Y22   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y22

// 출연자 4 (X3): 램프 Y23 ON
LD     X3
OR     Y23   // 자기 유지
ANI    X7    // 사회자가 끄지 않았을 때
OUT    Y23
```

**설명:**

1.  **사회자 리셋 (X7):**
    *   `LD X7`: X7 입력이 ON 되면 (사회자가 리셋 버튼을 누르면)
    *   `OUT Y20`, `OUT Y21`, `OUT Y22`, `OUT Y23`: Y20, Y21, Y22, Y23 출력을 모두 OFF 시킵니다. 즉, 모든 출연자의 램프를 끕니다.
2.  **출연자 1 (X0):**
    *   `LD X0`: X0 입력이 ON 되면 (출연자 1이 버튼을 누르면)
    *   `OR Y20`: Y20 출력이 ON 되어 있거나 (이미 램프가 켜져 있거나)
    *   `ANI X7`: X7 입력이 OFF 되어 있을 때 (사회자가 리셋 버튼을 누르지 않았을 때)
    *   `OUT Y20`: Y20 출력을 ON 시킵니다. 즉, 출연자 1의 램프를 켭니다.
    *   `OR Y20`은 자기 유지 회로를 구성하여, X0 입력을 떼어도 Y20 출력이 계속 ON 상태를 유지하도록 합니다.
    *   `ANI X7`은 사회자가 리셋 버튼을 누르면 램프가 꺼지도록 하는 역할을 합니다.
3.  **출연자 2, 3, 4 (X1, X2, X3):**
    *   X1, X2, X3 입력에 대해서도 위와 동일한 방식으로 Y21, Y22, Y23 출력을 제어합니다.

**핵심:**

*   각 출연자의 입력(X0~X3)에 해당하는 출력(Y20~Y23)을 연결하여, 해당 입력이 들어오면 출력이 ON 되도록 설정합니다.
*   자기 유지 회로를 사용하여, 한 번 ON 된 램프는 계속 켜져 있도록 합니다.
*   사회자 리셋(X7)을 사용하여, 모든 램프를 OFF 시킬 수 있도록 합니다.

이 래더 다이어그램은 가장 기본적인 형태이며, 실제 시스템에서는 누가 먼저 눌렀는지 판단하는 로직, 오동작 방지 회로 등을 추가해야 합니다. 추가적인 질문이 있으시면 언제든지 물어보세요.
램프 출력을 제어하는 데 있어서 조건부 논리 회로는 특정 조건이 만족될 때만 램프가 켜지도록 하는 회로입니다. PLC 래더 다이어그램에서 조건부 논리 회로는 다양한 명령어를 조합하여 구현할 수 있습니다. 몇 가지 예시와 함께 설명하겠습니다.

**1. AND 조건 (모든 조건이 참일 때 램프 ON)**

가장 기본적인 조건부 논리 회로로, 여러 개의 입력 조건이 모두 참(ON)일 때만 램프가 켜지도록 합니다.

```
LD     X0   // 조건 1
AND    X1   // 조건 2
AND    X2   // 조건 3
OUT    Y20  // 램프 ON
```

*   **설명:** X0, X1, X2 입력이 모두 ON 되어야만 Y20 출력이 ON 됩니다. 하나라도 OFF 되면 Y20은 OFF 상태를 유지합니다.

**2. OR 조건 (하나 이상의 조건이 참일 때 램프 ON)**

여러 개의 입력 조건 중 하나 이상이 참(ON)일 때 램프가 켜지도록 합니다.

```
LD     X0   // 조건 1
OR     X1   // 조건 2
OR     X2   // 조건 3
OUT    Y20  // 램프 ON
```

*   **설명:** X0, X1, X2 입력 중 하나라도 ON 되면 Y20 출력이 ON 됩니다. 모두 OFF 되어야만 Y20은 OFF 상태를 유지합니다.

**3. AND-OR 조건 (AND 조건과 OR 조건의 조합)**

AND 조건과 OR 조건을 조합하여 더 복잡한 조건부 논리 회로를 만들 수 있습니다.

```
LD     X0   // 조건 1
AND    X1   // 조건 2
OR     X2   // 조건 3
AND    X3   // 조건 4
OUT    Y20  // 램프 ON
```

*   **설명:** (X0 AND X1) OR (X2 AND X3) 조건이 참일 때 Y20 출력이 ON 됩니다. 즉, X0과 X1이 모두 ON 되거나, X2와 X3이 모두 ON 되어야 합니다.

**4. NOT 조건 (조건이 거짓일 때 램프 ON)**

입력 조건이 거짓(OFF)일 때 램프가 켜지도록 합니다.

```
LDN    X0   // 조건 1 (NOT)
OUT    Y20  // 램프 ON
```

*   **설명:** X0 입력이 OFF 되어 있을 때 Y20 출력이 ON 됩니다. X0가 ON 되면 Y20은 OFF 됩니다.

**5. 타이머(Timer) 조건**

특정 시간 동안 조건이 만족될 때만 램프가 켜지도록 합니다.

```
LD     X0   // 조건 1
TON    T0   K100  // 10초 타이머 (K100 = 10초)
LD     T0   // 타이머 완료
OUT    Y20  // 램프 ON
```

*   **설명:** X0 입력이 ON 되면 타이머 T0가 시작됩니다. 10초 후 타이머 T0가 완료되면 Y20 출력이 ON 됩니다. X0가 OFF 되면 타이머는 초기화됩니다.

**6. 카운터(Counter) 조건**

특정 횟수만큼 조건이 만족될 때만 램프가 켜지도록 합니다.

```
LD     X0   // 조건 1
CTU    C0   K10  // 10회 카운터
LD     C0   // 카운터 완료
OUT    Y20  // 램프 ON
```

*   **설명:** X0 입력이 10번 ON 될 때마다 카운터 C0가 증가합니다. 카운터 C0가 10에 도달하면 Y20 출력이 ON 됩니다.

**7. 비교(Comparison) 조건**

특정 값과 비교하여 조건이 만족될 때만 램프가 켜지도록 합니다.

```
LD     >= D0 K100  // D0 값이 100 이상일 때
OUT    Y20  // 램프 ON
```

*   **설명:** 데이터 레지스터 D0의 값이 100 이상일 때 Y20 출력이 ON 됩니다.

**예시: 온도 조건에 따른 램프 제어**

온도 센서 값을 읽어와서 특정 온도 이상일 때 램프를 켜는 회로를 구성해 보겠습니다.

```
LD     >= D10 K30  // D10 (온도 센서 값)이 30도 이상일 때
AND    X1    // 수동 ON/OFF 스위치 (X1이 ON 되어 있을 때)
OUT    Y20   // 램프 ON
```

*   **설명:** D10 레지스터에 저장된 온도 센서 값이 30도 이상이고, 수동 ON/OFF 스위치 X1이 ON 되어 있을 때 Y20 출력이 ON 됩니다.

**주의사항:**

*   위 예시는 기본적인 조건부 논리 회로이며, 실제 시스템에서는 안전을 고려하여 인터록 회로, 비상 정지 회로 등을 추가해야 합니다.
*   PLC 종류에 따라 명령어 및 사용법이 다를 수 있습니다. 해당 PLC 매뉴얼을 참고하여 정확한 사용법을 확인하십시오.

이러한 조건부 논리 회로를 조합하여 다양한 램프 제어 시스템을 구축할 수 있습니다. 질문에 대한 답변이 되었기를 바랍니다. 추가적으로 궁금한 점이 있으면 언제든지 물어보세요.
 

이런 자료를 참고했어요.
[1] 티스토리 - 디지털공학개론 9 - 1 조합논리회로의 개요 (https://arkeiyou.tistory.com/143)
[2] velog - 이산수학 : 수학 논리 - velog (https://velog.io/@zirccon/%EC%9D%B4%EC%82%B0%EC%88%98%ED%95%99-%EB%AA%85%EC%A0%9C-%EB%85%BC%EB%A6%AC)
[3] 티스토리 - [Chap3] 디지털 논리 회로 - 공부하자 - 티스토리 (https://esyeonge.tistory.com/24)
[4] 티스토리 - Chap 4. 조합 논리 (1) . Combinational Logic - J's 공부방 - 티스토리 (https://beginagain22.tistory.com/14)
[5] 위키백과, 우리 모두의 백과사전 - 논리 회로 - 위키백과, 우리 모두의 백과사전 (https://ko.wikipedia.org/wiki/%EB%85%BC%EB%A6%AC_%ED%9A%8C%EB%A1%9C)
[6] STEMentor - 전기정보공학부: 논리설계 및 실험 - STEMentor (https://stementor.tistory.com/entry/%EC%A0%84%EA%B8%B0%EC%A0%95%EB%B3%B4%EA%B3%B5%ED%95%99%EB%B6%80-%EB%85%BC%EB%A6%AC%EC%84%A4%EA%B3%84-%EB%B0%8F-%EC%8B%A4%ED%97%98)
[7] 요즘IT - 전기전자공학에서 함수가 쓰이는 예시를 알려줘 | 물어봐 AI - 요즘IT (https://yozm.wishket.com/magazine/questions/share/LmDE3ueSvas2F6RJ)
[8] 티스토리 - 디지털 회로의 설계(2016, 고2, 3월)* - 지대기지 - 티스토리 (https://takentext.tistory.com/560)
[9] beginagain22.tistory.com - Chap 2. 부울 대수와 논리 게이트 (1) . Boolean Algebra and Logic ... (https://beginagain22.tistory.com/8)
[10] 티스토리 - 컴퓨터에서 활용되는 디지털 논리회로 - 네트워크 정리 (https://kdynetwork.tistory.com/24) 

뤼튼 사용하러 가기 > https://agent.wrtn.ai/5xb91l



이런 자료를 참고했어요.
[1] - PLC 래더 로직 프로그래밍 튜토리얼 (기본) - 티스토리 (https://hwangkiha.tistory.com/13)
[2] 위키백과, 우리 모두의 백과사전 - 프로그래머블 로직 컨트롤러 - 위키백과, 우리 모두의 백과사전 (https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EB%B8%94_%EB%A1%9C%EC%A7%81_%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC)
[3] 티스토리 - [PLC의 이해] 동작이해 - 윤돌이 - 티스토리 (https://yoondoli.tistory.com/21)
[4] codingcoding.tistory.com - PLC 기초 예제, 프로그래밍 (레더도, 전기신호, 프로그램 타이머 등) (https://codingcoding.tistory.com/172)
[5] velog.io - 프로그래머블 로직 컨트롤러 (PLC, Programmable logic controller) (https://velog.io/@corone_hi/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EB%B8%94-%EB%A1%9C%EC%A7%81-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC-PLC-Programmable-logic-controller)
[6] 네이버 블로그 - [공유]<PLC(Programmable Logic Controller)> - 네이버 블로그 (https://m.blog.naver.com/jsghome/221048423409)
[7] 920416.tistory.com - [PLC 프로그래밍] 1버튼 자기유지 프로그램 / PLC 래더프로그램 예제 ... (https://920416.tistory.com/7)
[8] bbiyakplc.tistory.com - 미쓰비시 PLC 프로그램 입출력 접점 강제 ON/OFF 방법 (https://bbiyakplc.tistory.com/entry/%EB%AF%B8%EC%93%B0%EB%B9%84%EC%8B%9C-PLC-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%A0%91%EC%A0%90-%EA%B0%95%EC%A0%9C-ONOFF-%EB%B0%A9%EB%B2%95)
[9] 네이버 블로그 - PLC 기초예제 (래더다이어그램, 전기신호 등) - 네이버 블로그 (https://m.blog.naver.com/ok1659/222399158668)
[10] 네이버 블로그 - PLC 기초 예제 (레더 다이어그램, 전기신호 등) - 네이버 블로그 (https://m.blog.naver.com/beaver1659/222395615954) 

뤼튼 사용하러 가기 > https://agent.wrtn.ai/5xb91l

**참고:**


*   위 래더 다이어그램은 기본적인 동작을 구현한 것으로, PLC 종류나 환경에 따라 약간의 수정이 필요할 수 있습니다.

*   실제 시스템에서는 오동작 방지를 위한 인터록 회로, 노이즈 방지 회로 등을 추가하는 것이 좋습니다.

*   각 출연자별로 누가 먼저 눌렀는지 판단하는 로직은 위 다이어그램에 포함되어 있지 않습니다. 만약 이러한 기능이 필요하다면, 추가적인 회로 구성이 필요합니다. (예: 플래그 비트, 타이머 등 활용)


궁금한 점이 있으시면 언제든지 다시 질문해주세요.

 


이런 자료를 참고했어요.

[1] bbiyakplc.tistory.com - 미쓰비시 PLC 프로그램 입출력 접점 강제 ON/OFF 방법 (https://bbiyakplc.tistory.com/entry/%EB%AF%B8%EC%93%B0%EB%B9%84%EC%8B%9C-PLC-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%A0%91%EC%A0%90-%EA%B0%95%EC%A0%9C-ONOFF-%EB%B0%A9%EB%B2%95)

[2] developerson.tistory.com - 자바로 하는 X,Y 변수 바꾸기 (https://developerson.tistory.com/4)

[3] NOTE - plc 제어 타이머 사용 예제 - NOTE (https://abc0123.tistory.com/153)

[4] blog.naver.com - Q CPU 명령어 PLS PLF 5회 : 네이버 블로그 (https://blog.naver.com/maninpast/221505794412?viewType=pc)

[5] rstatall.tistory.com - [R통계] 회귀분석에서 모형식을 입력하는 방법 (https://rstatall.tistory.com/57)

[6] Baekjoon Online Judge - 27621번 - - Sum of Three Cubes 스페셜 저지다국어 (https://www.acmicpc.net/problem/27621)

[7] 티스토리 - [Python] 퀴즈 - 짝수만 출력하기, range, def 활용 (https://kmrho1103.tistory.com/entry/Python-%ED%80%B4%EC%A6%88-%EC%A7%9D%EC%88%98%EB%A7%8C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-range-def-%ED%99%9C%EC%9A%A9)

[8] 네이버 블로그 - [다우수입차미션정비]BMW (X3,X4,X5)테일램프수리 - 네이버 블로그 (https://m.blog.naver.com/pmg6407/221658690798)

[9] 티스토리 - [파이썬] x축 또는 y축을 반전시키는 방법 - 마이너맨 - 티스토리 (https://minorman.tistory.com/2433)

[10] 티스토리 - [BOJ/백준] 17386 - 선분 교차 1 - 하루에한번 - 티스토리 (https://cjh970422.tistory.com/entry/BOJ%EB%B0%B1%EC%A4%80-17386-%EC%84%A0%EB%B6%84-%EA%B5%90%EC%B0%A8-1) 


뤼튼 사용하러 가기 > https://agent.wrtn.ai/5xb91l


댓글 없음:

예정공정표_엑셀프로그램 V41 / 공정관리 무료 프로그램 / 데이터 분석-pinterest 실시간모니터링 샘플

 프리킥 /  https://kr.freepik.com/vectors/%EA%B3%B5%EC%A0%95-%EA%B4%80%EB%A6%AC 1.  통합내역프로그램 다운로드(XCOST professional)   http://xcost.me/bbs/boa...