KR102034468B1 - 중계 장치, 중계 방법 및 기억 매체에 저장된 중계 프로그램 - Google Patents

중계 장치, 중계 방법 및 기억 매체에 저장된 중계 프로그램 Download PDF

Info

Publication number
KR102034468B1
KR102034468B1 KR1020197014661A KR20197014661A KR102034468B1 KR 102034468 B1 KR102034468 B1 KR 102034468B1 KR 1020197014661 A KR1020197014661 A KR 1020197014661A KR 20197014661 A KR20197014661 A KR 20197014661A KR 102034468 B1 KR102034468 B1 KR 102034468B1
Authority
KR
South Korea
Prior art keywords
data
token
node
time
transmitter
Prior art date
Application number
KR1020197014661A
Other languages
English (en)
Other versions
KR20190059996A (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 미쓰비시덴키 가부시키가이샤
Publication of KR20190059996A publication Critical patent/KR20190059996A/ko
Application granted granted Critical
Publication of KR102034468B1 publication Critical patent/KR102034468B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

제 1 수신부(1104)는, 타임 트리거 방식의 노드 1로부터 제 1 데이터를 수신하고, 제 2 수신부(1106)는, 토큰 패싱 방식의 노드 2로부터 제 2 데이터와 토큰을 수신하고, 제 1 송신부(1105)는, 제 2 데이터를 노드 1에 송신하고, 제 2 송신부(1107)는, 토큰을 유지하고 있을 때에 제 1 데이터를 노드 2에 송신한다. 기준 시간 관리부(1103)는, 제 2 송신부가 토큰을 유지하고 있을 때의 제 1 데이터의 수신으로부터 토큰의 다음의 수신까지의 시간을 기준 시간으로서 취득한다. 통신 제어부(1102)는, 기준 시간 이상이고 토큰의 허용 유지 시간 미만인 통신 주기에서 제 1 데이터의 수신을 반복하여 행하게 하고, 상기 통신 주기에서 제 2 데이터의 송신을 반복하여 행하게 하고, 토큰의 수신마다, 허용 유지 시간의 범위 내에서 노드 2에 제 1 데이터가 송신될 때까지 제 2 송신부로 하여금 토큰을 유지하게 한다.

Description

중계 장치, 중계 방법 및 기억 매체에 저장된 중계 프로그램
본 발명은, 데이터를 중계하는 기술에 관한 것이다.
FA(Factory Automation) 네트워크 시스템에서는, 정주기 통신(fixed-cycle communication)이 행하여진다. 정주기 통신에서는, 노드의 제어를 위해 정해진 통신 주기마다 통신이 행하여진다. 정주기 통신의 방법으로서는, 타임 트리거 방식과 토큰 패싱 방식이 있다. 타임 트리거 방식에서는, 노드마다 미리 스케줄링된 송신 간격으로 데이터의 송신이 행하여진다. 또한, 토큰 패싱 방식에서는, 복수의 노드의 각각에 토큰이 차례로 건네어지고, 토큰을 취득한 노드만이 데이터의 송신권을 취득한다. 그리고, 송신권을 갖는 노드만이 데이터의 송신을 행한다.
타임 트리거 방식으로 통신을 행하는 네트워크와 토큰 패싱 방식으로 통신을 행하는 네트워크를 중계하는 중계 장치는, 타임 트리거 방식으로 통신을 행하는 네트워크와의 통신 인터페이스와, 토큰 패싱 방식으로 통신을 행하는 네트워크와의 통신 인터페이스를 갖는다. 그리고, 중계 장치는, 한쪽의 통신 인터페이스로 타임 트리거 방식의 통신을 행하고, 다른 쪽의 통신 인터페이스로 토큰 패싱 방식의 통신을 행한다.
특허문헌 1에서는, 타임 트리거 방식으로 통신을 행하는 네트워크와 이벤트 드리븐 방식으로 통신을 행하는 네트워크의 사이에서 통신을 중계할 때에, 중계 지연을 억제하는 방식이 기재되어 있다.
특허문헌 1에서는, 구체적으로는, 타임 트리거 방식의 노드로부터 정기적으로 송신되는 우선도가 높은 동기 프레임을 이벤트 드리븐 방식의 노드가 수신한다. 그리고, 이벤트 드리븐 방식의 노드는, 동기 프레임의 수신 타이밍에 데이터를 송신한다. 이와 같이 함으로써, 이벤트 드리븐 방식의 노드로부터의 데이터의 송신 간격이 거의 일정해진다. 그리고, 이 이벤트 드리븐 방식의 노드의 송신 간격에 근거하여, 중계 장치에 데이터 송신 간격이 설정되고, 중계 지연이 억제된다.
특허문헌 1 : 일본 특허 공개 2011-109452호 공보
특허문헌 1에 기재된 방식을, 타임 트리거 방식의 네트워크와 토큰 패싱 방식의 네트워크를 중계하는 중계 장치에 적용하는 경우를 생각한다.
토큰 패싱 방식에서는, 중계 장치는, 토큰을 유지하고 있는 동안에만, 타임 트리거 방식의 노드로부터의 데이터를 토큰 패싱 방식의 노드에 송신할 수 있다. 타임 트리거 방식의 노드에서는, 중계 장치가 토큰을 유지하고 있는 타이밍을 파악할 수 없다. 이 때문에, 중계 장치가 토큰을 유지하고 있는 타이밍에 맞추어 타임 트리거 방식의 노드가 중계 장치에 데이터를 송신하는 것은 곤란하다.
또한, 중계 장치는, 타임 트리거 방식에서의 송신 타이밍이 도래했을 때만, 토큰 패싱 방식의 노드로부터의 데이터를 타임 트리거 방식의 노드에 송신할 수 있다. 또한, 전술한 바와 같이, 토큰 패싱 방식의 노드에서는, 토큰을 유지하고 있는 동안에만 데이터를 송신할 수 있다. 이 때문에, 중계 장치가 타임 트리거 방식의 노드에 데이터를 송신하는 타이밍에 맞추어 토큰 패싱 방식의 노드가 중계 장치에 데이터를 송신하는 것은 곤란하다.
또한, 만일, 중계 장치가 토큰을 유지하고 있는 타이밍에 맞추어 타임 트리거 방식의 노드가 중계 장치에 데이터를 송신할 수 있고, 또한, 중계 장치가 타임 트리거 방식의 노드에 데이터를 송신하는 타이밍에 맞추어 토큰 패싱 방식의 노드가 중계 장치에 데이터를 송신할 수 있는 경우에도, 토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생하면 중계 지연이 발생한다. 다시 말해, 타임 트리거 방식의 노드의 통신 타이밍과 토큰 패싱 방식의 노드의 통신 타이밍의 사이에 어긋남이 발생한다. 그리고, 통신 타이밍의 사이에 어긋남이 발생한 경우는, 타임 트리거 방식의 네트워크에 있어서 사이클 타임(통신 주기)이 변경되지 않는 한 중계 지연이 남는다.
토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생한 경우의 중계 지연을, 도 8을 참조하여 설명한다.
도 8에 있어서, 노드 1(201)은, 타임 트리거 방식에 대응한 통신 기기이다. 노드 2(202)는, 토큰 패싱 방식에 대응한 통신 기기이다. 중계 장치(200)는, 노드 1(201)과 노드 2(202)의 사이의 통신을 중계한다.
또한, 중계 장치(200)의 I/F 1은, 타임 트리거 방식에 대응한 통신 인터페이스이다. 또한, 중계 장치(200)의 I/F 2는, 토큰 패싱 방식에 대응한 통신 인터페이스이다.
노드 2(202)는, 토큰을 유지하고 있는 동안에 데이터(801)를 중계 장치(200)에 송신한다. 중계 장치(200)는, 데이터(801)를 수신한다. 그리고, 중계 장치(200)는, 타임 트리거 방식에 있어서의 송신 타이밍이 도래했을 때에, 데이터(801)를 데이터(802)로서 노드 1(201)에 송신한다. 이 단계에서는, 중계 장치(200)에 있어서의 데이터(801)의 수신과 데이터(802)의 송신의 사이에는 지연이 거의 없다.
노드 1(201)은, 송신 타이밍이 되면, 데이터(803)를 중계 장치(200)에 송신한다. 중계 장치(200)는, 토큰을 유지하고 있으므로, 데이터(803)를 데이터(804)로서 노드 2(202)에 송신한다. 이 단계에서는, 중계 장치(200)에 있어서의 데이터(803)의 수신과 데이터(804)의 송신의 사이에는 지연이 거의 없다.
이와 같이, 이 단계에서는, 중계 장치(200)가 노드 1(201)에 데이터를 송신하는 타이밍에 맞추어 노드 2(202)가 중계 장치(200)에 데이터를 송신할 수 있다. 또한, 중계 장치(200)가 토큰을 유지하고 있는 타이밍에 맞추어 노드 1(201)이 중계 장치(200)에 데이터를 송신할 수 있다.
여기서, 토큰 패싱 방식의 네트워크에 일시적으로 지연이 발생한 것으로 한다.
이 지연에 의해, 중계 장치(200)에 있어서의 노드 2(202)로부터의 데이터의 수신 타이밍과 노드 1(201)로의 데이터의 송신 타이밍이 어긋난다. 이 때문에, 중계 장치(200)로부터 노드 1(201)로의 송신 타이밍(데이터(805)의 송신 타이밍)에는 데이터(806)는 중계 장치(200)에 도달하여 있지 않다. 따라서, 중계 장치(200)는, 데이터(806)는 송신할 수 없고, 데이터(801)를 데이터(805)로서 노드 1(201)에 송신한다.
중계 장치(200)는, 데이터(806)를 수신하고, 노드 1(201)로의 다음의 송신 타이밍에 데이터(806)를 데이터(807)로서 노드 1(201)에 송신한다. 이 때문에, 중계 장치(200)에 있어서 약 1주기의 중계 지연이 발생한다(부호 808). 다시 말해, 중계 장치(200)에서는, 데이터(806)의 수신으로부터 데이터(807)의 송신까지의 사이에, 타임 트리거 방식에서의 송신 간격과 동일한 정도의 지연이 발생하고 있다. 그리고, 타임 트리거 방식에서의 사이클 타임(통신 주기)을 변경하지 않으면, 이후에도, 이 지연이 유지된다(부호 809).
또한, 토큰 패싱 방식의 네트워크에서의 지연에 의해, 중계 장치(200)에 있어서의 노드 1(201)로부터의 데이터의 수신 타이밍과 토큰을 유지하고 있는 시간이 어긋난다. 구체적으로는, 노드 1(201)로부터 데이터(810)가 중계 장치(200)에 도달했을 때에는, 중계 장치(200)는 토큰을 이미 내버려두고 있다. 중계 장치(200)는, 다음에 토큰을 취득한 후에, 데이터(810)를 데이터(811)로서 노드 2(202)에 송신한다. 다시 말해, 중계 장치(200)에서는, 데이터(810)의 수신으로부터 데이터(811)의 송신까지의 사이에, 토큰의 수신 주기와 동일한 정도의 지연이 발생하고 있다(부호 812). 그리고, 타임 트리거 방식에서의 사이클 타임(통신 주기)을 변경하지 않으면, 이후에도, 이 지연이 유지된다(부호 809).
본 발명에서는, 이와 같은 과제를 해결하는 것을 주된 목적으로 한다. 보다 구체적으로는, 본 발명은, 타임 트리거 방식으로 통신을 행하는 제 1 통신 기기와, 토큰 패싱 방식으로 통신을 행하는 제 2 통신 기기의 사이에서 통신을 중계하는 경우에, 토큰 패싱 방식으로 통신을 행하는 네트워크에서 통신 지연이 발생하더라도, 제 1 통신 기기가 통신 주기를 변경하는 일 없이 중계 지연을 억제할 수 있는 구성을 얻는 것을 주된 목적으로 한다.
본 발명과 관련되는 중계 장치는,
타임 트리거 방식으로 통신을 행하는 제 1 통신 기기로부터 제 1 데이터를 수신하는 제 1 수신부와,
토큰 패싱 방식으로 통신을 행하는 제 2 통신 기기로부터 제 2 데이터와 토큰을 수신하는 제 2 수신부와,
상기 제 2 데이터를 상기 제 1 통신 기기에 송신하는 제 1 송신부와,
상기 토큰을 유지하고 있을 때에 상기 제 1 데이터를 상기 제 2 통신 기기에 송신하는 제 2 송신부와,
상기 제 2 송신부가 상기 토큰을 유지하고 있을 때에 상기 제 1 수신부가 상기 제 1 데이터를 수신한 경우에, 상기 제 1 데이터의 수신으로부터 상기 제 2 수신부에 의한 상기 토큰의 다음의 수신까지의 시간을 기준 시간으로서 취득하는 기준 시간 관리부와,
상기 기준 시간 이상이고 상기 토큰의 허용 유지 시간 미만인 통신 주기에서 상기 제 1 수신부에 상기 제 1 데이터의 수신을 반복하여 행하게 하고, 상기 통신 주기에서 상기 제 1 송신부에 상기 제 2 데이터의 송신을 반복하여 행하게 하고, 상기 제 2 수신부에 의한 상기 토큰의 수신마다, 상기 허용 유지 시간의 범위 내에서 상기 제 2 송신부가 상기 제 2 통신 기기에 상기 제 1 데이터를 송신할 때까지 상기 제 2 송신부로 하여금 상기 토큰을 유지하게 하는 통신 제어부를 갖는다.
본 발명에서는, 중계 장치가, 토큰의 수신마다, 허용 유지 시간의 범위 내에서 제 2 통신 기기에 제 1 데이터를 송신할 때까지 토큰을 유지한다. 이 때문에, 본 발명에 따르면, 토큰 패싱 방식으로 통신을 행하는 네트워크에서 통신 지연이 발생하더라도, 제 1 통신 기기가 통신 주기를 변경하는 일 없이 중계 지연을 억제할 수 있다.
도 1은 실시의 형태 1과 관련되는 중계 장치의 하드웨어 구성의 예를 나타내는 도면이다.
도 2는 실시의 형태 1과 관련되는 중계 장치의 기능 구성의 예를 나타내는 도면이다.
도 3은 실시의 형태 1과 관련되는 사이클 타임의 설정을 위한 통신 시퀀스를 나타내는 도면이다.
도 4는 실시의 형태 1과 관련되는 사이클 타임의 설정을 위한 통신 시퀀스를 나타내는 도면이다.
도 5는 실시의 형태 1과 관련되는 토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생한 경우의 통신 시퀀스를 나타내는 도면이다.
도 6은 실시의 형태 1과 관련되는 중계 장치의 동작의 예를 나타내는 플로차트이다.
도 7은 실시의 형태 1과 관련되는 중계 장치의 동작의 예를 나타내는 플로차트이다.
도 8은 토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생한 경우의 중계 지연을 나타내는 도면이다.
이하, 본 발명의 실시의 형태에 대하여, 도면을 이용하여 설명한다. 이하의 실시의 형태의 설명 및 도면에 있어서, 동일한 부호를 붙인 것은, 동일한 부분 또는 상당하는 부분을 나타낸다.
실시의 형태 1.
***구성의 설명***
도 1은 본 실시의 형태와 관련되는 중계 장치(100)의 하드웨어 구성의 예를 나타낸다.
또한, 도 2는 본 실시의 형태와 관련되는 중계 장치(100)의 기능 구성의 예를 나타낸다.
먼저, 도 1을 참조하여, 중계 장치(100)의 하드웨어 구성의 예를 설명한다.
중계 장치(100)는, 하드웨어로서, 프로세서(1001), 기억 장치(1002) 및 통신 장치(1003)를 구비하는 컴퓨터이다.
기억 장치(1002)에는, 도 2에 나타내는 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 기능을 실현하는 프로그램이 기억되어 있다.
그리고, 프로세서(1001)가 이들 프로그램을 실행하여, 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 동작을 행한다.
도 2에서는, 프로세서(1001)가 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 기능을 실현하는 프로그램을 실행하고 있는 상태를 모식적으로 나타내고 있다.
통신 장치(1003)는, 도 2에 나타내는 바와 같이 제 1 통신 인터페이스(1108)와 제 2 통신 인터페이스(1109)를 구비한다. 제 1 통신 인터페이스(1108)는, 타임 트리거 방식의 네트워크와의 인터페이스이다. 제 2 통신 인터페이스(1109)는, 토큰 패싱 방식의 네트워크와의 인터페이스이다. 또, 도면에서는, 제 1 통신 인터페이스(1108)는, I/F 1이라고도 표기하고, 제 2 통신 인터페이스(1109)는, I/F 2라고도 표기한다.
중계 장치(100)에서 행하여지는 동작은 중계 방법 및 중계 프로그램에 상당한다.
다음으로, 도 2를 참조하여, 중계 장치(100)의 기능 구성의 예를 설명한다.
공유 메모리(1101)에서는, 데이터가 보존된다.
공유 메모리(1101)에서는, 예컨대, 타임 트리거 방식의 노드로부터 수신된 데이터, 바꾸어 말하면 토큰 패싱 방식의 노드에 송신 예정의 데이터가 보존된다. 또한, 공유 메모리(1101)에서는, 예컨대, 토큰 패싱 방식의 노드로부터 수신된 데이터, 바꾸어 말하면 타임 트리거 방식의 노드에 송신 예정의 데이터가 보존된다.
공유 메모리(1101)는, 도 1에 나타내는 기억 장치(1002)에 의해 실현된다.
제 1 수신부(1104)는, 제 1 통신 인터페이스(1108)를 거쳐서, 타임 트리거 방식의 노드로부터 데이터를 수신한다.
보다 구체적으로는, 제 1 수신부(1104)는, 타임 트리거 방식으로 통신을 행하는 노드 1(101)(도 3)로부터 데이터를 수신한다. 제 1 수신부(1104)가 수신하는 데이터는 제 1 데이터라고도 한다.
제 2 수신부(1106)는, 제 2 통신 인터페이스(1109)를 거쳐서, 토큰 패싱 방식의 노드로부터 데이터를 수신한다.
보다 구체적으로는, 제 2 수신부(1106)는, 토큰 패싱 방식으로 통신을 행하는 노드 2(102)(도 3)로부터 데이터를 수신한다. 제 2 수신부(1106)가 수신하는 데이터는 제 2 데이터라고도 한다. 또한, 제 2 수신부(1106)는, 노드 2(102)로부터 토큰을 수신한다.
제 1 송신부(1105)는, 제 1 통신 인터페이스(1108)를 거쳐서, 타임 트리거 방식의 노드에 데이터를 송신한다.
보다 구체적으로는, 제 1 송신부(1105)는, 제 2 수신부(1106)에 의해 수신된 데이터(제 2 데이터)를 노드 1(101)에 송신한다.
제 2 송신부(1107)는, 제 2 통신 인터페이스(1109)를 거쳐서, 토큰 패싱 방식의 노드에 데이터를 송신한다.
보다 구체적으로는, 제 2 송신부(1107)는, 토큰을 유지하고 있을 때에, 제 1 수신부(1104)에 의해 수신된 데이터(제 1 데이터)를 노드 2(102)에 송신한다. 또한, 제 2 송신부(1107)는, 토큰을 노드 2(102)에 송신한다.
기준 시간 관리부(1103)는, 제 2 송신부(1107)가 토큰을 유지하고 있을 때에 제 1 수신부(1104)가 노드 1(101)로부터 제 1 데이터를 수신한 경우에, 제 1 수신부(1104)가 제 1 데이터를 수신하고 나서 제 2 수신부(1106)가 토큰을 다음에 수신할 때까지의 시간을 기준 시간으로서 취득한다. 보다 구체적으로는, 기준 시간 관리부(1103)는, 제 1 수신부(1104)가 제 1 데이터를 수신하고 나서 제 2 수신부(1106)가 토큰을 다음에 수신할 때까지의 시간을 기준 시간으로서 계측한다. 그리고, 기준 시간 관리부(1103)는, 계측한 기준 시간을 제 1 송신부(1105)를 거쳐서 노드 1(101)에 통지한다. 이하에서는, 기준 시간 관리부(1103)가 기준 시간을 계측하는 예를 설명하지만, 외부 장치가 기준 시간의 계측을 행하고, 기준 시간 관리부(1103)는, 계측된 기준 시간의 값을 외부 장치로부터 취득하도록 하더라도 좋다.
또, 기준 시간 관리부(1103)에 의해 행하여지는 동작은 기준 시간 관리 처리에 상당한다.
통신 제어부(1102)는, 제 1 수신부(1104)를 거쳐서, 노드 1(101)로부터, 노드 1(101)에서 결정된 사이클 타임이 통지된다. 사이클 타임은, 기준 시간 이상이고 토큰의 허용 유지 시간 미만인 통신 주기이다.
사이클 타임은, 노드 1(101)이 중계 장치(100)에 데이터를 송신하는 주기(중계 장치(100)가 노드 1(101)로부터 데이터를 수신하는 주기)이다. 또한, 사이클 타임은, 중계 장치(100)가 노드 1(101)에 데이터를 송신하는 주기(노드 1(101)이 중계 장치(100)로부터 데이터를 수신하는 주기)이다. 다시 말해, 노드 1(101)은 사이클 타임마다 중계 장치(100)에 데이터를 송신하고, 또한, 중계 장치(100)는 사이클 타임마다 노드 1(101)로부터 데이터를 수신한다. 또한, 중계 장치(100)는 사이클 타임마다 노드 1(101)에 데이터를 송신하고, 또한, 노드 1(101)은 사이클 타임마다 중계 장치(100)로부터 데이터를 수신한다.
이 때문에, 노드 1(101)로부터 사이클 타임이 통지된 후는, 통신 제어부(1102)는, 통지된 사이클 타임에서 제 1 수신부(1104)에 제 1 데이터의 수신을 반복하여 행하게 한다. 또한, 통신 제어부(1102)는, 통지된 사이클 타임에서 제 1 송신부(1105)에 제 2 데이터의 송신을 반복하여 행하게 한다. 또한, 통신 제어부(1102)는, 제 2 수신부(1106)가 토큰을 수신할 때마다, 허용 유지 시간의 범위 내에서 제 2 송신부(1107)가 제 1 데이터를 노드 2(102)에 송신할 때까지 제 2 송신부(1107)로 하여금 토큰을 유지하게 한다.
허용 유지 시간은, 중계 장치(100)에 있어서 토큰을 계속 유지할 수 있는 최대의 시간이다. 중계 장치(100)가 허용 유지 시간보다 길게 토큰을 유지하고 있으면 에러가 발생한다.
또한, 노드 1(101)로부터 사이클 타임이 통지되기 전은, 통신 제어부(1102)는, 제 1 수신부(1104)로 하여금, 노드 1(101)로부터 임의의 송신 주기로 송신된 제 1 데이터를 수신하게 한다. 또한, 노드 1(101)로부터 사이클 타임이 통지되기 전은, 통신 제어부(1102)는, 제 2 수신부(1106)에 의한 토큰의 수신마다, 허용 유지 시간 이내의 랜덤 시간의 범위 내에서 제 2 송신부(1107)가 제 1 데이터를 노드 2(102)에 송신할 때까지 제 2 송신부(1107)로 하여금 토큰을 유지하게 한다.
또한, 일반적인 토큰 패싱 방식의 FA 네트워크에는, 통신 지연의 허용 시간(이하, 허용 지연 시간이라고 한다)이 설정되어 있고, 노드 2(102)로부터 허용 지연 시간을 넘어도 데이터 및 토큰을 수신할 수 없는 경우도 에러가 발생한다.
통신 제어부(1102)는, 허용 지연 시간의 관리도 행하고 있다. 허용 지연 시간 내에 노드 2(102)로부터 데이터 및 토큰을 수신할 수 없는 경우는, 노드 2(102)에 데이터 및 토큰의 송신 명령을 행한다.
또, 통신 제어부(1102)에서 행하여지는 동작은, 통신 제어 처리에 상당한다.
***동작의 설명***
다음으로, 도 3, 도 4 및 도 5를 이용하여, 본 실시의 형태와 관련되는 중계 장치(100)와 노드 1(101)과 노드 2(102)의 사이의 통신 시퀀스를 설명한다.
또, 도 3 및 도 4는 사이클 타임 설정을 위한 통신 시퀀스를 나타낸다. 도 5는 토큰 패싱 방식의 네트워크에 있어서 일시적인 지연이 발생한 경우의 통신 시퀀스를 나타낸다.
또한, 도 3, 도 4 및 도 5에 있어서, 노드 1(101)은 타임 트리거 방식에 대응한 통신 기기이고, 제 1 통신 기기에 상당한다. 또한, 노드 2(102)는 토큰 패싱 방식에 대응한 통신 기기이고, 제 2 통신 기기에 상당한다.
도 3, 도 4 및 도 5에서는, 타임 트리거 방식의 네트워크에는 노드 1(101)만이 도시되어 있지만, 노드 1(101) 이외에도 타임 트리거 방식에 대응한 노드가 존재하고 있는 것으로 한다. 마찬가지로, 도 3, 도 4 및 도 5에서는, 토큰 패싱 방식의 네트워크에는 노드 2(102)만이 도시되어 있지만, 노드 2(102) 이외에도 토큰 패싱 방식에 대응한 노드가 존재하고 있는 것으로 한다.
[통신 시퀀스 1(도 3, 도 4) : 사이클 타임의 설정]
도 3 및 도 4에서는, 중계 장치(100)가, 기준 시간을 측정하고, 기준 시간에 근거한 사이클 타임(통신 주기)을 채용하여, 중계 장치(100)에 있어서의 중계 지연을 억제하는 수순을 나타낸다.
또, 이하에 나타내는 (1)~(10)은, 도 3 및 도 4에 나타내는 (1)~(10)에 대응하고 있다.
(1) 중계 장치(100)는 노드 2(102)로부터 토큰을 수신한 경우는, 노드 1(101)로부터 데이터를 수신하고, 수신한 데이터를 노드 2(102)에 송신할 때까지, 허용 유지 시간의 범위 내에서 토큰을 유지한다.
또, 이 단계(기준 시간을 계측하기 전의 단계)에서는, 통신 제어부(1102)는, 토큰 유지 시간을 허용 유지 시간 미만의 범위에서 랜덤으로 결정한다. 토큰 유지 시간은, 제 2 송신부(1107)가 토큰을 유지하는 시간이다. 토큰 유지 시간이 고정 시간이면, 토큰 유지 시간 외의 시간이 고정화된다. 토큰 유지 시간 외의 시간이 고정화되면, 중계 장치(100)가 노드 1(101)로부터 데이터를 수신하는 타이밍이 항상 토큰 유지 시간 이외의 시간이 될 가능성이 있다. 이와 같은 사태를 회피하기 위해, 통신 제어부(1102)는, 토큰 유지 시간을 랜덤으로 결정한다.
한편, 사이클 타임 설정 후는, 통신 제어부(1102)는, 제 2 송신부(1107)의 토큰 유지 시간을 허용 유지 시간으로 고정화한다.
이하, 랜덤 시간인, 사이클 타임 설정 전에 이용하는 토큰 유지 시간을 토큰 유지 시간(랜덤)으로 표기한다. 또한, 사이클 타임 설정 후에 이용하는 토큰 유지 시간, 즉 허용 유지 시간을 토큰 유지 시간(고정)으로 표기한다.
(2) 중계 장치(100)는, 토큰 유지 시간(랜덤) 내에 노드 1(101)로부터 데이터를 수신하지 않는 경우는, 수신이 끝난 데이터를 노드 2(102)에 송신한다. 다시 말해, 중계 장치(100)는, 노드 1(101)로부터 수신이 끝난 데이터를, 데이터(301)로서 노드 2(102)에 송신한다. 또한, 중계 장치(100)는, 토큰을 노드 2(102)에 송신한다.
(3) 노드 1(101)은, 임의의 사이클 타임에 데이터를 중계 장치(100)에 송신한다. 또, 데이터(302) 및 데이터(303)는 중계 장치(100)의 공유 메모리(1101)에 있어서 데이터(304)에 의해 겹쳐 쓰기 되어 버린다. 이 때문에, 데이터(302) 및 데이터(303)는, 노드 2(102)에는 송신되지 않는다. 데이터(304)만이 데이터(305)로서 노드 2(102)에 송신된다.
(4) 중계 장치(100)는, 토큰 유지 시간(랜덤) 내에 노드 1(101)로부터 데이터를 수신한 경우는, 노드 2(102)에 데이터를 송신한다. 구체적으로는, 중계 장치(100)는, 데이터(304)를 데이터(305)로서 노드 2(102)에 송신한다. 또한, 중계 장치(100)는 토큰(306)을 노드 2(102)에 송신한다. 또한, 중계 장치(100)는, 노드 1(101)로부터 데이터(304)를 수신하고 나서, 다음에 노드 2(102)로부터 토큰(307)을 수신할 때까지의 시간(기준 시간)을 계측한다. 이 기준 시간의 계측은, 기준 시간 관리부(1103)에 의해 행하여진다.
(5) 중계 장치(100)는, 계측한 기준 시간을 노드 1(101)에 통지한다.
(6) 노드 1(101)은, 중계 장치(100)로부터 통지된 기준 시간을 사이클 타임(통신 주기)으로서 중계 장치(100)에 설정한다.
본 실시의 형태에서는, 노드 1(101)은 중계 장치(100)의 마스터 장치로서 기능한다. 이 때문에, 중계 장치(100)는 노드 1(101)에 기준 시간을 통지하고, 노드 1(101)이 중계 장치(100)에 사이클 타임을 설정한다. 노드 1(101)이 중계 장치(100)의 마스터 장치가 아니면, 중계 장치(100)가 사이클 타임을 결정하더라도 좋다.
노드 1(101)이 중계 장치(100)에 데이터를 송신하는 주기 및 중계 장치(100)가 노드 1(101)에 데이터를 송신하는 주기에 지터가 포함되는 경우는, 노드 1(101)은, 기준 시간에 지터를 가산하여 사이클 타임을 결정하더라도 좋다. 또한, 중계 장치(100)가 노드 2(102)로부터 토큰을 수신하는 주기에 지터가 포함되는 경우에도, 노드 1(101)은, 기준 시간에 지터를 가산하여 사이클 타임을 결정하더라도 좋다. 전술한 바와 같이, 사이클 타임은, 토큰의 허용 유지 시간 미만이면, 기준 시간 이상이더라도 좋다. 도 3에서는, 노드 1(101)은, 기준 시간을 사이클 타임으로서 중계 장치(100)에 설정하고 있다.
(7) 노드 1(101)은, 기준 시간의 사이클 타임에서 중계 장치(100)에 데이터를 송신한다.
(8) 중계 장치(100)는, 토큰 유지 시간(랜덤) 내에 노드 1(101)로부터 데이터를 수신한 경우는, 노드 2(102)에 데이터를 송신한다. 또한, 중계 장치(100)는, 토큰을 노드 2(102)에 송신한다.
또한, 중계 장치(100)에서는, 사이클 타임이 설정된 후에 중계 장치(100)가 노드 1(101)로부터 데이터를 수신했을 때에, 토큰 유지 시간(고정)이 설정된다.
토큰 유지 시간(고정)은, 전술한 바와 같이, 토큰의 허용 유지 시간이다.
이후, 중계 장치(100)는, 노드 2(102)로부터 토큰을 수신할 때마다, 토큰 유지 시간(고정)의 범위 내에서, 노드 1(101)로부터의 데이터를 노드 2(102)에 송신할 때까지 토큰을 유지한다.
도 4의 예에서는, 중계 장치(100)는, 토큰(400)을 수신하면 토큰 유지 시간(고정)의 계측을 개시한다. 여기서는, 중계 장치(100)는, 토큰 유지 시간(고정) 내에 데이터(403)를 노드 1(101)로부터 수신하고, 수신한 데이터(403)를 데이터(404)로서 노드 2(102)에 송신한다. 데이터(404)를 노드 2(102)에 송신했으므로, 중계 장치(100)는, 토큰(405)을 노드 2(102)에 송신한다.
(9) 중계 장치(100)는, 기준 시간의 사이클 타임에서, 데이터를 노드 1(101)에 송신한다.
(10) 이후는, 노드 1(101)과 중계 장치(100)가 기준 시간의 사이클 타임에서 통신을 반복한다. 다시 말해, 노드 1(101)은, 기준 시간의 사이클 타임에서 중계 장치(100)에 반복하여 데이터를 송신한다. 또한, 중계 장치(100)는, 기준 시간의 사이클 타임에서 노드 1(101)에 반복하여 데이터를 송신한다.
이상의 수순에 의해, 중계 장치(100)에 있어서의 중계 지연을 억제할 수 있다.
예컨대, 중계 장치(100)는, 노드 1(101)로의 데이터 송신 타이밍의 직전에 데이터(401)를 수신한다. 이 때문에, 중계 장치(100)는, 데이터(401)를 지연 없이 데이터(402)로서 노드 1(101)에 송신할 수 있다.
또한, 중계 장치(100)는, 토큰(400)의 수신 타이밍의 직후에 데이터(403)를 노드 1(101)로부터 수신한다. 이 때문에, 중계 장치(100)는, 데이터(403)를 지연 없이 데이터(404)로서 노드 2(102)에 송신할 수 있다. 중계 장치(100)는, 데이터(404)를 노드 2(102)에 송신하면, 토큰 유지 시간(고정)이 종료되어 있지 않더라도, 토큰(405)을 노드 2(102)에 송신한다.
[통신 시퀀스 2(도 5) 일시적인 지연의 발생시]
전술한 바와 같이, 중계 장치(100)는 노드 2(102)로부터 수신한 토큰을, 토큰 유지 시간(고정)의 범위 내에서, 노드 1(101)로부터의 데이터를 노드 2(102)에 송신할 때까지 유지한다. 이와 같이 함으로써, 토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생한 경우에도, 중계 장치(100)에 있어서의 데이터 송수신의 타이밍과 토큰의 송수신의 타이밍이 일시적인 지연의 발생 전의 상태로 돌아간다. 이 때문에, 타임 트리거 방식의 사이클 타임을 변경하지 않고 중계 지연을 억제하는 것이 가능하다.
또, 이하의 (11)~(14)는, 도 5의 (11)~(14)에 대응하고 있다.
(11) 노드 1(101) 및 중계 장치(100)는, 도 3 및 도 4에 나타낸 수순에서, 적절한 사이클 타임을 설정하고 있는 것을 전제로 한다.
(12) 토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생한다.
(13) 중계 장치(100)는, 노드 2(102)로부터 수신한 토큰을, 노드 1(101)로부터 데이터를 수신하고, 수신한 데이터를 노드 2(102)에 송신할 때까지, 토큰 유지 시간(고정)의 범위 내에서 유지한다. 그리고, 중계 장치(100)는, 토큰 유지 시간(고정) 내에 노드 1(101)로부터 데이터를 수신했기 때문에, 수신한 데이터를 노드 2(102)에 송신한다. 또한, 중계 장치(100)는 토큰을 노드 2(102)에 송신한다.
(14) 중계 장치(100)가, 상기의 (13)에 있어서 노드 1(101)로부터 데이터를 수신하고, 수신한 데이터를 노드 2(102)에 송신할 때까지 토큰을 유지하는 것에 의해, 중계 장치(100)는, 토큰 패싱 방식의 네트워크에 있어서의 일시적인 지연에 의해 발생한 통신 타이밍의 어긋남을 흡수할 수 있다. 이 때문에, 중계 장치(100)는, 타임 트리거 방식의 네트워크에서의 사이클 타임을 변경하지 않고 중계 지연을 억제할 수 있다.
토큰 패싱 방식의 네트워크에 있어서 일시적인 지연이 발생하기 전은, 중계 장치(100)는, 노드 1(101)로의 데이터 송신 타이밍의 직전에 데이터(501)를 수신한다. 이 때문에, 중계 장치(100)는, 데이터(501)를 지연 없이 데이터(502)로서 노드 1(101)에 송신할 수 있다.
또한, 중계 장치(100)는, 토큰(500)의 수신의 직후에 데이터(503)를 노드 1(101)로부터 수신하기 때문에, 중계 장치(100)는, 데이터(503)를 지연 없이 데이터(504)로서 노드 2(102)에 송신할 수 있다.
토큰 패싱 방식의 네트워크에 있어서 일시적인 지연이 발생했기 때문에, 중계 장치(100)에 있어서의 노드 2(102)로부터의 데이터의 수신 타이밍과 노드 1(101)로의 데이터의 송신 타이밍이 어긋난다. 이 때문에, 중계 장치(100)로부터 노드 1(101)로의 송신 타이밍(데이터(507)의 송신 타이밍)에는 데이터(506)는 중계 장치(100)에 도달하여 있지 않다. 따라서, 중계 장치(100)는, 데이터(507)의 송신 타이밍에서는, 노드 1(101)에 데이터(506)를 송신할 수 없다. 중계 장치(100)는, 과거에 수신이 끝난 데이터(501)를 데이터(507)로서 노드 1(101)에 송신한다.
중계 장치(100)는, 데이터(506)를 수신하고, 노드 1(101)로의 다음의 송신 타이밍에 데이터(506)를 데이터(508)로서 노드 1(101)에 송신한다. 이 때문에, 토큰 패싱 방식의 네트워크에서의 지연에 의해, 노드 1(101)로의 데이터 송신에 있어서 지연이 발생한다.
또한, 중계 장치(100)는, 노드 1(101)로부터 데이터(509)를 수신하고, 데이터(509)를 데이터(510)로서 노드 2(102)에 송신한다. 중계 장치(100)는, 데이터(509)의 수신 및 데이터(510)의 송신까지 토큰을 유지하고 있기 때문에, 중계 지연 없이 데이터(510)를 노드 2(102)에 송신할 수 있다. 도 8의 예에서는, 중계 장치(200)는, 데이터(810)를 수신했을 때에 토큰을 유지하고 있지 않기 때문에, 다음에 토큰을 수신한 후에, 데이터(810)를 데이터(811)로서 노드 2(202)에 송신한다. 이 때문에, 도 8의 예에서는, 중계 장치(200)에 있어서 중계 지연이 발생한다. 본 실시의 형태에서는, 중계 장치(100)는, 허용 유지 범위 내에서 토큰을 유지하므로, 데이터(509)의 수신시에 토큰이 존재하고 있고, 데이터(510)를 송신할 수 있다.
데이터(510)와 토큰(511)의 관계(송신 간격)는, 도 4의 데이터(404)와 토큰(405)의 관계(송신 간격)와 동일하다.
이 때문에, 도 4의 데이터(406)와 데이터(407)의 관계와 마찬가지로, 도 5의 데이터(512)는 중계 지연 없이 데이터(513)로서 노드 1(101)에 송신된다. 또한, 도 4의 데이터(408)와 데이터(409)의 관계와 마찬가지로, 도 5의 데이터(514)는 중계 지연 없이 데이터(515)로서 노드 2(102)에 송신된다.
다음으로, 도 6 및 도 7을 참조하여, 중계 장치(100)의 동작의 예를 설명한다.
도 6은 기준 시간의 계측, 사이클 타임의 설정, 및 노드 1(101)과의 데이터 송수신에 관한 수순을 나타낸다.
도 7은 노드 2(102)와의 데이터 송수신, 및 토큰의 송수신에 관한 수순을 나타낸다.
도 6에 나타내는 플로와 도 7에 나타내는 플로는 병행하여 행하여진다.
먼저, 도 6에 나타내는 플로를 설명한다.
스텝 F1000에서는, 통신 제어부(1102)가, 제 1 수신부(1104)가 노드 1(101)로부터 데이터를 수신했는지 여부를 판정한다. 제 1 수신부(1104)는, 노드 1(101)로부터 데이터를 수신한 경우에는, 통신 제어부(1102)에 노드 1(101)로부터 데이터를 수신한 것을 통지한다. 이것에 의해, 통신 제어부(1102)는, 제 1 수신부(1104)가 노드 1(101)로부터 데이터를 수신했는지 여부를 판정할 수 있다. 또한, 제 1 수신부(1104)는 노드 1(101)로부터 수신한 데이터를 공유 메모리(1101)에 저장한다.
제 1 수신부(1104)가 노드 1(101)로부터의 데이터를 수신하고 있는 경우는, 스텝 F1001이 행하여진다.
스텝 F1001에서는, 통신 제어부(1102)가, 제 2 송신부(1107)가 토큰을 유지하고 있는지 여부를 판정한다. 제 2 수신부(1106)는, 노드 2(102)로부터 토큰을 수신한 경우에, 통신 제어부(1102)에 노드 2(102)로부터 토큰을 수신한 것을 통지한다. 또한, 후술하는 스텝 F2007에서 설명하는 바와 같이, 토큰을 노드 2(102)에 송신하는 타이밍이 도래하면 통신 제어부(1102)는 제 2 송신부(1107)에 토큰을 노드 2(102)에 송신하도록 지시한다. 통신 제어부(1102)는, 제 2 수신부(1106)로부터 토큰을 수신한 취지가 통지된 후, 제 2 송신부(1107)에 토큰의 송신을 지시하고 있지 않은 경우에, 제 2 송신부(1107)가 토큰을 유지하고 있다고 판정한다.
제 2 송신부(1107)가 토큰을 유지하고 있는 경우는, 스텝 F1002에서, 기준 시간 관리부(1103)가 기준 시간의 계측을 개시한다. 다시 말해, 통신 제어부(1102)는, 제 2 송신부(1107)가 토큰을 유지하고 있다고 판정한 경우에는, 기준 시간 관리부(1103)에 기준 시간의 계측을 지시한다.
스텝 F1003에서는, 통신 제어부(1102)가, 제 2 수신부(1106)가 토큰을 수신했는지 여부를 판정한다. 제 2 수신부(1106)가 토큰을 수신한 경우는, 스텝 F1004에서, 기준 시간 관리부(1103)가 기준 시간의 계측을 종료한다. 그리고, 스텝 F1005에서, 기준 시간 관리부(1103)가 제 1 송신부(1105)를 거쳐서, 계측한 기준 시간을 노드 1(101)에 통지한다. 전술한 바와 같이, 제 2 송신부(1107)는, 노드 2(102)로부터 토큰을 수신한 경우에는, 통신 제어부(1102)에 노드 2(102)로부터 토큰을 수신한 취지를 통지한다. 또한, 통신 제어부(1102)는, 제 2 송신부(1107)로부터 토큰을 수신한 취지가 통지된 경우는, 기준 시간 관리부(1103)에 기준 시간의 계측을 종료하도록 지시한다. 그리고, 기준 시간 관리부(1103)는, 계측한 기준 시간을 통지하는 데이터를 생성하고, 생성한 데이터를 제 1 송신부(1105)를 거쳐서 노드 1(101)에 송신한다.
스텝 F1006에서는, 통신 제어부(1102)가, 노드 1(101)로부터 사이클 타임이 설정되었는지 여부를 판정한다. 구체적으로는, 제 1 수신부(1104)가, 노드 1(101)로부터 사이클 타임을 통지하는 데이터를 수신한 경우에, 수신한 데이터를 통신 제어부(1102)에 출력한다. 통신 제어부(1102)는, 그 데이터로부터 사이클 타임의 값을 추출하고, 추출한 사이클 타임의 값을 예컨대 프로세서(1001)의 레지스터에 저장한다.
스텝 F1006에서 사이클 타임이 설정된 경우는, 스텝 F1007에서, 통신 제어부(1102)가, 사이클 타임이 경과하였는지 여부를 판정한다. 통신 제어부(1102)는 예컨대 타이머를 이용한 계측을 행하여 사이클 타임이 경과하였는지 여부를 판정한다.
사이클 타임이 경과한 경우는, 스텝 F1008에서, 통신 제어부(1102)가 제 1 송신부(1105)에 노드 1(101)로의 데이터 송신을 지시하고, 제 1 송신부(1105)가 노드 1(101)에 데이터를 송신한다.
보다 구체적으로는, 제 1 송신부(1105)는 공유 메모리(1101)로부터 노드 2(102)로부터의 데이터를 읽어내고, 읽어낸 데이터를 노드 1(101)에 송신한다.
다음으로, 도 7에 나타내는 플로를 설명한다.
스텝 F2000에서는, 통신 제어부(1102)가, 제 2 수신부(1106)가 노드 2(102)로부터 토큰을 수신했는지 여부를 판정한다. 전술한 바와 같이, 제 2 수신부(1106)는 토큰을 수신한 경우에 통신 제어부(1102)에 토큰을 수신한 취지를 통지한다. 통신 제어부(1102)는, 제 2 수신부(1106)가 토큰을 수신했다고 판정한 경우에, 제 2 수신부(1106)에 토큰을 제 2 송신부(1107)에 출력하도록 지시하고, 제 2 수신부(1106)는 제 2 송신부(1107)에 토큰을 출력한다. 또한, 통신 제어부(1102)는, 제 2 송신부(1107)에 토큰을 유지하도록 지시한다.
제 2 송신부(1107)는, 스텝 F2001에서, 토큰을 유지한다.
스텝 F2002에서는, 통신 제어부(1102)가, 사이클 타임이 설정되어 있는지 여부를 판정한다. 다시 말해, 통신 제어부(1102)는, 도 6의 스텝 F1006의 처리를 행하였는지 여부를 판정한다.
사이클 타임이 설정되어 있지 않은 경우는, 통신 제어부(1102)는, 허용 유지 시간 내의 랜덤 시간을 토큰 유지 시간(랜덤)으로서 타이머에 설정한다. 그리고, 통신 제어부(1102)는, 스텝 F2003에 있어서, 제 2 수신부(1106)가 토큰을 수신하고 나서의 경과 시간이 토큰 유지 시간(랜덤)을 넘었는지 여부를 판정한다. 또한, 사이클 타임이 설정되어 있는 경우는, 통신 제어부(1102)는, 허용 유지 시간을 토큰 유지 시간(고정)으로서 타이머에 설정한다. 그리고, 스텝 F2004에 있어서, 통신 제어부(1102)는, 제 2 수신부(1106)가 토큰을 수신하고 나서의 경과 시간이 토큰 유지 시간(고정)을 넘었는지 여부를 판정한다.
제 2 수신부(1106)가 토큰을 수신하고 나서의 경과 시간이 토큰 유지 시간(랜덤)을 넘지 않은 경우는, 스텝 F2005에 있어서, 통신 제어부(1102)가, 제 1 수신부(1104)가 노드 1(101)로부터 데이터를 수신했는지 여부를 판정한다.
또한, 제 2 수신부(1106)가 토큰을 수신하고 나서의 경과 시간이 토큰 유지 시간(고정)을 넘지 않은 경우도 마찬가지로, 스텝 F2005에 있어서, 통신 제어부(1102)가, 제 1 수신부(1104)가 노드 1(101)로부터 데이터를 수신했는지 여부를 판정한다.
스텝 F2005에 있어서 제 1 수신부(1104)가 노드 1(101)로부터 데이터를 수신하고 있는 경우는, 통신 제어부(1102)는, 제 2 송신부(1107)에, 노드 1(101)로부터의 데이터를 노드 2(102)에 송신하도록 지시한다. 그리고, 스텝 F2006에서, 제 2 송신부(1107)가 노드 2(102)에 노드 1(101)로부터의 데이터를 송신한다. 보다 구체적으로는, 제 1 수신부(1104)가 노드 1(101)로부터의 데이터를 공유 메모리(1101)에 저장하고, 제 2 송신부(1107)가 공유 메모리(1101)로부터 노드 1(101)로부터의 데이터를 읽어낸다. 그리고, 제 2 송신부(1107)가, 읽어낸 노드 1(101)로부터의 데이터를 노드 2(102)에 송신한다.
또한, 통신 제어부(1102)는, 제 2 송신부(1107)에 토큰을 노드 2(102)에 송신하도록 지시한다. 제 2 송신부(1107)는, 스텝 F2007에서, 노드 2(102)에 토큰을 송신한다.
또한, 스텝 F2003에 있어서, 제 2 수신부(1106)가 토큰을 수신하고 나서의 경과 시간이 토큰 유지 시간(랜덤)을 넘은 경우에는, 통신 제어부(1102)는, 제 2 송신부(1107)에, 노드 1(101)로부터의 데이터를 노드 2(102)에 송신하도록 지시한다. 그리고, 스텝 F2006에서, 제 2 송신부(1107)가 노드 2(102)에 노드 1(101)로부터의 데이터를 송신한다. 보다 구체적으로는, 제 2 송신부(1107)가 공유 메모리(1101)로부터 노드 1(101)로부터의 데이터(노드 1(101)로부터 전회 송신된 데이터)를 읽어낸다. 그리고, 제 2 송신부(1107)가, 읽어낸 노드 1(101)로부터의 데이터를 노드 2(102)에 송신한다.
또한, 스텝 F2004에 있어서, 제 2 수신부(1106)가 토큰을 수신하고 나서의 경과 시간이 토큰 유지 시간(고정)을 넘은 경우도, 통신 제어부(1102)는, 제 2 송신부(1107)에, 노드 1(101)로부터의 데이터를 노드 2(102)에 송신하도록 지시한다. 그리고, 스텝 F2006에서, 제 2 송신부(1107)가 노드 2(102)에 노드 1(101)로부터의 데이터를 송신한다. 보다 구체적으로는, 제 2 송신부(1107)가 공유 메모리(1101)로부터 노드 1(101)로부터의 데이터(노드 1(101)로부터 전회 송신된 데이터)를 읽어낸다. 그리고, 제 2 송신부(1107)가, 읽어낸 노드 1(101)로부터의 데이터를 노드 2(102)에 송신한다.
그 후, 통신 제어부(1102)가 제 2 송신부(1107)에 토큰을 노드 2(102)에 송신하도록 지시한다. 제 2 송신부(1107)는, 스텝 F2007에서, 노드 2(102)에 토큰을 송신한다.
***실시의 형태의 효과의 설명***
이상과 같이, 본 실시의 형태와 관련되는 중계 장치는, 기준 시간 이상이고 허용 유지 시간 미만인 사이클 타임에서 제 1 데이터의 수신을 반복하여 행하고, 상기 사이클 타임에서 제 2 데이터의 송신을 반복하여 행한다. 또한, 본 실시의 형태와 관련되는 중계 장치는, 토큰의 수신마다, 허용 유지 시간의 범위 내에서 토큰 패싱 방식의 통신 기기에 제 1 데이터를 송신할 때까지 토큰을 유지한다.
이 때문에, 본 실시의 형태에 따르면, 적절한 사이클 타임을 설정할 수 있고, 중계 지연을 억제할 수 있다.
또한, 토큰 패싱 방식의 네트워크에서 일시적인 지연이 발생한 경우에도, 타임 트리거 방식의 네트워크의 사이클 타임을 변경하지 않고 중계 지연을 억제할 수 있다.
***하드웨어 구성의 설명***
마지막으로, 중계 장치(100)의 하드웨어 구성의 보충 설명을 행한다.
도 1에 나타내는 프로세서(1001)는, 프로세싱을 행하는 IC(Integrated Circuit)이다.
프로세서(1001)는, CPU(Central Processing Unit), DSP(Digital Signal Processor) 등이다.
도 1에 나타내는 기억 장치(1002)는, RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리, HDD(Hard Disk Drive) 등이다.
도 1에 나타내는 통신 장치(1003)는, 데이터를 수신하는 리시버 및 데이터를 송신하는 트랜스미터를 포함한다.
통신 장치(1003)는, 예컨대, 통신 칩 또는 NIC(Network Interface Card)이다.
또한, 기억 장치(1002)에는, OS(Operating System)도 기억되어 있다.
그리고, OS의 적어도 일부가 프로세서(1001)에 의해 실행된다.
프로세서(1001)는 OS의 적어도 일부를 실행하면서, 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 기능을 실현하는 프로그램을 실행한다.
프로세서(1001)가 OS를 실행함으로써, 태스크 관리, 메모리 관리, 파일 관리, 통신 제어 등이 행하여진다.
또한, 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 처리의 결과를 나타내는 정보나 데이터나 신호치나 변수치가, 기억 장치(1002), 프로세서(1001) 내의 레지스터 및 캐시 메모리의 적어도 어느 하나에 기억된다.
또한, 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 기능을 실현하는 프로그램은, 자기 디스크, 플렉서블 디스크, 광 디스크, 콤팩트 디스크, 블루레이(등록상표) 디스크, DVD 등의 가반 기억 매체에 기억되더라도 좋다.
또한, 통신 제어부(1102), 기준 시간 관리부(1103), 제 1 수신부(1104), 제 1 송신부(1105), 제 2 수신부(1106) 및 제 2 송신부(1107)의 "부"를, "회로" 또는 "공정" 또는 "수순" 또는 "처리"로 바꾸어 읽더라도 좋다.
또한, 중계 장치(100)는, 로직 IC(Integrated Circuit), GA(Gate Array), ASIC(Application Specific Integrated Circuit), FPGA(Field-Programmable Gate Array)라고 하는 전자 회로에 의해 실현되더라도 좋다.
또, 프로세서 및 상기의 전자 회로를 총칭하여 프로세싱 서킷트리라고도 한다.
100 : 중계 장치
101 : 노드 1
102 : 노드 2
1001 : 프로세서
1002 : 기억 장치
1003 : 통신 장치
1101 : 공유 메모리
1102 : 통신 제어부
1103 : 기준 시간 관리부
1104 : 제 1 수신부
1105 : 제 1 송신부
1106 : 제 2 수신부
1107 : 제 2 송신부
1108 : 제 1 통신 인터페이스
1109 : 제 2 통신 인터페이스
200 : 중계 장치
201 : 노드 1
202 : 노드 2

Claims (5)

  1. 타임 트리거 방식으로 통신을 행하는 제 1 통신 기기로부터 제 1 데이터를 수신하는 제 1 수신부와,
    토큰 패싱 방식으로 통신을 행하는 제 2 통신 기기로부터 제 2 데이터와 토큰을 수신하는 제 2 수신부와,
    상기 제 2 데이터를 상기 제 1 통신 기기에 송신하는 제 1 송신부와,
    상기 토큰을 유지하고 있을 때에 상기 제 1 데이터를 상기 제 2 통신 기기에 송신하는 제 2 송신부와,
    상기 제 2 송신부가 상기 토큰을 유지하고 있을 때에 상기 제 1 수신부가 상기 제 1 데이터를 수신한 경우에, 상기 제 1 데이터의 수신으로부터 상기 제 2 수신부에 의한 상기 토큰의 다음의 수신까지의 시간을 기준 시간으로서 취득하는 기준 시간 관리부와,
    상기 기준 시간 이상이고 상기 토큰의 허용 유지 시간 미만인 통신 주기에서 상기 제 1 수신부에 상기 제 1 데이터의 수신을 반복하여 행하게 하고, 상기 통신 주기에서 상기 제 1 송신부에 상기 제 2 데이터의 송신을 반복하여 행하게 하고, 상기 제 2 수신부에 의한 상기 토큰의 수신마다, 상기 허용 유지 시간의 범위 내에서 상기 제 2 송신부가 상기 제 2 통신 기기에 상기 제 1 데이터를 송신할 때까지 상기 제 2 송신부로 하여금 상기 토큰을 유지하게 하는 통신 제어부
    를 갖는 중계 장치.
  2. 제 1 항에 있어서,
    상기 기준 시간 관리부는, 상기 기준 시간을 상기 제 1 통신 기기에 통지하고,
    상기 통신 제어부는, 상기 제 1 통신 기기로부터, 상기 제 1 통신 기기에서 결정된 상기 통신 주기가 통지되고, 상기 제 1 통신 기기로부터 통지된 상기 통신 주기에서 상기 제 1 수신부에 상기 제 1 데이터의 수신을 반복하여 행하게 하고, 상기 제 1 통신 기기로부터 통지된 상기 통신 주기에서 상기 제 1 송신부에 상기 제 2 데이터의 송신을 반복하여 행하게 하는
    중계 장치.
  3. 제 1 항에 있어서,
    상기 통신 제어부는, 상기 기준 시간 관리부에 의해 상기 기준 시간이 취득될 때까지는, 상기 제 1 수신부로 하여금, 상기 제 1 통신 기기로부터 임의의 송신 주기로 송신된 상기 제 1 데이터를 수신하게 하고, 상기 제 2 수신부에 의한 상기 토큰의 수신마다, 상기 허용 유지 시간 이내의 랜덤 시간의 범위 내에서 상기 제 2 송신부가 상기 제 2 통신 기기에 상기 제 1 데이터를 송신할 때까지 상기 제 2 송신부로 하여금 상기 토큰을 유지하게 하는 중계 장치.
  4. 타임 트리거 방식으로 통신을 행하는 제 1 통신 기기로부터 제 1 데이터를 수신하는 제 1 수신부와,
    토큰 패싱 방식으로 통신을 행하는 제 2 통신 기기로부터 제 2 데이터와 토큰을 수신하는 제 2 수신부와,
    상기 제 2 데이터를 상기 제 1 통신 기기에 송신하는 제 1 송신부와,
    상기 토큰을 유지하고 있을 때에 상기 제 1 데이터를 상기 제 2 통신 기기에 송신하는 제 2 송신부
    를 갖는 컴퓨터가,
    상기 제 2 송신부가 상기 토큰을 유지하고 있을 때에 상기 제 1 수신부가 상기 제 1 데이터를 수신한 경우에, 상기 제 1 데이터의 수신으로부터 상기 제 2 수신부에 의한 상기 토큰의 다음의 수신까지의 시간을 기준 시간으로서 취득하고,
    상기 기준 시간 이상이고 상기 토큰의 허용 유지 시간 미만인 통신 주기에서 상기 제 1 수신부에 상기 제 1 데이터의 수신을 반복하여 행하게 하고, 상기 통신 주기에서 상기 제 1 송신부에 상기 제 2 데이터의 송신을 반복하여 행하게 하고, 상기 제 2 수신부에 의한 상기 토큰의 수신마다, 상기 허용 유지 시간의 범위 내에서 상기 제 2 송신부가 상기 제 2 통신 기기에 상기 제 1 데이터를 송신할 때까지 상기 제 2 송신부로 하여금 상기 토큰을 유지하게 하는
    중계 방법.
  5. 타임 트리거 방식으로 통신을 행하는 제 1 통신 기기로부터 제 1 데이터를 수신하는 제 1 수신부와,
    토큰 패싱 방식으로 통신을 행하는 제 2 통신 기기로부터 제 2 데이터와 토큰을 수신하는 제 2 수신부와,
    상기 제 2 데이터를 상기 제 1 통신 기기에 송신하는 제 1 송신부와,
    상기 토큰을 유지하고 있을 때에 상기 제 1 데이터를 상기 제 2 통신 기기에 송신하는 제 2 송신부
    를 갖는 컴퓨터로 하여금,
    상기 제 2 송신부가 상기 토큰을 유지하고 있을 때에 상기 제 1 수신부가 상기 제 1 데이터를 수신한 경우에, 상기 제 1 데이터의 수신으로부터 상기 제 2 수신부에 의한 상기 토큰의 다음의 수신까지의 시간을 기준 시간으로서 취득하는 기준 시간 관리 처리와,
    상기 기준 시간 이상이고 상기 토큰의 허용 유지 시간 미만인 통신 주기에서 상기 제 1 수신부에 상기 제 1 데이터의 수신을 반복하여 행하게 하고, 상기 통신 주기에서 상기 제 1 송신부에 상기 제 2 데이터의 송신을 반복하여 행하게 하고, 상기 제 2 수신부에 의한 상기 토큰의 수신마다, 상기 허용 유지 시간의 범위 내에서 상기 제 2 송신부가 상기 제 2 통신 기기에 상기 제 1 데이터를 송신할 때까지 상기 제 2 송신부로 하여금 상기 토큰을 유지하게 하는 통신 제어 처리
    를 실행하게 하는, 컴퓨터 판독 가능한 기억 매체에 저장된 중계 컴퓨터 프로그램.
KR1020197014661A 2016-11-28 2016-11-28 중계 장치, 중계 방법 및 기억 매체에 저장된 중계 프로그램 KR102034468B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/085182 WO2018096678A1 (ja) 2016-11-28 2016-11-28 中継装置、中継方法及び中継プログラム

Publications (2)

Publication Number Publication Date
KR20190059996A KR20190059996A (ko) 2019-05-31
KR102034468B1 true KR102034468B1 (ko) 2019-10-21

Family

ID=62195069

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014661A KR102034468B1 (ko) 2016-11-28 2016-11-28 중계 장치, 중계 방법 및 기억 매체에 저장된 중계 프로그램

Country Status (7)

Country Link
US (1) US20200204537A1 (ko)
JP (1) JP6472584B2 (ko)
KR (1) KR102034468B1 (ko)
CN (1) CN109997338B (ko)
DE (1) DE112016007374B4 (ko)
TW (1) TWI643472B (ko)
WO (1) WO2018096678A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010945A (ja) 2009-07-03 2011-01-20 Nipro Corp 薬液移送装置
JP2016005247A (ja) 2014-06-19 2016-01-12 富士電機株式会社 ネットワーク伝送システム、そのマスタノード、スレーブノード

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3579466D1 (de) * 1985-12-23 1990-10-04 Ibm Lokales kommunikationssystem fuer integrierte dienste, basierend auf einem tokenring-uebertragungsmedium.
US5490252A (en) * 1992-09-30 1996-02-06 Bay Networks Group, Inc. System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing
US5282199A (en) * 1992-12-29 1994-01-25 International Business Machines Corporation Method and apparatus for interoperation of FDDI-I and FDDI-II networks
CN100452750C (zh) * 2005-02-04 2009-01-14 西安电子科技大学 Ad Hoc网络的令牌传递方法
US8503484B2 (en) * 2009-01-19 2013-08-06 Honeywell International Inc. System and method for a cross channel data link
DE112010003776B4 (de) * 2009-09-25 2016-08-18 Mitsubishi Electric Corp. Netzwerk-Performance-Schätzvorrichtung, Netzwerk-Performance-Schätzverfahren und Netzwerkkonfiguration-Prüfverfahren
JP5434512B2 (ja) 2009-11-18 2014-03-05 トヨタ自動車株式会社 車載通信システム、ゲートウェイ装置
AT512528B1 (de) * 2012-05-15 2013-09-15 Fts Computertechnik Gmbh Verfahren und Apparat zur Vermittlung von zeitgesteuerten und ereignisgesteuerten Nachrichten
EP3284222A1 (en) * 2015-04-17 2018-02-21 Philips Lighting Holding B.V. Master communication device for a token network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010945A (ja) 2009-07-03 2011-01-20 Nipro Corp 薬液移送装置
JP2016005247A (ja) 2014-06-19 2016-01-12 富士電機株式会社 ネットワーク伝送システム、そのマスタノード、スレーブノード

Also Published As

Publication number Publication date
DE112016007374B4 (de) 2020-10-01
TW201820803A (zh) 2018-06-01
JP6472584B2 (ja) 2019-02-20
TWI643472B (zh) 2018-12-01
KR20190059996A (ko) 2019-05-31
CN109997338A (zh) 2019-07-09
WO2018096678A1 (ja) 2018-05-31
JPWO2018096678A1 (ja) 2019-02-28
DE112016007374T5 (de) 2019-07-25
US20200204537A1 (en) 2020-06-25
CN109997338B (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
RU2020100462A (ru) Способ связи, сетевое устройство и терминал
EP3082282A1 (en) Method for time synchronization
Hounsinou et al. Vulnerability of controller area network to schedule-based attacks
KR102034468B1 (ko) 중계 장치, 중계 방법 및 기억 매체에 저장된 중계 프로그램
US10567400B2 (en) Attack detection device, attack detection method, and non-transitory computer-readable recording medium
CN116887418B (zh) Epa网络中对高优先级消息进行调度的方法、设备和介质
JP2012150665A (ja) 端局装置
CN105406989B (zh) 处理报文的方法、网卡及系统、更新信息的方法及主机
US20130223455A1 (en) Electronic device, communication control method, and recording medium
JP2018082354A (ja) 通信端末及び通信システム
KR101552119B1 (ko) EtherCAT을 위한 노드간 최적 시간 위상 검색 시스템
KR102298829B1 (ko) 관리 장치, 통신 시스템, 관리 방법 및 기록 매체에 저장된 컴퓨터 프로그램
JP6295850B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2018061118A (ja) 通信装置及び通信システム
WO2017068663A1 (ja) 通信装置及び通信方法及び通信プログラム
CN108541307B (zh) 可编程控制器以及同步控制方法
US10523469B2 (en) Relay device and communication system
WO2018220749A1 (ja) 通信装置、通信方法及び通信プログラム
CN111903096B (zh) 通信系统、接收装置、发送间隔变更方法及计算机程序
CN116208289B (zh) 基于白盒交换机的时间同步方法、装置及电子设备
JP7133797B2 (ja) 無線装置、プログラム
JP2010161626A (ja) 端末装置間のデータ転送方式
WO2014132350A1 (ja) 中継装置及び中継方法
JP2019047327A (ja) 異常検知装置および異常検知方法
JP2018019320A (ja) 無線通信ネットワークシステム、無線送信機、無線通信方法、および、センサネットワークシステム

Legal Events

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