메카트로닉스 위한 소프트웨어 개발
  • 월간 FA저널
  • 승인 2011.08.23 13:33
  • 댓글 0
이 기사를 공유합니다

툴, 문서 관리와 다양한 진단 옵션 기능 가진 Automation Studio

꽤 오랫동안 메카트로닉스 엔지니어링은 기계적 시스템보다 더 엄격하게 다뤄져 왔다. 이것은 전기 장치 및 소프트웨어의 증가분을 아우르기 위해 발달돼왔다. 이처럼 미래에 끊임없이 증가할 복잡성을 마스터하는 것은 다른 부품들이 서로 통합되며 다른 분야에서 서로 협력해 개발할 때만 가능하다. 이 메카트로닉 접근은 그 복잡성을 쇄신하고 열린 인터페이스를 구축함으로써 학제 간의 양상을 지원하는 개발 환경을 필요로 한다.


메카트로닉 엔지니어링은 마지못해 해야 하는 주요 혁신에 직면하는 보수적인 분야로 알려져 있다. 그러나 최근, 기계 제조업체에 대해 시장 요구를 만족시키는 페이스를 지키며 판매까지의 시간을 단축시킴과 동시, 증가하는 제품의 복잡한 요구에 만족하기 위해 기존 개발 방식을 버리도록 하는 엄청난 변화들이 가속화되고 있다. 이 새로운 개발 방식이 산업환경에서 유행어로 자주 사용되는(혹은 남용되는) 용어 중 하나인 메카트로닉스다.


일단 그 용어를 정의하는 것부터 시작하겠다. 왜냐하면 아직 메카트로닉스를 이해하기에는 부족하기 때문이다. 기계적인 부품들, 전기적인 요소들과 소프트웨어 애플리케이션으로 구성된 구조로는 충분히 폭넓은 설명이 되지 않는데, 그것은 맨 처음에 하나의 구조를 생성한 후 개루프 및 폐루프 제어 기술로 장착되고 소프트웨어에 의해 생명을 얻는 순차적인 과정이 제품 개발 프로세스에서 이뤄지기 때문이다.


메카트로닉스적 사고방식

메카트로닉스는 부분의 합계 그 이상이다. 왜냐하면, 다른 무엇보다도 고객의 니즈와 혜택에 아주 근접한 사고방식을 지니고 있으며, 메카트로닉스에서 연루되고 대게 순차적으로 보여지는 유닛들은 일부 기능들에 불과하기 때문이다. 역학, 전자공학, 그리고 소프트웨어들은 함께 다뤄지고, 동시에 고안되며, 학제 간 협력에 의해 계획되고 구현된다. 결국 메카트로닉스 방식 이외에는, 적어도 소요 시간과 예산 제약 이내가 아닌 상황에서, 1만큼 낮은 배치 크기를 가지며 개발 업무의 결과로 복잡성을 지닌 대량 생산 제품에 대해 증가하고 있는 복잡한 요구들을 관리할 다른 방법이 없다.



[메카트로닉스 기계.  실제 메카트로닉스 기계는 기계학, 전자공학, 그리고 소프트웨어 이외로도 구성된다. 이것은 메카트로닉스를 이루기 위한 개발 프로세스 중에 모든 규율들을 섞어 넣은 것이다.]


학제 간 개발 통한 최적화

물론 대다수 기계류는 물리학 법칙과 역학을 따른다. 이런 경우 메카트로닉스의 가장 큰 장점은 개발 프로세스에 있다. 이 접근은 프로젝트 마감에 대한 압력을 상당히 감소시키는 동시에 전체 태스크의 다른 부분들을 수행 가능하게 한다. 전통적으로 소프트웨어 엔지니어링에 관해서는 그런 압력들이 특별히 더 높은데, 왜냐하면 역학과 전자공학이 준비될 때까지 프로그래밍을 시작할 수 없기 때문이다. 게다가 순차적인 접근은 다른 것들이 이미 끝낸 개발 작업들을 논의하거나 수정할 수 없게 한다. 이전에 다른 학과에 의해 수행된 작업은 주어진 대로 받아들여야만 한다. 그 반대로는 관련 엔지니어들이 학제 간의 피드백을 통해 결과를 최적화할 수 있는 메카트로닉스 접근이 있는데, 이것은 각 개발 단계가 이전 단계에 기반을 두고 있으면 불가능한 일이다.


