KR20230038745A - 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램 - Google Patents

통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램 Download PDF

Info

Publication number
KR20230038745A
KR20230038745A KR1020237004856A KR20237004856A KR20230038745A KR 20230038745 A KR20230038745 A KR 20230038745A KR 1020237004856 A KR1020237004856 A KR 1020237004856A KR 20237004856 A KR20237004856 A KR 20237004856A KR 20230038745 A KR20230038745 A KR 20230038745A
Authority
KR
South Korea
Prior art keywords
data
communication
cycle
communication device
main data
Prior art date
Application number
KR1020237004856A
Other languages
English (en)
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 KR20230038745A publication Critical patent/KR20230038745A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • 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/403Bus networks with centralised control, e.g. polling
    • H04L12/4035Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Small-Scale Networks (AREA)

Abstract

통신 장치는, 처리부와, 통신부를 구비한다. 통신부는, 1 이상의 슬레이브와 통신한다. 처리부는, 통신 처리와 설정 처리를 실행하는 기능을 가진다. 통신 처리는, 1 이상의 슬레이브에 대해서, 주 데이터를 포함하는 프레임을 통신부로부터 제1주기로 송신시키는 것을 포함한다. 설정 처리는, 제1주기 내에 N회(N은 2 이상의 정수)의 제2주기를 설정하는 것을 포함한다. 설정 처리는, 제2주기마다 주 데이터 이외의 부 데이터의 통신이 행해지는 슬롯을 설정하는 것을 포함한다. 프레임은, 주 데이터의 송신 기간의 도중에 슬롯을 적어도 1개 포함한다.

Description

