[포스코x코딩온] 스마트 팩토리 과정 10주차 회고 | 신호등 프로젝트

Dana·2023년 5월 25일
0
post-thumbnail

1. HMI 작화

보행자 신호기 - 비트 스위치(반전)
신호등 - 비트 램프
남은 시간 - 숫자 표시기

메모리 할당

보행자버튼 %IX0.0.0
차량-녹색 %QX0.1.0
차량-황색 %QX0.1.1
차량-적색 %QX0.1.2
보행자-녹색 %QX0.1.3
보행자-적색 %QX0.1.4
숫자표시기 %MW0

2. PLC 프로그래밍

차량신호는 황색이나 적색이 아닌 경우 청색을 유지한다

보행자신호기를 누른 경우 51초간 보행자신호가 유지된다(30초 대기, 1초 황색, 20초 청색)

보행자신호일때 30초 대기 후 1초동안 차량 황색신호

보행자신호일때 31초 후 20초동안 차량신호 적색

보행자신호는 청색신호(10초) 청색깜빡이(10초)가 아닌 경우 적색을 유지한다

보행자신호일때 31초 후 10초동안 보행자 청색신호 유지
보행자신호 41초후 10초동안 청색신호가 깜빡이고 카운트다운함수가 작동한다. 10부터 0까지 감소하며 카운트 숫자는 CNT(%MW0)에 저장되어 화면표시기로 나타난다. 깜빡이는 _T1S라는 플래그변수를 사용했다.

카운트다운함수(CTD_INT)는 LD가 1일때 초기값을 초기화한다.(PV=CV) 이때 값이 계속 1이면 계속 초기화하여 카운트다운이 작동하지 않으므로, LD는 한번만 1이 되어야한다. 이를 위해 처음에는 _1ON이라는 플래그변수를 사용했었다. 하지만 한번 보행자신호기가 작동하고 다시 보행자신호기를 눌렀을 때 같은동작을 반복할 수 있으려면 카운트다운함수가 초기화되어야 하는데 _1ON으로는 초기화가 되지 않았다.

카운트초기화변수를 p접점으로 따로 만들어 보행자 신호기를 누르면 한번만 카운트초기화가 1이 되도록 해서 해결했다.

3. 완성

초기화면

기본값은 차량신호 청색, 보행자신호 적색, 카운트 0이다.

보행자신호기 클릭

보행자신호기를 누르면 숫자표시기가 10이 되고, 신호등은 30초동안 기본값을 유지한다.

차량신호등 황색

30초 후 1초간 차량신호등이 황색이 된다.

보행자신호등 청색

보행자신호등이 10초간 청색, 차량신호등은 적색

보행자신호등 깜빡이

10초간 보행자신호등 청색신호가 깜빡이고 숫자표시기의 숫자가 감소한다.
10부터 0까지 감소하면 다시 초기값이 된다. (차량신호등 청색, 보행자신호등 적색)
이때 다시 보행자신호기를 클릭하면 숫자표시기가 10이 되고 위 동작이 반복된다.

0개의 댓글