기계 개발과 관련해서 발생된 문제를 해결하는 메카트로닉스 접근에 의해 소개된 자동화 기술에 가장 중요한 변화 중 하나는, 언제 그리고 얼마나 오랫동안 소프트웨어 개발 시스템을 사용하는지에 대한 의문과 관련이 있다. 이것은 콘셉트 개발 및 사양 설명서 사이의 이행단계로 조기에 시작한다. 이 점에서, 소프트웨어 개발 프로세스는 앞으로 진행되기 위해 최고로 가능한 절차를 명료하게, 실행 가능하게, 그리고 확인시키는 것을 도와준다. 소프트웨어 개발은 디자인, 시뮬레이션, 시운전, 필드 테스트, 양산, 서비스와 서포트까지 제품 라이프 사이클의 모든 단계에서 그 강도의 크기에 따라 다르게 진행된다.


이것은 자연스럽게 개발 프로세스에서의 책임에 대한 새로운 영역을 만들어 준다. 왜냐하면 전체 개발에서 소프트웨어 개발은 그 중요성이 증가하고 있기 때문에, 단순히 코드만 입력하는 것 이상으로 더욱 발전돼야 한다. 특히 학제 간의 시스템 설계를 제공해야 하며, 이것은 소프트웨어 개발의 복잡성과 전체 책임의 공유를 증가시킨다.



[소프트웨어 개발.  메카트로닉스 시스템에서 소프트웨어 개발은 전체 제품 수명을 통해 다양한 강도 수준에서 수행된다. 이것은 새로운 태스크와 소프트웨어에 관련된 책임을 부여한다.]


핵심은 통신

기업들은 이런 증가된 복잡함을 마스터하기 위한 전략을 찾을 뿐만 아니라, 기업을 더욱 가깝게 하는 다양한 개발 팀을 이끌기 위한 조직적인 측정을 함으로써 이윤을 얻을 수 있다. 관련된 모든 당사자들에게 가장 중요한 것은 그들의 시야를 넓히는 것인데, 프로젝트 매니저만이 모든 태스크들을 이해할 필요가 있었던 것은 옛날 얘기이기 때문이다. 실제로 각 전문가들은 프로젝트의 모든 것을 이해해야만 하며, 필요한 정보에 접근해야 한다.


첫 단계는 발생한 문제와 시스템을 각각의 규칙과 툴로 설명하는 언어의 장벽을 극복하는 것이다. 문제를 해결하는 메카트로닉스 접근은 흔히 균형을 찾는 것을 포함한다. 엔지니어에게 특별한 기술을 사용할 자유를 주는 것은 한편으로는 중요하지만, 다른 한편으로는 전체적인 복잡함을 줄이는 것과 정말 중요한 이슈에 대한 의사소통의 필요를 제한하는 것도 매우 중요하다. 이것은 지나친 조건이 필요 없는 지속적인 논리적 관례를 지원하는 기능을 개발토록 하고, 서로의 내재된 이해를 가능하게 하는 유일한 방법이다.


따라서 객체 지향적인 방법과 개발 툴을 사용해 시스템 복합성을 감소시키는 접근은 특히 이런 측면에서 비판적으로 보여진다. IT 분야에서 그 능력을 증명했음에도 불구하고 객체 지향적 프로그래밍은 모든 산업 자동화 분야에서 균일하게 시행될 수 없다. 결국엔 전체 라이프 사이클 관점에서 서비스 직원들이 이 분야에서 유지보수를 하게끔 고려해야 한다. 이것이 때로는 정교한 클래스 구조체와 이어지는 체계를 사용하는 객체 지향적인 코드보다 더욱 쉬운 해결책으로 생각될 수 있다.


개발 환경에서의 새로운 요구들

하나 확실한 것은 미래의 개발 시스템은 더욱 오픈될 필요가 있으며 역할 기반 모델링과 화면작화를 가능하게 해야 한다는 것이다. 동시에 제품의 전체 라이프 사이클에 대해 이런 개발 시스템을 사용하면 툴 및 문서, 버전과 타입 관리를 다루는 자동적인 기능들뿐만 아니라 더욱 폭넓은 시뮬레이션, 테스트, 그리고 진단 옵션 등이 필요한다.


