배너
닫기

테크노트

배너

[컨트롤러] S/W 정의 설계로 PAC 알고리즘 활용성 높이다

  • 등록 2013.11.06 10:50:24
URL복사

S/W 정의 설계로 PAC 알고리즘 활용성 높이다

컨트롤 설계자들을 위한 상용기술은 계속해서 발전하는 중이다. PAC을 위한 최신 프로세싱 기술이 현재 소프트웨어 정의로 설계된 내쇼날인스트루먼트 cRIO-9068 컨트롤러와 함께 사용할 수 있다. 컨트롤 설계자들은 소프트웨어 정의로 설계된 이 컨트롤러로 더욱 간소화된 아키텍처를 생성해, 고급 머신을 위한 알고리즘을 컨트롤러에 분할할 수 있다.

현재의 컨트롤 엔지니어들은 계속해서 복잡해져 가는 문제들을 해결해야 하는 임무가 주어지면서 시스템을 간소화해야 하는 압박에 시달리고 있다. 하지만 안타깝게도 이런 문제들을 해결하기 위한 솔루션을 명확히 정의하기는 어렵기 때문에, 해결법에 접근하기 위해 전반적인 산업 시장 트렌드가 대신 논의되고 있다.
한 예로, 모터의 초기 동작에 대한 오류나 효율성 손실에 대한 원인을 확인하기 위해 지속적으로 모니터링되고 있다. 또한, 절삭기에 대한 제어 입력은 디지털 온-오프 제어 방식에서 벗어나, 힘을 정밀하게 제어하여 대상의 모서리와 밀도를 감지하는 피드백을 활용한 비전 가이드 모션 구조로 진화했다.
이런 예를 통해서 시장의 요구와 복잡해져 가는 제어 문제를 해결하기 위해 상용 기술의 통합이 필요하다는 것을 알 수 있다.
다행히도, 컨트롤 설계자들을 위한 상용기술은 계속해서 발전하는 중이다. PAC을 위한 최신 프로세싱 기술이 현재 소프트웨어 정의로 설계된 내쇼날인스트루먼트 cRIO-9068 컨트롤러와 함께 사용할 수 있다. 이 컨트롤러의 마이크로프로세서는 자일링스의 최신 실리콘 기술인 Zynq에 구축됐다.
이 SoC는 부동소수점 연산 코어와 FPGA, DSP 슬라이스를 단일 칩에 결합하여 컨트롤 설계자들이 더욱 간소화된 아키텍처를 생성해, 고급 머신을 위한 알고리즘을 컨트롤러에 분할할 수 있게 한다.

소프트웨어 정의 설계로 더욱 간소화된 아키텍처 생성

로직 게이트보다 래더 로직에 더 익숙한 컨트롤 설계자들에게는 다소 생소할 수 있지만 모든 PAC, PLC, 임베디드 컨트롤러에는 프로세싱 요소들이 포함되어 있다. 일부 요소에는 신호 처리와 타이밍을 위해 사용되는 FPGA 또는 ASIC이 포함되어 있기도 하다. 이러한 프로세싱 요소들은 망치와 같은 기초 공구와 유사하다.
철물점의 공구 코너에 가면, 다양한 종류의 망치들이 전시되어 있다. 종류는 많지만, 역할에 따라 용도가 나뉘어 있으므로 작업에 맞는 올바른 공구를 사용하는 것이 중요하다. PC 기반 자동화는 일반 망치와 유사하다. 즉, 대부분의 애플리케이션에 사용하기 충분할 정도로 다용도이지만, 나무망치로서 역할을 수행하기에 너무 강하고, 쇠망치로 쓰기에는 너무 가벼우며, 해머로 사용하기에는 너무 작다.
비록 고속 타이밍, 트리거링 또는 낮은 지연성이 요구되는 애플리케이션에는 부족할 수도 있지만, 광범위한 애플리케이션에서 사용하기 위해서는 표준 부동 소수점 연산 프로세서가 이상적이다. 부동소수점 연산 프로세서는 신호 및 제어 신호를 위해서도 사용할 수 있다. 하지만 반복적인 알고리즘에 사용되는 FPGA나 DSP와 비교하면 비용이 더 많이 든다. FPGA는 프로세싱 집약적인 알고리즘에는 이상적이지만, 런타임 유연성에 제약이 있다. 따라서 PAC/PLC와 임베디드 컨트롤러의 프로세싱 요소들을 결합한 솔루션은 다양한 서브시스템을 간소화하는 데 있어 아주 좋다.
기본적인 수준에서 보면, 서브시스템은 하드웨어와 소프트웨어를 조합하여 온도 제어 시스템과 같은 특정 기능 역할을 한다. 이 경우, 하드웨어 입력은 온도 센서이고, 출력은 팬이나 히터를 제어하며, 시스템을 위한 소프트웨어 로직은 간단한 리밋 기능부터 고급 PID 알고리즘까지 될 수 있다.
여러 컴포넌트가 있는 복합 머신에서 이 온도 컨트롤러는 맞춤형 보드에 개별적으로 구현된 디자인으로서 케이블로 연결된 버스를 통해 메인 컨트롤러와 통신한다. 서브 컨트롤러마다 개별적으로 최적화된 하드웨어 디자인 필요 없이 설계자들은 새로운 임베디드 컨트롤러를 이용하여 유연한 단일 코어를 더욱 쉽게 활용할 수 있다. 소프트웨어로 설계한 컨트롤러는 머신을 간소화할 뿐만 아니라 보다 적은 설계비용으로 더욱 빠르게 시장 출시가 가능해진다.

