본문 바로가기
PLC 자동제어 학습/프로젝트 과제의 수행

드디어 완성이 되었는 스마트 팩토리의 1/3

by 인터넷떠돌이 2018. 3. 28.
반응형

안녕하세요?


일단 1/3이라고 해도, 제가 맡은 부분은 어떻게 완성이 되는 것을 볼 수 있었습니다. 일단 제가 CiMonD에서 VBS로 코딩을 해서 완성한 것을 바탕으로 해서, 어떻게 해서 완성을 했는지 그 과정을 포스팅 하고자 합니다.



먼저 머신 집게라고 해서, 2축 Pick & Place를 어떻게 작동 시키는 지에 대해서 코딩을 했습니다. 제 경우에는 일단 재료가 5장 쌓이라고 했는데, 실제로는 6장이 쌓이는 것을 볼 수 있었습니다. 그리고 그렇게 재료가 쌓이는 것은 가상태그를 하나 만들어서 여기서 갯수를 계산하게 했습니다. 사소하지만 중요할 수도 있는 것이, 일단 일정한 그룹에 속해 있는 그룹명.태그명 이라는 식으로 태그를 지정해야 했습니다.



다음으로는 크레인 출하라는 스크립트를 따로 만들어서, 특정한 위치까지 재료를 싣을 박스가 오면, 그걸 바탕으로 창고정리를 위한 크레인이 들어서 옮기기 위한 것입니다.



그리고 나서, 이제 sleep이라는 시간을 조정해야 했는데, 이게 계속해서 자꾸 안 맞는 현상이 벌어지는 것이였습니다. 왜 이러는 지는 처음에는 몰랐는데....




빈 상자일 때는 제 위치에 가는 것을 볼 수 있었는데, 문제는 재료가 쌓이면 제대로 가지 못하는 것을 볼 수 있었습니다. 이 이유가 왜 나오는 것인가 했더니, 이게 시뮬레이션이라고 하지만, 재료가 쌓이는 정도에 따라서 상자가 같은 시간동안 움직이는 거리가 차이가 나오는 것이였습니다.



그래서 하는 수 없이 센서를 추가로 설치를 해서, 여기서 나오는 신호를 받아서, 롤러 컨베이어 밸트를 정지 시키도록 해야 합니다. 아무튼 이런 작업이 다 완성이 되어서 절반까지는 제대로 작동하는 것을 볼 수 있었습니다.



이제서야 제대로 움직이는 것을 볼 수 있었습니다. 이제 크레인이 들기 위한 위치까지는 제대로 왔는데, 다음으로 할 것은 크레인을 어떻게 움직여야 하는 과제가 남아 있습니다.




일단 크레인 츨하가 시작하고 나서, 창고정리라는 스크립트가 제대로 움직이는 것 까지 확인을 할 수 있었습니다. 제 경우에는 이 크레인의 X축과 Y축 좌표를 일일히 설정해야 하는 줄 알았습니다. 그런데 그냥 포지션을 지정하는 것만을 해서, 창고에 집어 넣을 수 있었습니다.



마지막으로 스크립트를 다 다듬었습니다. 우선 위 스크린샷에서는 나오지 않았지만, 변수를 Dim이라고 선언을 해서 이를 바탕으로 같은 부분의 스크립트가 여러번 연속해서 실행되는 것을 막을 수 있었습니다. 이렇게 변수 선언을 하지 않으면, 가상태그를 선언해야 하는데, 이건 조금 더 복잡한 과정을 거쳐야 하는 단점이 있습니다.



이것으로 제대로 된 창고정리를 하는 것을 볼 수 있었습니다. 그래서 1/3이라고 해야 할까요? 그래도 제가 맡은 부분만은 이렇게 완성을 할 수 있었다는 생각이 듭니다. 원래의 계획은 이 이상으로 많은 코딩을 하는 것으로 되어 있었습니다만, 그렇게 까지 하기에는 2주간의 시간은 너무 짧았다는 생각이 듭니다.

반응형