B&R에서 제공하는 완벽한 개발 툴인 Automation Studio은 현재 이런 사항들을 이미 잘 갖추고 있다. 비록 지금까지는 절차 지향적인 국제 표준 IEC 61131을 이용한 컴파일에 초점이 맞춰져 있었지만, 객체 지향적이고 상당한 잠재력을 가진 프로그램 언어 중 하나인 C++ 또한 제공한다. 일찍이 프로젝트 기획 단계에서 시작한 다른 관점의 시스템들은 화면, 프로그래밍, 환경 설정, 혹은 하드웨어 레이아웃을 지원하게끔 선택될 수 있다. 다중 버전과 모든 타입의 파일들은 공유 프로젝트 및 분리된 다른 버전에서 관리될 수 있다.


객체가 기본인 엔지니어링의 핵심은 유지보수에 대한 방향과 개요를 제공하는 기계 환경 설정에 대한 화면작화를 생성하는데 쓰일 수 있는 토폴로지 에디터다. 이것은 전체 포인트를 개체 기본이 된 개발 부서에서 특정 유저 그룹에 의한 사용 제한이 없는 개발 환경으로 생성한다. 이것은 기존 콘셉트에서 전체적으로 디자인된 시스템까지 톱-다운 디자인을 사용하고, 기능을 기본으로 개발된 소프트웨어가 필요를 기반으로 한 기초를 바탕으로 다른 하드웨어 설정에 연결하는 어느 때보다 상당히 쉽게 만들고 더욱 편리하게 한다.





[V-model.  이것은 모델 지향적 개발의 V-model을 사용해 쉽게 보일 수 있다. 시뮬레이션과 같은 소프트웨어 방법은 이미 설계시간을 단축시켰다. 그러나 프로젝트 시간은 시뮬레이션을 통해 자동적으로 생성된 코드를 사용해서 몇 개의 프로젝트 단계를 제거함으로써 더욱 현저히 줄어든다.]


소프트웨어 통한 더 빠른 개발

개별 개발 단계에서의 수행 시간을 단축하는 것은 어떠한 방식의 접근에서도 중요한 요소다. 이것을 위해서는, 다른 언어들 및 프로그램 방법들이 다른 소스에서부터 프로그램 코드를 사용하기 위해 가능한 많이 고려돼야 한다. 시뮬레이션을 통합하는 것은 이것에 대한 완벽한 예다. 그것은 반복되는 절차들을 감소시키는데, 왜냐하면 프로토타입을 만드는 것을 대체할 뿐만 아니라 연관된 테스트 절차들을 교체할 수 있기 때문이다. 게다가 이제는 Automation Studio에서 시뮬레이션 툴을 사용해 자동적으로 코드를 생성하는 것과 실행하는 것이 가능하다. 이를 통해 정말로 개발 시간을 줄일 수 있으며 인터프리터 에러를 감소시키는 것을 도와준다. 예를 들어 SysML 인터페이스를 사용하는 것과 같이, 다른 시스템 및 규율에서 서술 데이터를 통합하기 위한 이런 가능성들은 미래에 현저하게 증가될 것이다.


메카트로닉스 개발의 학제 간 특성에도 불구하고, 솔루션의 모든 구성 요소들을 위한 균일한 개발 시스템은 가능하지 않을 것이다. 고성능 인터페이스를 생성해서 분리된 시스템 사이의 결정적인 정보를 공유하는 것이 더욱 중요하다. 일반적으로, 유일한 변화가 불필요한 개발 프로세스를 피하기 위해 공유될 것이다. 이것은 변화 관리 시스템을 더욱 중요하게 만든다.


현재 시장 요구에 만족하기 위해, Automation Studio는 다른 자동화 소프트웨어보다 앞서고 있다. B&R 자동화 소프트웨어 부서의 주된 목표와 목적은 Automation Studio을 시장 요구와 같은 비율 및 방향으로 개발하는 것이다. 메카트로닉스적 접근 방식은 그것을 위해서 큰 역할을 해 줄 최고의 가능성을 지닌 방식이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.