안녕하세요?


이 프로젝트에서 드디어 분류기계인 sorting machine에서 발생하는 오류를 전부 제거하는 데 성공하였고, 어떻게 해서 다음 단계를 그리고자 했는데, 일단 이번 포스팅에서는 프로그램을 어떻게 작성해야 했는지에 대해서 주로 이야기를 하게 될듯 합니다.



먼저 어디가 문제인고 하니, zerocondition이라고  해서 제가 이름을 지은 스크립트가 at EXIT에 있는 센서를 건드리면 작동을 해야 하는데, 그러지 못하는 현상이 벌어진 것입니다. 이게 왜 시뮬레이션 상인데도 일어나는 지는 잘 모르겠습니다만, 아무튼 일어나기는 일어났었고, 이 오류를 수정해야 했습니다.



그래서 먼저 생각한 것인 센서가 작동하지 않는 이유는 정확히는 CiMonX에서 너무 스크립트를 많이 처리한다고 해서, 센서가 보내는 신호를 미쳐 잡지 못한 것이라고 판단을 하였습니다. 그래서 가상태그인 V1과 V2를 만들어 놓도록 해서, 한번 스크립트를 runscript시키고 나서, 가상태그를 ON시키는 방법으로 연속해서 2회 실행이 되지 않도록 만들었습니다.



이후에 불 필요해 보이는 스크립트를 제거하는 작업에도 들어갔습니다.



그리고 나서, initialized에 있는 공통된 코드는 빼도록 했습니다. 하지만 이렇게 하고서도 생기는 오류-바로 왜인지 Vision sensor가 작동을 했음에도 sorting belt가 움직이지 않는 현상이 발생하는 것이였습니다. 그래서 재료가 그대로 떨어지는 문제점이 발생하였는데, 그 부분은 계속 해결이 되지 않았습니다.




혹시나 싶어서 가상태그를 2번이나 0으로 바꾸는 작업도 했습니다만, 별 효과는 없었습니다.



결국 하는 수 없이 이 슬립이라는 시간을 주어서 일일히 맞추어야 했는데, 문제는 이렇게 하면 센서를 쓴 의미가 거의 없다는 문제점이 나옵니다.



어디가 문제인가 했더니, 제가 pin2라는 가상의 아날로그 태그를 만들어서, 일종의 타이머처럼 사용을 했었는데, 문제는 이 타이머를 끝나고 나서 0으로 리셋을 시켜주지 않은 문제점이 있었습니다. 그래서 계속해서 원하지 않던 에러가 발생을 하였는 것이였는데, 이걸 어떻게 해결을 하고 나니, 어떻게 제대로 분류 기계가 작동을 하는 것을 볼 수 있었습니다.



그렇게 해서 어떻게 위 스크린샷과 같은 공장의 시스템을 구현하는 데는 성공했습니다. 하지만 이 역시 배우는 준비가 되었지만, 전혀 대본이 준비되지 않은 것이기 때문에, 작동을 전혀 하지 않는 문제점이 있었습니다. 그래서 다음 포스팅에서는 어떻게 해서 CiMon scada에서 코딩을 해서 작동을 시키는 것인지에 대해서 이야기를 하고자 합니다.

  1. baek 2018.11.18 22:09 신고

    안녕하세요 포스팅들 잘 보고 있습니다. 동일한 학교를 다니면서 개인적으로 이 프로젝트를 따라하고 있는 중인 학생인데
    저 또한 동일한 부분에서 제어가 안돼서 여쭤보고 싶어 댓글을 답니다. vision 센서를 통해 아날로그 값을 받아오기 까지는
    문제 없었는데 sort 부터가 문제네요 ... 어떻게 vision센서 신호를 통해서 바로 sort 장비에 신호를 날려 줬는지 알고 싶습니다
    댓글 부탁드릴게요 !

    • 안녕하세요?

      저도 해본적이 오래전이라고 기억이 가물가물하지만, 그래도 기억나는 대로 말하자면, 일단 vision센서에서 신호로 숫자 값이 올 겁니다. 그걸 스크립트상에서 if문에서 아날로그 태그의 값-그것도 실태그의 값에 따라서 turn이 되는 기기를 다르게 해주면 됩니다.
      한예로 1번 신호가 vision센서에서 잡히면 3개의 turn이 되는 sorter중에 실태그로 1번 sorter를 작동시키는 실태그의 값을 1로 변경해 주면 됩니다. 그리고 나서 이걸 일정 시간이 지났거나 아니면 출구에 센서를 설치해서 여기를 통과하면 모두 초기화 시키는 것으로 바꿔 놓으면 됩니다. 일단 이런 식으로 했습니다.

+ Recent posts