통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램
본 개시는, 일반적으로 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램에 관한 것이다. 본 개시는, 보다 상세하게는, 1 이상의 슬레이브와 통신하는 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램에 관한 것이다.
특허 문헌 1에는, 미리 정해진 주기마다 데이터가 갱신되는 네트워크에 접속되는 통신 장치가 개시되어 있다. 이 통신 장치는, 제1스케줄링 수단과, 제2스케줄링 수단을 구비한다. 제1스케줄링 수단은, 제조 장치 또는 생산 설비의 제어에 이용하는 제1데이터를 미리 정해진 주기마다 갱신하는데 필요한 제1통신 대역을 확보한다. 제2스케줄링 수단은, 네트워크가 가지는 통신 대역 중 제1통신 대역 이외의 통신 대역 내에, 제2데이터를 지정된 시간 내에 송신 목적지에 도착시키는데 필요한 제2통신 대역을 확보한다.
특허 문헌 1에 기재된 통신 장치에서는, 제1데이터(주 데이터)를 통신하는데 필요한 통신 대역 이외의 빈 대역에서 제2데이터(부 데이터)를 송신하는 것은 가능하다. 그렇지만, 이 통신 장치에서는, 제2데이터(부 데이터)를, 제1데이터(주 데이터)의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키는 것이 어렵다라고 하는 문제가 있었다.
[특허 문헌 1] 일본 특개 2018-64245호 공보
본 개시는, 상기의 점을 감안하여 이루진 것으로, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉬운 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램을 제공하는 것을 목적으로 한다.
본 개시의 일 태양에 따른 통신 장치는, 처리부와, 통신부를 구비한다. 상기 통신부는, 1 이상의 슬레이브와 통신한다. 상기 처리부는, 통신 처리와, 설정 처리를 실행하는 기능을 가진다. 상기 통신 처리는, 상기 1 이상의 슬레이브에 대해서, 주 데이터를 포함하는 프레임을 상기 통신부로부터 제1주기로 송신시키는 것을 포함한다. 상기 설정 처리는, 상기 제1주기 내에 N회(N은 2 이상의 정수)의 제2주기를 설정하는 것을 포함한다. 상기 설정 처리는, 상기 제2주기마다, 상기 주 데이터 이외의 부 데이터의 통신이 행해지는 슬롯을 설정하는 것을 포함한다. 상기 프레임은, 상기 주 데이터의 송신 기간의 도중에 상기 슬롯을 적어도 1개 포함한다.
본 개시의 다른 일 태양에 따른 통신 시스템은, 상기의 통신 장치와, 상기의 1 이상의 슬레이브를 구비한다. 상기 1 이상의 슬레이브는, 상기 통신 장치에 접속되어 상기 통신 장치와 통신한다.
본 개시의 다른 일 태양에 따른 통신 제어 방법은, 통신 스텝과, 설정 스텝을 포함한다. 상기 통신 스텝은, 통신 장치에 접속되는 1 이상의 슬레이브에 대해서, 주 데이터를 포함하는 프레임을 제1주기로 송신시키는 것을 포함한다. 상기 설정 스텝은, 상기 제1주기 내에 N회(N은 2 이상의 정수)의 제2주기를 설정하는 것을 포함한다. 상기 설정 스텝은, 상기 제2주기마다, 상기 주 데이터 이외의 부 데이터의 통신을 행하기 위한 슬롯을 설정하는 것을 포함한다. 상기 프레임은, 상기 주 데이터의 송신 기간의 도중에 상기 슬롯을 적어도 1개 포함한다.
본 개시의 다른 일 태양에 따른 프로그램은, 1 이상의 프로세서에, 상기의 통신 제어 방법을 실행시킨다.
본 개시는, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다.
도 1은, 본 개시의 실시 형태에 따른 통신 장치를 구비한 통신 시스템의 개요를 나타내는 블럭도이다.
도 2는, 전술의 통신 장치에 의한 통신 처리의 설명도이다.
도 3은, 전술의 통신 시스템에 포함되는 슬레이브의 동작 타이밍의 설명도이다.
도 4는, 전술의 통신 장치에 의한 설정 처리의 흐름도이다.
도 5는, 전술의 통신 장치에 의한 분할 처리의 설명도이다.
도 6은, 비교예의 통신 장치에 의한 통신 처리의 설명도이다.
(1) 개요
도 1은, 본 개시의 실시 형태에 따른 통신 장치(1)를 구비한 통신 시스템(100)의 개요를 나타내는 블럭도이다. 통신 시스템(100)은, 도 1에 나타내는 바와 같이, 통신 장치(1)와, 통신 장치(1)에 접속되는 1 이상(여기에서는, n(n은 자연수)대)의 슬레이브(2; 21, 22, 23,···2n)를 구비한다. 통신 장치(1)는, 1 이상의 슬레이브(2)의 상위 장치에 상당하는 마스터이다. 통신 장치(1) 및 1 이상의 슬레이브(2)는, 동일한 네트워크에 접속되어 있다. 그리고, 1 이상의 슬레이브(2)는, 통신 장치(1)에 접속되어 통신 장치(1)와 통신한다.
본 실시 형태에서는, 통신 장치(1) 및 1 이상의 슬레이브(2)는, 산업용 네트워크에 접속되어 있다. 본 개시에서 말하는 「산업용 네트워크」는, 예를 들면 팩터리 오토메이션에 있어서 이용되는 필드 네트워크로서, 공장 내에 설치된 복수의 기기 간에 통신하기 위해서 이용된다. 산업용 네트워크는, 일례로서 Ethernet/IP(등록 상표), EtherCAT(등록 상표), 또는 PROFINET(등록 상표) 등을 포함할 수 있다. 산업용 네트워크에 접속되는 기기는, 일례로서, 컨트롤러(예를 들면, PLC(Programmable Logic Controller) 등), 센서(예를 들면, 변위 센서, 유량계, 압력계, 화상 센서 등), 또는 리모트 I/O(Input/Output) 등을 포함할 수 있다. 또, 산업용 네트워크에 접속되는 기기는, 일례로서, 서보 앰프, 인버터, 로봇, 액추에이터, 또는 밸브 등을 포함할 수 있다.
산업용 네트워크는, 오피스 등에서 이용되는 표준적인 베스트 에퍼트(best effort)형의 네트워크와 비교하여, 견뢰성, 정시성, 및 리얼 타임성이 요구된다. 예를 들면, 산업용 네트워크에 있어서, 컨트롤러로부터 서보 앰프 등의 제어 대상의 기기에 대해서 주기적으로 제어 데이터를 송신하는 경우에, 베스트 에퍼트형의 네트워크와 비교하여 지연이 허용되지 않고, 또, 제어 데이터에 대한 응답 속도의 고속화가 요구된다.
통신 장치(1)는, 도 1에 나타내는 바와 같이, 처리부(11)와, 통신부(12)를 구비하고 있다. 통신부(12)는, 1 이상의 슬레이브(2)와 통신하는 통신 인터페이스이다. 처리부(11)는, 통신 처리와, 설정 처리를 실행하는 기능을 가지고 있다.
도 2는, 본 개시의 실시 형태에 따른 통신 장치에 의한 통신 처리의 설명도이다. 통신 처리는, 1 이상의 슬레이브(2)에 대해서, 주 데이터를 포함하는 프레임(통신 프레임) F1을 통신부(12)로부터 제1주기 CT1로 송신시키는 처리이다. 즉, 통신 장치(1)는, 통신 처리를 실행하는 것에 의해, 1 이상의 슬레이브(2)에 대해서 주 데이터를 제1주기 CT1로 송신한다. 주 데이터는, 예를 들면 통신 장치(1)가 컨트롤러로서, 1 이상의 슬레이브(2)가 서보 앰프 등의 제어 대상의 기기이면, 슬레이브(2)를 제어하기 위한 제어 데이터를 포함할 수 있다. 제1주기 CT1은, 일례로서 0.수ms~수ms이다. 각 슬레이브(2)는, 주 데이터를 수신하면, 수신한 주 데이터에 따른 처리를 실행한다. 예를 들면, 주 데이터가 1 이상의 슬레이브(2)의 각각에 대응한 1 이상의 제어 데이터를 포함하고 있는 경우, 각 슬레이브(2)는, 주 데이터를 수신하면, 주 데이터에 포함되는 대응한 제어 데이터를 취득하고, 취득한 제어 데이터에 따른 처리를 실행한다.
설정 처리는, 제1주기 CT1 내에, 제2주기 CT2를 설정하는 것을 포함한다. 설정 처리에 있어서, 처리부(11)는, 제1주기 CT1 내에 제2주기 CT2를 N회(N은 2 이상의 정수) 설정한다. 설정 처리는, 제2주기 CT2마다, 주 데이터 이외의 부 데이터의 통신을 행하기 위한 슬롯 S0을 설정하는 것을 포함한다. 즉, 제1주기 CT1 내에 있어서, N회의 제2주기 CT2의 각각은, 주 데이터 이외의 부 데이터의 통신을 행하기 위한 슬롯 S0을 포함하고 있다.
본 실시 형태에서는, 설정 처리에 있어서, 처리부(11)는, 제2주기 CT2마다, 1 이상의 슬레이브(2) 중 적어도 1개의 슬레이브(2)에 상기의 슬롯 S0을 할당한다.
슬레이브(2)는, 대응하는 슬롯 S0(할당된 슬롯 S0)에 포함되는 데이터를 취득하거나, 대응하는 슬롯 S0을 이용하여 다른 기기(통신 장치(1) 또는 다른 슬레이브(2))에 대해서 데이터를 송신하거나 하는 것이 가능하다. 즉, 슬롯 S0이 할당된 슬레이브(2)는, 제1주기 CT1로 송신되는 주 데이터와는 별도로, 제2주기 CT2마다 슬롯 S0을 이용하여, 부 데이터를 주기적으로 수신하는 것이 가능하다. 슬롯 S0이 할당된 슬레이브(2)는, 제2주기 CT2마다 슬롯 S0을 이용하여, 주 데이터와는 별도로 부 데이터를 주기적으로 송신하는 것이 가능하다. 즉, 본 실시 형태에서는, 예를 들면 통신 장치(1)에 접속된 슬레이브(2)에 있어서, 부 데이터를 주기적으로(제2주기 CT2로) 송신, 또는 수신시키기 쉽다라고 하는 이점이 있다.
또한, 처리부(11)는, 통신 처리에 있어서, 주 데이터의 송신 기간의 도중에 슬롯 S0이 적어도 1개 포함되도록, 프레임 F1을 송신시킨다. 바꾸어 말하면, 프레임 F1의 도중에, 제2주기 CT2의 슬롯 S0이 적어도 1개 삽입되게 된다. 그 때문에, 본 실시 형태에서는, 예를 들면 슬롯 S0이 할당된 슬레이브(2)는, 주 데이터의 송신 시간(주 데이터의 송신에 필요로 하는 시간)보다 짧은 주기(제2주기 CT2)로, 부 데이터를 주기적으로 송신, 수신, 또는 송수신하는 것이 가능해진다. 즉, 본 실시 형태에서는, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기(제2주기 CT2)로 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다.
(2) 상세
이하, 본 실시 형태의 통신 장치(1)를 구비한 통신 시스템(100)에 대해 도 1을 이용하여 상세하게 설명한다. 본 실시 형태에서는, 통신 장치(1)에는, 복수(여기에서는, n대(n은 1 이상의 정수))의 슬레이브(2)가 접속되어 있다. 복수의 슬레이브(2)(바꾸어 말하면, 1 이상의 슬레이브(2))는, 통신 장치(1)에 대해서 데이지 체인(daisy chain) 접속되어 있다. 구체적으로는, 통신 장치(1)에는, 제1슬레이브(21), 제2슬레이브(22), 제3슬레이브(23),…, 제n슬레이브(2n)가 순서대로 링 형상으로 접속되어 있다. 이 때문에, 본 실시 형태에서는, 통신 장치(1)로부터 송신되는 프레임 F1은, 제1슬레이브(21), 제2슬레이브(22), 제3슬레이브(23),…, 제n슬레이브(2n), 통신 장치(1)의 순서대로 전송되게 된다.
또, 본 실시 형태의 통신 시스템(100)에 있어서는, 복수의 슬레이브(2) 중 1대의 슬레이브(2)는 센서이며, 나머지의 슬레이브(2)는 서보 앰프이다. 바꾸어 말하면, 본 실시 형태에서는, 1 이상의 슬레이브(2) 중 적어도 1개의 슬레이브(2)는, 모터를 구동시키는 모터 구동 장치다. 또, 통신 시스템(100)에 있어서는, 통신 장치(1)는, 복수의 슬레이브(2)(즉, 복수의 서보 앰프 및 센서)를 개별적으로 또는 전체적으로 제어하는 컨트롤러이다.
통신 장치(1)는, 처리부(11)와, 통신부(12)를 구비하고 있다. 본 실시 형태에서는, 통신 장치(1)는, 처리부(11)가 가지는 메모리에 데이터를 기억하고 있지만, 처리부(11)와는 별도로 기억부를 가지고 있어도 좋다. 기억부는, 일례로서, EEPROM(Electrically Erasable Programmable Read-Only Memory) 등의 전기적으로 갱신 가능한 불휘발성 메모리, 및 RAM(Random Access Memory) 등의 휘발성 메모리 등이다.
처리부(11)는, 예를 들면, 컴퓨터 시스템을 포함하고 있다. 컴퓨터 시스템은, 하드웨어로서의 프로세서 및 메모리를 주 구성으로 한다. 컴퓨터 시스템의 메모리에 기록된 프로그램을 프로세서가 실행하는 것에 의해, 처리부(11)로서의 기능이 실현된다. 프로그램은, 컴퓨터 시스템의 메모리에 미리 기록되어도 좋고, 전기 통신 회선을 통해서 제공되어도 좋고, 컴퓨터 시스템에서 판독 가능한 메모리 카드, 광학 디스크, 하드 디스크 드라이브 등의 비일시적 기록 매체에 기록되어 제공되어도 좋다.
통신부(12)는, 복수의 슬레이브(2)와의 통신을 행하기 위한 통신 인터페이스로서, 예를 들면 산업용의 이더넷(ethernet)(등록 상표) 프로토콜에 준거한 유선 통신 모듈을 가지고 있다. 통신부(12)는, 통신 장치(1)에 직접 접속된 최전단에 있는 슬레이브(2)(도 1에서는, 제1슬레이브(21))의 통신부(202)(후술한다)에 대해서 프레임 F1을 송신한다. 또, 통신부(12)는, 통신 장치(1)에 직접 접속된 최후단에 있는 슬레이브(2)(도 1에서는, 제n슬레이브(2n))의 통신부(202)로부터 송신되는 프레임 F1을 수신한다.
처리부(11)는, 통신 처리와, 설정 처리와, 분할 처리를 실행하는 기능을 가지고 있다. 설정 처리 및 분할 처리는, 모두 통신 장치(1)를 포함하는 통신 시스템(100)을 가동시키기 전에 실행되는 처리이다. 통신 처리는, 통신 장치(1)를 포함한 통신 시스템(100)의 가동 중에 실행되는 처리이다.
분할 처리는, 주 데이터를 복수의 주 데이터 피스(pieces)로 분할하는 처리이다. 본 실시 형태에서는, 주 데이터는, 통신 장치(1)로부터 각 슬레이브(2)에 대해서 송신되는 슬레이브(2)마다의 제어 데이터를 포함할 수 있다. 분할 후의 각 주 데이터 피스는, 적어도 1개의 슬레이브(2)에 대해서 송신되는 제어 데이터의, 일부 또는 전부를 포함할 수 있다. 분할 처리에 있어서, 처리부(11)는, 허용 최대 데이터 사이즈 ADmdiv(후술한다)에 근거하여, 주 데이터를 복수의 주 데이터 피스로 분할한다. 분할 처리의 상세한 것에 대하여는, 「(3) 설정 처리」에서 후술한다.
통신 처리는, 복수의 슬레이브(2)에 대해서 프레임 F1을 통신부(12)로부터 제1주기 CT1로 송신시키는 처리이다. 제1주기 CT1은, 통신 장치(1)에 미리 설정되어 있다. 본 실시 형태에서는, 통신 장치(1)가 제1슬레이브(21)에 대해서 프레임 F1을 송신하는 것에 의해, 제1슬레이브(21), 제2슬레이브(22), 제3슬레이브(23),…, 제n슬레이브(2n)의 순서대로 프레임 F1이 전송된다(도 1을 참조).
도 2에 나타내는 바와 같이, 프레임 F1은, 복수의 분할 프레임 F21, F22,…F2β(β는 2 이상의 정수)로 구성된다. 즉, 통신 처리에 있어서 처리부(11)는, 복수의 분할 프레임 F21, F22,…F2β로 구성되는 프레임 F1을, 제1주기 CT1로(반복) 송신한다. 이하에서는, 복수의 분할 프레임 F21, F22,…F2β를 구별하지 않는 경우, 「분할 프레임 F2」라고 표기한다.
여기서, 「β」은 분할 수이다. 분할 수 β는, 프레임 F1을 구성하는 분할 프레임 F2의 수로서, 후술하는 바와 같이, 설정 처리에 있어서 산출된다. 분할 수 β는, 제1주기 CT1에 포함되는 제2주기 CT2의 횟수 N과 동일하다.
보다 상세하게는, 통신 처리에서는, 1개의 제1주기 CT1 내에 있어서, 복수의 슬레이브(2)에 대해서, 복수의 분할 프레임 F21, F22,…F2β가 통신부(12)로부터 제2주기 CT2로 송신된다(도 2를 참조). 바꾸어 말하면, 통신 처리에 있어서 처리부(11)는, 복수의 분할 프레임 F21, F22,…F2β를, 제2주기 CT2로 송신한다. 제2주기 CT2는, 후술하는 바와 같이, 설정 처리에 있어서 설정된다.
도 2에 나타내는 바와 같이, 각 분할 프레임 F2는, 헤더 D100과, 부 데이터 영역 D2와, 푸터(footer) D101을 적어도 포함하고 있다. 또, 복수의 분할 프레임 F21, F22,…F2β중 적어도 1개의 분할 프레임 F2(도 2의 예에서는, 분할 프레임 F21, F22, F23)는, 주 데이터 영역 D1을 더 포함하고 있다.
주 데이터 영역 D1은, 주 데이터(주 데이터 피스)의 전송에 이용되는 영역(슬롯)이다. 즉, 주 데이터는, 주 데이터 영역 D1에서 전송된다. 주 데이터 영역 D1을 포함하는 적어도 1개의 분할 프레임 F2(분할 프레임 F21, F22, F23)의 각각에 있어서, 주 데이터 영역 D1은, 복수(여기에서는, 슬레이브(2)의 수인 n개)의 슬롯 D11, D12,…D1n 중 적어도 1개의 슬롯의 적어도 일부를 포함하고 있다. 복수의 슬롯 D11, D12,…D1n은, 각각 복수의 슬레이브(21), (22),…, (2n)에 할당된다. 프레임 F1의 주 데이터 영역 D1에, n개의 슬레이브(2)에 대응하는 n개의 슬롯 D11, D12,…D1n의 모두가 포함되어 있는 것이 바람직하다.
도 2의 예에서는, 분할 프레임 F21의 주 데이터 영역 D1은, 슬롯 D11, D12를 포함하고 있다. 분할 프레임 F22의 주 데이터 영역 D1은, 슬롯 D13, D14를 포함하고 있다. 분할 프레임 F23의 주 데이터 영역 D1은, 슬롯 D15, D16을 포함하고 있다. 즉, 주 데이터 영역 D1을 포함하는 분할 프레임 F21, F21, F23의 각각에 있어서, 주 데이터 영역 D1은, 2개의 슬롯의 각각의 전체를 포함하고 있다. 다만, 이 예에 한정하지 않고, 1개의 슬롯(예를 들면, 제1슬레이브(21)에 할당되는 슬롯 D11)이, 복수의 분할 프레임 F2의 주 데이터 영역 D1에 분할되어 포함되어 있어도 좋다. 예를 들면, 분할 프레임 F21의 주 데이터 영역 D1이, 슬롯 D11의 일부를 포함하고, 분할 프레임 F22의 주 데이터 영역 D1이, 슬롯 D11의 나머지의 부분을 포함하고 있어도 좋다.
이와 같이, 본 실시 형태에서는, 처리부(11)는, 통신 처리에 있어서, 복수의 주 데이터 피스를 N회의 제2주기 CT2로 분할하여 송신한다.
프레임 F1을 수신한 슬레이브(2)는, 주 데이터 영역 D1 중 할당된 슬롯(예를 들면, 제1슬레이브(21)이면 슬롯 D11)을 이용하여, 통신 장치(1)로부터의 주 데이터를 취득하는 것이 가능하다. 구체적으로는, 각 슬레이브(2)는, 자신에게 할당되어 있는 슬롯을 포함하는 분할 프레임 F2로부터, 자신에 대한 주 데이터(자신의 제어 데이터)를 취득한다. 도 2의 예에서는, 제1슬레이브(21)는, 분할 프레임 F21의 슬롯 D11을 이용하여, 통신 장치(1)로부터의 주 데이터(제1슬레이브(21)의 제어 데이터)를 취득하는 것이 가능하다. 또, 제3슬레이브(23)는, 분할 프레임 F22의 슬롯 D13을 이용하여, 통신 장치(1)로부터의 주 데이터(제3슬레이브(23)의 제어 데이터)를 취득하는 것이 가능하다.
본 실시 형태에서는, 상술한 바와 같이, 주 데이터는, 통신 장치(1)로부터 각 슬레이브(2)에 대해서 송신되는 슬레이브(2)마다의 제어 데이터를 포함할 수 있다. 주 데이터는, 슬레이브(2)마다의 제어 데이터에 대한 응답 데이터를 포함할 수 있다.
본 실시 형태에서는, 처리부(11)는, 주 데이터의 전송의 종료 타이밍을 나타내는 데이터(이하, 「동기 데이터」라고도 한다)를 프레임 F1에 포함하여, 프레임 F1을 송신한다. 즉, 프레임 F1은, 주 데이터의 전송의 종료 타이밍을 나타내는 동기 데이터를 포함할 수 있다. 동기 데이터는, 예를 들면, 복수의 분할 프레임 F2 중에서 주 데이터 영역 D1을 포함하는 최후의 분할 프레임 F2(도 2의 예에서는, 분할 프레임 F23)의 헤더 D100에 포함된다.
각 분할 프레임 F2에 있어서, 부 데이터 영역 D2는, 복수(여기에서는, n개)의 슬롯 D21, D22,…D2n으로 분할되어 있다. 복수의 슬롯 D21, D22,…D2n은, 모두 설정 처리에 의해 설정된 슬롯 S0에 상당하고, 각각 복수의 슬레이브(21), (22),…(2n)에 할당되어 있다. 즉, 본 실시 형태에서는, 프레임 F1은, 슬롯 S0을 포함하고 있다. 각 분할 프레임 F2는, 슬롯 S0을 포함하고 있다. 슬롯 S0은, 설정 처리에 의해 설정된다.
분할 프레임 F2를 수신한 슬레이브(2)는, 부 데이터 영역 D2 중 할당된 슬롯 S0(예를 들면, 제1슬레이브(21)이면 슬롯 D21)에 포함되는 부 데이터를 취득하거나, 슬롯 S0을 이용하여 다른 기기(통신 장치(1) 또는 다른 슬레이브(2))에 대해서 부 데이터를 송신하거나 하는 것이 가능하다. 본 실시 형태에서는, 부 데이터는, 슬레이브(2)로부터 다른 슬레이브(2)에 대해서 송신되는 여러 가지의 데이터를 포함할 수 있다. 즉, 슬롯 S0은, 주 데이터 이외의 부 데이터의 통신을 행하기 위해 이용된다. 특히, 슬롯 S0은, 1 이상의 슬레이브(2) 사이에서의 통신에 이용될 수 있다.
본 실시 형태에서는, 처리부(11)는, 제1주기 CT1마다 주 데이터를 갱신한다. 구체적으로는, 처리부(11)는, 프레임 F1의 송신을 개시하고 나서 다음의 프레임 F1의 송신을 개시할 때까지의 동안에, 다음의 프레임 F1에 포함하는 주 데이터를 생성한다. 주 데이터를 생성할 때에는, 처리부(11)는, 일례로서, 통신 장치(1)의 상위 시스템으로부터의 지령 정보, 및 각 슬레이브(2)로부터 수신한 응답 정보 등을 참조한다. 예를 들면, 처리부(11)는, 센서(슬레이브(2))로부터 수신한 검지 정보를 참조하는 것에 의해, 각 서보 앰프(각 슬레이브(2))를 제어하기 위한 제어 데이터(주 데이터)를 생성한다. 따라서, 제1주기 CT1은, 주 데이터를 생성하는 처리를 실행할 수 있는 정도로 설정될 필요가 있고, 처리부(11)의 처리 성능에 의존한다.
설정 처리는, 통신 처리에서 이용되는 제2주기 CT2와, 슬롯 S0을 설정하는 처리이다. 즉, 통신 처리는, 설정 처리에서 설정된 파라미터에 근거하여 실행된다.
설정 처리에 있어서, 처리부(11)는, 제1주기 CT1 내에, 제2주기 CT2를 N회(N은 2 이상의 정수) 설정한다. 제2주기 CT2는, 제1주기 CT1보다 짧다. 본 실시 형태에서는, 처리부(11)는, 후술하는 바와 같이, 적어도 제1주기 CT1, 주 데이터의 데이터 사이즈, 및 부 데이터의 데이터 사이즈에 근거하여, 제2주기 CT2를 설정한다. 슬롯 S0은, 제2주기 CT2마다 슬레이브(2)에 할당된다. 본 실시 형태에서는, 처리부(11)는, 각 제2주기 CT2(각 분할 프레임 F2)에 있어서, 모든 슬레이브(2)에 대해서 슬롯 S0을 할당한다. 설정 처리에서 각 슬레이브(2)에 할당된 슬롯 S0은, 상술한 부 데이터 영역 D2를 구성한다. 설정 처리의 상세한 것에 대하여는, 「(3) 설정 처리」에서 후술한다. 또한, 각 슬레이브(2)에 할당되는 슬롯 S0의 슬롯 길이는, 데이터 사이즈에 따라 달라도 좋다.
슬레이브(2)는, 처리부(201)와, 통신부(202)를 구비하고 있다. 슬레이브(2)는, 처리부(201)가 가지는 메모리에 데이터를 기억하고 있지만, 처리부(201)와는 별도로 기억부를 가지고 있어도 좋다. 기억부는, 일례로서, EEPROM 등의 전기적으로 갱신 가능한 불휘발성 메모리, 및 RAM 등의 휘발성 메모리 등이다.
처리부(201)는, 예를 들면, 컴퓨터 시스템을 포함하고 있다. 컴퓨터 시스템은, 하드웨어로서의 프로세서 및 메모리를 주 구성으로 한다. 컴퓨터 시스템의 메모리에 기록된 프로그램을 프로세서가 실행하는 것에 의해, 처리부(201)로서의 기능이 실현된다. 프로그램은, 컴퓨터 시스템의 메모리에 미리 기록되어도 좋고, 전기 통신 회선을 통해서 제공되어도 좋고, 컴퓨터 시스템에서 판독 가능한 메모리 카드, 광학 디스크, 하드 디스크 드라이브 등의 비일시적 기록 매체에 기록되어 제공되어도 좋다.
처리부(201)는, 통신부(202)에서 수신한 주 데이터 중 대응한 데이터(여기에서는, 제어 데이터)에 근거하는 처리를 실행하는 기능을 가진다. 도 3은, 본 개시의 실시 형태에 따른 통신 시스템(100)에 포함되는 슬레이브의 동작 타이밍의 설명도이다. 도 3에 나타내는 바와 같이, 처리부(201)는, 동기 데이터를 포함하는 분할 프레임 F2(도 2의 예에서는 분할 프레임 F23)를 수신하면, 이 분할 프레임 F2의 수신의 종료 후에, 주 데이터(제어 데이터)에 따른 처리를 실행한다. 동기 데이터를 포함하는 분할 프레임 F2(분할 프레임 F23)는 제1주기 CT1로 송신되기 때문에, 각 슬레이브(2)의 처리부(201)는, 제1주기 CT1로, 주 데이터에 따른 처리를 실행한다. 바꾸어 말하면, 프레임 F1은, 제1주기 CT1로 슬레이브(2)를 제어하기 위한 데이터(동기 데이터)를 포함하고 있다. 또, 1 이상(복수)의 슬레이브(2)는, 동기 데이터에 근거하여, 서로 동기하여 주 데이터에 따른 처리를 실행한다. 바꾸어 말하면, 프레임 F1은, 1 이상의 슬레이브(2)의 동작을 동기시키기 위한 데이터(동기 데이터)를 포함하고 있다.
처리부(201)는, 통신부(202)에서 수신한 부 데이터 중 대응한 데이터에 따른 처리를 실행하는 기능을 가진다. 예를 들면, 처리부(201)는, 각 분할 프레임 F2의 헤더 D100의 수신 시점을 기준으로 하여, 이 수신 시점으로부터 소정의 지연 시간이 경과하면, 이 분할 프레임 F2에서 수신한 부 데이터에 따른 처리를 실행한다(도 3을 참조). 지연 시간은, 예를 들면, 제2주기 CT2보다, 부 데이터에 따른 처리에 필요로 하는 시간만큼 짧은 시간으로 설정되지만, 이것으로 한정되지 않는다. 분할 프레임 F2는 상술한 바와 같이 제2주기 CT2로 송신되기 때문에, 처리부(201)는, 제2주기 CT2로, 부 데이터에 따른 처리를 실행하게 된다.
또한, 처리부(201)는, 수신한 분할 프레임 F2의 부 데이터 영역 D2 중 할당된 슬롯 S0을 이용하여, 부 데이터를 다른 기기에 대해서 송신하는 처리를 실행하는 기능을 가진다.
통신부(202)는, 통신 장치(1) 또는 다른 슬레이브(2)와의 통신을 행하기 위한 통신 인터페이스로서, 예를 들면 산업용의 이더넷(등록 상표) 프로토콜에 준거한 유선 통신 모듈을 가지고 있다. 통신부(202)는, 슬레이브(2)에 직접 접속된 전단에 있는 통신 장치(1)의 통신부(12) 또는 슬레이브(2)의 통신부(202)로부터 송신되는 프레임 F1(분할 프레임 F2)을 수신한다. 통신부(202)는, 슬레이브(2)에 직접 접속된 후단에 있는 통신 장치(1)의 통신부(12) 또는 슬레이브(2)의 통신부(202)에 대해서, 수신한 프레임 F1(분할 프레임 F2)을 송신한다. 일례로서, 제1슬레이브(21)의 통신부(202)는, 통신 장치(1)의 통신부(12)로부터 송신되는 프레임 F1을 수신하고, 수신한 프레임 F1을 제2슬레이브(22)의 통신부(202)에 대해서 송신한다. 이때에, 제1슬레이브(21)의 통신부(202)는, 수신한 프레임 F1을 적의 갱신하고 나서 송신해도 좋다.
(3) 설정 처리
이하, 통신 장치(1)의 처리부(11)에서 실행되는 설정 처리에 대해, 도 4를 이용하여 상세하게 설명한다. 도 4는, 본 개시의 실시 형태에 따른 통신 장치(1)에 의한 설정 처리의 흐름도이다.
상술한 바와 같이, 설정 처리는, 제2주기 CT2 및 슬롯 S0을 설정하는 처리이다. 설정 처리는, 예를 들면 통신 시스템(100)을 가동하기 전에, 통신 장치(1)가 구비하는 유저 인터페이스를 이용하여 유저가 소정의 조작을 행하는 것에 의해, 처리부(11)에서 실행된다. 설정 처리를 실행하는 이전 단계에 있어서는, 유저는, 설정 처리를 실행할 때에 필요한 설정용 데이터를, 유저 인터페이스를 이용하여 통신 장치(1)에 입력한다.
본 실시 형태에서는, 설정용 데이터는, 주 데이터의 총 데이터 사이즈와, 부 데이터의 총 데이터 사이즈와, 최소의 통신 주기 CTmin을 포함한다. 주 데이터의 총 데이터 사이즈는, 각 슬레이브(2)에서 수신 가능한 주 데이터의 데이터 사이즈의 전체 프레임에 대한 총합이다. 부 데이터의 총데이터 사이즈는, 각 슬레이브(2)에서 송신, 수신, 또는 송수신 가능한 부 데이터의 데이터 사이즈의 전체 프레임에 대한 총합이다. 최소의 통신 주기 CTmin은, 통신 장치(1)가 1 이상의 슬레이브(2)와의 통신에서 허용되는 최소의 통신 주기이다. 본 실시 형태에서는, 최소의 통신 주기 CTmin은, 복수의 슬레이브(21), (22),…, (2n)가 각각 대응 가능한 통신 주기 중, 최장의 통신 주기이다.
또한, 설정용 데이터는, 통신 장치(1)와 각 슬레이브(2)의 통신을 확립하여 초기화 프레임을 통신 장치(1)로부터 각 슬레이브(2)에 대해서 송신할 때에, 통신 장치(1)가 각 슬레이브(2)로부터 취득해도 좋다. 즉, 통신 장치(1)는, 초기화 프레임의 응답으로서, 각 슬레이브(2)로부터 설정용 데이터를 취득하게 된다. 이 경우, 설정용 데이터는, 예를 들면 유저가 설정용 데이터를 입력하는 등을 하여, 미리 각 슬레이브(2)에 설정되어 있다고 가정한다.
설정 처리에 있어서, 처리부(11)는, 설정용 데이터가 입력되면(ST1), 우선, 제2주기 후보 CCT2로서, 최소의 통신 주기 CTmin을 설정한다(ST2). 또, 처리부(11)는, 분할 프레임 F2의 최소 전송 시간 TTsf를 산출한다(ST3). 최소 전송 시간 TTsf는, 헤더 D100과, 부 데이터 영역 D2와, 푸터 D101만을 포함하는 분할 프레임 F2의 전송 시간(송출에 필요로 하는 시간)이다. 구체적으로는, 처리부(11)는, 하기의 식(1)에 근거하여 연산하는 것에 의해, 최소 전송 시간 TTsf를 산출한다.
[수 1]
Figure pct00001
상기의 식(1)에 있어서, 「Dh」는 분할 프레임 F2의 헤더 D100의 데이터 사이즈, 「Ds」는 부 데이터의 총 데이터 사이즈, 「Df」는 분할 프레임 F2의 푸터 D101의 데이터 사이즈를 나타내고 있다. 「Tr」은 전송 레이트, 「x」는 통신 시스템(100)에 속하는 기기(통신 장치(1) 및 슬레이브(2))의 대수((=n+1), 「Td1」은 기기 1대당의 지연 시간, 「Td2」는 통신 시스템(100) 전체에서의 지연 시간을 나타내고 있다.
처리부(11)는, 최소 전송 시간 TTsf와, 제2주기 후보 CCT2(최소의 통신 주기 CTmin)를 비교한다(스텝 ST4). 최소 전송 시간 TTsf가 제2주기 후보 CCT2보다 작은 경우(스텝 ST4에서 Yes), 처리부(11)는, 분할 수 β를 산출한다(스텝 ST5). 구체적으로는, 처리부(11)는, 하기의 식(2)에 근거하여 연산하는 것에 의해, 분할 수 β를 산출한다.
[수 2]
Figure pct00002
즉, 분할 수 β는, 제1주기 CT1을 제2주기 후보 CCT2로 제산하는 것으로 산출되는 몫이다.
처리부(11)는, 다음에, 하기의 식(3)에 근거하여 연산하는 것에 의해, 주 데이터를 분할한 분할 데이터의 데이터 사이즈 Dmdiv를 산출한다(스텝 ST6).
[수 3]
Figure pct00003
상기의 식(3)에 있어서, 「Dm」은 주 데이터의 총 데이터 사이즈를 나타내고 있다.
다음에, 처리부(11)는, 분할 프레임 F2의 필요 전송 시간 TTf를 산출한다(스텝 ST7). 필요 전송 시간 TTf는, 헤더 D100과, 스텝 ST6에서 산출한 분할 데이터의 전송 영역과, 부 데이터 영역 D2와, 푸터 D101을 포함하는 분할 프레임 F2의 전송 시간(송출에 필요로 하는 시간)이다. 구체적으로는, 처리부(11)는, 하기의 식(4)에 근거하여 연산하는 것에 의해, 필요 전송 시간 TTf를 산출한다.
[수 4]
Figure pct00004
다음에, 처리부(11)는, 필요 전송 시간 TTf와, 제2주기 후보 CCT2(최소의 통신 주기 CTmin)를 비교한다(스텝 ST8). 필요 전송 시간 TTf가 제2주기 후보 CCT2보다 작은 경우(스텝 ST8에서 Yes), 처리부(11)는, 제2주기 후보 CCT2(최소의 통신 주기 CTmin)를 제2주기 CT2로 설정한다(스텝 ST9).
이와 같이, 본 실시 형태에서는, 처리부(11)는, 설정 처리에 있어서, 적어도 제1주기 CT1, 주 데이터의 데이터 사이즈 Dm, 및 부 데이터의 데이터 사이즈 Ds에 근거하여, 제2주기 CT2를 설정한다.
제2주기 CT2가 설정되면, 처리부(11)는, 제2주기 CT2 및 필요 전송 시간 TTf에 근거하여, 분할 데이터의 데이터 사이즈 Dmdiv를 조정한다(스텝 ST10). 여기에서는, 처리부(11)는, 분할 데이터의 허용 최대 데이터 사이즈 ADmdiv를 산출한다. 허용 최대 데이터 사이즈 ADmdiv는, 1개의 분할 프레임 F2의 주 데이터 영역 D1에 할당 가능한 분할 데이터의 최대 데이터 사이즈이다. 구체적으로는, 처리부(11)는, 하기의 식(5)에 근거하여 연산하는 것에 의해, 허용 최대 데이터 사이즈 ADmdiv를 산출한다.
[수 5]
Figure pct00005
상기의 식(5)에 있어서, 「α」은, 지터(Jitter)를 고려한 여유 시간을 나타내고 있다.
허용 최대 데이터 사이즈 ADmdiv의 산출 후, 처리부(11)는, 각 분할 프레임 F2의 주 데이터 영역 D1 및 부 데이터 영역 D2를 설정한다.
구체적으로는, 처리부(11)는, 주 데이터의 전체가, 복수의 분할 프레임 F21, F22,…F2β중 어느 하나의 분할 프레임 F2로 송신되도록, 적어도 1개의 분할 프레임 F2의 주 데이터 영역 D1에, 슬롯 D11, D12,…D1n을 설정한다.
처리부(11)는, 예를 들면, 허용 최대 데이터 사이즈 ADmdiv에 근거하여, 주 데이터를 복수의 분할 데이터로 분할하고, 이것에 의해 복수의 주 데이터 피스를 생성한다. 도 5는, 본 개시의 실시 형태에 따른 통신 장치에 의한 분할 처리의 설명도이다. 예를 들면, 처리부(11)는, 도 5에 나타내는 바와 같이, 복수의 분할 프레임 F21, F22,…F2β중 최초의 분할 프레임 F21로부터 순서대로, 허용 최대 데이터 사이즈 ADmdiv의 분할 데이터(주 데이터 피스)를 할당한다. 즉, 본 실시 형태에서는, 이른바 「앞 채움(front filling)」으로, 복수의 분할 프레임 F2에 분할 데이터(주 데이터 피스)를 할당한다. 이것에 의해, 복수의 분할 프레임 F2 중 적어도 1개의 분할 프레임 F2에, 주 데이터 영역 D1이 설정된다.
도 5에 나타내는 예에서는, 주 데이터의 총 데이터 사이즈 Dm은, 허용 최대 데이터 사이즈 ADmdiv의 2배보다 크고, 3배보다 작다. 그 때문에, 1번째의 분할 프레임 F21 및 2번째의 분할 프레임 F22에는, 허용 최대 데이터 사이즈 ADmdiv의 분할 데이터(주 데이터 피스)가 할당된다. 또, 3번째의 분할 프레임 F23에는, 허용 최대 데이터 사이즈 ADmdiv보다 작은 데이터 사이즈의 분할 데이터(주 데이터 피스)가 할당된다. 또, 3번째의 분할 프레임 F23까지에서 모든 분할 데이터의 할당이 완료되어 있기 때문에, 4번째 이후의 분할 프레임 F24,…F2β에는, 주 데이터 영역 D1이 포함되어 있지 않다.
이와 같이, 본 실시 형태에서는, 스텝 ST10은, 주 데이터를 복수의 주 데이터 피스로 분할하는 분할 처리를 포함하고 있다고 말할 수 있다.
또, 처리부(11)는, 설정된 제2주기 CT2마다(즉, 각 분할 프레임 F2에 대해서), 부 데이터 영역 D2를 설정한다. 여기에서는, 처리부(11)는, 제2주기 CT2마다(각 분할 프레임 F2에 대해서), 각 슬레이브(2)에 대해서 슬롯 S0을 할당한다. 즉, 처리부(11)는, 슬롯 S0으로서, 슬레이브(21), (22),…, (2n)에 각각 슬롯 D21, D22,…D2n을 할당한다. 요컨데, 설정 처리에 있어서, 처리부(11)는, 제2주기 CT2마다 슬롯 S0을 설정한다.
한편, 도 4로 돌아와, 최소 전송 시간 TTsf가 제2주기 후보 CCT2 이상인 경우(스텝 ST4에서 No), 혹은 필요 전송 시간 TTf가 제2주기 후보 CCT2 이상인 경우(스텝 ST8에서 No), 처리부(11)는, 제2주기 후보 CCT2를, 현재의 값보다 큰 값으로 변경한다. 여기에서는, 처리부(11)는, 초기치가 「1」로 설정되어 있는 반복 횟수 「m」에 「1」을 가산(인크리먼트)하고(스텝 ST11), 제2주기 후보 CCT2를, 최소의 통신 주기 CTmin과 현재의 반복 횟수 m의 곱으로 얻어지는 값으로 변경(갱신)한다(스텝 ST12). 따라서, 본 실시 형태에서는, 처리부(11)는, 설정 처리에 있어서, 1 이상의 슬레이브(2)의 대응 가능한 통신 주기(최소의 통신 주기 CTmin)의 정수배의 주기를 제2주기 CT2로서 설정하고 있다고 말할 수 있다. 그리고, 처리부(11)는, 스텝 ST4로 돌아와, 필요 전송 시간 TTf가 제2주기 후보 CCT2보다 작아질 때(스텝 ST8에서 Yes)까지, 스텝 ST11, ST12, ST4~ST8를 반복하여 행한다.
(4) 구체예
이하, 설정 처리의 구체예에 대해 설명한다. 이하의 설명에서는, 제1주기 CT1은 500μs라고 가정한다. 또, 이하의 설명에서는, 통신 시스템(100)이 3대의 슬레이브(2)(제1슬레이브(21), 제2슬레이브(22), 및 제3슬레이브(23))를 구비하고 있다고 가정한다. 즉, 이하의 설명에서는, 통신 시스템(100)에 속하는 기기(통신 장치(1) 및 슬레이브(2))의 대수 x는 4대이다. 이하의 설명에서는, 헤더 D100의 데이터 사이즈가 12바이트(Bytes), 푸터 D101의 데이터 사이즈가 12바이트(Bytes)라고 가정한다. 이하의 설명에서는, 전송 레이트 Tr이 100Mbps, 슬레이브(2)의 1대당의 지연 시간 Td1이 3μs, 통신 시스템(100) 전체에서의 지연 시간 Td2가 1.5μs, 여유 시간α이 3μs라고 가정한다.
우선, 각 슬레이브(2)의 설정용 데이터가 이하의 표 1에 나타내는 데이터인 경우에 대해 설명한다.
제1슬레이브 제2슬레이브 제3슬레이브
주 데이터의 데이터 사이즈(Bytes) 32 16 32
부 데이터의 데이터 사이즈(Bytes) 4 4 8
대응 가능한 통신 주기(μs) 31.25 15.625 31.25
이 경우, 부 데이터의 총 데이터 사이즈 Ds가 16(=4+4+8)바이트로서, 헤더 D100과 부 데이터 영역 D2와 푸터 D101을 포함한 분할 프레임 F2의 프레임 사이즈가 320(=(12+16+12)×8)비트(bits)이므로, 최소 전송 시간 TTsf는, 식(1)에 의해, 16.7(=320/100+3×4+1.5)μs가 산출된다. 이 경우, 모든 슬레이브(21), (22), (23)의 대응 가능한 통신 주기 중, 제1슬레이브(21) 및 제3슬레이브(23)의 대응 가능한 통신 주기가 최장이기 때문에, 최소의 통신 주기 CTmin은 31.25μs가 된다. 최소 전송 시간 TTsf가 최소의 통신 주기 CTmin(31.25μs)보다 작기 때문에, 처리부(11)는, 우선, 최소의 통신 주기 CTmin(31.25μs)를 제2주기 후보 CCT2로 설정한다. 이 경우, 분할 수 β는, 식(2)로부터 16(=500/31.25)이 된다. 또, 주 데이터의 총 데이터 사이즈 Dm이 80(=32+16+32)바이트이므로, 분할 데이터의 데이터 사이즈 Dmdiv는, 식(3)에 의해 5(=80/16)바이트이고, 헤더 D100과 분할 데이터의 전송 영역과 부 데이터 영역 D2와 푸터 D101을 포함한 분할 프레임 F2의 프레임 사이즈가 360(=(12+5+16+12)×8)비트이다. 그 때문에, 필요 전송 시간 TTf는, 식(4)에 의해, 17.1(=360/100+3×4+1.5)μs가 산출된다. 필요 전송 시간 TTf가 제2주기 후보 CCT2(최소의 통신 주기 CTmin(31.25μs))보다 작기 때문에, 처리부(11)는, 최소의 통신 주기 CTmin(31.25μs)를 제2주기 CT2로 설정한다.
처리부(11)는, 허용 최대 데이터 사이즈 ADmdiv에 근거하여, 주 데이터를 분할 데이터로 분할한다. 이 경우, 허용 최대 데이터 사이즈 ADmdiv는, 식(5)에 의해, 144.375(=5+(31.25-17.1-3)×100/8)바이트가 되어, 허용 최대 데이터 사이즈 ADmdiv가, 주 데이터의 데이터 사이즈 Dm(80바이트)보다 크다. 그 때문에, 처리부(11)는, 예를 들면, 주 데이터를 분할하지 않고, 모든 주 데이터가 분할 프레임 F21로 전송되도록(즉, 분할 프레임 F21만이 주 데이터 영역 D1을 포함하고, 나머지의 분할 프레임 F22,…은 주 데이터 영역 D1을 포함하지 않도록), 분할 프레임 F2를 생성한다.
다음에, 각 슬레이브(2)의 설정용 데이터가 이하의 표 2에 나타내는 데이터인 경우에 대해 설명한다.
제1슬레이브 제2슬레이브 제3슬레이브
주 데이터의 데이터 사이즈(Bytes) 320 320 160
부 데이터의 데이터 사이즈(Bytes) 40 20 160
대응 가능한 통신 주기(μs) 31.25 15.625 31.25
이 경우, 부 데이터의 총 데이터 사이즈 Ds가 220(=40+20+160)바이트로서, 헤더 D100과 부 데이터 영역 D2와 푸터 D101을 포함한 분할 프레임 F2의 프레임 사이즈가 1952(=(12+220+12)×8)비트이므로, 최소 전송 시간 TTsf는, 식(1)에 의해, 33.02(=1952/100+3×4+1.5)μs가 산출된다. 이 경우, 모든 슬레이브(21), (22), (23)의 대응 가능한 통신 주기 중, 제1슬레이브(21) 및 제3슬레이브(23)의 대응 가능한 통신 주기가 최장이기 때문에, 최소의 통신 주기 CTmin은 31.25μs가 된다. 최소 전송 시간 TTsf가 최소의 통신 주기 CTmin(31.25μs) 이상이므로, 처리부(11)는, 초기치가 「1」인 반복 횟수 「m」에 「1」을 가산하고, 최소의 통신 주기 CTmin(31.25μs)를 반복 횟수 m배(여기에서는 2배)한 값(62.5μs)을, 제2주기 후보 CCT2로 설정한다. 이 경우, 분할 수 β는, 식(2)에 의해, 8(=500/62.5)이 된다. 또, 주 데이터의 총 데이터 사이즈 Dm이 800(=320+320+160)바이트이므로, 분할 데이터의 데이터 사이즈 Dmdiv는, 식(3)에 의해 100(=800/8)바이트이며, 헤더 D100과 분할 데이터의 전송 영역과 부 데이터 영역 D2와 푸터 D101을 포함한 분할 프레임 F2의 프레임 사이즈가 2752(=(12+100+220+12)×8)비트이다. 그 때문에, 필요 전송 시간 TTf는, 식(4)에 의해, 41.02(=2752/100+3×4+1.5)μs가 산출된다. 필요 전송 시간 TTf가, 제2주기 후보 CCT2(62.5μs)보다 작기 때문에, 처리부(11)는, 제2주기 후보 CCT2(62.5μs)를 제2주기 CT2로 설정한다.
처리부(11)는, 허용 최대 데이터 사이즈 ADmdiv에 근거하여, 주 데이터를 분할 데이터로 분할한다. 이 경우, 허용 최대 데이터 사이즈 ADmdiv는, 식(5)에 의해, 331(=100+(62.5-41.02-3)×100/8)바이트가 된다. 처리부(11)는, 예를 들면, 복수(여기에서는, 분할 수 β=8이기 때문에, 8개)의 분할 프레임 F21, F22,…F28 중, 분할 프레임 F21, F22에, 총 데이터 사이즈가 800바이트인 주 데이터 중, 331바이트분의 분할 데이터를 각각 할당하고 분할 프레임 F23에, 나머지의 138(=800-331×2)바이트분의 분할 데이터를 할당하는 것으로, 주 데이터를 주 데이터 피스(분할 데이터)로 분할한다.
이하, 본 실시 형태의 통신 장치(1)의 이점에 대해, 비교예의 통신 장치와의 비교를 섞어 설명한다. 비교예의 통신 장치는, 분할 처리 및 설정 처리를 실행하는 기능을 가지지 않은 점에서, 본 실시 형태의 통신 장치(1)와 상위하다. 도 6은, 비교예의 통신 장치에 의한 통신 처리의 설명도이다. 비교예의 통신 장치는, 도 6에 나타내는 바와 같이, 주 데이터의 데이터 사이즈 Dm에 관계없이, 1개의 프레임(주 프레임) F100에서, 모든 주 데이터를 통신 장치(1) 또는 슬레이브(2)로부터 송신시킨다. 그리고, 주 데이터와 다른 부 데이터를 통신 장치(1) 또는 슬레이브(2)로부터 송신시키는 경우, 제1주기 CT1에 있어서의 주 프레임 F100을 제외한 빈 영역 CT10에서, 부 데이터 영역 D2를 포함하는 다른 프레임(부 프레임) F200을 송신한다. 그렇지만, 비교예의 통신 장치에서는, 제2주기 CT2가 설정되어 있지 않기 때문에, 부 프레임 F200이 송신되는 타이밍도 규정되어 있지 않으므로, 부 데이터를 주기적으로 송신할 수가 없다. 이 때문에, 비교예의 통신 장치에서는, 주 데이터와는 다른 부 데이터에 대해, 산업용 네트워크에서의 사용에 견딜 수 있는 주기적인 통신을 행하는 것이 어렵다.
한편, 본 실시 형태의 통신 장치(1)에서는, 예를 들면 설정 처리에 의해 슬롯 S0이 할당된 슬레이브(2)는, 제1주기 CT1로 송신되는 주 데이터와는 별도로, 제2주기 CT2마다 슬롯 S0을 이용하여, 부 데이터를 주기적으로 수신하는 것이 가능하다. 예를 들면 설정 처리에 의해 슬롯 S0이 할당된 슬레이브(2)는, 제2주기 CT2마다 슬롯 S0을 이용하여, 주 데이터와는 별도로 부 데이터를 주기적으로 송신하는 것이 가능하다. 즉, 본 실시 형태에서는, 통신 장치(1)에 접속된 슬레이브(2)에 있어서, 부 데이터를 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다. 그 때문에, 본 실시 형태에서는, 주 데이터뿐만이 아니라 부 데이터에 대해서도, 산업용 네트워크에서의 사용에 견딜 수 있는 주기적인 통신을 행하기 쉽다라고 하는 이점이 있다.
비교예의 통신 장치에 있어서, 주 데이터의 데이터 사이즈가 비교적 큰 경우에는, 주 데이터의 송신만으로 제1주기 CT1의 반분 이상을 차지할(즉, 주 프레임 F100의 송신만으로, 제1주기 CT1의 반분 이상의 시간이 걸릴) 가능성이 있다. 그 경우, 제1주기 CT1 내에, 제2주기 CT2를 복수 회 설정하는 것이 어렵다. 이것에 대해서, 본 실시 형태에서는, 프레임 F1이, 주 데이터의 송신 기간의 도중에 슬롯 S0을 적어도 1개 포함하고 있다. 그 때문에, 본 실시 형태의 통신 장치(1)에서는, 예를 들면 슬롯 S0이 할당된 슬레이브(2)는, 주 데이터의 송신 시간보다 짧은 주기(제2주기 CT2)로, 부 데이터를 주기적으로 송신, 수신, 또는 송수신하는 것이 가능해진다. 그 때문에, 본 실시 형태에서는, 통신 장치(1)에 접속된 슬레이브(2)에 있어서, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다. 그 때문에, 본 실시 형태에서는, 주 데이터뿐만이 아니라 부 데이터에 대해서도, 산업용 네트워크에서의 사용에 견딜 수 있는 주기적인 통신을 더 행하기 쉽다라고 하는 이점이 있다.
(5) 변형예
상술의 실시 형태는, 본 개시의 여러 가지 실시 형태 중 하나에 지나지 않는다. 상술의 실시 형태는, 본 개시의 목적을 달성할 수 있으면, 설계 등에 따라 여러 가지의 변경이 가능하다. 통신 장치(1)와 동일한 기능은, 통신 제어 방법, (컴퓨터) 프로그램, 또는 프로그램을 기록한 비일시적 기록 매체 등으로 구현화되어도 좋다.
일 태양에 따른 통신 제어 방법은, 통신 스텝과, 설정 스텝을 포함한다. 통신 스텝은, 통신 장치(1)에 접속되는 1 이상의 슬레이브(2)에 대해서, 주 데이터를 포함하는 프레임 F1을 제1주기 CT1로 송신시키는 스텝이다. 설정 스텝은, 제1주기 CT1 내에 N회(N은 2 이상의 정수)의 제2주기 CT2, 및 제2주기 CT2마다 주 데이터 이외의 부 데이터의 통신을 행하기 위한 슬롯 S0을 설정하는 스텝이다. 프레임 F1은, 주 데이터의 송신 기간의 도중에 슬롯 S0을 적어도 1개 포함한다. 또, 일 태양에 따른 프로그램은, 1 이상의 프로세서에, 상기의 통신 제어 방법을 실행시킨다.
이하, 상술의 실시 형태의 변형예를 열거한다. 이하에 설명하는 변형예는, 적의 조합하여 적용 가능하다.
본 개시에 있어서의 통신 장치(1)는, 예를 들면 처리부(11)에 컴퓨터 시스템을 포함하고 있다. 컴퓨터 시스템은, 하드웨어로서의 프로세서 및 메모리를 주 구성으로 한다. 컴퓨터 시스템의 메모리에 기록된 프로그램을 프로세서가 실행하는 것에 의해, 본 개시에 있어서의 처리부(11)로서의 기능이 실현된다. 프로그램은, 컴퓨터 시스템의 메모리에 미리 기록되어도 좋고, 전기 통신 회선을 통해서 제공되어도 좋고, 컴퓨터 시스템에서 판독 가능한 메모리 카드, 광학 디스크, 하드 디스크 드라이브 등의 비일시적 기록 매체에 기록되어 제공되어도 좋다. 컴퓨터 시스템의 프로세서는, 반도체 집적 회로(IC(Integrated Circuit)) 또는 대규모 집적 회로(LSI(Large Scale Integration))를 포함하는 1 또는 복수의 전자 회로로 구성된다. 여기서 말하는 IC 또는 LSI 등의 집적 회로는, 집적의 정도에 따라 부르는 방법이 다르고, 시스템 LSI, VLSI(Very Large Scale Integration), 또는 ULSI(Ultra Large Scale Integration)로 불리는 집적 회로를 포함한다. 또한, LSI의 제조 후에 프로그램되는, FPGA(Field-Programmable Gate Array), 또는 LSI 내부의 접합 관계의 재구성 혹은 LSI 내부의 회로 구획의 재구성이 가능한 논리 디바이스에 대해서도, 프로세서로서 채용할 수가 있다. 복수의 전자 회로는, 1개의 칩에 집약되어 있어도 좋고, 복수의 칩에 분산되어 마련되어 있어도 좋다. 복수의 칩은, 1개의 장치에 집약되어 있어도 좋고, 복수의 장치에 분산되어 마련되어 있어도 좋다. 여기서 말하는 컴퓨터 시스템은, 1 이상의 프로세서 및 1 이상의 메모리를 가지는 마이크로 컨트롤러를 포함한다. 따라서, 마이크로 컨트롤러에 대해서도, 반도체 집적 회로 또는 대규모 집적 회로를 포함하는 1 또는 복수의 전자 회로로 구성된다.
또, 처리부(11)에 있어서의 복수의 기능이, 1개의 하우징에 집약되어 있는 것은 처리부(11)에 필수의 구성은 아니다. 처리부(11)의 구성 요소는, 복수의 하우징에 분산되어 마련되어 있어도 좋다. 또한, 처리부(11)의 적어도 일부의 기능은, 예를 들면, 서버 장치 및 클라우드(클라우드 컴퓨팅) 등에 의해 실현되어도 좋다. 반대로, 상술의 실시 형태와 같이, 처리부(11)의 모든 기능이, 1개의 하우징에 집약되어 있어도 좋다.
일 변형예에 있어서, 통신 장치(1)의 처리부(11)는, 설정 처리에서 대응 가능한 통신 주기가 비교적 긴 슬레이브(2)가 통신 시스템(100)에 속하고 있는 경우, 이 슬레이브(2)의 대응 가능한 통신 주기를 다른 슬레이브(2)의 대응 가능한 통신 주기에 일치시켜도 좋다. 즉, 슬레이브(2)의 대응 가능한 통신 주기는, 예를 들면 데이터를 생성하여 송신하는 처리 등, 처리 부하가 비교적 큰 처리를 실행하는 경우에 필요한 주기이다. 그 때문에, 단지 데이터를 취득하는 처리 등의 처리 부하가 비교적 작은 처리를 실행하는 경우에는, 슬레이브(2)의 대응 가능한 통신 주기를 짧게 설정하는 것도 가능하다. 이와 같이, 슬레이브(2)의 대응 가능한 통신 주기를 다른 대응 가능한 통신 주기에 일치시키는 것으로, 결과적으로 최소의 통신 주기 CTmin을 조정하는 것이 가능하다. 바꾸어 말하면, 최소의 통신 주기 CTmin은, 임의로 설정 가능해도 좋다.
일 변형예에 있어서, 슬롯 S0은, 소정 시간을 기준으로 하여 어느 정도의 격차가 있어도 좋다. 즉, 슬롯 S0의 차이는, 적어도 제2주기 CT2보다 짧은 허용 시간 내에 들어가 있는 것이 바람직하다. 구체적으로는, 주 데이터 영역 D1을 포함하는 분할 프레임 F2를 송신하는 제2주기 CT2에 있어서는, 이 제2주기 CT2가 종료할 때까지 슬레이브(2)에서 슬롯 S0의 수신을 완료할 수 있으면, 슬롯 S0의 송신을 개시하는 타이밍은 어느 타이밍이어도 좋다. 예를 들면, 주 데이터 영역 D1의 종료 타이밍이 도 2에 나타내는 예보다 늦어진 경우여도, 각 슬레이브(2)에서의 슬롯 S0의 수신이 이 제2주기 CT2가 종료할 때까지 완료한다면, 슬롯 S0의 송신을 개시하는 타이밍의 차이가 허용된다.
일 변형예에 있어서, 분할 프레임 F2 내에서의 주 데이터 영역 D1과 부 데이터 영역 D2의 차례는, 주 데이터 영역 D1이 앞인 경우에 한정되지 않고, 부 데이터 영역 D2가 앞이어도 좋다.
상술의 실시 형태의 설정 처리에서는, 대응 가능한 통신 주기가 서로 다른 복수 종류의 슬레이브(2)가 존재하는 경우, 대응 가능한 통신 주기의 최소 공배수의 정수배(반복 횟수 m배)를 제2주기 CT2로 설정하고 있지만, 이것에 한정되지 않는다. 일 변형예에 있어서, 복수 종류의 슬레이브(2)를 모두 슬롯 S0의 할당 대상으로 하는 것이 아니라, 일부의 슬레이브(2)를 슬롯 S0의 할당 대상 외로 해도 좋다. 예를 들면, 복수 종류의 슬레이브(2) 중 1 종류의 슬레이브(2)만을 슬롯 S0의 할당 대상으로 한다면, 제2주기 CT2는, 이 종류의 슬레이브(2)의 대응 가능한 통신 주기로 설정되게 된다.
일 변형예에 있어서, 산출된 제2주기 CT2가 각 슬레이브(2)의 대응 가능한 통신 주기의 정수배에 일치하지 않는 경우여도, 산출된 제2주기 CT2를 그대로 제2주기 CT2로서 설정해도 좋다. 이 경우, 제1주기 CT1 내에는, N회의 제2주기 CT2 이외에, 나머지 분의 기간이 포함될 수 있다.
일 변형예에 있어서, 슬레이브(2)는, 모터 구동 장치에 한정하지 않고, 센서 등의 다른 기기여도 좋다. 일 변형예에 있어서, 복수의 슬레이브(2)에 모터 구동 장치가 포함되어 있지 않아도 좋다. 예를 들면, 모든 슬레이브(2)가 센서여도 좋다.
일 변형예에 있어서, 통신 시스템(100)에 속하는 슬레이브(2)는 1대여도 좋다. 이 태양에서는, 통신 장치(1)는, 제1주기 CT1마다, 주 데이터를 생성하면서, 슬레이브(2)로부터 제2주기 CT2로 송신되는 부 데이터를 취득하는 것이 가능하다.
상술의 실시 형태에서는, 통신 장치(1)는, 유선 통신 모듈을 이용하여 각 슬레이브(2)와 유선으로 통신하고 있지만, 이것에 한정되지 않는다. 일 변형예에 있어서, 통신 장치(1)는, 무선 통신 모듈을 이용하여 각 슬레이브(2)와 무선으로 통신해도 좋다.
일 변형예에 있어서, 슬레이브(2)의 처리부(201)는, 예를 들면 제2주기 CT2에 있어서의 분할 프레임 F2를 제외한 빈 영역을 이용하여, 부 데이터 이외의 다른 데이터를 통신부(202)로부터 송신시켜도 좋다. 다른 데이터는, 일례로서 주 데이터에 포함되는 제어 데이터와 비교하여 데이터 사이즈가 큰 데이터로서, 생산 라인 또는 공장에서의 제조 공정 등을 감시하거나 관리하거나 하기 위해서 이용되는 화상 등을 포함할 수 있다. 다른 데이터에 대해서는, 주 데이터 및 부 데이터와는 달리, 정시성 및 리얼타임성이 요구되지 않아도 좋다.
상술의 실시 형태에서는, 통신 장치(1)의 처리부(11)는, 통신 처리에 있어서 부 데이터를 각 슬레이브(2)에 대해서 송신하고 있지 않지만, 부 데이터를 각 슬레이브(2)에 대해서 송신해도 좋다. 즉, 처리부(11)의 처리 성능에 여유가 있으면, 처리부(11)는, 부 데이터를 생성하는 처리를, 주 데이터를 생성하는 처리와 병행하여 실행하고, 생성한 부 데이터를 각 슬레이브(2)에 대해서 송신하는 것이 가능하다.
제2주기 후보 CCT2의 갱신 방법은, 최소의 통신 주기 CTmin과 반복 횟수 m의 곱을 이용하는 방법으로 한정되지 않는다. 일 변형예에 있어서, 유저로부터 제2주기 후보 CCT2의 입력을 받아들여도 좋고, 현재의 제2주기 후보 CCT2의 2배의 값을, 갱신 후의 제2주기 후보 CCT2로서 이용해도 좋다.
일 변형예에 있어서, 처리부(11)는, 분할 처리에 있어서, 슬레이브(2)를 단위로 하여, 주 데이터를 복수의 분할 데이터(주 데이터 피스)로 분할해도 좋다. 일례에 있어서, 처리부(11)는, 주 데이터를, 제1슬레이브(21)의 제어 데이터를 포함하는 분할 데이터, 제2슬레이브(22)의 제어 데이터를 포함하는 분할 데이터,…, 제n슬레이브(2)의 제어 데이터를 포함하는 분할 데이터의, n개의 분할 데이터로 분할한다. 다른 예에 있어서, 처리부(11)는, 주 데이터를, 제1슬레이브(21)의 제어 데이터 및 제2슬레이브(22)의 제어 데이터를 포함하는 분할 데이터, 제3슬레이브(23)의 제어 데이터 및 제4 슬레이브(24)의 제어 데이터를 포함하는 분할 데이터,…, 제n-1 슬레이브(2n-1)의 제어 데이터 및 제n슬레이브(2n)의 제어 데이터를 포함하는 분할 데이터의, n/2개(n은 짝수)의 분할 데이터로 분할한다. 즉, 복수의 분할 데이터(주 데이터 피스)의 각각에는, 적어도 1개의 슬레이브(2)에 대한 제어 데이터가 포함될 수 있다. 이 경우, 분할 데이터의 데이터 사이즈의 조정(즉 분할 처리)을 행한(스텝 ST10) 후에, 헤더 D100과 분할 데이터의 전송 영역과 부 데이터 영역 D2와 푸터 D101을 포함하는 분할 프레임 F2의 전송 시간이, 스텝 ST9에서 설정된 제2주기 CT2를 넘어 버릴 가능성이 있다. 그 경우, 처리부(11)는, 스텝 ST11로 돌아와, 제2주기 CT2의 설정(갱신)을 재차 행해도 좋다. 물론, 처리부(11)는, 상술의 실시 형태와 같이, 분할 처리에 있어서 주 데이터를 복수의 주 데이터 피스로 분할할 때에 슬레이브(2)를 단위로 하지 않아도 좋다.
일 변형예에 있어서, 주 데이터가 미리 복수의 주 데이터 피스로 분할되어 있는 경우, 처리부(11)는, 분할 처리를 행하지 않아도 좋다.
일 변형예에 있어서, 처리부(11)는, 분할 데이터의 데이터 사이즈의 재조정의 처리(스텝 ST10)를 행하지 않아도 좋다. 예를 들면, 처리부(11)는, 스텝 ST6에서 산출된 분할 데이터의 데이터 사이즈 Dmdiv에 근거하여, 주 데이터를 분할 데이터(주 데이터 피스)로 분할해도 좋다.
일 변형예에 있어서, 복수의 주 데이터 피스의 각각의 데이터 사이즈는, 제2주기 CT2로 송신 가능한 범위에서 임의로 설정되어도 좋다. 예를 들면, 분할 처리에 있어서, 처리부(11)는, 주 데이터를, 허용 최대 데이터 사이즈 ADmdiv보다 데이터 사이즈가 작은 분할 데이터로 분할해도 좋다.
일 변형예에 있어서, 복수의 슬레이브(2)는, 서로 동기하여 주 데이터에 따른 처리를 실행하지 않아도 좋다. 예를 들면, 도 2의 예에서는, 제1슬레이브(21) 및 제2슬레이브(22)는, 분할 프레임 F21의 전송이 완료한 시점에서, 분할 프레임 F22의 전송을 기다리지 않고 주 데이터에 따른 처리를 실행해도 좋다.
일 변형예에 있어서, 서로 다른 제1주기 CT1에 있어서는, 제2주기 CT2가 서로 다른 값으로 설정되어도 좋다. 즉, 제2주기 CT2는, 제1주기 CT1마다 가변이어도 좋다. 다만, 서로 다른 제2주기 CT2의 각각은, 통신 시스템(100)을 가동시키기 전에 구해 두는 것이 바람직하다.
데이지 체인 접속의 일례에 있어서, 통신 장치(1)에는, 제1슬레이브(21), 제2슬레이브(22), 제3슬레이브(23),…, 제n슬레이브(2n)가 순서대로 라인 형상으로 접속되어 있어도 좋다. 이 경우, 통신 장치(1)로부터 송신되는 프레임 F1은, 제1슬레이브(21), 제2슬레이브(22), 제3슬레이브(23),…, 제n슬레이브(2n)의 순서대로 전송되게 된다.
(6) 태양
이상 설명한 실시 형태 및 변형예 등으로부터 이하의 태양이 개시되어 있다.
제1태양의 통신 장치(1)는, 처리부(11)와, 통신부(12)를 구비한다. 통신부(12)는, 1 이상의 슬레이브(2)와 통신한다. 처리부(11)는, 통신 처리와 설정 처리를 실행하는 기능을 가진다. 통신 처리는, 1 이상의 슬레이브(2)에 대해서, 주 데이터를 포함하는 프레임(F1)을 통신부(12)로부터 제1주기(CT1)로 송신시키는 것을 포함한다. 설정 처리는, 제1주기(CT1) 내에 N회(N은 2 이상의 정수)의 제2주기(CT2)를 설정하는 것을 포함한다. 설정 처리는, 제2주기(CT2)마다 주 데이터 이외의 부 데이터의 통신이 행해지는 슬롯(S0)을 설정하는 것을 포함한다. 프레임(F1)은, 주 데이터의 송신 기간의 도중에 슬롯(S0)을 적어도 1개 포함한다.
이 태양에 의하면, 주 데이터의 송신 시간보다 짧은 주기(제2주기(CT2))로, 부 데이터의 주기적인 송신 및 수신 중 적어도 한쪽이 가능해진다. 그 때문에, 이 태양에서는, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신 또는 수신시키기 쉽다라고 하는 이점이 있다.
제2태양의 통신 장치(1)에서는, 제1태양에 있어서, 설정 처리는, 제2주기(CT2)마다 1 이상의 슬레이브(2) 중 적어도 1개의 슬레이브(2)에 슬롯(S0)을 할당하는 것을 포함한다.
이 태양에 의하면, 슬롯(S0)이 할당된 슬레이브(2)는, 슬롯(S0)을 이용하여 부 데이터를 주기적으로 송신, 수신, 또는 송수신하는 것이 가능해진다.
제3태양의 통신 장치(1)에서는, 제1 또는 제2태양에 있어서, 프레임(F1)은, 제1주기(CT1)로 1 이상의 슬레이브(2)를 제어하기 위한 데이터를 포함한다.
이 태양에 의하면, 제1주기(CT1)마다 슬레이브(2)를 제어하는 것이 가능해진다.
제4태양의 통신 장치(1)에서는, 제1~제3 중 어느 1개의 태양에 있어서, 프레임(F1)은, 1 이상의 슬레이브(2)의 동작을 동기시키기 위한 데이터를 포함한다.
이 태양에 의하면, 1 이상의 슬레이브(2)의 동작을 동기시키는 것이 가능해진다.
제5태양의 통신 장치(1)에서는, 제1~제4 중 어느 1개의 태양에 있어서, 1 이상의 슬레이브(2)는, 통신 장치(1)에 대해서 데이지 체인 접속되어 있다.
이 태양에 의하면, 통신 장치(1)가, 1 이상의 슬레이브(2) 중 통신 장치(1)에 직접 접속되어 있는 슬레이브(2)에만 프레임(F1)을 송신하면 좋기 때문에, 통신 장치(1)의 처리 부하를 저감하기 쉽다.
제6태양의 통신 장치(1)에서는, 제1~제5 중 어느 1개의 태양에 있어서, 주 데이터는, 복수의 주 데이터 피스를 포함한다. 처리부(11)는, 통신 처리에 있어서, 복수의 주 데이터 피스를 N회의 제2주기(CT2)로 분할하여 송신한다.
이 태양에 의하면, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉬워진다.
제7태양의 통신 장치(1)에서는, 제6태양에 있어서, 처리부(11)는, 주 데이터를 복수의 주 데이터 피스로 분할하는 분할 처리를 실행하는 기능을 더 가진다.
이 태양에 의하면, 주 데이터를 복수의 주 데이터 피스로 분할하고, 이 복수의 주 데이터 피스를 N회의 제2주기(CT2)로 분할하여 송신하는 것이 가능해져, 프레임(F1)의 송신 기간의 도중에 제2주기(CT2)의 슬롯(S0)을 삽입하는 처리가 용이해진다.
제8태양의 통신 장치(1)에서는, 제7태양에 있어서, 복수의 주 데이터 피스의 각각의 데이터 사이즈는, 제2주기(CT2)로 송신 가능한 범위에서 임의로 설정된다.
이 태양에 의하면, 주 데이터 피스의 분할의 태양을 임의로 설정 가능해진다.
제9태양의 통신 장치(1)에서는, 제6~제8 중 어느 1개의 태양에 있어서, 처리부(11)는, 설정 처리에 있어서, 적어도 제1주기(CT1), 주 데이터의 데이터 사이즈(Dm), 및 부 데이터의 데이터 사이즈(Ds)에 근거하여, 제2주기(CT2)를 설정한다.
이 태양에 의하면, 제1주기(CT1)에 포함되는 제2주기(CT2)의 횟수를 많이 설정하기 쉽고, 결과적으로 제1주기(CT1)에 있어서 부 데이터를 송신, 수신, 또는 송수신하는 횟수를 많게 하는 것이 가능해진다.
제10태양의 통신 장치(1)에서는, 제1~제9 중 어느 1개의 태양에 있어서, 처리부(11)는, 설정 처리에 있어서, 1 이상의 슬레이브(2)의 대응 가능한 통신 주기의 정수배의 주기를 제2주기(CT2)로서 설정한다.
이 태양에 의하면, 통신 장치(1)와 1 이상의 슬레이브(2) 사이에 동기를 취하기 쉽다.
제11태양의 통신 장치(1)에서는, 제1~제10 중 어느 1개의 태양에 있어서, 1 이상의 슬레이브(2) 중 적어도 1개의 슬레이브(2)는, 모터를 구동시키는 모터 구동 장치다.
이 태양에 의하면, 주 데이터뿐만 아니라, 부 데이터도 이용하여 모터 구동 장치를 주기적으로 제어하기 쉽다.
제12태양에 따른 통신 시스템(100)은, 제1~제11 중 어느 1개의 태양의 통신 장치(1)와, 1 이상의 슬레이브(2)를 구비한다. 1 이상의 슬레이브(2)는, 통신 장치(1)에 접속되어 통신 장치(1)와 통신한다.
이 태양에 의하면, 슬롯(S0)을 이용하여 주 데이터와는 다른 부 데이터를 주기적으로 송신, 수신, 또는 송수신하는 것이 가능하다. 이 때문에, 이 태양에 의하면, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다.
제13태양에 따른 통신 제어 방법은, 통신 스텝과, 설정 스텝을 포함한다. 통신 스텝은, 통신 장치(1)에 접속되는 1 이상의 슬레이브(2)에 대해서, 주 데이터를 포함하는 프레임(F1)을 제1주기(CT1)로 송신시키는 것을 포함한다. 설정 스텝은, 제1주기(CT1) 내에 N회(N은 2 이상의 정수)의 제2주기(CT2)를 설정하는 것을 포함한다. 설정 스텝은, N회의 제2주기(CT2)마다 주 데이터 이외의 부 데이터의 통신을 행하기 위한 슬롯(S0)을 설정하는 것을 포함한다. 프레임(F1)은, 주 데이터의 송신 기간의 도중에 슬롯(S0)을 적어도 1개 포함한다.
이 태양에 의하면, 주 데이터의 송신 시간보다 짧은 주기(제2주기(CT2))로, 부 데이터의 주기적인 송신, 수신, 또는 송수신이 가능해진다. 그 때문에, 이 태양에서는, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다.
제14태양에 따른 프로그램은, 1 이상의 프로세서에, 제13태양의 통신 제어 방법을 실행시킨다.
이 태양에 의하면, 주 데이터의 송신 시간보다 짧은 주기(제2주기(CT2))로, 부 데이터의 주기적인 송신, 수신, 또는 송수신이 가능해진다. 그 때문에, 이 태양에서는, 부 데이터를, 주 데이터의 전송에 필요로 하는 시간보다 짧은 주기로 주기적으로 송신, 수신, 또는 송수신시키기 쉽다라고 하는 이점이 있다.
본 개시는, 부 데이터를, 주 데이터의 주기적 전송을 행하면서 소정 시간 내에 부 데이터를 송신 또는 수신할 필요가 있는 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램에 적합하다.
1 통신 장치
11 처리부
12 통신부
2 슬레이브
100 통신 시스템
CT1 제1주기
CT2 제2주기
F1 프레임
S0 슬롯

Claims (14)

  1. 처리부와,
    1 이상의 슬레이브와 통신하는 통신부
    를 구비하고,
    상기 처리부는,
    상기 1 이상의 슬레이브에 대해서, 주 데이터를 포함하는 프레임을 상기 통신부로부터 제1주기로 송신시키는 통신 처리와,
    상기 제1주기 내에 N회(N은 2 이상의 정수)의 제2주기, 및 상기 제2주기마다 상기 주 데이터 이외의 부 데이터의 통신이 행해지는 슬롯을 설정하는 설정 처리
    를 실행하는 기능을 갖고,
    상기 프레임은, 상기 주 데이터의 송신 기간의 도중에 상기 슬롯을 적어도 1개 포함하는,
    통신 장치.
  2. 제1항에 있어서,
    상기 설정 처리는, 상기 제2주기마다 상기 1 이상의 슬레이브 중 적어도 1개의 슬레이브에 상기 슬롯을 할당하는 것을 포함하는,
    통신 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 프레임은, 상기 제1주기로 상기 1 이상의 슬레이브를 제어하기 위한 데이터를 포함하는,
    통신 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 프레임은, 상기 1 이상의 슬레이브의 동작을 동기시키기 위한 데이터를 포함하는,
    통신 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 1 이상의 슬레이브는, 상기 통신 장치에 대해서 데이지 체인 접속되어 있는,
    통신 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 주 데이터는, 복수의 주 데이터 피스를 포함하고,
    상기 처리부는, 상기 통신 처리에 있어서, 상기 복수의 주 데이터 피스를 상기 N회의 제2주기로 분할하여 송신하는,
    통신 장치.
  7. 제6항에 있어서,
    상기 처리부는, 상기 주 데이터를 상기 복수의 주 데이터 피스로 분할하는 분할 처리를 실행하는 기능을 더 가지는,
    통신 장치.
  8. 제7항에 있어서,
    상기 복수의 주 데이터 피스의 각각의 데이터 사이즈는, 상기 제2주기로 송신 가능한 범위에서 설정되는,
    통신 장치.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 처리부는, 상기 설정 처리에 있어서, 적어도 상기 제1주기, 상기 주 데이터의 데이터 사이즈, 및 상기 부 데이터의 데이터 사이즈 중 1개에 근거하여, 상기 제2주기를 설정하는,
    통신 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 처리부는, 상기 설정 처리에 있어서, 상기 1 이상의 슬레이브의 대응 가능한 통신 주기의 정수배의 주기를 상기 제2주기로서 설정하는,
    통신 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 1 이상의 슬레이브 중 적어도 1개의 슬레이브는, 모터를 구동시키는 모터 구동 장치인,
    통신 장치.
  12. 청구항 1 내지 청구항 11 중 어느 한 항에 기재된 통신 장치와,
    상기 통신 장치에 접속되어 상기 통신 장치와 통신하는 상기 1 이상의 슬레이브를 구비하는,
    통신 시스템.
  13. 통신 장치에 접속되는 1 이상의 슬레이브에 대해서, 주 데이터를 포함하는 프레임을 제1주기로 송신시키는 통신 스텝과,
    상기 제1주기 내에 N회(N은 2 이상의 정수)의 제2주기, 및 상기 제2주기마다 상기 주 데이터 이외의 부 데이터의 통신을 행하기 위한 슬롯을 설정하는 설정 스텝
    을 포함하고,
    상기 프레임은, 상기 주 데이터의 송신 기간의 도중에 상기 슬롯을 적어도 1개 포함하는,
    통신 제어 방법.
  14. 1 이상의 프로세서에, 청구항 13에 기재된 통신 제어 방법을 실행시키는, 프로그램.
KR1020237004856A 2020-07-22 2021-06-17 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램 KR20230038745A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020125771 2020-07-22
JPJP-P-2020-125771 2020-07-22
PCT/JP2021/023014 WO2022019014A1 (ja) 2020-07-22 2021-06-17 通信装置、通信システム、通信制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
KR20230038745A true KR20230038745A (ko) 2023-03-21

Family

ID=79729444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237004856A KR20230038745A (ko) 2020-07-22 2021-06-17 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램

Country Status (6)

Country Link
US (1) US20230280718A1 (ko)
EP (1) EP4187857A4 (ko)
JP (1) JPWO2022019014A1 (ko)
KR (1) KR20230038745A (ko)
CN (1) CN116137951A (ko)
WO (1) WO2022019014A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018064245A (ja) 2016-10-14 2018-04-19 オムロン株式会社 通信装置、制御装置および通信方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317415B1 (en) * 1998-09-28 2001-11-13 Raytheon Company Method and system for communicating information in a network
JP5637193B2 (ja) * 2012-09-06 2014-12-10 株式会社デンソー 通信システム
US9946672B2 (en) * 2015-08-28 2018-04-17 Cirrus Logic, Inc. Transfer for control data over half-duplex link
JP6977600B2 (ja) * 2018-02-14 2021-12-08 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
EP4084417A4 (en) * 2019-12-25 2023-02-08 Panasonic Intellectual Property Management Co., Ltd. COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018064245A (ja) 2016-10-14 2018-04-19 オムロン株式会社 通信装置、制御装置および通信方法

Also Published As

Publication number Publication date
EP4187857A1 (en) 2023-05-31
US20230280718A1 (en) 2023-09-07
JPWO2022019014A1 (ko) 2022-01-27
CN116137951A (zh) 2023-05-19
EP4187857A4 (en) 2024-01-17
WO2022019014A1 (ja) 2022-01-27

Similar Documents

Publication Publication Date Title
CN109582397B (zh) 控制系统以及控制装置
US10761884B2 (en) Control device for operating multiple types of programs in different execution formats
JP2022037171A5 (ko)
EP3261298A1 (en) Method for implementing a real-time industrial internet field broadband bus
CN106603367A (zh) 一种用于时间同步的can总线通信方法
US10356006B2 (en) Control system, development support apparatus, controller, and control method
CN107682247B (zh) 一种主机与多个从机的高效通讯方法
JP5570556B2 (ja) Ioユニットと通信を行う数値制御装置
US9628288B2 (en) Apparatus for controlling network traffic
CN105519035A (zh) 一种用于运行通信网络用户端的方法技术领域
EP1185044B1 (en) Control station, apparatus and network system
EP4084417A1 (en) Communication device, communication system, communication control method and program
KR20230038745A (ko) 통신 장치, 통신 시스템, 통신 제어 방법, 및 프로그램
JPWO2021131724A5 (ko)
JPWO2022019014A5 (ko)
TWI587644B (zh) Wireless communication devices, wireless communication systems, and wireless communication methods
US20240171422A1 (en) Communication device, communication system, communication control method, and program
CN106209209A (zh) 一种卫星星务与测控遥测数据传输的方法及系统
JP5534711B2 (ja) 情報処理装置、情報処理方法およびプログラム
JPWO2022209054A5 (ko)
CN103825697B (zh) 基于PowerLink的多主站同步方法及系统
JP7374379B1 (ja) データ収集装置、データ収集システム、データベース作成方法及びプログラム
CN210294851U (zh) 一种EtherCAT总线多轴从站系统
CN114546928B (zh) 核心簇同步的方法、控制方法及设备、核心、介质
US20230105480A1 (en) Communication device, communication system, communication method, and recording medium

Legal Events

Date Code Title Description
A201 Request for examination