2017. 1. 16. 09:16ㆍ장비제어개발관한이야기
오늘 제가 포스팅할 내용은 아직도 구현중에 있고 앞으로도 구현해야 할 자동화 장비 플랫폼 ImMachine 입니다.
그 중에서 장비의 구동에 관련된 자동화설비(ImMahcine[SEQ])을 소개 하려합니다.
앞으로 포스팅할 프로젝트의 중심이 되는 플랫폼으로 완성되지 않지만, 새로 자동화 장비 개발하시는 분들에게 조금이나마 도움이 되었으면 합니다.
지속적으로 업그레이드 할 생각인 만큼 틀린점 고쳐야되는점 있으면 과감히 댓글바랍니다.
ImMachine[SEQ]의 기본구조
위와 같은 Layer 구조로 되어 있습니다. Layer 간에는 약속된 인터페이스로 연결되어 있습니다.
위와 같이 Layer구조로 나눈 이유는 일단, 프로그래밍하기에도 개념적으로 생각이 편하기도 하고, 실제로 Hardware_Layer나, 라이브러리가 변경 되는 경우도 있고 Layer 간 수정사항을 좀더 포용이 가능하게 설계하려다 보니 위와 같은 구조가 되었습니다.
각 Layer간 설명
HardWare Layer
- 하드웨어를 구동하기 위한 기본적인 함수 들을 인터페이스에 맞게 수정 통합시킨 부분으로 모션라이브러, IO라이브러리 등이 이 Layer에 속합니다.
Unit Layer
- HardWare 레이어의 인터페이스 형식으로 통신하면서 실제 설비의 각 파트 Stage부나 Magazin부를 상세하게 명세 하는 부분입니다.
시리얼포트로 구동되는 산업용 로봇을 예로 명세하면 다음과 같습니다.
Process Layer
- Unit Layer 에서 명세한 부분을 상황에 맞게 구동시키는 부분입니다. 유닛간 출동 위험성 과 같은 부분도 이부분에서 처리합니다. GUI에서 실제로는 이 부분만 노출되어 사용되어집니다.
위와 같이 시퀀스 구동을 위해서 3개의 Layer를 구현하게 됩니다. 각 레이어 의 실제 구동이나 상세한 설명, 소스코드는 지속적으로 포스팅 할예정입니다.
오늘도 즐거운 프로그래밍이 되세요.
'장비제어개발관한이야기' 카테고리의 다른 글
나는 이렇게 한다. 장비개발에서 소스관리!!! (0) | 2017.01.21 |
---|---|
레이어 설명에 앞서서...동적라이브러리 링크 (0) | 2017.01.17 |
코딩컨벤션에서 헝가리안 표기법까지! (0) | 2017.01.13 |
장비 제어 개발 하는 분들에게 공감가는 조언 (2) | 2017.01.12 |
장비 제어 소프트웨어 개발자! 제가 하는 일? (3) | 2017.01.11 |