2025년 9월 13일, 토요일

산업 통신 프로토콜 구현에서의 XML 적용기술(IV-1)

XML은 언어 자체의 특성상 플랫폼에 독립적이며, 정보의 표현 및 확장이 용이하여 분산된 필드상의 디바이스 정보들을 쉽게 통합할 수 있다. 데이터 구조와 스타일 정보가 분리되어 있어 통신 네트워크상의 기기들에 대한 DD 정보제공은 물론 웹 기반 애플리케이션에서도 동시에 활용 가능한 최적의 DD 언어로서 평가된다. < 편집자 주>
글: 문용선, 순천대학교 정보통신공학부
이영필, 레드원 테크놀러지㈜ 로봇연구소
지난 기고에서는 EtherCAT 시스템 상에서의 XML 적용 기술 중의 하나로서 디바이스 동기화 기술인 Distributed clock(“DC”)에 대한 전반적인 처리 구조와 DC를 사용 및 가동하기 위한 XML 설정 등에 대한 내용을 기술하였다. 이번 기고에서는 EtherCAT 시스템 상에서의 데이터 처리 구조에 대한 내용과 이에 대한 XML 인터페이스 기술에 대한 내용 중의 일부를 기술하고자 한다.
표준 EtherCAT 통신 메커니즘을 이해하기 위해서는 우선적으로 EtherCAT master와 slave 간에 송수신되는 Process data들의 처리구조에 대한 이해가 수반되어야 한다. 표준 EtherCAT 통신에서는 Sync manager로 기술되는 데이터처리 관리자를 통하여 모든 EtherCAT 통신상에서 송수신되는 모든 Process data들에 대한 접근을 제어하게 되는데 이러한 Sync manager에 대한 이해가 EtherCAT 통신 메커니즘을 이해하는데 가장 핵심이라 할 수 있다. 특히 EtherCAT 통신을 기반으로 하는 어플리케이션 개발자의 측면에서는 이러한 Sync manager의 구조 및 처리 방식에 대한 이해는 필수적인 항목이라 할 수 있다.
본 기고에서는 이와 같이 EtheCAT 통신 시스템 상에서 송수신되는 Process data 들에 대한 처리를 담당하는 Sync manager의 구조에 대한 전반적인 내용과 표준 EtherCAT 시스템 상에서 XML 인터페이스 기술을 이용한 Sync manager를 생성 및 가동설정에 대한 전반적인 내용을 기술하고자 한다.
EtherCAT Sync manager
EtherCAT 통신상에서 Sync manager는 EtherCAT master와 slave 간에 입출력 Process data 들에 대한 애플리케이션 처리 인터페이스를 담당한다. 세부적으로 말하면 Process data(=Actual data)들이 존재하는 애플리케이션 메모리의 특정 영역인 Sync manager channel에 대한 접근을 제한하여 EtherCAT 통신을 통하여 송수신되는 입출력 데이터를 제어한다.
그림 1은 ESC 내의 Sync manager에 대한 구조에 대한 내용을 나타낸다.
Sync manager는 ESC 내에 메모리상에 존재하게 되며, 입출력 채널의 생성 및 제어를 담당하는 Sync manager register와 입출력 Process data들이 저장되는 Sync manager channel들로 구분되어 사용된다.
2.1. Sync manager channel
Sync manager channel은 EtherCAT 입출력 Process data 들이 저장되는 특정 메모리 공간으로서 Sync manager register의 설정에 따라 다양한 형태 및 구조로서 생성 및 접근 제어된다. 표준 EtherCAT 프로토콜에서는 32개의 Sync manager channel을 정의하고 있다. 그러나 실제 사용되는 Sync manager chanel은 4개만을 사용하고 있다. 정의되어 사용되는 4개의 채널은 EtherCAT 통신상에서 Mailbox 통신 채널(2개 채널), Process data 통신 채널(2개 채널)로서 정의되어 사용이 된다.
Mailbox 통신은 물리적 어드레스를 기반으로 하는 비주기적인 데이터 교환 방식으로서 표준 EtherCAT 프로토콜에서는 Sync manager channel 0~1(SyncM0~ SyncM1)을 사용하도록 규정하고 있다. Process data 통신은 논리 어드레스를 기반으로 하는 주기적인 데이터 통신 방식으로서 실시간 파라미터들에 대한 제어 및 모니터링 시에 사용되는 방식이다. Process data 통신의 경우에는 Sync manager channel 2 ~3(SyncM2~SyncM3)번을 사용하도록 규정하고 있다.
다음의 표 1은 표준 EtherCAT 상에서 제시하는 Sync manager channel 사용 규정을 나타낸다.
2.2. Sync manager register
Sync manager register는 EtherCAT Master와 slave 간의 송수신 Process data의 입출력 교환 방식(Process data 모드 또는 Mailbox 모드), 인터럽트 구성, 와치독 설정 등에 대한 전반적인 사항을 관장한다. 8byte로 구성된 하나의 Sync manager register는 6개의 세부 레지스터들로 구성되어 있으며, 하나의 Sync manager register는 하나의 Sync manager channel을 제어하므로 모두 4개의 Sync manager register가 존재한다. 각각의 Sync manager register들은 ESC 메모리상의 “0x0800 ~ 0x0807 (SyncM0)” 에서부터 “0x0818 ~ 0x081F (SyncM3)” 어드레스 번지에 존재하고 있다. Sync manager register를 구성하는 세부 레지스터들에 대한 기본적인 포맷은 그림 2와 같다.
Sync manager register를 구성하는 6개의 세부 레지스터들에 대한 기본적인 내용은 표 2와 같다.
표 2와 같은 Sync manager register들 중 Status SYNCM과 PDI CTRL SYNCM 레지스터를 제외한 모든 레지스터들은 EtherCAT slave device XML configuration 파일 내에서 사전에 설정해 주어야 한다.
EtherCAT XML configuration 파일에서의 Sync manager 설정
EtheCAT slave device XML configuration은 표준 EtherCAT Schema configuration 파일의 구조를 기반으로 하고 있다. Sync manager의 경우 EtherCAT Schema configuration 내에 “Sm” 엘리먼트로 정의되어 있으므로 Slave device XML configuration 파일 내에서의 설정 역시 Sm 엘리먼트를 기준으로 일련의 설정 과정이 이루어진다.
3.1. Sync manager 생성
EtherCAT slave device XML configuration 파일 내의 Sm 엘리먼트를 통하여 가장먼저 이루어지는 설정 과정은 어플리케이션 상에서 사용할 Sync manager의 생성하는 것이다. Sm 엘리먼트의 수는 Sync manager의 생성 수를 의미하므로 “Sm” 엘리먼트의 생성을 통하여 표준 EtherCAT 통신 프로토콜에서 규정하는 4개의 Sync manger의 생성이 가능하다.
생성된 4개의 Sync manger는 생성 순서에 따라 정해진 채널 구동모드를 가진다. Sync manager에 대한 순서별 채널 구동 모드는 표 3과 같다.
3.2. Sync manager 크기 설정
= Register Length SYNCM y 설정
Sync manager의 크기는 곧 Sync manager channel들의 크기를 의미한다. Sync manager channel들에 대한 크기 설정은 표준 EtherCAT Schema configuration 파일 상에서 3가지의 속성으로서 정의하고 있다.(표 4)
Mailbox 통신모드(=SyncM0~1)의 경우 위와 같은 채널크기 지정은 필수사항이다. 그러나 Process data 통신모드(=SyncM2~3)의 경우 입출력 Process data의 크기가 바로 Sync manager channel의 크기로 지정되므로 설정이 필요로 하지 않는다. 실제 작성된 EtherCAT slave device XML configuration 파일내의 설정은 그림 4와 같으며 설정된 구성은 ESC 내의 “Length SyncM(0~3) register”에 세팅되어 인지된다.
3.3. Sync manager 어드레스 설정
= Register physical start address SYNCM y 설정
Sync manger의 시작 어드레스란 Process data를 저장하는 Sync manager channel들의 메모리 어드레스로서 물리적 어드레스를 사용하는 Mailbox 통신모드의 경우에는 설정된 어드레스가 직접 접근되며, 논리적 어드레스를 사용하는 Process data 통신모드의 경우 FMMU를 통한 물리적 어드레스 매핑 과정 후 접근된다. ESC 상에서 사용될 수 있는 어드레스는 0x1000~ 0x1FFF 번지 이내로 제한되며, 해당 범위 내에서 사용자가 임의로 지정이 가능하다. Sync manager의 시작 어드레스 설정은 ESC 내의 “Physical start address SYNCM(0~3) register” 세팅되어 인지된다.
아이씨엔 매거진 2007년 02월호



.
이 기사는 아이씨엔매거진에서 발행되었습니다. 더 많은 기사를 아이씨엔매거진(링크)에서 확인하실 수 있습니다.        
K-BATTERY_SHOW 2025
오윤경 기자
오윤경 기자http://icnweb.co.kr
아이씨엔매거진 온라인 뉴스 에디터입니다. 오토메이션과 클라우드, 모빌리티, 공유경제, 엔지니어 인문학을 공부하고 있습니다. 보도자료는 아래 이메일로 주세요. => news@icnweb.co.kr
K-BATTERY_SHOW 2025
ACHEMA 2027
fastechEcat
ASI

Join our Newsletter

Get the latest newsletters on industry innovations.

오토모션

Related articles

가트너 “2029년까지 모든 프리미엄 스마트폰에 생성형 AI 탑재될 것”

2026년 생성형 AI 스마트폰 최종 사용자 지출 32%, 출하량...

슈나이더 일렉트릭 코리아, ‘집씨통’ 키우기로 지속가능성 실천

  (사)노을공원시민모임과 함께 마포구 노을공원 숲 가꾸기 봉사활동 에너지 관리...

기자의 추가 기사

IIoT

오토모션
fastechEcat

추천 기사

mobility