기존의 전용 하드웨어 기반 PLC 구현 방식의 한계를 극복하는 방안으로 최근에 범용 하드웨어 상에서 표준화된 PLC 언어를 이용해 모션 제어 응용을 구현하는 소프트웨어 기반 PLC 시스템이 각광받고 있다. 또한 모션 제어 응용의 다양한 산업 분야 활용에 따라 증대된 시스템 복잡도에 대응하면서도 응용을 손쉽게 개발할 수 있는 통합개발환경의 필요성도 날로 커지고 있다. 한편 기존의 저속 필드 버스를 대신하는 분산 제어 네트워크 기술로 저비용으로 대용량, 고속 통신 지원이 가능한 산업용 Ethernet 기술이 주목받고 있다. 본 논문에서는 오픈 소스 소프트웨어 형태의 PLC 통합개발환경인 Beremiz를 확장하여 주요 산업용 Ethernet 기술 중 하나인 EtherCAT 기반의 실시간 다축 동기 모션 제어 응용 개발 및 관리 기능을 설계, 구현하였다. 또한 상용 EtherCAT 모터 드라이브와 평가 보드와의 연동을 통하여 EtherCAT 시스템 관리 기능의 동작과 다축 제어의 실시간성 보장 여부를 검증하였다.
기존의 전용 하드웨어 기반 PLC 구현 방식의 한계를 극복하는 방안으로 최근에 범용 하드웨어 상에서 표준화된 PLC 언어를 이용해 모션 제어 응용을 구현하는 소프트웨어 기반 PLC 시스템이 각광받고 있다. 또한 모션 제어 응용의 다양한 산업 분야 활용에 따라 증대된 시스템 복잡도에 대응하면서도 응용을 손쉽게 개발할 수 있는 통합개발환경의 필요성도 날로 커지고 있다. 한편 기존의 저속 필드 버스를 대신하는 분산 제어 네트워크 기술로 저비용으로 대용량, 고속 통신 지원이 가능한 산업용 Ethernet 기술이 주목받고 있다. 본 논문에서는 오픈 소스 소프트웨어 형태의 PLC 통합개발환경인 Beremiz를 확장하여 주요 산업용 Ethernet 기술 중 하나인 EtherCAT 기반의 실시간 다축 동기 모션 제어 응용 개발 및 관리 기능을 설계, 구현하였다. 또한 상용 EtherCAT 모터 드라이브와 평가 보드와의 연동을 통하여 EtherCAT 시스템 관리 기능의 동작과 다축 제어의 실시간성 보장 여부를 검증하였다.
Recently, software-based programmable logic controller (PLC) systems, which are implemented in standard PLC languages on general hardware, are gaining popularity because they overcome the limitations of classical hardware PLC systems. Another noticeable trend is that the use of integrated developmen...
Recently, software-based programmable logic controller (PLC) systems, which are implemented in standard PLC languages on general hardware, are gaining popularity because they overcome the limitations of classical hardware PLC systems. Another noticeable trend is that the use of integrated development environment (IDE) is becoming important. IDEs can help developers to easily manage the growing complexity of modern control systems. Furthermore, industrial Ethernet, e.g. EtherCAT, is becoming widely accepted as a replacement for conventional fieldbuses in the distributed control domain because it offers favorable features such as short transmission delay, high bandwidth, and low cost. In this paper, we implemented the extension of open source IDE, called Beremiz, for developing EtherCAT-based real-time, synchronized motion control applications. We validated the EtherCAT system management features and the real-time responsiveness of the control function by using commercial EtherCAT drives and evaluation boards.
Recently, software-based programmable logic controller (PLC) systems, which are implemented in standard PLC languages on general hardware, are gaining popularity because they overcome the limitations of classical hardware PLC systems. Another noticeable trend is that the use of integrated development environment (IDE) is becoming important. IDEs can help developers to easily manage the growing complexity of modern control systems. Furthermore, industrial Ethernet, e.g. EtherCAT, is becoming widely accepted as a replacement for conventional fieldbuses in the distributed control domain because it offers favorable features such as short transmission delay, high bandwidth, and low cost. In this paper, we implemented the extension of open source IDE, called Beremiz, for developing EtherCAT-based real-time, synchronized motion control applications. We validated the EtherCAT system management features and the real-time responsiveness of the control function by using commercial EtherCAT drives and evaluation boards.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
에서 이미 Beremiz에 EtherCAT 기능을 연동하였으나, 이는 런타임 환경에 대응하는 모션 제어 응용 개발 자동화에 초점을 둔 초기 연구로 다양한 EtherCAT 관리 기능, 장치 설정 등을 지원하지 못한다는 한계가 있었다. 따라서 본 연구에서는 앞선 선행연구를 바탕으로 응용개발부터 장치 및 네트워크 관리, 모니터링, 사후 실시간 성능 검증까지 단일 인터페이스를 통한 통합된 환경을 제공하고자 한다.
본 논문에서는 대표적인 오픈 소스 소프트웨어 솔루션인 IgH EtherCAT 마스터 스택(8)의 EtherCAT 통신 기능을 통합개발환경에 연동하는 작업을 수행하였다. IgH EtherCAT 마스터 스택의 동작 환경은 리눅스 계열 운영체제이며, Xenomai, RTAI 등과 같이 실시간성을 보장하는 리눅스 기반 환경에서도 동작한다.
본 논문은 동기 모션 제어 응용을 위한 통합개발환경인 Beremiz에 EtherCAT 네트워크 및 관리 기능을 활용할 수 있도록 확장, 구현하였다. 또한 상용 모터 드라이브로 구성된 모션 제어 시스템과 연동해서 동작을 확인하고, 모션 시스템 내에서 실행되는 제어 응용의 실시간성을 평가할 수 있는 기능을 구현하였다.
본 연구에서는 Beremiz의 플러그인 구조를 활용하여 다음과 같은 설계 목표를 가지고 EtherCAT 지원 기능을 설계, 구현하고자 한다.
본 연구에서는 IEC 61131-3 기반의 PLC 응용을 위한 오픈 소스 소프트웨어 기반 통합 개발환경인 Beremiz(7)를 확장하여 EtherCAT 기반의 실시간 다축 동기 모션 제어 응용 개발 기능을 구현하였다. 확장 구현된 통합 개발환경은 제어기에서 수행될 런타임 응용 개발 도구 외에도 개발자 편의를 위해 상용 도구에서 제공하는 수준의 주요 EtherCAT 네트워크 관리 기능 및 장치 관리 기능 등을 포함한다.
제안 방법
(16) 이 값은 각 모터 드라이브에 내장된 System Time Difference 레지스터의 값을 확인하여 판단할 수 있다. EtherCAT 마스터 스택에서는 각 모터 드라이브의 System Time Difference 값 중 최대값을 반환하는 API를 제공하므로, 이를 이용해 모터 드라이브 간 동기화의 정확도를 확인할 수 있는 기능을 구현하였다. API 함수 실행의 결과값은 응용 실행 시 제어기의 메모리 영역에 저장되며, 실행이 완료된 후 통합개발환경의 사용자 인터페이스를 이용해 확인할 수 있다.
구현된 관리기능들은 통합개발환경 내의 EtherCAT 플러그인 구조에 저장된 정보를 이용하거나 Fig. 1의 과정 (6)과 같이 PYRO 채널을 통해 제어기로부터 원격으로 필요한 정보를 받아오는 형태로 구현하였다. 그리고 구현된 EtherCAT 관리기능의 수행 결과를 검증하기 위해 Fig.
제어기에서의 제어 명령 전송 주기의 균일성을 측정하기 위해서는 통합개발환경의 EtherCAT 마스터 플러그인에 개발자가 측정할 성능의 항목을 설정할 수 있는 기능을 추가하였다. 그리고 제어기 CPU의 현재 시간을 반환하는 함수인 rt_timer_read를 이용하여 제어 태스크의 시작 시점과 프레임 전송 요청이 끝난 시점의 타임스탬프 값을 각각 읽어 메모리에 기록한 후, 응용 수행이 끝난 후 일괄적으로 텍스트 파일 형태로 결과를 저장하도록 구현하였다. 측정이 완료된 후에는 PYRO 채널을 통해 제어기로부터 측정 데이터를 수신하도록 하였다.
확장 구현된 통합 개발환경은 제어기에서 수행될 런타임 응용 개발 도구 외에도 개발자 편의를 위해 상용 도구에서 제공하는 수준의 주요 EtherCAT 네트워크 관리 기능 및 장치 관리 기능 등을 포함한다. 또한 개발된 응용 실행 후 해당 시스템의 실시간 성능의 보장여부를 개발자가 쉽게 확인할 수 있는 분석 기능도 추가로 구현하였다.
본 논문은 동기 모션 제어 응용을 위한 통합개발환경인 Beremiz에 EtherCAT 네트워크 및 관리 기능을 활용할 수 있도록 확장, 구현하였다. 또한 상용 모터 드라이브로 구성된 모션 제어 시스템과 연동해서 동작을 확인하고, 모션 시스템 내에서 실행되는 제어 응용의 실시간성을 평가할 수 있는 기능을 구현하였다. 본 논문에서 제안하는 통합 개발환경은 동기 모션 제어 응용을 작성하고 제어 응용을 생성하여 제어기에서 수행한 뒤 수행한 결과를 평가할 수 있는 기능을 단일 프로그램에서 지원하므로 개발자에게 보다 편리한 환경을 제공할 수 있다.
먼저 프레임 기반 동기화의 성능 평가를 위해서는 제어기단에서 응용이 설정된 제어 주기마다 정확히 수행이 되는지를 나타내는 제어 주기의 편차(Jitter)와 여러 개의 모터 드라이브에서 실제 제어기가 전송한 제어 명령이 수신된 시간 주기를 측정하였다.
IgH EtherCAT 마스터 스택은 기본적인 장치 설정 및 네트워크 관리 기능을 포함하는 커맨드 라인 툴을 제공하고 있다. 본 연구에서는 기존의 Beremiz 기능 중 모션 제어기에 실행 바이너리 또는 원격 실행 명령을 전송하는 통신 채널인 PYRO(PYthon Remote Object)를 이용하여 사용자가 GUI를 통해 내린 관리 명령을 제어기 상에서 동작하는 마스터 응용과 연동하여 실행할 수 있도록 하였다.
상용 모터 드라이브의 외부 인터페이스 및 장비 설정상 한계로, 이 실험은 실험 측정 코드 삽입이 용이한 TI AM3359 ICE EtherCAT 슬레이브 평가보드 4대를 이용하여 수행하였다. 성능 평가를 위하여 개발용 보드에서 동작하는 응용을 수정하여 제어기로부터 EtherCAT 프레임이 수신될 때 GPIO 인터페이스를 통해 이벤트 신호를 외부로 발생시키도록 하였으며 이 신호를 오실로스코프로 캡쳐하여 결과를 확인하였다.
이 결과는 제어 주기의 1 % 내외에 해당하는 결과로, 통합 개발환경으로 구현된 모션 제어 응용이 설정된 제어 주기에 맞춰 상당히 높은 수준으로 정밀하게 수행됨을 확인할 수 있다. 제어기 단에서의 측정 외에도 실제 여러 개의 슬레이브(모터 드라이브)에서 제어 명령 수신 주기를 측정하여 시스템 전체의 실시간 동기 성능도 확인하였다. 상용 모터 드라이브의 외부 인터페이스 및 장비 설정상 한계로, 이 실험은 실험 측정 코드 삽입이 용이한 TI AM3359 ICE EtherCAT 슬레이브 평가보드 4대를 이용하여 수행하였다.
제어기에서의 제어 명령 전송 주기의 균일성을 측정하기 위해서는 통합개발환경의 EtherCAT 마스터 플러그인에 개발자가 측정할 성능의 항목을 설정할 수 있는 기능을 추가하였다. 그리고 제어기 CPU의 현재 시간을 반환하는 함수인 rt_timer_read를 이용하여 제어 태스크의 시작 시점과 프레임 전송 요청이 끝난 시점의 타임스탬프 값을 각각 읽어 메모리에 기록한 후, 응용 수행이 끝난 후 일괄적으로 텍스트 파일 형태로 결과를 저장하도록 구현하였다.
그리고 제어기 CPU의 현재 시간을 반환하는 함수인 rt_timer_read를 이용하여 제어 태스크의 시작 시점과 프레임 전송 요청이 끝난 시점의 타임스탬프 값을 각각 읽어 메모리에 기록한 후, 응용 수행이 끝난 후 일괄적으로 텍스트 파일 형태로 결과를 저장하도록 구현하였다. 측정이 완료된 후에는 PYRO 채널을 통해 제어기로부터 측정 데이터를 수신하도록 하였다. 개발환경에서는 수신한 측정 데이터를 가공하여 측정값의 평균, 표준편차, 최소값, 최대값과 함께 시간 분포 그래프 및 확률밀도함수를 표시하도록 구현하였다.
대상 데이터
제어기 단에서의 측정 외에도 실제 여러 개의 슬레이브(모터 드라이브)에서 제어 명령 수신 주기를 측정하여 시스템 전체의 실시간 동기 성능도 확인하였다. 상용 모터 드라이브의 외부 인터페이스 및 장비 설정상 한계로, 이 실험은 실험 측정 코드 삽입이 용이한 TI AM3359 ICE EtherCAT 슬레이브 평가보드 4대를 이용하여 수행하였다. 성능 평가를 위하여 개발용 보드에서 동작하는 응용을 수정하여 제어기로부터 EtherCAT 프레임이 수신될 때 GPIO 인터페이스를 통해 이벤트 신호를 외부로 발생시키도록 하였으며 이 신호를 오실로스코프로 캡쳐하여 결과를 확인하였다.
성능/효과
3.1절에 제시된 설계 목표에 따라 Beremiz EtherCAT 플러그인은 ESI 파일을 활용하는 루트 플러그인, EtherCAT 통신 구조에 따른 마스터 플러그인과 슬레이브 플러그인, 그리고 EtherCAT 통신을 이용할 수 있는 응용을 위한 코드 생성 모듈로 나뉘어 구현되었다. 계층적으로 구현된 플러그인 및 내부 모듈은 Python 클래스 단위로 구분되며 하위 클래스는 상위 클래스로부터 상속을 받아 필요한 자료구조들을 내부적으로 유지한다.
또한 상용 모터 드라이브로 구성된 모션 제어 시스템과 연동해서 동작을 확인하고, 모션 시스템 내에서 실행되는 제어 응용의 실시간성을 평가할 수 있는 기능을 구현하였다. 본 논문에서 제안하는 통합 개발환경은 동기 모션 제어 응용을 작성하고 제어 응용을 생성하여 제어기에서 수행한 뒤 수행한 결과를 평가할 수 있는 기능을 단일 프로그램에서 지원하므로 개발자에게 보다 편리한 환경을 제공할 수 있다.
8μs 인 것을 확인할 수 있다. 이 결과는 제어 주기의 1 % 내외에 해당하는 결과로, 통합 개발환경으로 구현된 모션 제어 응용이 설정된 제어 주기에 맞춰 상당히 높은 수준으로 정밀하게 수행됨을 확인할 수 있다. 제어기 단에서의 측정 외에도 실제 여러 개의 슬레이브(모터 드라이브)에서 제어 명령 수신 주기를 측정하여 시스템 전체의 실시간 동기 성능도 확인하였다.
첫째, EtherCAT 플러그인은 기본적으로 실행가능한 제어 응용을 제작함에 있어서 EtherCAT 마스터 스택과 연동되기 위한 실행 코드를 기반으로 작성되어야 한다. EtherCAT 마스터 스택에서는 EtherCAT 통신을 이용한 응용 수행을 위해 초기화 및 실행과 관련된 사용자 레벨 API를 제공하므로 이를 이용하여 런타임 코드를 자동 생성한 후 실행 바이너리에 포함시키도록 한다.
9는 3대의 슬레이브 장치에 대해 DC 메커니즘을 활성화한 후 System Time Difference를 확인한 결과로 DC 이벤트 발생 주기를 1,000μs 로 설정하고 실행된 결과이다. 해당 결과를 통하여볼 때 시간 오차의 평균값은 50 ns, 최대값은 391 ns 이며, 40 ns 의 표준편차를 보임을 확인할 수 있다. 이 결과는 모터 드라이브들 간에 상당히 정밀한 수준의 동기화가 이루어지고 있음을 보여 준다.
후속연구
Felser의 연구 (2)에 따르면, 다축 동기 모션 제어와 같이 높은 정밀도를 요구하는 응용의 경우 최소 1,000μs 이하의 짧은 제어 주기로 동작해야 한다. 따라서, 본 연구에서 구현한 통합개발환경을 이용하여 개발된 동기 모션 제어 응용이 주어진 실시간 요구 조건을 충족시킬 수 있는지에 대한 성능 평가 및 검증작업이 필요하다.
향후 연구로는 실제 현장에서 사용되는 수준의 복잡도를 가진 동기 모션 제어 응용을 대상으로 다양한 실시간 성능 지표를 측정, 분석하는 것을 계획하고 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
기존의 전용 하드웨어 기반 PLC 구현방식의 단점은?
다축 동기 모션 제어 시스템은 산업 자동화, 첨단 의료 로봇, 자동차, 국방 등과 같은 다양한 산업 분야에서 사용되고 있으며 그 중요성이 날로 커지고 있다. 그러나, 기존의 전용 하드웨어 기반 PLC(Programmable Logic Controller) 구현방식은 제조사간 호환성의 부재, 유지/보수 비용의 증가, 시스템 확장성의 제약에 따른 한계성을 보이고 있다. 이러한 한계를 극복하기 위해 최근에는 범용 하드웨어 상에서 IEC 61131-3(1)으로 대표되는 개방형 표준에 정의된 PLC 언어를 이용해 제어 응용을 구현하는 소프트웨어 PLC 방식이 많이 사용되기 시작했다.
다축 동기 모션 제어 시스템은 어디에 사용되는가?
다축 동기 모션 제어 시스템은 산업 자동화, 첨단 의료 로봇, 자동차, 국방 등과 같은 다양한 산업 분야에서 사용되고 있으며 그 중요성이 날로 커지고 있다. 그러나, 기존의 전용 하드웨어 기반 PLC(Programmable Logic Controller) 구현방식은 제조사간 호환성의 부재, 유지/보수 비용의 증가, 시스템 확장성의 제약에 따른 한계성을 보이고 있다.
기존의 전용 하드웨어 기반 PLC 구현방식의 단점을 극복하기 위해 사용되기 시작한 방식은?
그러나, 기존의 전용 하드웨어 기반 PLC(Programmable Logic Controller) 구현방식은 제조사간 호환성의 부재, 유지/보수 비용의 증가, 시스템 확장성의 제약에 따른 한계성을 보이고 있다. 이러한 한계를 극복하기 위해 최근에는 범용 하드웨어 상에서 IEC 61131-3(1)으로 대표되는 개방형 표준에 정의된 PLC 언어를 이용해 제어 응용을 구현하는 소프트웨어 PLC 방식이 많이 사용되기 시작했다.
Kim, I. and Kim, T., 2012, "Employing Open-source Software for Development of Open Industrial Automation Systems," Proc. of the KSME IT Convergence Division Spring conference, pp. 139-140.
Tisserant, E., Bessard, L. and Sousa, M., 2007, "An Open Source IEC 61131-3 Integrated Development Environment," Proc. of the 5th IEEE Conference on Industrial Informatics (INDIN), Vol. 1, pp. 183-187.
IgH, IgH EtherCAT Master for Linux, http://www.etherlab.org/.
Catalan, C., Serma, F., Civera, T., Blesa, A. and Rams, J. M., 2011, "Control Design for Machine Tools Using Domiciano, an IDE Based on Software Components.," Proc. of the 16th IEEE Conference on Emerging Technologies & Factory Automation (ETFA), p. 1-4.
Kwon, S., Cho, H. and Shin, D., 2010, "Software Development Environment Design in Robot Device Operation Based on IEC61131-3," Proc. of the 12th International Conference on Advanced Communication Technology (ICACT), Vol. 2, pp. 1216-1219.
Estevez, E., Marcos, M. and Orive, D., 2006, "Building PLC Automation Projects from IEC 61131-3 Software Architecture," Proc. of the 3rd IEEE International Workshop on Factory Communication Systems (WFCS), pp. 362-367.
Lee, J., Kim, C., Kim, I. and Kim, T., 2013, "Design and Implementation of EtherCAT Plug-In for IEC 61131-3 Compliant PLC Application IDE," Proc. of the KSME IT Convergence Division Spring conference, pp. 41-42.
EtherCAT Technology Group Std., 2013, "ETC.2000: EtherCAT Slave Information Specification v.1.2.4.4."
EtherCAT Technology Group Std., 2012, "ETG.6010: Implementation Directive for CiA402 Drive Profile v.1.0.0."
CAN in Automation (CiA): CANOpen, http://www.can-cia.de/index.php?idcanopen/.
Seo, S., Yoo, P. and Sung, M., 2012, "Performance Evaluation of EtherCAT Distributed Clock for Networked Automation Systems," Proc. of the KSME IT Convergence Division Spring Conference, pp. 141-142.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.