[기술기고] Diagnostics with EtherCAT- Part 2
최교식 2019-02-12 09:44:30

이전 기사에서 Working Counter로 EtherCAT 마스터 디바이스가 주기적으로 EtherCAT 슬레이브의 동작을 모니터링하는 메커니즘에 대해서 설명하였다. 주기적으로 모니터링하는 것 외에도, 일반적인 산업용 통신들은 해당 마스터가 하드웨어 및 슬레이브의 애플리케이션 프로그램에서 오류의 상태와 원인을 정확하게 감지 할 수 있게 하는 추가 진단 메커니즘을 제공한다.


일반적으로 산업용 통신의 경우, 특성 때문에 IOS/OSI 7계층 모델에서 물리 계층, 데이터 링크 계층 및 응용 계층만을 사용한다. (Fig.1)

 

Fig. 1: Simplified ISO/OSI model for fieldbus systems(사진. 트라이텍).


물리 계층 및 데이터 링크 계층 (Physical Layer and Data Link Layer)
EtherCAT 슬레이브 컨트롤러(ESC)에 하드웨어적으로 구현되어 있고, 프레임 라우팅, CRC 체크 및 슬레이브 내의 메모리 액세스와 같이 시간에 민감한 모든 기능을 처리한다.

 

애플리케이션 계층 (Application Layer)
애플리케이션 계층은 상태 머신(State Machine)관리와 주기, 비주기 데이터 교환 및 슬레이브 별 고유기능을 담당한다. EtherCA의 경우 이러한 기능들은 ESC와 인터페이스하는 마이크로 컨트롤러의 펌웨어로 구현된다.

 

EtherCAT은 ESC 메모리 내의 여러 레지스터 세트에 추가 정보를 제공한다. 이 레지스터의 주소와 의미는 표준화 되어 있기 때문에 모든 ESC에서 동일하다.

 

마스터는 네트워크 망에 연결된 특정 슬레이브에 제한되지 않고 표준화된 접근 절차를 통해 진단 정보를 읽을 수 있다.


Diagnosis in the ESC Address Space
마스트와 슬레이브 간의 데이터 교환은 슬레이브의 메모리 주소 영역 내에서 이루어지고,

(Fig. 2).

 

Fig. 2: Internal structure of the EtherCAT Slave Controller(ESC)(사진. 트라이텍)


이 ESC 내의 주소 공간은 논리적으로 두 영역으로 나뉜다.

 

User memory (address≥0x1000)

User memory는 프로세스 데이터와 메일 박스의 형태로 마스터와 슬레이브 간에 애플리케이션 데이터를 교환하기위한 듀얼 포트 RAM의 기능을 한다. 이 메모리 영역에 대한 액세스는 마스터와 로컬 애플리케이션 간의 일관된 데이터 교환을 보장하는 SyncManager라고하는 요소에 의해 조정된다.

 

Registers (address<0x1000)
이 메모리 영역은 슬레이브 동작을 구성, 제어 및 모니터링 하는 데 사용 되고 표준화된 구조를 가지고 있다. 마스터 응용 프로그램과 슬레이브 응용 프로그램 모두 이 메모리 영역에 직접 액세스 할 수 있다.  진단 정보 또한 이 영역의 일부를 사용하고, 하드웨어 정보와 응용 프로그램 정보로 나눌 수 있다.

 

Hardware Diagnostic Registers

EtherCAT 슬레이브는 각 포트의 물리적 링크 상태를 보고한다. 이 정보는 데이터 링크 상태 레지스터( ESC DL Status Register (0x0110:0x0111))에 제공된다. (Table 1)

 

(Table 1)(사진. 트라이텍)

 

포트에서 링크 손실이 감지 될 때마다 해당 Link Lost Counter가 증가한다. (Table 2).

 

(Table 2)(사진. 트라이텍)

 

Link Lost Counter는 슬레이브 결함, 케이블 단선 또는 느슨해진 연결과 같은 물리적인 연결 문제로 인해 증가한다. Link Lost Counter는 마스터 장치에 의해 초기화 시킬 수 있다. 전원을 켰을 때 또는 시운전 중에 발생할 수 있는 오류를 삭제하려면 카운터 모니터링을 시작하기 전에 초기화를 수행 해야 한다. 링크 상태는 포트의 루프 상태에 영향을 미치지만 이 루프상태는 프레임의 전달 방향에 영향을 미친다. 열려있는 프레임은 프레임을 바깥 쪽으로 라우팅하지만 닫힌 포트는 내부적으로 프레임을 다음 포트로 전달한다. DL Status Register는 각 포트의 루프 상태에 대한 정보도 보고한다. (Table 3).

 

(Table 3)(사진. 트라이텍)

 

Example 1 : Location of network Topology Changes

EtherCAT 마스터 장치는 브로드 캐스트 방식으로 슬레이브 상태를 읽는 것과 같은 주기적 프레임에 포함된 Working Counter 값을 확인하여 토폴로지가 변경된 것을 모니터링 할 수 있다. 이러한 명령에 대한 Working Counter 값의 변화는 네트워크 토폴로지의 변경을 의미한다. 변경이 발생한 위치를 감지하기 위해 마스터 장치는 각 슬레이브에서 DL Status Register를 읽는 일련의 유니 캐스트 명령을 보내고 모든 포트의 실제 루프 상태를, 구성된 네트워크 토폴로지에 따라 예상되는 값과 비교할 수 있다. (Fig. 3)

 

Fig. 3: Network Topology Change Detection and Location(사진. 트라이텍)


포워딩 프레임 외에도 EtherCAT 슬레이브 컨트롤러의 각 포트는 수신 프레임에 대해 CRC 평가를 수행한다. (Fig. 4)

 

Fig. 4: Each Open Port Performs CRC Evaluation on Incoming Frames(사진. 트라이텍).

 

CRC 오류는 전원 케이블이 필드 버스 연결부에 매우 가깝게 지나가는 경우 EMC 장애로 인한 데이터 손상의 결과로 발생할 가능성이 높다.

 

추가적으로 발생한 CRC 오류를 감지 한, 첫 번째 열린 포트는 이 포트(RX 오류 카운터, CRC 오류 카운터)에서 오류 카운터를 증가시키고 프레임에 니블을 추가하여 프레임이 손상된 것으로 표시 한다. (Table 4).

 

(Table 4)(사진. 트라이텍)

 

또한 다른 ESC는 Forwarded CRC Error Counters를 증가시킬 수 있다. 슬레이브가 포워딩 메커니즘을 지원하면, 잘못된 프레임을 수신한 첫 번째 포트는 CRC 오류 카운터를 증가시키고 프레임에 니블을 추가하여 프레임을 유효하지 않은 것으로 표시한다. 이후 프레임을 수신하는 모든 포트는 추가 니블을 인식하고 프레임의 데이터를 무시하고 전달된 CRC 오류 카운터 (Table 5)를 증가시킨다.

 

(Table 5)(사진. 트라이텍)

 

또한 CRC 및 Forwarded CRC Error Counters는 마스터 장치에서 초기화 할 수 있다.

 

이번 호에는 EtherCAT 마스터와 슬레이브에서 감지 할 수 있는 오류의 상태와 종류에 대해서 소개를 하였고, 다음 호에는 보다 다양한 상황에서 오류를 확인하는 방법에 대해서 소개할 예정이다.

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