KR101618537B1 - 통신 장치, 통신 시스템 및 동기 제어 방법 - Google Patents

통신 장치, 통신 시스템 및 동기 제어 방법 Download PDF

Info

Publication number
KR101618537B1
KR101618537B1 KR1020157001919A KR20157001919A KR101618537B1 KR 101618537 B1 KR101618537 B1 KR 101618537B1 KR 1020157001919 A KR1020157001919 A KR 1020157001919A KR 20157001919 A KR20157001919 A KR 20157001919A KR 101618537 B1 KR101618537 B1 KR 101618537B1
Authority
KR
South Korea
Prior art keywords
synchronization
counter
communication
synchronous
packet
Prior art date
Application number
KR1020157001919A
Other languages
English (en)
Other versions
KR20150032880A (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 KR20150032880A publication Critical patent/KR20150032880A/ko
Application granted granted Critical
Publication of KR101618537B1 publication Critical patent/KR101618537B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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/0658Clock or time synchronisation among packet nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • 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/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • 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
    • H04L2012/4026Bus for use in automation systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

다른 네트워크 유닛과의 사이에서 통신을 행하는 송신 포트(313), 수신 포트(314)와, 동기 대상과의 사이에서 통신을 행하는 시스템 버스 I/F부(311)와, 소정의 시간을 카운트하는 n개(n은 2이상의 정수)의 지연 카운터(316-1, 316-2)와, 소정의 주기로 입력되는 동기 패킷을 수신 포트(314)로부터 수신하면, 소정의 주기의 n배의 주기를 지연 카운터(316-1, 316-2)에 카운트시키고, 또한 각각의 지연 카운터(316-1, 316-2)에서의 카운트의 클리어의 타이밍이 다르도록 지연 카운터(316-1, 316-2)의 제어를 행하는 지연 카운터 제어부(317)와, 클리어되고 나서의 카운트치가 동기 펄스 출력치와 같은 값의 지연 카운터(316-1, 316-2)가 있는 경우에, 시스템 버스 I/F부(311)를 통해서 동기 대상에 대해서 동기 펄스를 출력하는 동기 펄스 출력부를 구비한다.

Description

통신 장치, 통신 시스템 및 동기 제어 방법{COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND SYNCHRONOUS CONTROL METHOD}
본 발명은 통신 장치, 통신 시스템 및 동기 제어 방법에 관한 것이다.
공작 기계나 반도체 제조 장치, 산업용 로보트 등, 복수의 축을 사용한 고정밀의 모션 동작이 필요하게 되는 모션 컨트롤 시스템에 있어서, 모션 컨트롤러와 복수의 제어되는 축은 서로 동기해서 동작을 행할 필요가 있다.
종래의 모션 컨트롤 시스템에는, 복수의 모션 컨트롤러에 같은 보간(補間) 지령이 입력되고, 복수의 서보 드라이브의 서보 위치 지령 또는 서보 토크 지령을 조금씩 지연시켜 작성하여, 복수의 서보 드라이브에 송신함으로써, 단일의 모션 컨트롤러에 의해서는 원하는 제어 주기로 처리될 수 없는 다축 보간 지령이라도, 원하는 제어 주기로 서보 드라이브로 지령을 출력할 수 있는 기술이 제안되어 있다(예를 들어, 특허 문헌 1 참조).
특허 문헌 1에 기재된 기술에서는, 모션 컨트롤러와 복수의 서보 드라이브를, 동기 통신 기능을 구비하지 않은 고속 시리얼 버스 또는 시리얼 통신으로 접속한 모션 컨트롤 시스템에 있어서, 모션 컨트롤러는, 설정 시간마다 기동 인터럽트(start-up interrupt)로 모션 지령을 서보 드라이브로 출력하여, 모션 지령의 출력으로부터 설정 시간 지연시킨 기동 인터럽트로 타이머 클리어 요구를 서보 드라이브로 출력하고 있다. 또, 서보 드라이브는 모션 컨트롤러로부터의 타이머 클리어 요구를 설정 시간 지연시켜 서보 드라이브 내의 타이머를 클리어하도록 하고 있다. 이것에 의해서, 각 서보 드라이브의 서보 제어 처리를 동시에 실행시키고 있다.
특허 문헌 1: 일본국 특개 2010-244505호 공보
그렇지만, 특허 문헌 1에 기재된 기술에서는, 모션 컨트롤러가 위치 지령 등의 모션 지령을 송신한 후, 모션 컨트롤러로부터의 물리적 거리가 가까운 서보 드라이브와 먼 서보 드라이브에서는 모션 지령을 수신하는 타이밍이 다르지만, 복수의 서보 드라이브를 동기하여 동작시키기 위해서, 먼저 지령을 수신한 서보 드라이브는, 지령을 수신하는 것이 가장 늦은 서보 드라이브가 지령을 수신할 때까지 대기 상태가 되어 버린다. 따라서 모션 컨트롤러와 동기 대상의 통신 거리가 연장되어 가거나, 동기 대상의 서보 드라이브가 증가되어 가는 것에 따라서, 지연 시간은 커진다. 지연 시간이 증대되면, 모션 컨트롤러로부터 서보 드라이브로의 위치 지령 등의 모션 지령이 송신되고 나서, 실제의 기동 인터럽트가 출력될 때까지의 시간이 연장되게 되어, 원하는 기동 주기를 실현할 수 없게 된다고 하는 문제점이 있었다.
본 발명은 상기를 감안하여 이루어진 것으로, 모션 컨트롤 시스템에서 모션 컨트롤러에 접속되는 서보 드라이브의 수가 증대되어 가는 경우에도, 모션 컨트롤러로부터 서보 드라이브로의 모션 지령이 송신되고 나서 실제의 기동 인터럽트가 출력될 때까지의 시간의 증대를 억제할 수 있는 통신 장치, 통신 시스템 및 동기 제어 방법을 얻는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명에 따른 통신 장치는, 다른 통신 장치와의 사이에서 통신을 행하는 제1 통신 수단과, 동기 대상과의 사이에서 통신을 행하는 제2 통신 수단과, 소정의 시간을 카운트하는 n개(n은 2이상의 정수)의 카운터와, 소정의 주기로 입력되는 동기 패킷을 상기 제1 통신 수단으로부터 수신하면, 상기 소정의 주기의 n배의 주기를 상기 카운터에 카운트시키고, 또한 각각의 상기 카운터에서의 카운트의 클리어의 타이밍이 다르도록 상기 카운터의 제어를 행하는 카운터 제어 수단과, 클리어되고 나서의 카운트치가 동기 펄스 출력치와 같은 값의 상기 카운터가 있는 경우에, 상기 제2 통신 수단을 통해서 상기 동기 대상에 대해서 동기 펄스를 출력하는 동기 펄스 출력 수단을 구비하는 것을 특징으로 한다.
본 발명에 의하면, n개의 카운터와 소정의 주기로 입력되는 동기 패킷을 수신하면, 소정의 주기의 n배의 주기를 카운터에 카운트시키고, 또한 각각의 카운터에서의 카운트의 클리어의 타이밍이 다르도록 카운터의 제어를 행하는 카운터 제어 수단을 구비하도록 했으므로, 1개의 카운터에 의해서 동기 패킷이 말단(末端)의 제어 대상에 도착할 때까지 기다리고 있는 동안에도, 다음의 동기 패킷을 받을 수 있다고 하는 효과를 가진다. 또, 다수 있는 지연 카운터 중 어떤 것이 동기 펄스 출력치의 값이 될 때마다 동기 펄스를 출력하기 때문에, 지연 카운터가 1개인 경우보다 빠른 주기로 동기 펄스를 출력할 수 있다고 하는 효과도 가진다.
도 1은 실시 형태가 적용되는 모션 컨트롤 시스템의 구성의 일례를 모식적으로 나타내는 도면이다.
도 2는 동기 마스터의 기능 구성의 일부를 모식적으로 나타내는 블록도이다.
도 3은 네트워크 유닛의 기능 구성의 일례를 모식적으로 나타내는 도면이다.
도 4는 네트워크 유닛(31A)의 지연 카운터의 동작의 일례를 나타내는 도면이다.
도 5는 동기 대상(21A)의 동작의 일례를 나타내는 도면이다.
도 6은 네트워크 유닛(31B)의 지연 카운터의 동작의 일례를 나타내는 도면이다.
도 7은 동기 대상(21B)의 동작의 일례를 나타내는 도면이다.
도 8은 네트워크 유닛(31C)의 지연 카운터의 동작의 일례를 나타내는 도면이다.
도 9는 동기 대상(21C)의 동작의 일례를 나타내는 도면이다.
도 10은 네트워크 유닛(31D)의 지연 카운터의 동작의 일례를 나타내는 도면이다.
도 11은 동기 대상(21D)의 동작의 일례를 나타내는 도면이다.
도 12는 실시 형태에 의한 모션 컨트롤 시스템에서의 각 동기 대상의 동작의 일례를 나타내는 도면이다.
도 13은 일반적인 방법에 따르는 모션 컨트롤 시스템에서의 각 동기 대상의 동작의 일례를 나타내는 도면이다.
이하에 첨부 도면을 참조하여, 본 발명에 따른 통신 장치, 통신 시스템 및 동기 제어 방법의 매우 적합한 실시 형태를 상세하게 설명한다. 또한, 이 실시 형태에 의해 본 발명이 한정되는 것은 아니다.
도 1은 실시 형태가 적용되는 모션 컨트롤 시스템의 구성의 일례를 모식적으로 나타내는 도면이다. 모션 컨트롤 시스템은 모션 컨트롤러 등의 동기 마스터(11)와, 서보 드라이브 등의 동기 대상(21A~21D)이, 네트워크(40)를 통해서 접속되는 구성을 가진다.
동기 마스터(11)와 네트워크 유닛(31M)은, 시스템 버스(12)를 통해서 접속된다. 또, 동기 대상(21A)과 네트워크 유닛(31A)은, 시스템 버스(22A)를 통해서 접속되고, 다른 동기 대상(21B~21D)과 네트워크 유닛(31B~31D)도 마찬가지로 각각 시스템 버스(22B~22D)를 통해서 접속된다. 그리고 네트워크 유닛(31M)과 네트워크 유닛(31A~31D)은, 예를 들어 Ethernet(등록상표) 등의 네트워크(40)를 통해서 라인 모양으로 접속된다. 또한, 이 예에서는, 동기 마스터(11)에 접속되는 네트워크 유닛(31M)과, 4개의 동기 대상(21A~21D)에 접속되는 네트워크 유닛(31A~31D)에 의해서, 모션 컨트롤 시스템이 구성되어 있지만, 그 수는 이것으로 특정되는 것은 아니다. 또, 네트워크 유닛(31M, 31A~31D) 간의 접속 형태는, 라인 모양만이 아니고, 스타 모양이나 링 모양, 이것들이 혼재된 것 등으로 할 수도 있다.
도 2는 동기 마스터의 기능 구성의 일부를 모식적으로 나타내는 블록도이다. 동기 마스터(11)는 인터벌 타이머(111)와, 시스템 버스 인터페이스(이하, I/F라고 함)부(112)와, 통신 지연 측정부(113)를 가진다. 또한, 모션 컨트롤러 등이 가지는 동기 마스터(11)로서의 그 외의 기본적인 기능에 대해서는, 여기에서는 생략하고 있다.
인터벌 타이머(111)는 소정 시간마다 기동 인터럽트를 발생시켜, 도시하지 않은 처리부에서의 모션 처리를 기동한다.
시스템 버스 I/F부(112)는 시스템 버스(12)에 대해서 커멘드의 송수신이나 제어 신호의 입출력을 행하는 기능을 가진다. 이 실시 형태에서는, 시스템 버스(12)로서, 시리얼 버스, 패러렐 버스 등의 형태에는 제한이 없다. 또, 시스템 버스 I/F부(112)로부터 출력되는 동기 펄스는, 시스템 버스(12)를 통해서 접속되어 있는 모든 네트워크 유닛(31A~31D)에 동기 타이밍을 통지한다. 또, 시스템 버스(12)에 출력되는 형태가 동기 패킷이면, 특정의 유닛에 대해서 동기 타이밍을 통지할 수도 있다.
통신 지연 측정부(113)는 동기 마스터(11)가 동기 펄스를 출력하고 나서, 동기 대상(21A~21D)이 접속되어 있는 네트워크 유닛(31A~31D)까지의 지연 시간을 측정한다. 지연 시간을 측정하는 방법에 대해서, 특히 한정하는 것은 아니지만, 예를 들어 IEEE 1588 등의 규격을 이용하여 지연 시간을 측정할 수 있다. 측정한 지연 시간은, 각 네트워크 유닛(31A~31D)의 동기 펄스 출력치 기억부에 기억된다.
네트워크 유닛(31M, 31A~31D)은 네트워크(40)를 통해서 정주기(定周期)로 네트워크 유닛끼리 통신을 행하는 기능을 가진다. 네트워크 유닛(31M, 31A~31D)에는 통신에 관한 여러가지 기능이 존재하지만, 여기에서는, 실시 형태에 관련되는 동기 기능으로 좁혀 네트워크 유닛(31M, 31A~31D)의 기능에 대해 설명한다. 도 3은 네트워크 유닛의 기능 구성의 일례를 모식적으로 나타내는 도면이다. 도 1의 동기 마스터(11)에 접속되는 네트워크 유닛(31M)과, 동기 대상(21A~21D)에 접속되는 네트워크 유닛(31A~31D)은, 각각 같은 구성을 가지며, 여기에서는, 네트워크 유닛(31)으로 표기하고 그 구성을 설명한다.
네트워크 유닛(31)은 시스템 버스 I/F부(311), 동기 패킷 송신부(312), 송신 포트(313), 수신 포트(314), 동기 패킷 수신부(315), 지연 카운터(316-1, 316-2), 지연 카운터 제어부(317), 필터부(318-1, 318-2), 동기 펄스 출력치 기억부(319) 및 동기 펄스 출력부(320)를 구비한다. 이 실시 형태의 예에서는, 지연 카운터(316-1, 316-2) 및 필터부(318-1, 318-2)는 각각 2개씩 마련되는 구성을 가지고 있지만, 그 수는 한정되는 것은 아니다. 또, 마이크로 컴퓨터나 메모리, 클록 등 네트워크 유닛을 구성하는 일반적인 기능은, 명시적으로 도시하고 있지 않지만 존재하는 것으로 한다.
시스템 버스 I/F부(311)는 동기 마스터(11)의 시스템 버스 I/F부(112)와 마찬가지로 시스템 버스(12, 22A~22D)에 대해서 커멘드의 송수신이나 제어 신호의 입출력을 행하는 기능을 가진다.
동기 패킷 송신부(312)는, 시스템 버스 I/F부(311)가 수신한 동기 펄스를 트리거로 하여 다른 네트워크 유닛으로의 동기 패킷을 생성하고, 생성한 동기 패킷을 송신 포트(313)에 대해서 출력한다. 또한, 이 실시 형태에서는, 동기 패킷의 형식에 대해서는, 특히 한정되지 않는다. 예를 들어, Ethernet(등록상표)의 헤더나 데이터 영역에 1bit의 동기 패킷인지 여부를 나타내는 플래그 정보를 격납시켜서, 동기 패킷으로 하도록 해도 좋다. 또, 동기 패킷 송신부(312)는 클리어할 지연 카운터(316-1, 316-2)를 지정하는 클리어 카운터 지정 정보를 포함하도록 해도 좋다.
송신 포트(313) 및 수신 포트(314)는, 네트워크(40)와의 사이에서 패킷을 송수신하는 I/F이다. 네트워크(40)의 토폴로지는 한정되는 것은 아니지만, 이 예에서는, 라인형의 토폴로지를 가지고 있으므로, 2개의 송신 포트(313)와 수신 포트(314)를 가지고 있다. 또, 스타형의 토폴로지를 가지는 경우이면 통신 포트는 1개여도 좋다. 추가로, 송신 포트(313)와 수신 포트(314)는 양쪽의 기능을 가지는 하나의 포트로 구성되어 있어도 좋다.
동기 패킷 수신부(315)는, 수신 포트(314) 또는 송신 포트(313)로부터 자기앞으로 온 동기 패킷을 받아 해석하는 기능을 가진다. 동기 패킷을 수신했을 경우에는, 지연 카운터 제어부(317)에 동기 패킷의 도착을 통지한다. 예를 들어, 상기한 예에서는, Ethernet(등록상표)의 헤더나 데이터 영역에 마련되는 동기 패킷인지 여부를 나타내는 플래그 정보를 확인함으로써, 동기 패킷인지 여부를 판정한다. 또, 동기 패킷에 클리어 카운터 지정 정보가 포함되는 경우에는, 지연 카운터 제어부(317)에 대해서, 동기 패킷의 도착의 통지와 함께 클리어할 지연 카운터(316-1, 316-2)도 통지한다.
지연 카운터(316-1, 316-2)는 클록에 동기하여 카운트업하는 기능을 가진다. 이 실시 형태에서는, 네트워크 유닛(31)은 2개의 지연 카운터(316-1, 316-2)를 가지고 있지만, 복수 가지고 있으면 좋다.
지연 카운터 제어부(317)는 지연 카운터(316-1, 316-2)의 개시, 정지, 리셋의 동작을 제어한다. 구체적으로는, 지연 카운터 제어부(317)는 동기 패킷 수신부(315)로부터 동기 패킷의 도착과 동기 대상의 지연 카운터(316-1, 316-2)의 정보를 수신하여, 대상의 지연 카운터(316-1, 316-2)를 클리어한다.
이 실시 형태에서는, 지연 카운터 제어부(317)는, 각각의 지연 카운터(316-1, 316-2)에 대해서, 각 동기 대상(21A~21D)에 대해서 동기 펄스를 출력하는 주기 보다도 긴 소정의 주기를 카운트시킨다. 카운트시키는 주기로서는, 예를 들어 동기 마스터(11)로부터의 네트워크(40)를 통한 물리적인 거리가 가장 가까운 네트워크 유닛(31A)에 대하여 가장 먼 네트워크 유닛(31D)의 지연 시간보다도 긴 시간으로 할 수 있다. 또, 각 지연 카운터(316-1, 316-2)에서의 카운트 개시시기는, 각각 다르도록 제어된다. 구체적으로는, 지연 카운터(316-1, 316-2)에서 카운트되는 주기를 지연 카운터(316-1, 316-2)의 수로 나눈 값만큼 지연시켜, 각 지연 카운터(316-1, 316-2)에서 카운트를 개시시키도록 하고 있다. 이것에 의해서, 지연 카운터 제어부(317)는 지연 카운터(316-1, 316-2)에서의 카운트 주기보다도 짧은(지연 카운터(316-1, 316-2)의 수 분의 1)의 주기를 지연 카운터(316-1, 316-2)를 이용하여 계측하는 것이 가능해진다.
필터부(318-1, 318-2)는 동기 패킷의 수신 가능한 시간 범위를 제어하는 기능을 가진다. 구체적으로는, 동기 패킷은 정주기로 전달(deliver)되는 것이 기대되고 있기 때문에, 어떠한 요인에 의해서 정주기 이외로 전달된 동기 패킷으로 동기 타이밍이 방해받는 일이 없도록, 정주기 이외로 전달되는 동기 패킷을 배제하는 기능이다. 또한, 종래 기술에서는, 동기 패킷의 도착에 의해서 클리어할 지연 카운터는 1대 1로 대응하고 있었다. 그러나 이 실시 형태에서는, 지연 카운터(316-1, 316-2)가 다수 있기 때문에 동기 패킷이 클리어할 지연 카운터(316-1, 316-2)를 선택할 필요가 있다. 이 선택의 방법으로서, 예를 들어 필터부(318-1, 318-2)마다 클리어할 지연 카운터(316-1, 316-2)를 1대 1로 대응시킴으로써 실현된다.
동기 펄스 출력치 기억부(319)는, 지연 카운터(316-1, 316-2)가 취할 수 있는 범위에서 설정 가능한 동기 펄스 출력치가 기억된다. 구체적으로는, 동기 펄스 출력치 기억부(319)에는, 동기 마스터(11)가 동기 펄스를 출력하여, 동기 대상(21A~21D)이 접속되어 있는 네트워크 유닛(31A~31D)에 도착할 때까지의 지연 시간이 설정된다. 이 동기 펄스 출력치는, 동기 마스터(11)의 통신 지연 측정부(113)에 의해서 측정된 값이 기억된다.
동기 펄스 출력부(320)는 동기 펄스 출력치 기억부(319)에 기억되어 있는 동기 펄스 출력치와 모든 지연 카운터(316-1, 316-2)의 값을 비교하여, 동기 펄스 출력치와 일치하는 지연 카운터(316-1, 316-2)가 1개라도 있는 경우에, 시스템 버스 I/F부(311)를 통해서, 시스템 버스(22A~22D)에 동기 펄스를 출력한다. 또한, 동기 펄스는, 시스템 버스를 통해서 다른 네트워크 유닛에 동기 타이밍을 통지하는 경우도 있기 때문에, 동기 패킷 등의 형태여도 좋다.
이러한 구조의 네트워크 유닛(31)에서는, 지연 카운터(316-1, 316-2)에서 카운트하는 주기의 1/2의 주기를 계측할 수 있다. 또, 각 지연 카운터(316-1, 316-2)의 값이, 동기 펄스 출력치 기억부(319) 중의 동기 펄스 출력치와 같은 값이 되었을 경우에 동기 펄스 출력부(320)가 시스템 버스 I/F부(311)를 통해서 동기 대상(21A~21D)에 동기 펄스를 출력하도록 하고 있다. 이것에 의해서, 지연 카운터(316-1, 316-2)의 카운트 주기의 1/2의 주기로 동기 펄스를 출력할 수 있음과 아울러, 시스템 중의 모든 네트워크 유닛(31)에서 동기 마스터(11)로부터의 신호의 도달시간의 지연을 고려한 타이밍에서 동기를 취할 수 있다.
다음으로, 도 1에 도시된 것과 같은 동기 마스터(11) 및 이것에 접속되는 네트워크 유닛(31M)과, 동기 대상(21A~21D) 및 이들 각각에 접속되는 네트워크 유닛(31A~31D)을 가지는 모션 컨트롤 시스템에서의 동기 제어 방법에 대해 설명한다. 또한, 이 예에서는, 도 3에 도시된 것과 같이 각 네트워크 유닛(31M, 31A~31D)은, 2개의 지연 카운터(316-1, 316-2)를 가지는 것으로 한다.
<동기 마스터(11)의 동작>
동기 마스터(11)는 인터벌 타이머(111)에 의해서 주기적으로 시스템 버스 I/F부(112)를 통해 동기 펄스를 출력한다. 여기에서는, 시각 t1, t2, t3, t4, t5, … 에서 동기 펄스를 주기적으로 출력하고 있는 것으로 한다.
<네트워크 유닛(31M)의 동작>
동기 마스터(11)와 같은 시스템 버스(12)에 접속되어 있는 네트워크 유닛(31M)은, 시각 t1, t2, t3, … 에서 동기 마스터(11)로부터 동기 펄스를 수신하고, 시스템 버스 I/F부(311)로 동기 펄스를 입력시키며, 동기 패킷 송신부(312)에 동기 패킷의 도착을 통지한다.
동기 패킷 송신부(312)에서는, 시각 t1, t2, t3, … 에서 통지되는 동기 패킷 도착의 통지로, 동기 패킷을 작성하여, 송신 포트(313)에서 네트워크(40)로 연결되는 모든 네트워크 유닛(31A~31D) 앞으로 송신한다. 또한, 여기에서는 설명을 용이하게 하기 위해서, 동기 펄스의 도착에서부터 동기 패킷의 송신까지의 지연은 없는 것으로 한다.
<네트워크 유닛(31A)의 동작>
다음으로, 네트워크 유닛(31A)에서는, 수신 포트(314)에 네트워크 유닛(31M)으로부터의 동기 패킷이 도착한다. 수신 포트(314)는 동기 패킷의 목적지가 전(全) 네트워크 앞이기 때문에, 동기 패킷을 취득하여, 동기 패킷 수신부(315)에 전송함과 아울러, 송신 포트(313)에도 동기 패킷을 전송한다. 그리고 송신 포트(313)는 동기 패킷을 네트워크(40)로 송신한다. 이 수신 포트(314)로부터 송신 포트(313)로의 동기 패킷의 전송 동작은, 설명예의 네트워크 토폴로지가 라인 구성이기 때문에, 전 네트워크(40)에 패킷을 송신하는데 필요하지만, 예를 들어 네트워크 토폴로지가 스타형 등인 경우에는 필요없다.
또, 네트워크 유닛(31A) 내의 동기 패킷 수신부(315)는, 수신 포트(314)로부터 전송된 동기 패킷을 해석하여, 동기 패킷인지를 판정한다. 도착 패킷이 동기 패킷인 경우에는, 동기 패킷 수신부(315)는, 필터부(318-1, 318-2)로 동기 패킷의 도착을 통지한다.
이 네트워크 유닛(31M)으로부터 네트워크 유닛(31A)에 동기 패킷이 전달되고, 네트워크 유닛(31A)의 필터부(318-1, 318-2)에 동기 패킷의 도착을 통지할 때까지의 지연 시간을 β라 한다. 이 지연 시간 β는 동기 패킷이 네트워크 케이블을 전송하는 시간이나, 네트워크 유닛(31A) 내에서의 처리 시간을 합계한 것이다. 따라서 네트워크 유닛(31A)에서 필터부(318-1, 318-2)에 최초의 동기 패킷이 도착한 시각은 t1+β가 된다. 그리고 마찬가지로 2번째의 동기 패킷이 도착하는 시각은 t2+β가 되고, 3번째의 동기 패킷이 도착하는 시각은 t3+β, …이 된다.
네트워크 유닛(31A)은, 상기한 것처럼 2개의 지연 카운터(316-1, 316-2)를 가진다. 필터부(318-1)는 지연 카운터(316-1)용으로 마련되고, 필터부(318-2)는 지연 카운터(316-2)용으로 마련된다. 다만, 기동 직후는, 필터부(318-1, 318-2)는 정지해 있어, 필터부(318-1, 318-2)는 동기 패킷을 필터링하지 않는다. 여기서, 필터부(318-1, 318-2)의 윈도우폭과 주기는 사전에 설정해 두는 것으로 한다.
도 4는 네트워크 유닛(31A)의 지연 카운터의 동작의 일례를 나타내는 도면이며, (a)는 지연 카운터(316-1)의 동작을 나타내고 있고, (b)는 지연 카운터(316-2)의 동작을 나타내고 있고, (c)는 (a)와 (b)를 겹쳐서 표시한 것이다. 이들 도면에 있어서, 가로축은 시간(시각)을 나타내고, 세로축은 지연 카운터(316-1, 316-2)의 값을 나타내고 있다.
도 4에 도시되는 것처럼, 네트워크 유닛(31A)의 2개의 지연 카운터(316-1, 316-2)도 기동 직후는 카운트업하고 있지 않다. 시각 t1+β의 최초의 동기 패킷의 도착 통지로, 지연 카운터 제어부(317)는 지연 카운터(316-1)를 클리어하고, 카운트업을 개시시킨다. 마찬가지로 시각 t2+β에 도착한 동기 패킷에 의해서, 지연 카운터 제어부(317)는 지연 카운터(316-2)를 클리어하고, 카운트업을 개시시킨다. 즉, 각 지연 카운터(316-1, 316-2)는, 동기 패킷이 도착하는 주기의 2배의 주기로 리셋되고, 리셋(클리어)되는 타이밍이 반주기 시프트되도록 설정되어 있다. 또, 일반적으로는, 지연 카운터의 수가 n(n은 2이상의 정수)인 경우에는, 각 지연 카운터는 동기 패킷이 도착하는 주기의 n배의 주기로 리셋되고, 리셋되는 타이밍이 각각 1/n주기 시프트되도록 설정된다.
또, 최초의 동기 패킷 도착을 기점으로 하여, 필터부(318-1, 318-2)를 유효하게 한다. 즉, 이 예에서는, 시각 t1+β에 도착한 동기 패킷으로 필터부(318-1)를 유효하게 하고, 시각 t2+β에 도착한 동기 패킷으로 필터부(318-2)를 유효하게 한다. 따라서 시각 t3+β에 도착한 동기 패킷은 필터부(318-1)가 설정하는 윈도우폭에 들어가 있지 않으면, 폐기된다.
여기서, 네트워크 유닛(31A)의 동기 펄스 출력치 기억부(319)에 동기 펄스 출력치 b가 설정되어 있는 것으로 한다. 이 실시 형태에서는, 지연 카운터(316-1)가 0에서부터 카운트업해 갔을 때 t2만큼의 시간이 경과하면 지연 카운터(316-1)의 값=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 b가 되는 값으로 하고 있다.
그리고 시각 t1+β에서 지연 카운터(316-1)가 클리어되고 나서 카운트업해 나가서, 지연 카운터(316-1)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 b가 되었을 때에, 네트워크 유닛(31A)의 동기 펄스 출력부(320)는 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다.
또, 마찬가지로 네트워크 유닛(31A)의 지연 카운터(316-2)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 b가 되었을 때에도 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다.
도 4 (c)에 도시되는 것처럼, 시각 t3+β, t5+β, … 은 지연 카운터(316-1)에서 카운트되고, 시각 t4+β, … 은 지연 카운터(316-2)로 카운트되게 된다.
네트워크 유닛(31A)으로부터 출력된 동기 펄스는, 네트워크 유닛(31A)과 같은 시스템 버스(22A)에 접속되어 있는 서보 드라이브 등의 동기 대상(21A)에 전해진다. 동기 대상(21A)은 동기 펄스의 지정된 타이밍에서 메인 프로그램의 처리를 행한다.
도 5는 동기 대상(21A)의 동작의 일례를 나타내는 도면이다. 이 도면에 도시되는 것처럼, 동기 대상(21A)은 시각 t3+β까지는 동기 펄스가 입력되지 않기 때문에, 동기 펄스 대기 상태가 된다. 그리고 시각 t3+β에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 된다. 그리고 이 이후, t4+β, t5+β, …의 시간에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 되는 처리가 반복된다.
<네트워크 유닛(31B)의 동작>
다음으로, 네트워크 유닛(31B)에서는, 수신 포트(314)에 동기 패킷이 도착한다. 네트워크 유닛(31B)의 수신 포트(314)에 도착하고 나서, 송신 포트(313)로 동기 패킷을 전송하는 처리와, 동기 패킷 수신부(315)에 의한 동기 패킷의 해석과 검지, 및 필터부(318-1, 318-2)로의 동기 패킷 도착의 통지 처리는, 네트워크 유닛(31A)과 같기 때문에 설명을 생략한다.
네트워크 유닛(31M)으로부터 네트워크 유닛(31A)을 경유하여 네트워크 유닛(31B)에 동기 패킷이 전달되어, 네트워크 유닛(31B)의 필터부(318-1, 318-2)에 동기 패킷의 도착을 통지할 때까지의 지연 시간을 γ이라고 한다. 이 지연 시간 γ은 동기 패킷이 네트워크 유닛(31M)으로부터 출력되고 나서 네트워크 유닛(31A)을 경유하여, 네트워크 유닛(31B)에 도착 후, 네트워크 유닛(31B) 내에서의 처리 시간을 합계한 것이다. 따라서 네트워크 유닛(31B)에서 필터부(318-1, 318-2)에 최초의 동기 패킷이 도착한 시각은 t1+γ이 된다. 그리고 마찬가지로 2번째의 동기 패킷이 도착하는 시각은 t2+γ이 되고, 3번째의 동기 패킷이 도착하는 시각은 t3+γ, …이 된다.
네트워크 유닛(31B)은 2개의 지연 카운터(316-1, 316-2)를 가진다. 도 6은 네트워크 유닛(31B)의 지연 카운터의 동작의 일례를 나타내는 도면이다. 이 도면에 있어서, 가로축은 시간을 나타내고, 세로축은 지연 카운터(316-1, 316-2)의 값을 나타내고 있다.
이들 지연 카운터(316-1, 316-2)는, 기동 직후는 카운트업하고 있지 않다. 그리고 시각 t1+γ에서 최초의 동기 패킷의 도착 통지로, 지연 카운터 제어부(317)는 지연 카운터(316-1)를 클리어하고, 카운트업을 개시시킨다. 마찬가지로 시각 t2+γ에 도착한 동기 패킷에 의해서, 지연 카운터 제어부(317)는 지연 카운터(316-2)를 클리어하고, 카운트업을 개시시킨다.
또, 최초의 동기 패킷 도착을 기점으로 하여, 필터부(318-1, 318-2)를 유효하게 한다. 즉, 이 예에서는, 시각 t1+γ에 도착한 동기 패킷으로 필터부(318-1)를 유효하게 하고, 시각 t2+γ에 도착한 동기 패킷으로 필터부(318-2)를 유효하게 한다. 따라서 시각 t3+γ에 도착한 동기 패킷은 필터부(318-1)의 윈도우폭에 들어가 있지 않으면, 폐기된다.
여기서, 네트워크 유닛(31B)의 동기 펄스 출력치 기억부(319)에 동기 펄스 출력치 c가 설정되어 있는 것으로 한다. 이 동기 펄스 출력치 c는, 동기 마스터(11)의 통신 지연 측정부(113)에 의해서 설정되는 것이지만, 이 실시 형태에서는, 동기 펄스 출력치 c=네트워크 유닛(31A)의 동기 펄스 출력치 b×2/3이 되어 있는 것으로 한다. 따라서 지연 카운터(316-1)가 0에서부터 카운트업해 갔을 때 t2×2/3만큼의 시간이 경과하면 지연 카운터(316-1)의 값=동기 펄스 출력치 c가 된다.
그리고 시각 t1+γ에서 지연 카운터(316-1)가 클리어되고 나서 카운트업해 나가서, 지연 카운터(316-1)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 c가 된 t3+β일 때에, 네트워크 유닛(31B)의 동기 펄스 출력부(320)는 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다.
또, 마찬가지로 시각 t2+γ에서 지연 카운터(316-2)가 클리어되고 나서 카운트업해 나가서, 지연 카운터(316-2)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 c가 된 t4+β일 때에도 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다.
도 6에 도시되는 것처럼, 시각 t3+β, t5+β, … 은 지연 카운터(316-1)로 카운트 되고, 시각 t4+β, … 은 지연 카운터(316-2)로 카운트되게 된다. 또한, 네트워크 유닛(31A)에 관련된 지연을 포함하여 동기 펄스 출력치 기억부(319) 중의 동기 펄스 출력치 c가 설정되어 있으므로, 네트워크 유닛(31B)의 동기 펄스를 출력하는 시간은 네트워크 유닛(31A)과 일치하고 있다.
네트워크 유닛(31B)으로부터 출력된 동기 펄스는, 네트워크 유닛(31B)과 같은 시스템 버스(22B)에 접속되어 있는 서보 드라이브 등의 동기 대상(21B)에 전해진다. 동기 대상(21B)은 동기 펄스의 지정된 타이밍에서 메인 프로그램의 처리를 행한다.
도 7은 동기 대상(21B)의 동작의 일례를 나타내는 도면이다. 이 도면에 도시되는 것처럼, 동기 대상(21B)은 시각 t3+β까지는 동기 펄스가 입력되지 않기 때문에, 동기 펄스 대기 상태가 된다. 그리고 시각 t3+β에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 된다. 그리고 이 이후, t4+β, t5+β, …의 시간에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 되는 처리가 반복된다.
<네트워크 유닛(31C)의 동작>
마찬가지로, 네트워크 유닛(31C)에서도, 수신 포트(314)에 동기 패킷이 도착한다. 네트워크 유닛(31C)의 수신 포트(314)에 도착하고 나서, 송신 포트(313)로 동기 패킷을 전송하는 처리와, 동기 패킷 수신부(315)에 의한 동기 패킷의 해석과 검지, 및 필터부(318-1, 318-2)로의 동기 패킷 도착의 통지 처리는, 네트워크 유닛(31A, 31B)과 같기 때문에 설명을 생략한다.
네트워크 유닛(31M)으로부터 네트워크 유닛(31A, 31B)을 경유하여 네트워크 유닛(31C)으로 동기 패킷이 전달되어, 네트워크 유닛(31C)의 필터부(318-1, 318-2)에 동기 패킷의 도착을 통지할 때까지의 지연 시간을 δ라고 한다. 이 지연 시간 δ은 동기 패킷이 네트워크 유닛(31M)으로부터 출력되고 나서 네트워크 유닛(31A, 31B)을 경유하여, 네트워크 유닛(31C)에 도착 후, 네트워크 유닛(31C) 내에서의 처리 시간을 합계한 것이다. 따라서 네트워크 유닛(31C)에서 필터부(318-1, 318-2)에 최초의 동기 패킷이 도착하는 시각은 t1+δ이 된다. 그리고 마찬가지로 2번째의 동기 패킷이 도착하는 시각은 t2+δ이 되고, 3번째의 동기 패킷이 도착하는 시각은 t3+δ, …이 된다.
네트워크 유닛(31C)은 2개의 지연 카운터(316-1, 316-2)를 가진다. 도 8은 네트워크 유닛(31C)의 지연 카운터의 동작의 일례를 나타내는 도면이다. 이 도면에 있어서, 가로축은 시간을 나타내고, 세로축은 지연 카운터(316-1, 316-2)의 값을 나타내고 있다.
이들 지연 카운터(316-1, 316-2)도, 기동 직후는 카운트업하고 있지 않다. 그리고 시각 t1+δ에 최초의 동기 패킷의 도착 통지로, 지연 카운터 제어부(317)는 지연 카운터(316-1)를 클리어하고, 카운트업을 개시시킨다. 마찬가지로 시각 t2+δ에 도착한 동기 패킷에 의해서, 지연 카운터 제어부(317)는 지연 카운터(316-2)를 클리어하고, 카운트업을 개시시킨다.
또, 최초의 동기 패킷 도착을 기점으로 하여, 필터부(318-1, 318-2)를 유효하게 한다. 즉, 이 예에서는, 시각 t1+δ에 도착한 동기 패킷으로 필터부(318-1)를 유효하게 하고, 시각 t2+δ에 도착한 동기 패킷으로 필터부(318-2)를 유효하게 한다. 따라서 시각 t3+δ에 도착한 동기 패킷은 필터부(318-1)의 윈도우폭에 들어가 있지 않으면, 폐기된다.
여기서, 네트워크 유닛(31C)의 동기 펄스 출력치 기억부(319)에 동기 펄스 출력치 d가 설정되어 있는 것으로 한다. 이 동기 펄스 출력치 d는, 동기 마스터(11)의 통신 지연 측정부(113)에 의해서 설정되는 것이지만, 이 실시 형태에서는, 동기 펄스 출력치 d=네트워크 유닛(31A)의 동기 펄스 출력치 b×1/3이 되어 있는 것으로 한다. 따라서 지연 카운터(316-1)가 0에서부터 카운트업해 갔을 때 t2×1/3만큼의 시간이 경과하면 지연 카운터(316-1)의 값=동기 펄스 출력치 d가 된다.
그리고 시각 t1+δ에서 지연 카운터(316-1)가 클리어되고 나서 카운트업해 나가서, 지연 카운터(316-1)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 d가 된 t3+β일 때에, 네트워크 유닛(31C)의 동기 펄스 출력부(320)는, 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다.
또, 마찬가지로 시각 t2+δ에서 지연 카운터(316-2)가 클리어되고 나서 카운트업해 나가서, 지연 카운터(316-2)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 d가 된 t4+β일 때에도 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다.
도 8에 도시되는 것처럼, 시각 t3+β, t5+β, … 은 지연 카운터(316-1)로 카운트되고, 시각 t4+β, … 은 지연 카운터(316-2)로 카운트되게 된다. 또한, 네트워크 유닛(31A)에 관련된 지연을 포함하여 동기 펄스 출력치 기억부(319) 중의 동기 펄스 출력치 d가 설정되어 있으므로, 네트워크 유닛(31C)의 동기 펄스를 출력하는 시간은, 네트워크 유닛(31A, 31B)과 일치하고 있다.
네트워크 유닛(31C)으로부터 출력된 동기 펄스는, 네트워크 유닛(31C)과 같은 시스템 버스(22C)에 접속되어 있는 서보 드라이브 등의 동기 대상(21C)에 전해진다. 동기 대상(21C)은 동기 펄스의 지정된 타이밍에서 메인 프로그램의 처리를 행한다.
도 9는 동기 대상(21C)의 동작의 일례를 나타내는 도면이다. 이 도면에 도시되는 것처럼, 동기 대상(21C)은 시각 t3+β까지는 동기 펄스가 입력되지 않기 때문에, 동기 펄스 대기 상태가 된다. 그리고 시각 t3+β에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 된다. 그리고 이 이후, t4+β, t5+β, …의 시간에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 되는 처리가 반복된다.
<네트워크 유닛(31D)의 동작>
마찬가지로, 네트워크 유닛(31D)에서도, 수신 포트(314)에 동기 패킷이 도착한다. 네트워크 유닛(31D)의 수신 포트(314)에 도착하고 나서, 송신 포트(313)로 동기 패킷을 전송하는 처리와, 동기 패킷 수신부(315)에 의한 동기 패킷의 해석과 검지, 및 필터부(318-1, 318-2)로의 동기 패킷 도착의 통지 처리는, 네트워크 유닛(31A~31C)과 같기 때문에 설명을 생략한다.
네트워크 유닛(31M)으로부터 네트워크 유닛(31A, 31B, 31C)을 경유하여 네트워크 유닛(31D)으로 동기 패킷이 전달되어, 네트워크 유닛(31D)의 필터부(318-1, 318-2)에 동기 패킷의 도착을 통지할 때까지의 지연 시간을 ε라고 한다. 이 지연 시간 ε은 동기 패킷이 네트워크 유닛(31M)으로부터 출력되고 나서 네트워크 유닛(31A, 31B, 31C)을 경유하여, 네트워크 유닛(31D)에 도착 후, 네트워크 유닛(31D) 내에서의 처리 시간을 합계한 것이다. 따라서 네트워크 유닛(31D)에서 필터부(318-1, 318-2)에 최초의 동기 패킷이 도착하는 시각은 t1+ε이 된다. 그리고 마찬가지로 2번째의 동기 패킷이 도착하는 시각은 t2+ε, 3번째의 동기 패킷이 도착하는 시각은 t3+ε, …이 된다.
네트워크 유닛(31D)은 2개의 지연 카운터(316-1, 316-2)를 가진다. 도 10은 네트워크 유닛(31D)의 지연 카운터의 동작의 일례를 나타내는 도면이다. 이 도면에 있어서, 가로축은 시간을 나타내고, 세로축은 지연 카운터(316-1, 316-2)의 값을 나타내고 있다.
이들 지연 카운터(316-1, 316-2)도, 기동 직후는 카운트업하고 있지 않다. 그리고 시각 t1+ε에 최초의 동기 패킷의 도착 통지로, 지연 카운터 제어부(317)는 지연 카운터(316-1)를 클리어하고, 카운트업을 개시시킨다. 마찬가지로, 시각 t2+ε에 도착한 동기 패킷에 의해서, 지연 카운터 제어부(317)는 지연 카운터(316-2)를 클리어하고, 카운트업을 개시시킨다.
또, 최초의 동기 패킷 도착을 기점으로 하여, 필터부(318-1, 318-2)를 유효하게 한다. 즉, 이 예에서는, 시각 t1+ε에 도착한 동기 패킷으로 필터부(318-1)를 유효하게 하고, 시각 t2+ε에 도착한 동기 패킷으로 필터부(318-2)를 유효하게 한다. 따라서 시각 t3+ε에 도착한 동기 패킷은 필터부(318-1)의 윈도우폭에 들어가 있지 않으면, 폐기된다.
여기서, 네트워크 유닛(31D)의 동기 펄스 출력치 기억부(319)에 동기 펄스 출력치 e가 설정되어 있는 것으로 한다. 이 동기 펄스 출력치 e는 동기 마스터(11)의 통신 지연 측정부(113)에 의해서 설정되는 것이지만, 이 실시 형태에서는, 동기 펄스 출력치 e=네트워크 유닛(31A)의 동기 펄스 출력치 b×0/3로 되어 있는 것으로 한다. 따라서 지연 카운터(316-1)가 0이 되었을 때에 지연 카운터(316-1)의 값=펄스 출력치 e가 된다.
즉, 시각 t1+ε에서 지연 카운터(316-1)가 클리어되고 나서 카운트업함과 동시에, 지연 카운터(316-1)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 e가 되어, 네트워크 유닛(31D)의 동기 펄스 출력부(320)는, 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다. 이때의 시각은 t3+β이다. 그 후, 지연 카운터(316-1)는 카운트업해 나간다.
또, 마찬가지로 시각 t2+ε에서 지연 카운터(316-2)가 클리어되고 나서 카운트업함과 동시에, 지연 카운터(316-2)=동기 펄스 출력치 기억부(319)의 동기 펄스 출력치 e가 되어, 동기 펄스 출력부(320)는 시스템 버스 I/F부(311)를 통해 동기 펄스를 출력한다. 이때의 시각은 t4+β이다. 그 후, 지연 카운터(316-2)는 카운트업해 나간다.
도 10에 도시되는 것처럼, 시각 t3+β(=t1+ε), t5+β(=t3+ε), … 은 지연 카운터(316-1)로 카운트되고, 시각 t4+β(=t2+ε), … 은 지연 카운터(316-2)로 카운트되게 된다. 또한, 네트워크 유닛(31A)에 관련된 지연을 포함하여 동기 펄스 출력치 기억부(319) 중의 동기 펄스 출력치 e가 설정되어 있으므로, 네트워크 유닛(31D)의 동기 펄스를 출력하는 시간은, 네트워크 유닛(31A~31C)과 일치하고 있다.
네트워크 유닛(31D)으로부터 출력된 동기 펄스는, 네트워크 유닛(31D)과 같은 시스템 버스(22D)에 접속되어 있는 서보 드라이브 등의 동기 대상(21D)에 전해진다. 동기 대상(21D)은 동기 펄스의 지정된 타이밍에서 메인 프로그램의 처리를 행한다.
도 11은 동기 대상(21D)의 동작의 일례를 나타내는 도면이다. 이 도면에 도시되는 것처럼, 동기 대상(21D)은 시각 t3+β까지는 카운트업하고 있지 않는 상태이며, 시각 t3+β까지의 동기 펄스의 입력과 동시에, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 된다. 그리고 이 이후, t4+β, t5+β, …의 시간에서 동기 펄스가 입력되어, 메인 프로그램의 처리가 실행된 후, 동기 펄스 대기 상태가 되는 처리가 반복된다.
<동작 요약>
도 12는 실시 형태에 의한 모션 컨트롤 시스템에서의 각 동기 대상의 동작의 일례를 나타내는 도면이다. 이 도면은 도 5, 도 7, 도 9 및 도 11을 통합한 것이다. 이 도면에 도시되는 것처럼, 동기 마스터(11)로부터 물리적으로 가장 가까운(배선 길이가 가장 짧은) 위치에 배치되어 있는 네트워크 유닛(31A)에서부터 물리적으로 가장 먼(배선 길이가 가장 긴) 위치에 배치되어 있는 네트워크 유닛(31D)까지의 지연 시간(ε-β) 보다도 짧은 주기로, 각 네트워크 유닛(31A~31D)에서 동기를 취하는 것이 가능하게 된다. 이것은 각 네트워크 유닛(31A~31D)에 2개의 지연 카운터(316-1, 316-2)를 마련하고, 수신하는 동기 패킷의 주기의 2배로, 다른 타이밍에서 지연 카운터(316-1, 316-2)에 리셋시키도록 함과 아울러, 각 네트워크 유닛(31A~31D)에서 네트워크 유닛(31A)으로부터의 지연을 고려한 동기 펄스 출력치에 지연 카운터(316-1, 316-2)가 일치했을 경우에 동기 펄스를 출력하는 것에 따른 것이다.
도 13은 일반적인 방법에 따른 모션 컨트롤 시스템에서의 각 동기 대상의 동작의 일례를 나타내는 도면이다. 여기에서는, 상기 특허 문헌 1과 같이, 각 네트워크 유닛은, 1개의 지연 카운터만을 가지고 있는 경우를 나타내고 있다. 이 도면에 도시되는 것처럼, 종래의 기술에서는, 각 동기 대상이 동기를 취하는 타이밍은, 동기 마스터(11)로부터 물리적으로 가장 가까운 위치에 배치되어 있는 네트워크 유닛(31A)으로부터 물리적으로 가장 먼 위치에 배치되어 있는 네트워크 유닛(31D)까지의 지연 시간(ε-β) 이상이 된다.
또한, 상기한 예에서는, 네트워크 유닛은 2개의 지연 카운터를 마련하는 경우를 나타냈지만, 3이상의 지연 카운터를 마련하도록 해도 좋다.
상기한 것처럼, 이 실시 형태에서는, 모션 컨트롤 시스템에 접속되는 네트워크 유닛(31M, 31A~31D)에, n개(n은 2이상의 정수)의 지연 카운터(316-1, 316-2)를 마련하고, 지연 카운터 제어부(317)가 동기 마스터(11)로부터 출력되는 소정의 주기의 동기 펄스 신호의 n배의 주기를 각 지연 카운터(316-1, 316-2)로 카운트시켜, 각 지연 카운터(316-1, 316-2)를 리셋시키는 타이밍을 다르게 하도록 했다. 또, 각 지연 카운터(316-1, 316-2)에서의 카운트 중에, 각 네트워크 유닛(31B~31D)에 대해서, 동기 마스터(11)로부터 물리적으로 가장 가까운 위치에 배치되어 있는 네트워크 유닛(31A)으로부터의 지연 시간에 따라 동기 펄스 출력치를 설정하여, 각 지연 카운터(316-1, 316-2)가 카운트를 리셋하고 나서 동기 펄스 출력치가 되면, 동기 펄스 출력부(320)는 동기 대상(21A~21D)에 대해서 동기 펄스를 출력하도록 했다.
이것에 의해서, 각 네트워크 유닛(31A~31D)에 접속되는 동기 대상(21A~21D)에서의 동기를 취할 수 있음과 아울러, 각 지연 카운터(316-1, 316-2)에서는, 동기 마스터(11)로부터 물리적으로 가장 가까운 위치에 배치되어 있는 네트워크 유닛(31A)으로부터 물리적으로 가장 먼 위치에 배치되어 있는 네트워크 유닛(31D)까지의 지연 시간(ε-β) 이상의 시간을 카운트하게 되지만, 동기 대상(21A~21D)으로의 동기 펄스의 출력 간격은, 네트워크 유닛(31A)으로부터 네트워크 유닛(31D)까지의 지연 시간(ε-β) 보다도 짧은 시간으로 할 수 있다. 즉, 지연 카운터(316-1, 316-2)가 1개인 경우에 비하여, 빠른 주기로 동기 펄스를 출력할 수 있다고 하는 효과를 가진다.
그 결과, 모션 컨트롤 시스템에서, 동기 마스터(11)인 모션 컨트롤러와 동기 대상(21A~21D)인 서보 드라이브의 통신 거리가 연장되어 가거나, 서보 드라이브의 수가 증가되어 가거나 하여, 모션 컨트롤러로부터 물리적으로 가장 먼 위치에 있는 서보 드라이브의 지연 시간이 증대되는 경우에도, 원하는 주기로 서보 드라이브에 대한 제어를 실행할 수 있다고 하는 효과를 가진다.
또, 지터 등이 없고 또한 정확한 지연 시간을 측정할 수 있는 이상적인 시스템에서는, 최적인 수의 지연 카운터(316-1, 316-2)를 가짐으로써, 지연 대기 시간을 제로로 할 수 있다.
[산업상의 이용 가능성]
이상과 같이, 본 발명에 따른 통신 장치는 병렬처리하여 제어하는 분산 모션 컨트롤러 시스템에서 사용되는 통신 장치에 유용하고, 특히, 네트워크를 통해 모션의 동기 제어를 행하는 통신 장치에 적합하다.
11: 동기 마스터, 12, 22A~22D: 시스템 버스,
21A~21D: 동기 대상, 31M, 31A~31D: 네트워크 유닛,
40: 네트워크, 111: 인터벌 타이머,
112, 311: 시스템 버스 I/F부, 113: 통신 지연 측정부,
312: 동기 패킷 송신부, 313: 송신 포트,
314: 수신 포트, 315: 동기 패킷 수신부,
316-1, 316-2: 지연 카운터, 317: 지연 카운터 제어부,
318-1, 318-2: 필터부, 319: 동기 펄스 출력치 기억부,
320: 동기 펄스 출력부.

Claims (9)

  1. 다른 통신 장치와의 사이에서 통신을 행하는 제1 통신 수단과,
    동기 대상과의 사이에서 통신을 행하는 제2 통신 수단과,
    소정의 시간을 카운트하는 2이상의 정수인 n개의 카운터와,
    소정의 주기로 입력되는 동기 패킷을 상기 제1 통신 수단으로부터 수신하면, 상기 소정의 주기의 n배의 주기를 상기 카운터에 카운트시키고, 또한 각각의 상기 카운터에서의 카운트의 클리어의 타이밍이 다르도록 상기 카운터의 제어를 행하는 카운터 제어 수단과,
    클리어되고 나서의 카운트치가 동기 펄스 출력치와 같은 값의 상기 카운터가 있는 경우에, 상기 제2 통신 수단을 통해서 상기 동기 대상에 대해서 동기 펄스를 출력하는 동기 펄스 출력 수단을 구비하는 것을 특징으로 하는 통신 장치.
  2. 청구항 1에 있어서,
    상기 카운터의 카운트를 클리어시키는 타이밍을, 상기 카운터에서의 카운트 개시부터 상기 n배의 주기가 경과한 시간을 기준으로 한 소정의 시간 범위 내로 제한하는 필터 수단을 추가로 구비하고,
    상기 필터 수단은 상기 각 카운터에 대해서 마련되는 것을 특징으로 하는 통신 장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 n개의 카운터 중, 카운트를 클리어할 카운터를 지정하는 클리어 카운터 지정 정보를 상기 동기 패킷에 포함시키는 동기 패킷 송신 수단과,
    수신한 상기 동기 패킷 중의 상기 클리어 카운터 지정 정보로 지정되는 카운터를, 상기 동기 패킷의 수신과 함께 상기 카운터 제어 수단에 통지하는 동기 패킷 수신 수단을 추가로 구비하고,
    상기 카운터 제어 수단은, 상기 동기 패킷 수신 수단으로부터 통지된 상기 카운터에서의 카운트의 클리어를 행하는 것을 특징으로 하는 통신 장치.
  4. 동기 펄스를 주기적으로 출력하는 동기 마스터에 접속되는 제1 통신 장치와 동기 대상과 접속되는 복수의 제2 통신 장치가, 네트워크를 통해서 접속되는 통신 시스템에 있어서,
    상기 동기 마스터는,
    소정의 주기로 동기 펄스를 출력하는 동기 신호 송신 수단과,
    상기 동기 마스터로부터 상기 동기 대상에 접속되는 상기 제2 통신 장치까지의 통신 지연 시간을 측정하고, 각각의 상기 제2 통신 장치에 대해서 상기 통신 지연 시간에 기초하여 산출한 동기 펄스 출력치를 설정하는 통신 지연 시간 측정 수단을 구비하고,
    상기 제1 통신 장치는, 상기 동기 마스터로부터의 동기 펄스를 수신하면, 상기 네트워크에 접속되는 모든 상기 제2 통신 장치에 대해서 동기 패킷을 송신하는 동기 패킷 송신 수단을 가지고,
    상기 제2 통신 장치는,
    상기 제1 통신 장치 또는 다른 상기 제2 통신 장치와의 사이에서 통신을 행하는 제1 통신 수단과,
    상기 동기 대상과의 사이에서 통신을 행하는 제2 통신 수단과,
    소정의 시간을 카운트하는 2이상의 정수인 n개의 카운터와,
    상기 동기 패킷을 소정의 주기로 상기 제1 통신 수단으로부터 수신하면, 상기 소정의 주기의 n배의 주기를 상기 카운터에 카운트시키고, 또한 각각의 상기 카운터에서의 카운트의 클리어의 타이밍이 다르도록 상기 카운터의 제어를 행하는 카운터 제어 수단과,
    클리어되고 나서의 카운트치가 상기 동기 펄스 출력치와 같은 값의 상기 카운터가 있는 경우에, 상기 제2 통신 수단을 통해서 상기 동기 대상에 대해서 동기 펄스를 출력하는 동기 펄스 출력 수단을 구비하는 것을 특징으로 하는 통신 시스템.
  5. 청구항 4에 있어서,
    상기 제2 통신 장치는, 상기 카운터의 카운트를 클리어시키는 타이밍을 상기 카운터에서의 카운트 개시부터 상기 n배의 주기가 경과한 시간을 기준으로 한 소정의 시간 범위 내로 제한하는 필터 수단을, 상기 카운터마다 추가로 구비하는 것을 특징으로 하는 통신 시스템.
  6. 청구항 4 또는 청구항 5에 있어서,
    상기 제2 통신 장치는,
    상기 제2 통신 장치 중의 상기 n개의 카운터 중, 카운트를 클리어할 카운터를 지정하는 클리어 카운터 지정 정보를 상기 동기 패킷에 포함시키는 동기 패킷 송신 수단과,
    수신한 상기 동기 패킷 중의 상기 클리어 카운터 지정 정보로 지정되는 카운터를, 상기 동기 패킷의 수신과 함께 상기 카운터 제어 수단에 통지하는 동기 패킷 수신 수단을 추가로 구비하고,
    상기 카운터 제어 수단은, 상기 동기 패킷 수신 수단으로부터 통지된 상기 카운터에서의 카운트의 클리어를 행하는 것을 특징으로 하는 통신 시스템.
  7. 청구항 4 또는 청구항 5에 있어서,
    상기 동기 마스터와 상기 제1 통신 장치는 시스템 버스를 통해서 접속되고,
    상기 동기 대상과 상기 제2 통신 장치는 시스템 버스를 통해서 접속되는 것을 특징으로 하는 통신 시스템.
  8. 청구항 4 또는 청구항 5에 있어서,
    상기 동기 펄스의 주기는, 상기 제1 통신 장치로부터 상기 네트워크로 접속되는 길이가 가장 짧은 위치에 있는 상기 제2 통신 장치에 대하여 상기 제1 통신 장치로부터 상기 네트워크로 접속되는 길이가 가장 긴 위치에 있는 상기 제2 통신 장치의 지연 시간보다도 짧은 것을 특징으로 하는 통신 시스템.
  9. 동기 펄스를 주기적으로 출력하는 동기 마스터에 접속되는 제1 통신 장치와, 동기 대상과 접속되는 복수의 제2 통신 장치가, 네트워크를 통해서 접속되는 통신 시스템에서의 동기 제어 방법에 있어서,
    상기 제1 통신 장치는, 상기 동기 마스터로부터의 상기 동기 펄스를 수신하면, 상기 네트워크를 통해서 접속되는 모든 상기 제2 통신 장치에 동기 패킷을 송신하는 제1 공정과,
    상기 제2 통신 장치는, 상기 동기 패킷을 수신하면, 2이상의 정수인 n개의 카운터 중 동기 펄스 출력치와 같은 수를 카운트한 상기 카운터를 클리어하고 새롭게 카운트를 개시시키는 제2 공정과,
    상기 제2 통신 장치는, 상기 n개의 카운터 중, 상기 동기 마스터로부터의 상기 네트워크로 접속되는 길이에 따라 설정된 동기 펄스 출력치와 같은 값을 카운트한 상기 카운터가 존재하는 경우에, 그 제 2 통신 장치에 접속되는 상기 동기 대상에 동기 펄스를 출력하는 제3 공정을 포함하는 것을 특징으로 하는 동기 제어 방법.
KR1020157001919A 2012-08-01 2012-08-01 통신 장치, 통신 시스템 및 동기 제어 방법 KR101618537B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/069602 WO2014020726A1 (ja) 2012-08-01 2012-08-01 通信装置、通信システムおよび同期制御方法

Publications (2)

Publication Number Publication Date
KR20150032880A KR20150032880A (ko) 2015-03-30
KR101618537B1 true KR101618537B1 (ko) 2016-05-18

Family

ID=50027456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157001919A KR101618537B1 (ko) 2012-08-01 2012-08-01 통신 장치, 통신 시스템 및 동기 제어 방법

Country Status (7)

Country Link
US (1) US9438363B2 (ko)
JP (1) JP5734523B2 (ko)
KR (1) KR101618537B1 (ko)
CN (1) CN104509038B (ko)
DE (1) DE112012006762B4 (ko)
TW (1) TWI490701B (ko)
WO (1) WO2014020726A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014006696T5 (de) * 2014-05-23 2017-02-16 Mitsubishi Electric Corporation Kommunikationsgerät, Kommunikationsverfahren und Programm
KR101863022B1 (ko) * 2015-03-19 2018-05-30 미쓰비시덴키 가부시키가이샤 통신 장치 및 네트워크 시스템
JP6400553B2 (ja) * 2015-09-28 2018-10-03 ファナック株式会社 ユニット間での同期制御機能を有する数値制御システム
CN108351629B (zh) * 2015-11-05 2022-03-18 三菱电机株式会社 功能单元及控制装置
CN106325218B (zh) * 2016-08-18 2019-03-01 深圳市优必选科技有限公司 一种伺服器、伺服器控制***及其通信方法
CN109283864B (zh) * 2017-07-21 2020-05-05 北京智云芯科技有限公司 一种数据采样的时间同步、校准方法和***
US11177930B2 (en) 2018-07-23 2021-11-16 Mitsubishi Electric Corporation Communication device, communication system, and synchronization control method
JP7056613B2 (ja) 2019-03-08 2022-04-19 オムロン株式会社 カウンタユニット、カウンタユニットの制御方法、制御装置、および制御システム
JP7259537B2 (ja) * 2019-05-16 2023-04-18 オムロン株式会社 情報処理装置
JP7251402B2 (ja) * 2019-08-20 2023-04-04 オムロン株式会社 制御システム、制御装置およびプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012060207A (ja) 2010-09-06 2012-03-22 Hitachi Industrial Equipment Systems Co Ltd 通信制御装置及び通信・制御システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507947B1 (en) 1989-12-26 1997-05-28 Kabushiki Kaisha Komatsu Seisakusho Serial controller
DE69211774T2 (de) * 1991-04-19 1997-02-06 Nippon Electric Co Zeit-Multiplexkommunikationssystem
JPH11224126A (ja) 1998-02-05 1999-08-17 Yaskawa Electric Corp モーション制御装置
JPH11305812A (ja) * 1998-04-22 1999-11-05 Yaskawa Electric Corp 分散型cpuシステムの同期方法
JP2000020119A (ja) 1998-06-29 2000-01-21 Fanuc Ltd 多軸協調制御方法
JP2003058212A (ja) 2001-08-21 2003-02-28 Seibu Electric & Mach Co Ltd 数値制御工作装置
CN1297116C (zh) 2002-04-30 2007-01-24 国际商业机器公司 主从分布式通信***中本地同步的方法和设备
JP2005014149A (ja) 2003-06-26 2005-01-20 Yaskawa Electric Corp ロボットシステム
JP2006285885A (ja) 2005-04-05 2006-10-19 Yaskawa Electric Corp 分散型モーションコントロールシステムの並列処理方法およびモーションコントローラ
US7478011B2 (en) * 2006-12-19 2009-01-13 International Business Machines Corporation Method and system for measuring signal characteristics of data signals transmitted between integrated circuit chips
EP2139152B1 (en) * 2007-03-28 2016-10-05 Kabushiki Kaisha Yaskawa Denki Communication device, synchronized communication system, and synchronized communication method
JP5402401B2 (ja) 2009-03-17 2014-01-29 株式会社安川電機 モーションコントロールシステム
JP2011123688A (ja) 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム
JP2011170476A (ja) 2010-02-17 2011-09-01 Mitsubishi Electric Corp データ処理システム及びデータ処理方法及びプログラム
CN101834684A (zh) * 2010-04-09 2010-09-15 哈尔滨工程大学 分布式水声定位***gps时钟同步方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012060207A (ja) 2010-09-06 2012-03-22 Hitachi Industrial Equipment Systems Co Ltd 通信制御装置及び通信・制御システム

Also Published As

Publication number Publication date
KR20150032880A (ko) 2015-03-30
US9438363B2 (en) 2016-09-06
JPWO2014020726A1 (ja) 2016-07-11
DE112012006762T5 (de) 2015-08-20
CN104509038A (zh) 2015-04-08
DE112012006762B4 (de) 2022-12-08
JP5734523B2 (ja) 2015-06-17
US20150180598A1 (en) 2015-06-25
TWI490701B (zh) 2015-07-01
TW201407382A (zh) 2014-02-16
CN104509038B (zh) 2017-12-01
WO2014020726A1 (ja) 2014-02-06

Similar Documents

Publication Publication Date Title
KR101618537B1 (ko) 통신 장치, 통신 시스템 및 동기 제어 방법
EP2822228B1 (en) Industrial network apparatus and data communication method
US7343437B2 (en) Synchronization method and control system for the time synchronization of slave units and a synchronizable slave unit
US20060251046A1 (en) Master-slave synchronization communication method
US10164785B2 (en) Method for implementing a real-time industrial internet field broadband bus
KR101863022B1 (ko) 통신 장치 및 네트워크 시스템
JP5459628B2 (ja) 時刻同期システム
US7930041B2 (en) Industrial controller with coordination of network transmissions using global clock
US9246615B2 (en) Delay measurement in a point to multipoint system
US11307553B2 (en) Control device and control method
KR101988103B1 (ko) 광학 계측 장치
CN109117395B (zh) 微计算机
CN115428406A (zh) 同步脉冲宽度调制控制
US7460560B2 (en) Method for operating an end-user of an isochronous cyclical communication system
WO2015162763A1 (ja) ネットワークシステム
TW201731265A (zh) 時間同步從裝置及通訊控制方法
JP2017063363A (ja) 通信システムおよびパケット交換装置
JP2006157271A (ja) シリアル伝送装置の同期方法
Hagino et al. Frame transmission time control for TDMA-based ethernet
KR20130058359A (ko) 네트워크 기반의 제어장치 및 그 방법
Fu et al. Delay characteristics and synchronization architecture of networked control system
JP2008067487A (ja) モータ駆動装置

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
LAPS Lapse due to unpaid annual fee