맞춤형 FPGA/DSP 사용으로 추가적인 하드웨어 구성 줄여

머신의 서브시스템은 호스트 부동소수점 연산 프로세서나 가용 FPGA/DSP 리소스에서 실행할 수 있는 소프트웨어 블록으로서 간략화된다. 이제는 서브 컨트롤러가 아닌 서브루틴을 생각하면 된다. 하드웨어 기반의 많은 서브 컨트롤러들이 이미 모듈형 I/O와 새로운 임베디드 컨트롤러의 고급 기능들을 이용하여 맞춤형 FPGA/DSP를 사용하여 구현됨으로써 추가적인 하드웨어 구성을 줄이는 데 효과적이다.
이 기술은 여러 서브시스템과 페어링 된 고성능 머신을 포함하는 애플리케이션에 이상적이다. 한 예로, 레이저 톱은 실리콘 웨이퍼의 제작 공정에 사용된다. 이 상용 기술은 첨단 기계식 커터를 이용했을 때보다 낭비도 덜하고 속도도 빠르게 엔지니어의 프로세스 실리콘 웨이퍼를 제조하는 데 도움을 준다. 이런 결과를 얻기 위해 머신에는 온도 제어, 레이저 제어, 인라인 처리가 가능한 고속 아날로그 입력, 사용자 인터페이스를 제공하는 모니터링용 PC를 위한 개별 컨트롤러가 포함된 여러 서브시스템이 있다.
중앙 컨트롤과의 통신 프레임워크는 모든 서브 컨트롤러에 필요하기 때문에, 현재의 머신 설계자들은 각 서브시스템을 위한 개별 디자인을 개발한다. 최신 프로세싱 기술이 적용된 임베디드 컨트롤러를 이용하면 아래 이미지와 같이 이러한 여러 서브시스템을 단일 컨트롤러로 대체할 수 있다. 각 컨트롤러를 위한 소프트웨어/펌웨어 명령 세트는 메인 컨트롤러의 서브루틴으로서 존재하며 시스템 설계자들은 적절한 서브루틴을 복사/붙여넣기하고 다른 I/O 모듈을 추가하여 시스템을 확장할 수 있다.
고성능 머신은 청결한 웨이퍼 제조 환경에만 국한되어 사용되지 않는다는 것도 중요하다. 집약적인 신호 처리와 측정 품질 I/O는 특히나 중장비의 유지보수에서 더 많이 보급되어 있다. 상용 임베디드 컨트롤러로 이러한 시스템을 설계하는 것이 더욱 직관적이지만, 전통적인 맞춤형 ASIC 또는 FPGA/DSP를 사용하여 설계하는 경우도 있다.
맞춤형 ASIC을 사용하는 경우에, 모터의 유지보수를 위해서 RMS 연산과 FFT를 사용하게 되고, 이러한 알고리즘들은 채널 수와 함께 CPU 리소스를 증가시키며, 이를 고려하여 다른 태스크를 위한 CPU 리소스를 사전에 예약해놓기 때문에 CPU의 효율적인 사용을 제한하거나 비용을 증가시킨다.
이 프로세스를 FPGA/DSP 프로세싱 유닛과 조합하면 FPGA가 여러 프로세스를 더욱 효율적으로 처리하는 것처럼 CPU에 대한 워크로드 일부가 없어지고 데이터 전송률은 향상된다.
FPGA의 크기는 정해져 있지만, 이 공간에 병렬 프로세스를 추가하는 데 기능 제한은 없다. 앞의 비유처럼 무언가를 부수는 데 망치를 이용할 수 있지만, 효율성이 높아진다면 해머를 이용하는 것이 적합하다.



상용 기술은 계속 발전… 차세대 스마트 머신에 적합한 컨트롤러 대두

