Technology, 신속한 소프트웨어 프로그램 구현
정대상 2013-03-19 14:56:09

프로그래머들은 모델링을 위한 시간을 단축시킬 수 있을뿐만이 아니라,

직접 코드를 짜서 전체적인 기능을 구현하는데 단지 몇 분만이 소요되도록 개발 과정에 있어 가속도를 붙게 한다.

   3월T-Egermeier Hans.jpg 

Hans Egermeier B&R Automation Software Business Unit의 Business Manager 

 

제품을 구상하고 그것이 시장에 출시되기까지의 시간은 점점 짧고 빨라지고 있다. 이러한 추세는 자동화분야뿐만 아니라 전 세계의 모든 시장에서 나타나고 있으며, 소프트웨어 프로그래밍에 투자되는 시간이 얼마나 되느냐에 따라 제품의 성공이 판가름되는 결정적인 요소가 될 수 있다. 이때 올바르게 접근한다면, 기구부에 적합한 소프트웨어를 단 몇 분 만에 구현할 수 있다.

개발을 위한 목표가 점점 의욕적으로 되어감에 따라, 가장 효율적인 절차만이 성공을 불러올 수 있을 것이다. 따라서 이전 버전 또는 다른 프로젝트를 위해 끝맺음된 일을 활용하고 수정하는데 있어 중복되는 수고는 반드시 피해야만 한다. 에러가 발생했을 경우 추후에 수정하는 것보다 시작에서부터 바로잡아야만 한다. 이는 새로운 장비의 프로토타입은 일반적으로 처음부터 올바른 시작에서 출발해야한다는 것을 의미한다. 이러한 목표를 달성하기 위한 적합한 방법 중 하나로서, 단일 제품의 요소로서 생산되기 전에 가상 환경에서 제품을 테스트할 수 있는 시뮬레이션이 이것을 증명해 준다.

자동차 및 항공 산업 분야의 장비 개발에 있어 이러한 접근은 이미 일반적인 사항이다. 컴퓨터 시뮬레이션을 통한 모델링이나 특별한 소프트웨어 툴을 통해 기구적인 시스템이 개발된다. 반면, 자동화 산업 분야에서 이러한 전략적 개발은 이제 시작에 불과하다. 이는 시뮬레이션 모델에 대한 개발이 오직 어려운 수학적 이해를 할 수 있는 개발자들의 시간 소비적인 행위라는 잘못된 인식에서 비롯됐다고 할 수 있다. 과거에는 몇몇 경우에 대해 예를 들면, 일반적으로는 논리 기호 시스템을 사용한 것처럼 매우 복잡한 블록 다이어그램을 개발하고 함수 방정식을 직접 체계화하는 방법을 사용했다. 이러한 과정은 매우 복잡하고 많은 문제점들을 발생시키는 경향이 있었다.

방정식 없는 모델링
캐나다의 Maplesoft 사와 같은 시뮬레이션 소프트웨어 업체들은 자신들의 소프트웨어를 통해 개발 과정을 보다 효율적으로 만들고자 노력하고 있다. 이러한 노력의 결과로서 MapleSim 이라는 최신 버전의 기구 시뮬레이션 툴을 예로 들 수 있는데, 여기에서는 기구적 모델링, Maple을 활용한 기호 계산과  Modelica라는 기구 모델을 설계할 수 있는 객체 지향적 언어라는 3가지 사항을 제공한다.
시뮬레이션 모델은 광범위한 라이브러리로 부터의 펑션 블록들을 선택하여 그것을 연결함으로써 생성되며, 간편하게 변수들을 입력함으로써 개별적인 조건에 맞게 적용시킬 수 있다. 특히, 사용자가 시스템 구조체 사용에 익숙하다면, 이를 통해서도 시뮬레이션 모델 생성이 가능하다.
굉장히 복잡한 경우라도 이러한 방법으로 매우 쉽고 빠르게 모델링될 수 있으며, 소프트웨어는 설정된 모델들로부터 모두 방정식을 유도해낼 수 있다. 이러한 모델들은 추후 수정이 가능하고, 개발자가 이것들을 분석하여 언제라도 필요한 수정이 가능하도록 해준다. 역방향의 운동학을 위한 복잡한 경로의 계산들 역시 개발자에게 자동으로 소프트웨어가 지원된다. 소프트웨어는 자동적으로 공식화된 수학적인 구조체로 표현됨으로써, 시스템 개발자들이 이러한 수학적 계산을 근사치나 단순 표현을 사용하지 않고서도, 어떠한 에러 없이 자동적으로 적용할 수 있게 해준다.

