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

2축 Pick & Place의 제어

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

안녕하세요?


지난번 포스팅에서 어떻게 해서 분류기계를 작동시키는 것 까지는 이야기를 했는데, 이제는 그 분류기계를 확장해서 자동으로 창고를 정리하는 스마트 팩토리를 만들어야 하는데, 이게 생각외로........ 가 아니라 상당히 어려운 과정에 들어가게 되었습니다. 일단 이번 포스팅의 내용에서는 주로 프로그램을 코딩한 내용이 주가 되는 것인데, 조금은 지루할 지는 모르겠지만, 그래도 잘 봐 주시면 감사하겠습니다.



일단 2축 Pick & Place를 가동하기 위해서 일련의 태그를 CiMonD에서 만들도록 합니다. 여기서 2축 Pick & Place는 바로 1번 축에서 재료를 잡은 다음, 다른 방향이나 라인의 컨베이어밸트로 옮기는 데 쓰는 로봇팔입니다.



먼저 처음으로 2축 Pick & Place가 가동하기 위해서는 A1이라고 하는 Vision sensor에서 어떻게 감지를 해야만 합니다. 이렇게 재료가 하나 오는 것을 감지하는 데 성공했으면 A1은 0이 아니게 되므로 이때 일련의 작동을 시작 시키게 되는 것입니다.



일단 첫 테스트를 시작 하도록 합니다. 다만 첫 시도는 보기좋게 실패를 했는게, 일단 재료가 vision sensor를 통과하기는 했지만, 전혀 로봇팔이 작동을 하지 않았습니다.




그래서 2축 Pick & Place를 움직이기 위한 스크립트를 따로 만들어서 이를 특정한 시간이 되면 작동을 하도록 합니다. 



그리고 Positioner라고 해서 재료를 한쪽 방향으로 당겨서 주는 장치가 있는데, 이 장치에서 제대로 재료를 잡는 다면, 2축 머신이 움직일 수 있도록 만들어 줍니다.



일단 2축 Pick & Place가 아래로 내려와서 제대로 재료를 잡는 것 까지는 확인을 할 수 있었습니다.



그래서 우선은 A2라는 변수를 만들어서, 2축 Pick & Place에서 내려와서, 아래에서 재료를 감지했다는 것을 봐야할 필요성이 있습니다. 그래서 위와 같이 조금은 더 코딩을 하여서 프로그램을 짜고, 한번 작동을 시켜 보았습니다.




일단 옮기는 것 까지는 성공은 했는데, 무언가 어색해 보이는 움직임을 보이는 것을 볼 수 있습니다. 그래서 이 문제를 해결해야 한다는 생각이 듭니다.



그래서 Pin1이라는 변수를 만들어서, 특정한 동작이 한개만 작동을 해야만 하도록 해야 합니다. 그리고 위 스크린샷에서는 나오지 않았지만, 될 수 있으면 Dim이라고 변수 선언을 해 주는 것이 좋겠다는 생각이 듭니다.



이제서야 매끄럽게 움직이는 것을 볼 수 있었습니다. 이렇게 해서 창고정리 크레인 까지 가는데 1/3이 완성이 되었다고 보면 될 듯 합니다. 그냥 완성본을 봤을 때는 별 크게 문제없이 움직이게 할 수 있어 보였습니다만, 실제로 해보니 그렇지는 않고, 많은 코딩을 해야 한다는 것을 알 수 있었습니다.




반응형