첫번째 예제는 입력(x)가 없고, SM402 회로를 통해 PLC에 전원이 인가되자 마자 작동하는 프로그램을 만들어보았습니다. 이번에는 입력을 포함한, 조금 더 심화된 예제를 만들어보겠습니다 :)
[제원]
Simulation Tool :Mitsubishi GX Works 3, Mitsubishi GT Desinger 2, Mitsubishi GT Simulator 2
PLC CPU : Q03UDV
HMI : GOT2000
[구현하고자 하는 제어 환경]
1. 신호등 관리자가 시작 Push Button을 누르면 정상진행상태로 진입(차량은 녹색등, 보행자는 적색등)
2. 보행자가 도로를 건너기 위해, 보행버튼을 누르면 보행자용 신호등 점등시작. 기존 진행차량은 2초간 기존신호 유지.
3. 차량용 신호등 황색으로 주의신호 점등 2.5초간
4. 차량용 신호등 적색. 2초간
5. 보행자용 신호등 녹색으로 변경. 4초간
6. 보행자용 녹색등 0.5초 간격으로 5회 점멸
7. 보행자용 신호등 적색. 운전자용 신호등 황색. 2.5초간
8. 차량용 신호등 녹색. 정상진행 상태로 복귀.
이전 예제와 마찬가지로, 입출력정의 및 진리표 작성을 합니다.
[입출력 정의]
[진리표 작성]
여기까지는 이전예제와 동일한 프로세스이므로, 바로 프로그래밍 부분으로 넘어가보겠습니다.
총 8개의 스텝을 구현하기 위한 코드는 아래와 같습니다. 이전 예제와 가장 큰 차이점은 두개의 푸쉬버튼과 연결된 입력 (x18,x19)가 있다는 점 입니다.
이 점을 주의하여 한줄씩 차근차근 알아 가보겠습니다.
우선 관리자가 x19버튼을 누르기 전까지는 y33~y37에는 모두 0값이 들어있으므로, 모든 신호등은 꺼져있습니다. 이 후 관리자가 x19버튼을 누르게 되면 64번째줄에 의해 H88이 y33~y37로 전달되어 차량용 녹색, 보행자용 적색이 ON되는 스텝1으로 진입합니다.
이후 보행자가 보행을 위해 x18버튼을 누르면 M1이 켜지고, T0타이머가 시작됩니다. 2초후, T0 타이머가 ON되면, M2가 ON되고, T1 타이머가 시작됩니다.
M2가 켜지면 76번째 줄에 의해, H48이 y33~y37로 전송되고 차량용 황색등이 켜집니다. 2.5초 후, T1 타이머가 ON되어, M3가 켜지며 T2타이머가 시작됩니다.
M3가 켜지면 81번째 줄에 의해 차량용, 보행자용 신호등이 모두 적색으로 바뀝니다. 2초후 T2 타이머가 ON되어, M4가 켜지고 이러한 방식으로 스텝이 진행됩니다.
또한 여기서 눈여겨볼 부분은, 마지막 스텝까지 완료된후 2.5초 뒤 T6타이머가 ON되는데, 이 때 102번째 줄에 의해 C0값이 0으로 리셋되고, 3번째 줄에 의해 T6의 b접점이 떨어지며 M1 OFF, 이후 차례로 M6, T6까지 모두 OFF됩니다.
이후, 3번째 줄에서 M0 a접점, T6 b접점이 붙어있는 상태로 보행자 버튼(x18)을 기다리고 있는 상태로 되돌아 가게 됩니다.
그렇다면, GT Designer 2 로 HMI를 구성해보겠습니다.
위와 같이 HMI를 구성하였습니다. 여기서 두개의 푸쉬버튼에 대해 좀 더 알아보겠습니다.
푸쉬버튼을 더블클릭하게 되면 다음과 같은 창이 뜨게 됩니다.
여기서 Device는 연결할 입력, 즉 x18, x19를 각각의 푸쉬버튼에 넣어주면 됩니다.
Action에서는 총 4개 (Momentary, Alternate, Set, Reset)의 선택지가 있습니다.
각각의 옵션이 의미하는 바는 다음과 같습니다.
1. Momentary (순간적 동작)
설명: 버튼을 누르고 있는 동안만 신호를 ON 상태로 유지하고, 버튼에서 손을 떼면 자동으로 OFF로 돌아감.
특징:
일반적인 스위치 동작.
일시적인 신호가 필요할 때 사용.
사용 예:
기계의 일시적인 작동(예: 모터 스타트 버튼).
버튼을 누르는 동안만 램프 점등.
2. Alternate (토글 동작)
설명: 버튼을 누를 때마다 신호가 ON ↔ OFF로 전환.
첫 번째 누름: ON 상태.
두 번째 누름: OFF 상태.
특징:
버튼 하나로 신호 상태를 유지하거나 변경하고 싶을 때 사용.
래치(Latch)와 유사한 동작.
사용 예:
조명 스위치처럼 ON/OFF를 토글하는 경우.
장비의 전원을 켜고 끌 때.
3. Set (설정)
설명: 버튼을 누르면 신호가 ON 상태로 유지되며, 다른 조건이 충족되기 전까지 OFF로 돌아가지 않음.
특징:
ON 신호를 영구적으로 유지하고 싶을 때 사용.
보통 특정 리셋 조건(다른 버튼이나 논리 신호)으로 OFF 처리.
사용 예:
시스템의 특정 모드 활성화(예: 기계 시작 준비 완료 신호).
특정 플래그나 내부 비트를 설정.
4. Reset (리셋)
설명: 버튼을 누르면 신호가 OFF 상태로 변경되며, 다른 조건이 충족되기 전까지 ON으로 돌아가지 않음.
특징:
신호를 강제로 OFF 상태로 만들고 싶을 때 사용.
보통 "Set"과 함께 사용됨.
사용 예:
경보 해제 버튼.
특정 비트를 초기화.
현 예제에서 사용하는 스위치의 경우 클릭하는 동안만 x18, x18에 1값을 넣어주면 되므로, 옵션 1(Momentary)를 사용합니다.
이제 PLC, HMI를 모두 구성하였으니 시뮬레이션을 해보겠습니다.
궁금한점 있다면 댓글 남겨주세요 !
긴 글 읽어주셔서 감사합니다.
'Programmable Logic Controller' 카테고리의 다른 글
[PLC 중급] 2축 서보모터 제어 (0) | 2025.03.26 |
---|---|
[PLC 중급] MPS(Modular Production System) 제어 (0) | 2025.02.17 |
[PLC 기본] 4거리 신호등 제어코드 만들기 (0) | 2025.01.09 |