모델링에서부터 소프트웨어에 이르기까지

비록, 아직까지는 전체 과정 중의 일부분이겠지만, 시뮬레이션 기반의 개발에 있어 정밀한 장비나 시스템 모델을 만든다는 것은 없어서는 안 될 아주 중요한 과정이다.
이러한 성공적인 요소들에는 한 가지 중요한 특징이 있다.
MapleSim과 같은 모델링 패키지는 자동적으로 시뮬레이션 모델 내에서 순차적인 시퀀스를 결과물로서 ANSI C 코드로 변환시켜 준다. 어떠한 수준에서도 전 처리 방정식 및 코드에 의해 MapleSim은 시뮬레이션에 필요한 컴퓨터 계산량을 줄여준다. 수학적 단순화는 생성된 코드를 보다 효율적으로 만들어주며, 자연스레 보다 빠르고 강력하게 해준다. 이러한 코드는 수동적으로 프로그램되어진 것이 아니기 때문에 엄청난 시간을 절약해줄 뿐만 아니라, 잘못된 해석이나 오류를 피할 수 있도록 해줌으로써 제어 시스템 상에 직접 적용될 수 있다. 모든 B&R Automation 시스템을 위한 소프트웨어는 B&R Automation Studio 개발 환경에서 생성 및 테스트되어 완벽하게 최적화될 수 있을 뿐만 아니라, 실제 하드웨어 내부에서 Automation Runtime 운영체제를 기반으로 실행된다. 2012년 중반에는 B&R Automation Studio를 위해 새롭게 기능이 추가된 모듈인 MapleSim Connector를 선보였다. 이 새로운 장치는 Automation Studio 상에서 C 코드 기반의 시뮬레이션 모델의 모션을 미분 방정식으로 변환해주는 모듈이다. 이를 위해 MapleSim은 고유의 최적화된 알고리즘 코드를 사용하여 보다 정밀한 모델링을 할 수 있도록 해줄 뿐만 아니라, 소요 시간 역시 단축시켜 준다.

단 몇 분 만에 끝낼 수 있는 프로그래밍

MapleSim에서의 생성된 기구적인 시뮬레이션 모델링은 B&R Automation 하드웨어를 통해 쉽고 빠를 뿐만 아니라, 정확하게 적용될 수 있다. 또한 하드웨어 내 루프 시뮬레이션을 통해 장비 성능을 즉각적으로 실시간 에뮬레이션할 수 있도록 해준다.
MapleSim Connector를 사용하여 자동적으로 생성되는 프로그램 코드는 라이센스 없이도 개발자가 원하는 대로 개발이 가능하다.
또한 그밖에 필요로 하는 다른 프로그램 코드를 통해서도 구현이 가능하다. 이것은 몇몇 결정적인 요소 외에는 전체 플랜트를 매번 세세하게 시뮬레이션 할 필요가 없다는 것을 의미한다.

이렇게 최고로 효율적인 방법은 모델링을 위한 시간을 줄여주며, 코드를 짜서 전체적인 기능을 구현하는데 단지 몇 분만이 소요되도록 개발 과정에 있어 가속도를 붙게 한다.
MapleSim과 자동 코드 생성 기능을 통해 모든 직관적인 모델링 생성이 가능케 한다. MapleSim과 B&R Automation Studio 간의 인터페이스는 제품 개발을 하는데 있어 새로운 접근법을 보여주고 있다. 모든 설계 및 최적화 과정은 장비의 컴퓨터 모델링을 통해 가능하며, 그 결과물로서 3D 설계 모델링으로부터 파생된 CNC 프로그램이 앞으로의 밝은 청사진으로서 이러한 모델링 소프트웨어의 대표적인 모습으로 보이게 될 것이다.

3월T-그림1.jpg

가장 효율적인 솔루션. MapleSim 소프트웨어 패키지는 상당히 쉽고 효율적으로모델을 생성할수 있도록 해준다. 각 구성요소들은 모델을 생성하기 위해 실제 기구적으로 구성되는 것처럼 직관적이면서도 아주 효율적으로 결합된다. 필요시  확인을 위해 모델 방정식이 자동적으로 생성될 수도 있다. 

3월T-그림2.jpg

지루하고 복잡한 모델링 고정. 시물레이션 모델을 생성하는 것은 상당한 수학적 지식을 필요로 할 뿐만 아니라, 모델의 개념을 형성하는데 많은 시간이 소요되고 복잡한 과정을 거치게 된다.

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>