KR20150058943A - EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템 - Google Patents

EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템 Download PDF

Info

Publication number
KR20150058943A
KR20150058943A KR1020130142312A KR20130142312A KR20150058943A KR 20150058943 A KR20150058943 A KR 20150058943A KR 1020130142312 A KR1020130142312 A KR 1020130142312A KR 20130142312 A KR20130142312 A KR 20130142312A KR 20150058943 A KR20150058943 A KR 20150058943A
Authority
KR
South Korea
Prior art keywords
task
node
nodes
simulation
time
Prior art date
Application number
KR1020130142312A
Other languages
English (en)
Other versions
KR101552119B1 (ko
Inventor
진현욱
이상헌
김강희
석종수
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020130142312A priority Critical patent/KR101552119B1/ko
Publication of KR20150058943A publication Critical patent/KR20150058943A/ko
Application granted granted Critical
Publication of KR101552119B1 publication Critical patent/KR101552119B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템에 관한 것으로, 환경설정 파일을 읽어들여 시뮬레이터 커널(200)로 인가하는 인풋 파일 파서(100); 복수개의 node에 대한 위상을 변경해 가면서 시뮬레이션을 수행하는 시뮬레이터 커널(200); 시뮬레이션 수행을 위한 각 node 정보들을 저장하는 노드 오브젝트(300); 및 시뮬레이션 수행중에 생성되는 모든 이벤트들을 아웃풋 파일로 저장하고, 각 node간 최적의 위상 정보를 도출하는 로그 매니저(400);를 포함한다.
상기 본 발명에 따르면, 고정 우선순위 스케줄링기법으로 스케줄링 되는 주기적 태스크들의 집합이 각 node에 존재하는 상황을 모델링하고, node사이의 내부동작(polling 과 interrupt 두 모드에서 발생하는 네트워크 이벤트 핸들링, 네트워크 디바이스에서의 메시지 큐잉 및 DMA)를 고려하며, 실시간 네트워크에서 발생하는 통신 지연시간을 계산함으로써, 노드간 최적의 위상차를 도출하는 효과가 있다.

Description

EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템{OPTIMAL PHASING OF NODES SEARCH SYSTEM FOR EtherCAT}
본 발명은 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템에 관한 것으로 더욱 상세하게는, 하나의 마스터와 다수의 슬레이브 노드들로 구성된 EtherCAT을 구성하여 분산 노드들간의 종단 지연시간 및 기계 작동 지터에 대한 최적의 위상을 도출하는 기술에 관한 것이다.
EtherCAT이나 PROFINET 같은 최근의 산업용 네트워크는 높은 정확도의 클럭 동기화를 지원한다. 따라서 이런 특징은 분산node에 존재하는 태스크들의 적절한 위상차를 조정할 수 있는 가능성을 제공한다.
예를 들어 EtherCAT distributed clock은 나노초 단위의 에러율을 가지는 동기화를 제공하고, PROFINET는 Precision Transparent Clock Protocol (PTCP)를 클럭 동기화를 위해 제공한다.
이러한 정확한 클럭 동기화 기법들은 분산 node들에서 의존적으로 동작하는 태스크들에게 정확한 위상차를 제공할 수 있는 기회를 제공한다(예를 들어, multi-axis motion controls).
대한민국 공개특허 2011-0072009호(로봇 통신용 통합 네트워크 시스템 및 그의 운용 방법)에는, 이더캣 네트워크 시스템에서 생성된 이더캣 네트워크 메시지를 캔 프레임으로 변환하여 캔 네트워크 시스템에 전달하거나, 캔 네트워크 시스템이 전달한 캔 프레임을 이더캣 네트워크 메시지로 변환하여 이더캣 네트워크 시스템에 전달하는 데이터 변환 장치를 포함하는 구성이 개시된바 있다.
그러나, 전술한 선행특허와 지금껏 많은 연구들은 글로벌 클럭을 가정하지 않고, 각 node에서 최악 태스크 위상차만을 고려하였기 때문에, 분산node에서 최적의 node 위상차를 도출하지 못하는 문제점이 있다.
따라서, 본 발명은 분산 node들 간의 작은 종단 node 지연시간과 작은 기계 작동 지터를 가지는 최적 node 간 위상을 찾는 시뮬레이션 툴을 통해, 전체적으로 각 node의 태스크 스케줄링, 메시지 전송, DMA, I/O 이벤트 핸들링을 위한 시뮬레이터를 제공한다.
또한, 불필요한 위상은 시뮬레이션을 수행하지 않고 건너뛰어 시뮬레이션 시간을 줄임으로써, 케이스 스터디를 통해 제안된 시뮬레이션 툴이 효과적으로 분산node에서 최적 node 위상차를 도출한다.
본 발명의 목적은, 고정 우선순위 스케줄링기법으로 스케줄링 되는 주기적 태스크들의 집합이 각 node에 존재하는 상황을 모델링하고, node사이의 내부동작(polling 과 interrupt 두 모드에서 발생하는 네트워크 이벤트 핸들링, 네트워크 디바이스에서의 메시지 큐잉 및 DMA)를 고려하며, 실시간 네트워크에서 발생하는 통신 지연시간을 계산함으로써, 노드간 최적의 위상차를 도출하는데 그 목적이 있다.
이러한 기술적 과제를 달성하기 위한 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템은, 환경설정 파일을 읽어들여 시뮬레이터 커널(200)로 인가하는 인풋 파일 파서(100); 복수개의 node에 대한 위상을 변경해 가면서 시뮬레이션을 수행하는 시뮬레이터 커널(200); 시뮬레이션 수행을 위한 각 node 정보들을 저장하는 노드 오브젝트(300); 및 시뮬레이션 수행중에 생성되는 모든 이벤트들을 아웃풋 파일로 저장하고, 각 node간 최적의 위상 정보를 도출하는 로그 매니저(400);를 포함한다.
상기 본 발명에 따르면, 고정 우선순위 스케줄링기법으로 스케줄링 되는 주기적 태스크들의 집합이 각 node에 존재하는 상황을 모델링하고, node사이의 내부동작(polling 과 interrupt 두 모드에서 발생하는 네트워크 이벤트 핸들링, 네트워크 디바이스에서의 메시지 큐잉 및 DMA)를 고려하며, 실시간 네트워크에서 발생하는 통신 지연시간을 계산함으로써, 노드간 최적의 위상차를 도출하는 효과가 있다.
도 1은 본 발명에 따른 위상들의 최적 조합을 위한 시스템 모델을 도시한 도면.
도 2는 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템을 도시한 구성도.
도 3은 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템(S)의 시뮬레이션 횟수 저감을 위한 조건을 도시한 도면.
도 4는 본 발명에 따른 종단 지연시간이 마스터와 슬레이브의 위상증가에 따라 변화에 따라 변화하는 것을 도시한 예시도.
도 5는 본 발명에 따른 최소 종단 지연시간을 갖는 node 위상 조합을 도시한 도면.
도 6은 본 발명에 따른 최소 엑추에이터 지터의 node 위상 조합을 도시한 도면.
도 7은 본 발명에 따라 35번째 슬레이브 node에서 상관관계 상태가 변화하는 대상 지점들만 측정한 결과를 도시한 도면.
도 8은 본 발명에 따른 도 7의 측정결과를 점으로 연결하여 얻은 나머지 값들을 도시한 도면.
본 발명의 구체적인 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한, 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.
먼저, 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템의 이해를 돕기 위한 시스템 모델에 대해 살피면 아래와 같다.
A. Node Model
본 발명에 따른 모든 슬레이브 node들은 같은 태스크 집합을 가지는 것으로 상정하겠으나, 본 발명이 이에 국한되는 것은 아니며, 마스터 node는 슬레이브 node들과 달리 다른 태스크 집합을 가질 수 있다.
또한, 본 발명에 따른 node m의 태스크들은
Figure pat00001
로 정의되며, 여기서 n은 마스터(m = 0)와 슬레이브들(1≤m≤N)이 서로 다를 수 있다(즉, 다른 태스크 셋을 가질 수 있다).
또한, 각 태스크를 무한한 job들을 순서대로 발생시키는데,
Figure pat00002
Figure pat00003
태스크의 j번째 job이다.
Figure pat00004
의 시작시간은
Figure pat00005
로 정의하고 첫 번째 job의 시작시간, 즉
Figure pat00006
Figure pat00007
의 위상이라 부르며 이것을
Figure pat00008
로 정의한다.
또한, 본 발명에 따른 시뮬레이션 프레임워크는 크리티컬 인스턴스(모든 태스크가 0에 시작한다)를 가정하고, 모든 node들은 싱글 프로세서를 구비한 것으로 상정한다.
또한, 위상들의 최적 조합은 도 1에 도시된 바와 같이
Figure pat00009
로 표현된다. node 위상
Figure pat00010
은 0과
Figure pat00011
사이에 존재할 수 있다. 여기서,
Figure pat00012
은 node m에 존재하는 모든 태스크들의 주기의 최소공배수 이다.
또한, 태스크 스케줄링 알고리즘을 위해 RM과 같은 고정 우선순위 스케줄링을 가정하는데, 각 태스크가 고정된 우선순위를 가지고 있기 때문에, 낮은 우선순위의 태스크 실행이 더 높은 우선순위의 태스크에 의해 선점 될 수 있다. 따라서
Figure pat00013
로 표현되는
Figure pat00014
의 응답시간(실행시간의 끝)은 선점시간을 반영한다.
또한, 본 발명에 따른 태스크 모델은 보편적으로 많은 산업용 네트워크에서 사용되는 실제시나리오를 반영하기 위해 node 안에 존재하는 태스크들 중 오직 하나의 태스크만 네트워크 디바이스를 접근 할 수 있다고 가정한다.
많은 산업용 네트워크 프로토콜들이 태스크들 간의 multiplexing과 de-multiplexing 을 지원하지 않기 때문에 이것의 근거가 된다. 게다가, 이름에서 의미하듯이 오직 마스터 node만 메시지 전송을 수행한다.
각 슬레이브 node는 오직 전송 받은 메시지를 다른 node로 전달 할 때만 메시지에 어떤 정보를 끼워 넣을 수 있다. 하지만, 슬레이브 node가 메시지를 전송할 수는 없다. 일단 마스터 node의 전송 태스크가 메시지를 생성하고 이것을 네트워크 디바이스로 전달하면, 메시지는 네트워크 디바이스의 큐잉 딜레이(
Figure pat00015
)를 겪은 후 네트워크로 전송된다. 비슷하게, 메시지가 슬래이브 node에 도착하면, 메시지가 수신 태스크에 전달되기 전에 메시지 핸들 타임(
Figure pat00016
)이 요구된다.
B. Network Model
본 발명은 node간 통신을 위해 EtherCAT과 같은 실시간 필드 버스를 가정하였고, EtherCAT은 다음과 같은 2가지 디자인선택을 통해 결정적인 통신 지연을 제공한다.
첫 번째는 인접한 두 node가 daisy-chain manner형태의 직접 연결되어 있는 것이다. 즉, m과 m+1 node 사이에 어떤 간섭도 없으며 따라서 링크에 패킷 충돌이 없다는 것을 의미한다.
두 번째는 각 슬레이브 node가 store-and-forward switching(패킷을 node에 일단 저장한 후 다시 패킷을 네트워크 카드를 이용해 전송하는 것)이 아닌 웜 홀 스위칭 역할을 수행하여 패킷을 슬레이브 m-1에서 슬래이브 m+1로 전달하는 것이다.
이 하드웨어 레벨에서 구현된 스위칭 구현 기법은 내부적인 소프트웨어 작업으로 인해 발생되는 종단 node 간 지연시간을 줄일 수 있는 기회를 제공한다. 결과로써, EtherCAT은 마스터와 슬레이브node m까지의 예측 가능한 통신지연시간을 제공할 수 있고, 이것은 아래의 [수학식 1]에 의해 분석된다.
[수학식 1]
Figure pat00017
여기서,
Figure pat00018
은 마스터 node의 메모리 슬레이브 node m의 메모리까지의 통신지연이고,
Figure pat00019
는 마스터 node 네트워크 디바이스가 총 메시지 사이즈 s를 전송하는데 걸리는 시간이다.
또한,
Figure pat00020
은 슬레이브 node가 하나의 메시지를 다음 node로 전송하는 시간이며, 이것은 메시지 사이즈에 관계없이 1us의 일정한 값을 가진다.
또한,
Figure pat00021
는 슬레이브 node의 네트워크 컨트롤러가 s사이즈의 메시지를 수신하는 시간이다.
본 발명에 따른 시뮬레이션 프레임워크는 상기 [수학식 1]을 적용함에 따라 마스터 node의 초기태스크의 시작시간부터 슬레이브 node의 기계작동태스크가 작업을 완료하는 시간은 [수학식 2]와 같이 표현할 수 있다.
[수학식 2]
Figure pat00022
여기서,
Figure pat00023
는 마스터 node의 초기태스크의 시작시간부터 전송태스크의 종료시간과 큐잉타임
Figure pat00024
을 합한 시간까지 이며,
Figure pat00025
은 메시지가 슬레이브 node m에 도착한 시간부터 기계작동태스크가 작업을 종료한 시점까지의 지연시간이다.
상기 [수학식 2]에서 중요한 점은 오직
Figure pat00026
만이 node 위상
Figure pat00027
을 반영한다는 것이다. 따라서,
Figure pat00028
값을 변경함으로써, 종단지연시간 및 기계 작동 지터를 최소화할 수 있다.
정리하면, 본 발명에 따른 시뮬레이터 프레임워크에서 분석하기 위한 성능지표는, 종단지연시간, 기계 작동 지터 및 시뮬레이션 시간 동안 패킷 드롭을 일으키지 않을 가능한 한 최소한의 네트워크 큐 사이즈 q이다. 즉,
Figure pat00029
이다.
이하, 도 2를 참조하여 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템이 node 위상들
Figure pat00030
에서 최적 node 위상조합을 도출하면서 대상 성능지표를 살피면 아래와 같다.
도 2에 도시된 바와 같이, 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템(S)은, 인풋 파일 파서(100), 시뮬레이터 커널(200), node objects(300) 및 로그 매니저(400)를 포함하여 구성된다.
이하에서는 그 구체적인 언급을 생략하겠으나, node의 수, 태스크 셋, 네트워크 대역폭, 메시지 사이즈, 이벤트 핸들링 모드 등과 같은 환경변수들은 XML포멧으로 구성된 환경설정 파일로 미리 설정되어 있다.
먼저, 인풋 파일 파서(100)는 초기화시 환경설정 파일을 읽어들여 시뮬레이터 커널(200)로 인가한다.
또한, 시뮬레이터 커널(200)은 복수개의 node에 대한 위상을 변경해 가면서 시뮬레이션을 수행한다.
또한, 노드 오브젝트(300)는 시뮬레이션 수행을 위한 각 node 정보들을 저장한다.
그리고, 로그 매니저(400)는 시뮬레이션 수행중에 생성되는 모든 이벤트들을 아웃풋 파일로 저장하여 각 node간 최적의 위상 정보를 도출한다.
구체적으로, 본 발명의 시뮬레이터 커널(200)은 클럭 에뮬레이터(210), CPU 에뮬레이터(220), 및 network 에뮬레이터(230)로 구성된다.
먼저, 클럭 에뮬레이터(210)는 동기화된 글로벌 클럭을 시뮬레이트 하고(예를 들어, EtherCAT 의 distributed clock), 그리고 매 시뮬레이션 마다 카운터를 증가시킨다.
또한, CPU 에뮬레이터(220)는 실시간을 각 node의 모든 태스크 수행을 제어하되, scheduler에 의해 기 설정된 태스크가 선택되면, 작업 실행기(task executer)가 선택된 태스크의 작업정보를 기초하여 선택된 태스크의 행동을 에뮬레이트 한다.
이때, 작업이 전송중인 경우, task executer가 작업의 실행시간 마지막에 네트워크 디바이스로 메시지를 전송하라는 명령을 보낸다.
반면에, 작업이 수신중인 경우는, task executer가 자신의 작업의 시작시간에 메시지 큐에 존재하는 자신의 메시지를 수신한다.
또한, 작업 부여가 기계 작동인 경우, task executer가 태스크의 완료시간에 기계 작동이 발생했다고 알린다.
그리고, 부여된 작업이 기타인 경우, task executer가 태스크 컨트롤 블록인 etime을 증가시키는 기능을 수행한다.
한편, network 에뮬레이터(230)는 네트워크 디바이스 동작(메시지 전송, DMA 또는 인터럽트 발생)을 시뮬레이션 하되, 인터럽트 모드 또는 폴링모드로 이벤트 핸들링을 수행한다.
이때, network 에뮬레이터(230)가 폴링모드로 구동하는 경우, 수신태스크가 시작될 때 이벤트 핸들링이 수행되며, 이에 따라 network 에뮬레이터(230)가 수신 메시지를 수신 큐에 아무런 통지 없이 전송한다.
반면에, network 에뮬레이터(230)가 인터럽트 모드로 구동하는 경우, 인터럽트 발생 신호를 CPU 에뮬레이터(220)에게 전달함에 따라 인터럽트 핸들러 발생하여 현재 동작하고 있는 태스크를 즉시 선점하도록 구동된다.
한편, 노드 오브젝트(300)는 시뮬레이션 수행을 위한 node의 런큐, 메시지큐 및 네트워크 컨트롤러 상태정보를 포함하는 각 node 정보들을 저장한다.
구체적으로, 런큐는 태스크 컨트롤 블록들을 저장하며, 저장되는 태스크 컨트롤 블록은
Figure pat00031
,
Figure pat00032
,
Figure pat00033
, 작업임무 및 해당하는 태스크가 실행하는 시간의 양을 포함하며, 본 발명에서는 이를 'etime'이라고 명명한다.
여기서, 작업임무는 송신, 수신, 기계작동 및 기타의 4개 카테고리로 구성되며 각 정보는 태스크의 행동을 결정한다.
또한, etime 변수는 현재주기에서 태스크가 소모하는 시간을 나타내고, message queue는 아직 네트워크로 송신되지 않은 메시지나 수신태스크에 의해 소모되지 않은 네트워크 메시지들을 저장한다.
또한, 큐는 자신의 시간 t에 대한 길이를
Figure pat00034
로 나타내고 시뮬레이션의 종료 시점에 자신의 최대 큐 길이를 출력한다.
그리고, 네트워크 컨트롤러는 대역폭 정보를 기반으로 자신과 전송할 메시지가 남아있는 바이트들에 대한 메시지 전송 속도를 결정한다.
이하, 도 3을 참조하여 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템(S)의 시뮬레이션 횟수 저감을 위한 조건을 도시한 도면이다.
시뮬레이터가 가능한 모든 위상조합들에 대한 모든 단계의 동작들을 시뮬레이션 한다면, 최적 위상조합을 찾기 위서 많은 검색 시간이 소요되게 된다.
최적의 위상조합을 찾기 위한 검색시간은 node의 개수와 위상 범위에 따라 증가하고, 이는 디스크 IO 성능에 영향을 받는 log manager로 인해 시뮬레이터의 오버헤드에 중대한 영향을 미치게 된다.
이에 따라, 위상조합 개수를 줄이기 위해 모든 가능한 위상조합들의 정보를 수집한 결과, 단일 node의 위상이 다른 node의 종단지연시간에 영향을 미치지 않는다는 것을 도출하였다.
즉, 시뮬레이션을 위해 모든 node들의 위상들을 함께 고려하지 않아도 되며, 각 node의 위상을 독립적으로 집중할 수 있어 시뮬레이션 loop을 줄이는 것이 가능하다.
또한, 시뮬레이션 동안 종단 지연시간이 위상이 증가 할수록 증가한다는 점을 확인하였고, 더욱이 위상이 증가할수록 어떤 점에서 종단 지연시간이 어느 기간 동안 일정한 값이 나오거나, 급격히 값이 떨어지는 현상을 확인하였다.
이러한 분석결과, 도 3과 같은 상태를 도출하였고, 한 위상에서 다음 위상으로 옮겨질 때 도 3의 상태가 변경되면 종단 지연시간의 트렌드는 변경될 수 있다는 것을 확인하였다. 따라서, 도 3의 상태가 변하는 적은 개수의 위상조합만 시뮬레이션 하여 시뮬레이션 loop을 현저히 줄일 수 있었다.
한편, 도 4는 종단 지연시간이 마스터와 슬레이브의 위상증가에 따라 변화에 따라 변화하는 것을 도시한 예시도이다.
도 4에 도시된 바와 같이, 종단 지연시간은 대체로 증가하나, 상태가 S1에서 S4로 변화는 지점부터 S2에서 S1으로 변하는 지점에서는 값이 일정하고, 상태가 S4에서 S3로 변하는 지점은 선이 끊기면서 값이 급격히 감소하는 것을 알 수 있다.
그리고, [표 1]은 본 발명에 따라 슬레이브 node들에서 수행시킨 태스크 셋을 도시한 것이고, [표 2]는 환경설정 인자 값들을 도시한 것이다.
[표 1] 및 [표 2]와 같은 환경으로 시뮬레이션을 수행한 결과, 도 5 및 도 6과 같은 최고의 종단 지연시간과 기계 작동 지터를 갖는 각각의 node 위상조합을 도출하였다.
[표 1]
Figure pat00035
[표 2]
Figure pat00036
또한, 태스크 셋에 대한 최적 위상 조합의 의미를 더하기 위해, 기본 태스크 셋(케이스1) 외에 3개의 태스크 셋을 더 실험 하였다.
케이스2는 RtMsg 태스크가 가장 높은 우선순위를 가지고 MotorAct 태스크가 2번째 우선순위를 가지고, 케이스 3 RtMsg 의 실행시간을 21~30us 로 늘렸고 케이스4는 MotorAct 의 실행시간을 49~70us 로 증가시켰다.
한편, [표 3]과 [표 4]는 도 5와 도 6에 도시된 node 위상조합에서 측정된 종단 지연시간과 기계 작동 지터를 보여준다.
[표 3]
Figure pat00037
[표 4]
Figure pat00038
즉, 본 발명은 태스크의 실행시간을 최대값과 최소값을 고려했기 때문에, 종단 지연시간과 기계 작동 지터 또한 최대값과 최소값을 도출할 수 있었다.
또한, 도 5 및 도 6에 도시된 바와 같이, 최소 종단 지연시간이 최소 엑추에이션 지터를 보장하지 않는다는 것을 확인할 수 있다. 엑추에이션 지터는 오직 모든 node에서 MotorAct 태스크가 종료되는 시점만을 고려하기 때문에, 최소 엑추에이터 지터는 마스터 node로부터 전송되는 메시지가 거의 같은 위상차를 가지는 node들에서 동작하는 엑추에이션 태스크가 시작되기 전에 도착해야 얻을 수 있다. 하지만 이것은 종단 지연시간의 증가를 불러온다.
전술한 바와 같이, 최적 위상을 도출하는 시간을 줄이기 위해 예측이 가능하거나 불필요한 위상들을 건너뛰어 시뮬레이션을 수행하였다.
도 7은 35번째 슬레이브 node에서 상관관계 상태가 변화하는 대상 지점들만 측정한 결과를 도시한 도면이고, 도 8은 도 7의 점들을 연결하여 얻은 나머지 값들을 도시한 도면이다.
전술한 바와 같이, 본 발명에 따른 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템(S)을 통해 시뮬레이션 loop을 현저히 줄여 검색시간을 단축할 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등 물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
S: EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템
100: 인풋 파일 파서 200: 시뮬레이션 커널
210: 클럭 에뮬레이터 220: CPU 에뮬레이터
230: network 에뮬레이터 300: 노드 오브젝트
400: 로그 매니저

Claims (4)

  1. 환경설정 파일을 읽어들여 시뮬레이터 커널(200)로 인가하는 인풋 파일 파서(100);
    복수개의 node에 대한 위상을 변경해 가면서 시뮬레이션을 수행하는 시뮬레이터 커널(200);
    상기 시뮬레이션 수행을 위한 각 node 정보들을 저장하는 노드 오브젝트(300); 및
    상기 시뮬레이션 수행중에 생성되는 모든 이벤트들을 아웃풋 파일로 저장하고, 각 node간 최적의 위상 정보를 도출하는 로그 매니저(400);를 포함하는 것을 특징으로 하는 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템.
  2. 제1항에 있어서,
    상기 시뮬레이터 커널(200)은,
    동기화된 글로벌 클럭을 시뮬레이트 하고, 매 시뮬레이션 마다 카운터를 증가시키는 클럭 에뮬레이터(210);
    실시간을 각 node의 모든 태스크 수행을 제어하되, scheduler에 의해 기 설정된 태스크가 선택되면, 작업 실행기(task executer)가 선택된 태스크의 작업정보를 기초하여 선택된 태스크의 작업을 에뮬레이트하는 CPU 에뮬레이터(220); 및
    네트워크 디바이스 동작(메시지 전송, DMA 또는 인터럽트 발생)을 시뮬레이션 하되, 인터럽트 모드 또는 폴링모드로 이벤트 핸들링을 수행하는 network 에뮬레이터(230);를 포함하는 것을 특징으로 하는 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템.
  3. 제2항에 있어서,
    상기 CPU 에뮬레이터(220)는,
    작업이 전송중인 경우, task executer가 작업의 실행시간 마지막에 네트워크 디바이스로 메시지를 전송하라는 명령을 전송하고,
    작업이 수신중인 경우, task executer가 자신의 작업의 시작시간에 메시지 큐에 존재하는 자신의 메시지를 수신하며,
    작업 부여가 기계 작동인 경우, task executer가 태스크의 완료시간에 기계 작동이 발생하였음을 알리고,
    부여된 작업이 기타인 경우, task executer가 태스크 컨트롤 블록인 etime을 증가시키는 기능을 수행하되,
    상기 etime은 작업임무 및 해당하는 태스크가 실행하는 시간의 양을 포함하는 것을 특징으로 하는 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템.
  4. 제2항에 있어서,
    상기 network 에뮬레이터(230)는,
    폴링모드로 구동하는 경우, 수신태스크가 시작될 때 이벤트 핸들링을 수행하여 수신 메시지를 수신 큐로 전송하고,
    인터럽트 모드로 구동하는 경우, 인터럽트 발생 신호를 상기 CPU 에뮬레이터(220)로 전달하여 인터럽트 핸들러 발생에 따라 현재 동작하고 있는 태스크를 즉시 선점하도록 제어하는 것을 특징으로 하는 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템.
KR1020130142312A 2013-11-21 2013-11-21 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템 KR101552119B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130142312A KR101552119B1 (ko) 2013-11-21 2013-11-21 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130142312A KR101552119B1 (ko) 2013-11-21 2013-11-21 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템

Publications (2)

Publication Number Publication Date
KR20150058943A true KR20150058943A (ko) 2015-05-29
KR101552119B1 KR101552119B1 (ko) 2015-09-11

Family

ID=53393039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130142312A KR101552119B1 (ko) 2013-11-21 2013-11-21 EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템

Country Status (1)

Country Link
KR (1) KR101552119B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644751B1 (ko) * 2015-06-10 2016-08-01 경북대학교 산학협력단 분산 임베디드 시스템의 통합 시뮬레이션을 위한 메시지 브로커 장치 및 이의 동작 방법
KR102011215B1 (ko) * 2018-05-02 2019-08-14 세종대학교산학협력단 유비쿼터스 센서 네트워크의 시뮬레이션 및 에뮬레이션 환경

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4627491B2 (ja) * 2005-01-19 2011-02-09 株式会社イマジオム クラスタコンピュータミドルウェアプログラム、クラスタコンピュータシミュレータプログラム、クラスタコンピュータ用アプリケーションプログラム、およびアプリケーションプログラム開発支援方法
KR101179431B1 (ko) * 2011-06-17 2012-09-05 전자부품연구원 이더캣 네트워크 시스템 및 이의 운용 방법
EP2664933B1 (de) * 2012-05-15 2014-06-25 Omicron electronics GmbH Testgerät, Testsystem und Verfahren zum Testen eines energietechnischen Prüflings

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644751B1 (ko) * 2015-06-10 2016-08-01 경북대학교 산학협력단 분산 임베디드 시스템의 통합 시뮬레이션을 위한 메시지 브로커 장치 및 이의 동작 방법
KR102011215B1 (ko) * 2018-05-02 2019-08-14 세종대학교산학협력단 유비쿼터스 센서 네트워크의 시뮬레이션 및 에뮬레이션 환경

Also Published As

Publication number Publication date
KR101552119B1 (ko) 2015-09-11

Similar Documents

Publication Publication Date Title
Zhang et al. Task-and network-level schedule co-synthesis of Ethernet-based time-triggered systems
Henriksson et al. Cyber-physical systems modeling and simulation with Modelica
US8543263B2 (en) Distributed avionics
EP2816425B1 (en) Control device, image processing device, control method, computer-readable recording medium, and program
US20170329632A1 (en) Device scheduling method, task manager and storage medium
JP6359098B2 (ja) 分散リアルタイムシステムにおいて周期的なタスクの間で適時にデータを引き渡す方法
JP2016194830A (ja) 制御装置
Puck et al. Distributed and synchronized setup towards real-time robotic control using ROS2 on Linux
Carvajal et al. Evaluation of communication architectures for switched real-time ethernet
KR101552119B1 (ko) EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템
Kyriakakis et al. A time-predictable open-source TTEthernet end-system
KR101704751B1 (ko) 모듈 간의 타이밍 정보를 이용하는 멀티코어 시스템의 시뮬레이터, 및 그 시뮬레이션 방법
WO2016189709A1 (ja) コントローラ
Le et al. Timed-automata based schedulability analysis for distributed firm real-time systems: a case study
US20110188520A1 (en) Method for operating a time-controlled bus system
JP4961589B2 (ja) ネットワークシステムおよびスレーブ同期方法
US20220286267A1 (en) Control system, information processing device, and non-transitory computer readable medium
Frühwirth et al. TTEthernet SW-based end system for AUTOSAR
Boehm et al. Real-time-shift: Pseudo-real-time event scheduling for the split-protocol-stack radio-in-the-loop emulation
Gabel et al. QoS-adaptive control in NCS with variable delays and packet losses-a heuristic approach
Carvajal et al. A TDMA Ethernet switch for dynamic real-time communication
CN112737815B (zh) 一种动态配置网络模拟器事件队列的方法及系统
Oujezsky et al. Case study and comparison of SimPy 3 and OMNeT++ Simulation
Lee et al. Phasing of periodic tasks distributed over real-time fieldbus
Lee et al. A simulation tool for optimal phasing of nodes distributed over industrial real-time networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 5