본문으로 바로가기

 감성 자동제어 

제가 아직 완벽한 전문가가 아니어서 틀리거나 부족한 내용이 있을 수 있습니다.

블로그 글을 보실때 그 점 유의하면서 봐주시면 감사하겠습니다.

틀린 부분은 지적해주시면 빠르게 수정하겠습니다. 감사합니다!

 

XG5000,CIMON을 이용한 가상 자판기를 만들어보자!

안녕하세요 오늘은 저번 투입금액 파트에 이어서 파트2번 반환버튼 클릭 시 동전 나누기 파트에 대해 알아보도록 하겠습니다!

 

PLC 프로그램 파트

1) 파트1번 : 투입금액 파트

2) 파트2번 : 반환버튼 누를시 동전 나누기 파트(현 블로그 글)

3) 파트3번 : 물품구입 및 음료출몰 파트
4) 파트4번 : 음료 램프 설정 파트

 

자판기 이미지

자판기 이미지
 

동작설명

1) 반환버튼을 누르면 반환버튼 금액에 총 반환금액이 표시된다.

2) 500원이 몇개 반환되는지 표시된다.

3) 100원이 몇개 반환되는지 표시된다.

4) 50원이 몇개 반환되는지 표시된다.

5) 3초 뒤 투입금액, 반환금액, 500원 개수, 100원 갯수, 50원 개수는 초기화된다.

 

프로그램

1. 반환금액 표현
2. 500원 반환 프로그렘
3. 100원 반환 프로그램
4. 50원 반환 프로그램
5. 3초 후 리셋 프로그램

 

프로그램 설명

[1] 500원 반환

1) 500원이 반환될 경우는 투입금액이 500원 이상이기만 하면 됩니다. 따라서 투입금액이 500원 이상이면, 투입금액을 500으로 나누어서 500원 반환 개수 변수에 넣어주었습니다.

2) 500원을 나누고 남은 금액은 남은금액_1 변수에 저장해 두었습니다.

 

[2] 100원 반환 : 100원이 반환될 경우는 첫 번째, 500원을 넘지 않는 금액에서 반환될 경우 두 번째, 500원이 넘는 금액에서 500원 반환을 처리하고 남은 금액이 있을 경우 2가지의 경우가 있습니다.

 

1) 500원을 넘지 않는 금액에서 반환 -> ex) 300원, 400원....

- 500원 반환 프로그램과 같은 방법으로, 투입금액이 500원보다 작고 100원 이상이면 100으로 나누어 100원 반환 개수 변수에 넣어주었습니다.

- 100원을 나누고 남은 금액은 남은금액_2 변수에 저장해 두었습니다.

 

2) 500원 반환을 처리하고 남은 금액에서 처리해야 하는 경우 -> ex) 800원, 900원..... ※550원 제외

- 남은금액_1 변수가 0보다 크다면 500원을 처리하고 남은 금액을 100으로 나누어 100원 반환 개수 변수에 넣어주었습니다.

- 남은금액_1 변수를 100으로 나누고 남은 금액은 남은금액_2 변수에 저장해 두었습니다.

 

[3] 50원 반환 : 50원이 반환될 경우는 첫 번째, 처음부터 50원이 남았을 때, 두 번째 500원 100원 동전을 처리하고 50원이 남은 경우 2가지의 경우가 있습니다.

 

1) 처음부터 50원이 남은경우

- 투입금액이 50원이면 50원 반환 개수 변수에 넣어주었습니다.

 

2) 500원, 100원 동전을 처리하고 50원이 남은 경우

- 만약 반환금액이 450원이라면 남은금액_2 의 변수 안에는 프로그램상 50의 값이 저장됩니다. 이 값을 50으로 나누어서 50원 반환개수 변수안에 넣어준다면 "1"이 표시됩니다.

 

[4] 투입금액, 반환금액, 500, 100, 50원 갯수 초기화

- 가장 간단하게 해당 주소에 MOVE 명령어를 통해서 "0"을 넣어주게 되면 모든 변수에는 0이 들어가게 됩니다. 그중 %MD60, %MD61이라고 표현한 것은 MD60(=MW120 + MW121), MD61(=MW122 + MW123) 이기 때문에 각각 "0"을 넣어주는 것보다 프로그램을 조금 더 줄여보고자 이렇게 표현한 것입니다.

 

마무리

이상으로 파트2번 반환버튼 누를시 동전 나누기 PLC 프로그램에 대해 알아보았습니다. 글로 프로그램을 설명하다 보니 미흡한 점이 많이 있습니다. 프로그램으로 작성하고 직접 동작시켜보면 어렵지 않으니까 한번 따라 해 보시면 좋을 것 같습니다. 그리고 제가 짠 프로그램보다 더욱 편리하고 쉬운 프로그램이 있을 수 있습니다. 그럴 경우는 댓글로 남겨주시면 저 또한 참고하여 프로그램을 수정하고 작성해 보도록 하겠습니다. 감사합니다!

 

자판기 프로젝트 파트 바로가기 모음

1) 자판기 프로젝트 소개 링크 : https://engineering-mino.tistory.com/24

2) PLC 프로그램 파트1번 : https://engineering-mino.tistory.com/25 

3) PLC 프로그램 파트2번 : https://engineering-mino.tistory.com/26

4) PLC 프로그램 파트3번 : https://engineering-mino.tistory.com/27

5) PLC 프로그램 파트4번 : https://engineering-mino.tistory.com/28

6) HMI 작화 파트1번 : https://engineering-mino.tistory.com/29

7) HMI 작화 파트2번 : https://engineering-mino.tistory.com/30

 

긴 글 읽느라 수고하셨습니다.

오늘도 일상 속 소소한 행복을 느끼길 바랍니다!

 

더 많은 정보

https://engineering-mino.tistory.com/