안녕하세요?


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



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



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



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



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




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



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



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



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

+ Recent posts

티스토리 툴바