일부 디자인의 중심이 소프트웨어로 이동하면서 가용 프로세싱 기술을 이용하기 위해 사용할 수 있는 소프트웨어 툴이 중요해졌다. PAC/PLC에 가장 일반적인 프로그래밍 표준은 IEC 61131이다. 61131은 순차 디지털 프로세스와 제어에 중점을 둔 추상 언어이고, 고급 프로그래밍을 처리하거나 FPGA/DSP를 타깃팅하도록 제작되지 않았다.
많은 고급 컨트롤 설계자들이 임베디드 설계에 C 같은 표준 프로그래밍 언어를 찾고 있다. C는 대부분의 태스크나 프로세싱 타깃을 처리할 수는 있지만, 로우-레벨 언어이므로 서브루틴 디자인을 구현하는 데 많은 지식과 시간이 필요하다.
61131과 C 언어의 중간쯤에 해당하는 프로그래밍 환경도 존재한다. 한 예로, NI LabVIEW 시스템 디자인 소프트웨어는 두 소프트웨어 환경 간의 균형을 제공한다. 이 소프트웨어는 메모리 핸들링, 스레딩, 코어 관리를 포함한 프로그래밍 프로세스를 간소화하는 동시에 FPGA의 코어에서의 프로세싱과 I/O 요소들에 대한 로우-레벨 접근도 제공한다.
프로그래밍을 위한 문법적인 부분 이외에도, 표준 변경과 더욱 낮은 비용으로 더 빠르게 혁신해야 하는 요구 등 계속해서 복잡해지는 문제들을 해결하기 위해 시스템 설계자들이 상용 기술을 활용할 수 있어야 한다.
결과적으로, 이 요소들을 프로그래밍할 수 있는 방법이 없다면, 프로세싱 요소들은 설계자들에게 이점이 되지 않는다. 현재의 고급 컨트롤 시스템에서는 사용할 수 있는 프로세싱 요소와 펌웨어 대부분이 고정되어 있거나 접근이 불가능하다. 임베디드 컨트롤러가 더 많이 개방될수록 컨트롤 설계자들은 이러한 복합 머신들을 더욱 적은 서브시스템들로 병합하기가 더 쉬워진다.
한 예로, 웨이브폼을 측정하고 후처리 값 또는 PID ‘컨트롤 칩’만 출력하는 모듈을 갖춘 PAC/PLC에는 이미 하드웨어적으로 구성된 기능이 포함되어 있다. 이 설계 방식은 구현해야 할 하드웨어의 비용은 절감시키지만, 펌웨어를 디버깅하거나 수정할 수 있는 유연함을 설계자에게 제공하지는 않는다. 또한, 컴포넌트들의 수명이 다하게 되면, 알고리즘을 정확하게 복제하는 것이 어려워 여러 잠재적인 문제를 낳을 수 있다.

임베디드 컨트롤러 ‘cRIO-9068’… PAC 알고리즘 활용성 강화

새로운 cRIO-9068 컨트롤러(사진 2)는 부동 소수점 연산 프로세서, DSP 슬라이스를 제공하는 FPGA, Linux 리얼타임 버전의 운영체제를 제공한다. 설계자들은 쉘 액세스를 통해 방대한 Linux 커뮤니티에 접근함으로써 절감된 시간과 리소스로 머신을 구성하고 실행할 수 있다.
상용 Linux 애플리케이션 외에도 새로운 부동 소수점 연산 프로세서는 LabVIEW 소프트웨어와 Eclipse 개발환경 모두를 지원하므로 컨트롤 설계자들은 기존의 C/C++ 코드를 재사용할 수 있다. 따라서 사용자는 기존의 소프트웨어를 최소한의 작업만으로 최신 하드웨어에 배포할 수 있다.
제강 공장, 섬유 산업, 반도체 등의 업계에서는 더욱 스마트한 머신의 수요가 일면서 향상된 머신 컨트롤 디자인 기술에 대한 요구가 강해질 것이다. 최신 하이브리드 프로세싱 기술을 이용하는 PAC과 임베디드 컨트롤러의 아키텍처가 여러 특정 PAC/PLC 또는 맞춤형 설계와 통합되어 컨트롤러 개수가 적은, 소프트웨어 설계 방식의 컨트롤러로 전환되면서, 머신 설계를 발전시키고 간소화되는 데 도움을 줄 수 있다.
차세대 임베디드 컨트롤러는 기존의 프로세스 환경에서 사용되던 툴들을 대체하지는 않을 것이다. 단, 이 컨트롤러는 차세대 스마트 머신에 이상적이며, 보다 간소화된 아키텍처로 시장 출시를 앞당기고자 하는 설계자들에게 최적화되어 있다.



Brett Burger NI 임베디드 시스템 시니어 제품 매니저









배너










주요파트너/추천기업