CN109716247A - 运算装置以及控制系统 - Google Patents
运算装置以及控制系统 Download PDFInfo
- Publication number
- CN109716247A CN109716247A CN201780056494.7A CN201780056494A CN109716247A CN 109716247 A CN109716247 A CN 109716247A CN 201780056494 A CN201780056494 A CN 201780056494A CN 109716247 A CN109716247 A CN 109716247A
- Authority
- CN
- China
- Prior art keywords
- opportunity
- functional unit
- unit
- clock
- time
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13063—Synchronization between modules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供一种构成控制系统的运算装置。运算装置包括:主时钟,对控制系统中的时刻进行管理;第1通信电路,经由第1通信线而与第1功能单元之间收发数据;第2通信电路,经由第2通信线而与第2功能单元之间收发数据;以及时机指示部件,将第1时机指示给第1功能单元,并且将第2时机指示给第2功能单元,所述第1时机应在第1功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第2时机应在第2功能单元中开始用于输出与所收到的输出数据对应的信号的处理。
Description
技术领域
本发明涉及一种包含多个功能单元的控制系统(system)以及构成此控制系统的运算装置。
背景技术
作为用于实现各种工厂自动化(Factory Automation,FA)的主要组件(component),普及有可编程逻辑控制器(Programmable Logic Controller,PLC)(可编程控制器)等控制装置。此种控制装置与一个或多个功能单元之间经由通信线来交换数据。
在多个功能单元经由通信线而连接的情况下,会产生因数据在通信线上传输造成的延迟。此种延迟的大小根据功能单元所连接的位置而不均。取决于此种延迟时间的不均,功能单元获取输入数据及将输出数据输出的时机(timing)也有可能不均。
针对此种问题,日本专利特开2014-120884号公报(专利文献1)揭示了一种能够容易地决定控制系统中的同步时机的环境,所述控制系统包括主机(master)装置、及经由网络(network)而连接的一个或多个从机(slave)装置。
现有技术文献
专利文献
专利文献1:日本专利特开2014-120884号公报
发明内容
发明所要解决的问题
日本专利特开2014-120884号公报(专利文献1)所揭示的控制系统是考虑连接于主机装置与经由网络而连接的从机装置的功能单元之间的同步,对于在连接于主机装置即PLC的内部总线(bus)的功能单元与连接于从机装置的功能单元之间取得同步的方法并未作揭示。
本发明的目的在于提供一种新的结构,能够在经由不同的通信线而分别连接于运算装置的多个功能单元之间,使各自输出信号的时机同步。
解决问题的技术手段
依据本发明的一方案,提供一种构成控制系统的运算装置。运算装置包括:主时钟,对控制系统中的时刻进行管理;以及第1通信电路,经由第1通信线而与第1功能单元之间收发数据。第1功能单元具有与主时钟同步的第1时钟。运算装置包括经由第2通信线而与第2功能单元之间收发数据的第2通信电路。第2功能单元具有与主时钟同步的第2时钟。运算装置包括时机指示部件,所述时机指示部件将第1时机指示给第1功能单元,并且将第2时机指示给第2功能单元,所述第1时机应在第1功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第2时机应在第2功能单元中开始用于输出与所收到的输出数据对应的信号的处理。第1及第2时机是以主时钟所管理的时刻作为基准而定义。
优选的是,运算装置还包括:计算部件,算出第1延迟时间与第2延迟时间,所述第1延迟时间是从对第1通信电路请求输出数据的发送直至能够在第1功能单元中输出与所述输出数据对应的信号为止所需的时间,所述第2延迟时间是从对第2通信电路请求输出数据的发送直至能够在第2功能单元中输出与所述输出数据对应的信号为止所需的时间。
优选的是,运算装置还包括:同步时机决定部件,基于第1延迟时间的最大值及第2延迟时间的最大值,来决定控制系统中所含的功能单元输出信号的同步时机。同步时机决定部件基于所决定的同步时机来决定第1及第2时机。
优选的是,计算部件考虑到下述时间中的至少一部分来算出第1延迟时间及第2延迟时间,这些时间是:(1)从对第1通信电路请求输出数据的发送直至数据被送出到第1通信线上为止所需的时间;(2)从对第2通信电路请求输出数据的发送直至数据被送出到第2通信线上为止所需的时间;(3)被送出到第1通信线上的数据被转发到第1功能单元为止所需的时间;(4)被送出到第2通信线上的数据被转发到第2功能单元为止所需的时间;(5)从第1功能单元收到输出数据直至能够输出与所述接收数据对应的信号为止所需的时间;以及(6)从第2功能单元收到输出数据直至能够输出与所述接收数据对应的信号为止所需的时间。
优选的是,时机指示部件从连接于运算装置的外部装置获取第1时机及第2时机。
优选的是,运算装置还包括:处理器,执行程序;以及通信启动电路,连接于处理器,对第1通信电路及第2通信电路请求输出数据的发送。
优选的是,通信启动电路是使用现场可编程门阵列(Field Programmable GateArray,FPGA)或专用集成电路(Application Specific lntegrated Circuit,ASIC)来实现。
依据本发明的另一方案的控制系统包括:运算装置,具有对控制系统中的时刻进行管理的主时钟;以及第1功能单元,经由第1通信线而与运算装置连接。第1功能单元具有与主时钟同步的第1时钟。控制系统包括:中继装置,经由第2通信线而与运算装置连接;以及第2功能单元,经由第3通信线而与中继装置连接。第2功能单元具有与主时钟同步的第2时钟。运算装置包括时机指示部件,所述时机指示部件将第1时机指示给第1功能单元,并且将第2时机指示给第2功能单元,所述第1时机应在第1功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第2时机应在第2功能单元中开始用于输出与所收到的输出数据对应的信号的处理。第1及第2时机是以主时钟所管理的时刻作为基准而定义。
发明的效果
根据本发明,在经由不同的通信线而分别连接于运算装置的多个功能单元之间,能够使各自输出信号的时机同步。
附图说明
图1中的(A)~(C)是用于对本实施方式的控制系统所提供的输出时机同步功能进行说明的示意图。
图2是表示本实施方式的控制系统的主要部分结构的示意图。
图3是用于对在本实施方式的控制系统中开始输出或更新输出信号所需的处理进行说明的图。
图4是表示本实施方式的控制系统中所用的I/O刷新帧(refresh frame)的数据结构的一例的示意图。
图5是表示与本实施方式的控制系统所提供的输出时机同步功能相关的各部处理的时间图。
图6是用于对与本实施方式的控制系统所提供的输出时机同步功能相关的最大延迟时间的计算流程进行说明的图。
图7是着眼于分散配置在本实施方式的控制系统中的时钟的示意图。
图8中的(A)~(B)是表示用于在本实施方式的控制系统中设定输出同步时机的结构例的示意图。
图9是表示与本实施方式的控制系统中的输出时机同步功能相关的处理流程的流程图。
具体实施方式
一边参照附图,一边详细说明本发明的实施方式。另外,对于图中的相同或相当的部分,标注相同的符号并不再重复其说明。
以下的说明中,作为“控制装置”的典型例,是将PLC(可编程控制器)作为具体例来进行说明,但并不限定于PLC这一名称,本说明书中揭示的技术思想可对任意的控制装置适用。而且,以下也将包含PLC(控制装置)的系统整体称作“控制系统”。
<A.概要>
首先,对本实施方式的控制系统所提供的输出时机同步功能进行说明。图1是用于对本实施方式的控制系统1所提供的输出时机同步功能进行说明的示意图。
参照图1中的(A),作为一例,控制系统1包含PLC(可编程控制器)2以及一个或多个远程(remote)I/O装置3。在PLC2中,安装于自身装置的一个或多个功能单元之间经由未图示的内部网络或内部总线而连接。对于远程I/O装置3的各个,安装于自身装置的一个或多个功能单元之间也经由未图示的网络或总线而连接。PLC2与一个或多个远程I/O装置3是经由网络而连接。
以下,将在PLC2或远程I/O装置3的各装置中,在安装于各装置的功能单元之间交换数据的通信线(典型的是内部网络或内部总线)称作“局域网络(local network)”,将在PLC2与一个或多个远程I/O装置3之间交换数据的通信线称作“远程网络”。“局域网络”及“远程网络”这一名称是为了便于说明,本发明的技术范围并不限定于这些名称。即,本说明书中,“通信线”包含用于依据任何协议(protocol)在装置间或单元间收发数据的全盘架构(framework)。“通信线”既可为并行(parallel)通信方式及串行(serial)通信方式中的任一种,而且也可为总线及网络中的任一种。
本说明书中,“功能单元”包含提供实现控制系统对各种机械或设备的控制所需的各种功能者。作为功能单元的一例,可列举I/O单元、通信单元、温度调整单元、标识(Identifier,ID)传感器单元等。
I/O单元例如可包含数字输入(Digital Input,DI)单元、数字输出(DigitalOutput,DO)单元、模拟输出(Analog Input,AI)单元、模拟输出(Analog Output,AO)单元、脉冲捕捉(pulse catch)输入单元、及使多个种类混合而成的复合单元等。
温度调整单元可包含下述控制装置,此控制装置包含获取温度测量值等的模拟输入功能、输出控制指令等的模拟输出功能、及比例积分微分(Proportional IntegralDifferential,PID)控制功能。ID传感器单元可包含以非接触方式从射频识别器(RadioFrequency IDentifier,RFID)等读出数据的装置。
在图1中的(A)所示的控制系统1中,考虑从安装于PLC2的功能单元向外部输出的输出信号OUT1、和从分别安装在经由远程网络5而与PLC2连接的两个远程I/O装置3中的功能单元分别向外部输出的输出信号OUT2及OUT3。输出信号OUT1、OUT2、OUT3的各值反映向对应的功能单元提供的数据(以下也称作“输出数据”)的值。即,输出数据相当于对从各功能单元150向外部输出至控制对象机械或设备等的信号进行定义的指令值。
图1中的(B)表示由PLC2执行的用户程序的一例。图1中的(B)所示的用户程序包含下述命令,此命令是将任意功能单元所收集的来自现场(field)等的信号(以下也称作“输入数据”)IN1作为条件,来并列地激活三个输出信号OUT1、OUT2、OUT3。
图1中的(C)的时间图表示针对图1中的(B)所示的用户程序的输出时机同步功能的结果的一例。如所述时间图所示,来自安装于PLC2的功能单元的输出信号OUT1、及来自安装于远程I/O装置3中的各个功能单元的输出信号OUT2及OUT3中的任一者的值均在同一时机t1由通变为断。
这样,本实施方式的输出时机同步功能提供下述功能:无论构成控制系统1的多个功能单元安装在哪个位置,均能够在指定的时机一齐开始输出或更新所指定的输出信号。
另外,图1中,例示了在经由远程网络5而连接的远程I/O装置3中安装功能单元的结构,但也能够适用于在远程网络5中直接安装各个功能单元的结构。而且,也能够通过采用通信单元来作为功能单元,而进一步构成其他的下位网络。对于连接于这样构成的下位网络的功能单元,也可适用输出时机同步功能。
<B.装置结构>
接下来,对本实施方式的控制系统1的装置结构进行说明。图2是表示本实施方式的控制系统1的主要部分结构的示意图。
参照图2,典型的是,本实施方式的PLC2包含中央处理器(Central ProcessingUnit,CPU)单元100以及一个或多个功能单元150。本实施方式的PLC2中,远程I/O装置3包含通信耦合器单元(coupler unit)200与一个或多个功能单元150。
(b1:CPU单元100)
CPU单元100是构成包含PLC2的控制系统1的一元件,相当于对控制系统1中的处理进行控制的运算装置。CPU单元100与一个或多个功能单元150之间经由作为通信线的一例的局域网络4而连接。
CPU单元100包含局域主电路110、远程主电路120、运算处理部130及通信启动电路140。
局域主电路110相当于经由作为通信线的一例的局域网络4来与安装于CPU单元100的一个或多个功能单元150(第1功能单元)收发数据的通信电路。更具体而言,局域主电路110接收一个或多个功能单元150所收集或生成的数据(输入数据),并将由CPU单元100所获取或生成的数据(输出数据)发送至一个或多个功能单元150。
局域主电路110是与局域网络4物理连接,依照来自通信启动电路140的指令来生成电信号,以将通信帧发送至局域网络4上,并且接收在局域网络4上传输的通信帧,并经由通信启动电路140而输出至运算处理部130。局域主电路110除了经由局域网络4的数据交换以外,还具有下述功能,即,进行用于保证在局域网络4上转发的通信帧的到达时间的时间管理及收发时机管理等。
在局域网络4上,也可以规定周期来依序转发具有预定的数据结构的通信帧,CPU单元100及各功能单元150对于依序转发的通信帧,将指定的数据写入至指定的区域以及从对应的区域读出所需的数据。
局域网络4也可采用一种固定周期网络,在CPU单元100的局域主电路110的控制下,每隔规定周期反复进行通信帧的发送及传输。
作为此种固定周期网络,也可采用EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等基于公知协议的网络。
更具体而言,局域主电路110包含收发端口(port)112、收发(Tx/Rx)控制器116及时钟118。
收发端口112是与局域网络4物理连接的部位,依据来自收发控制器116的指令来生成电信号,并发送至局域网络4上,并且将在局域网络4上产生的电信号转换为数字信号并输出至收发控制器116。
收发控制器116进行与在局域网络4上转发的通信帧的生成及接收相关的处理。
时钟118产生产生一脉冲,所述脉冲成为从收发控制器116指示通信帧的发送等的时机的基准。作为时钟118,也可采用实时时钟(real time clock),但在本实施方式中,使用以规定周期来进行递增计数(count up)(增量(increment))的自由运行计数器(FreeRun Counter)。通过将自由运行计数器输出的计数器值作为从某时间点计起的经过时间来处理,从而能够计算当前时刻,由此,能够作为计时器(timer)发挥功能。
远程主电路120经由作为通信线的一例的远程网络5来与远程I/O装置3中所含的一个或多个功能单元150(第2功能单元)收发数据。更具体而言,远程主电路120接收远程I/O装置3所收集或生成的数据(输入数据),并将由CPU单元100所获取或生成的数据(输出数据)发送至远程I/O装置3。
远程主电路120是与远程网络5物理连接,依据来自通信启动电路140的指令生成电信号,并将通信帧发送至远程网络5上,并且接收在远程网络5上传输的通信帧,并经由通信启动电路140而输出至运算处理部130。远程主电路120除了经由远程网络5的数据交换以外,还具有下述功能,即,进行用于保证在远程网络5上转发的通信帧的到达时间的时间管理及收发时机管理等。
在远程网络5上,也可以规定周期依序转发具有预定的数据结构的通信帧,各远程I/O装置3对于依序转发的通信帧,将指定的数据写入至指定的区域以及从对应的区域读取所需的数据。
远程网络5也可采用一种固定周期网络,在CPU单元100的远程主电路120的控制下,每隔规定周期反复进行通信帧的发送及传输。
作为此种固定周期网络,也可采用EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等基于公知协议的网络。
更具体而言,远程主电路120包括收发端口122、收发控制器126及时钟128。
收发端口122是与远程网络5物理连接的部位,依据来自收发控制器126的指令生成电信号,并发送至远程网络5上,并且将在远程网络5上产生的电信号转换成数字信号并输出至收发控制器126。
收发控制器126进行与在远程网络5上转发的通信帧的生成及接收相关的处理。
时钟128产生一时钟,所述时钟成为从收发控制器126指示通信帧的发送等的时机的基准。作为时钟128,也可采用实时时钟,但在本实施方式中,使用以规定周期来进行递增计数(增量)的自由运行计数器。
运算处理部130包含处理器132及存储器134。为了便于说明,图1中仅描绘了一个处理器132,但也可安装多个处理器。另外,各处理器也可具有多个核心(core)。
存储器134包含:提供处理器132中的程序执行所需的工作区域的部位(典型的是易失性存储器);以及保存由处理器132所执行的程序自身的部位(典型的是非易失性存储器)。作为易失性存储器,可使用动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static Random Access Memory,SRAM)等,作为非易失性存储器,可使用快闪存储器(flash memory)或硬盘(hard disk)等。
存储器134保存系统程序136、用户程序137以及配置(configuration)138等。系统程序136包含用于在处理器132中执行用户程序137的操作系统(Operating System,OS)及库(library)等。典型的是,用户程序137包含一指令,用于执行利用从一个或多个功能单元150获取的数据(输入数据)的运算处理(例如逻辑运算或数值运算)、或向一个或多个功能单元150发送的数据(输出数据)的生成处理,且是根据控制对象机械或设备而任意制作。配置138包含CPU单元100中的程序执行所需的各种设定值或对网络结构进行定义的各种设定值。
通信启动电路140具有在运算处理部130与局域主电路110及远程主电路120之间中转请求的功能,例如响应来自处理器132的通信请求,对局域主电路110和/或远程主电路120请求包含输出数据的通信帧的发送。通信启动电路140具有时钟142,以时钟142产生的时钟作为时机的基准,对局域主电路110和/或远程主电路120中的通信帧的发送时机等进行管理。时钟142作为对控制系统1中的时刻进行管理的主时钟(后述的“主要时钟(grandmaster clock)”)发挥功能。
对于通信启动电路140的至少主要部分,通过具有硬接线(hard wired)结构,从而实现比处理器132更高速的处理。即,通信启动电路140是使用硬件逻辑(hardware logic)来实现。例如,通信启动电路140也可使用作为可编程逻辑设备(Programmable LogicDevice,PLD)的一例的现场可编程门阵列(Field-Programmable Gate Array,FPGA)、或作为集成电路(Integrated Circuit,IC)的一例的专用集成电路(Application SpecificIntegrated Circuit,ASIC)等来实现。
在图1所示的结构中,为了便于说明,是区分为局域主电路110、远程主电路120、运算处理部130与通信启动电路140这四者来描绘结构,但并不限于此,能够采用任意安装形态。例如,也可包含将运算处理部130的全部或一部分和通信启动电路140安装于同一芯片上的芯片级系统(System on Chip,SoC)。或者,也可将运算处理部130的整体安装于单个芯片上,并且将局域主电路110、远程主电路120及通信启动电路140分别安装于其他芯片上。对于此种安装形态,考虑所要求的性能或成本等来适当选择。
(b2:功能单元150)
功能单元150提供实现控制系统1对各种机械或设备的控制所需的各种功能。更具体而言,功能单元150各自包含功能模块156、I/O接口158及通信电路160。
功能模块156是执行各功能单元150的主要处理的部分,负责从控制对象机械或设备等收集现场信息、或对控制对象机械或设备等输出指令信号等。
I/O接口158是对控制对象机械或设备等之间的信号交换进行中转的电路。
通信电路160对在局域网络4上依序转发的通信帧进行处理。即,通信电路160在经由局域网络4而收到某些通信帧时,进行针对所述收到的通信帧的数据写入和/或数据读出后,在局域网络4上将所述通信帧发送至位于下处的功能单元150。通信电路160提供此种帧中继(frame relay)的功能。
更具体而言,通信电路160包含收发端口162、164、收发控制器166及时钟168。
收发端口162、164是与局域网络4物理连接的部位,依照来自收发控制器166的指令来进行在局域网络4上传输的通信帧的接收及再生等处理,从而实现通信帧的依序转发。
收发控制器166进行针对在局域网络4上转发的通信帧的数据写入和/或数据读出。
时钟168产生一时钟,所述时钟成为收发控制器166的指令输出或功能模块156中的处理执行等的时机的基准。作为时钟168,也可采用实时时钟,但在本实施方式中,使用以规定周期进行递增计数(增量)的自由运行计数器。
(b3:通信耦合器单元200)
通信耦合器单元200相当于进行CPU单元100与一个或多个功能单元150之间的数据交换的中继装置。通信耦合器单元200与一个或多个功能单元150之间经由作为通信线的一例的局域网络6而连接。而且,通信耦合器单元200与CPU单元100之间经由作为通信线的一例的远程网络5而连接。
局域网络6是与所述的CPU单元100的局域网络4实质上相同,因此,此处不再重复其详细说明。但是,无须对局域网络4与局域网络6采用同一协议,只要采用与各个装置相应的协议即可。
通信耦合器单元200包含局域主电路210及远程从电路220。
局域主电路210经由作为通信线的一例的局域网络6而与安装于通信耦合器单元200的一个或多个功能单元150交换数据。更具体而言,局域主电路210接收一个或多个功能单元150所收集或生成的数据(输入数据),并将从CPU单元100经由远程网络5而接收的数据(输出数据)发送至一个或多个功能单元150。
局域主电路210是与局域网络6物理连接,依据来自远程从电路220的指令生成电信号,并将通信帧发送至局域网络6上,并且接收在局域网络6上传输的通信帧,并输出至远程从电路220。局域主电路210除了经由局域网络6的数据交换以外,还具有下述功能,即,进行用于保证在局域网络6上转发的通信帧的到达时间的时间管理及收发时机管理等。
更具体而言,局域主电路210包含收发端口212、收发控制器216及时钟218。
收发端口212是与局域网络6物理连接的部位,依据来自收发控制器216的指令生成电信号,并发送至局域网络6上,并且将在局域网络6上产生的电信号转换成数字信号并输出至收发控制器216。
收发控制器216进行与在局域网络6上转发的通信帧的生成及接收相关的处理。
时钟218产生一时钟,所述时钟成为从收发控制器216指示通信帧的发送等的时机的基准。作为时钟218,也可采用实时时钟,但在本实施方式中,使用以规定周期进行递增计数(增量)的自由运行计数器。
远程从电路220经由作为通信线的一例的远程网络5而与CPU单元100或其他通信耦合器单元200之间交换数据。更具体而言,远程从电路220将局域主电路210所接收的来自功能单元150的通信帧中所含的输入数据发送至CPU单元100,并将从CPU单元100接收的通信帧中所含的输出数据经由局域主电路210而发送至各个功能单元150。
远程从电路220依据经由远程网络5上而接收的通信帧的内容,对局域主电路210给予必要的启动指令。远程从电路220除了与在局域网络6上传输的通信帧的收发相关的处理以外,还执行对在局域网络6上传输的通信帧的发送时机进行管理的处理。
更具体而言,远程从电路220包含收发端口222、224、收发控制器226及时钟228。
收发端口222、224是与远程网络5物理连接的部位,依据来自收发控制器226的指令,进行在远程网络5上传输的通信帧的接收及再生等处理,从而实现通信帧的依序转发。
收发控制器226进行针对在远程网络5上转发的通信帧的数据写入和/或数据读出。
时钟228产生一时钟,所述时钟成为针对在远程网络5上转发的通信帧的处理、或在局域网络6上转发的通信帧的发送等时机的基准。作为时钟228,也可采用实时时钟,但在本实施方式中,使用以规定周期进行递增计数(增量)的自由运行计数器。
另外,对于安装于通信耦合器单元200的功能单元150,与安装于所述CPU单元100的功能单元150实质上相同,因此,此处不再重复其详细说明。
<C.对功能单元的输出数据的发送>
接下来说明在本实施方式的控制系统1中对各个功能单元150发送输出数据所需的处理。图3是用于说明在本实施方式的控制系统1中开始输出或更新输出信号所需的处理的图。
参照图3,对从安装于CPU单元100的功能单元150及安装于通信耦合器单元200的功能单元150的各个开始输出或更新输出信号时的处理进行说明。
首先,在CPU单元100(运算处理部130)中,生成面向各个功能单元150的输出数据,并执行用于将所述生成的数据保存至通信帧中予以发送的压缩(pack)处理((1)压缩处理)。
关于对来自安装于CPU单元100的功能单元150的输出信号进行定义的输出数据,将保存有对象输出数据的通信帧经由局域网络4而传输至对象功能单元150((2)通信帧传输)。然后,在对象功能单元150中,执行从所接收的通信帧中读出所需的输出数据等的处理,并且将所读出的输出数据作为现实的信号而输出至外部((3)输出处理)。
另一方面,关于对来自安装于通信耦合器单元200的功能单元150的输出信号进行定义的输出数据,将保存有对象输出数据的通信帧经由远程网络5而传输至安装有对象功能单元150的通信耦合器单元200((4)通信帧传输)。收到通信帧的通信耦合器单元200执行从所接收的通信帧中读出所需的输出数据等的处理后,将所读出的输出数据保存至新的通信帧中予以发送((5)输出数据处理)。所述新的通信帧经由局域网络6而传输至对象功能单元150((6)通信帧传输)。然后,在对象功能单元150中,执行从所收到的通信帧中读出所需的输出数据等的处理,并且将所读出的输出数据作为现实的信号而输出至外部((7)输出处理)。
这样,对于安装于CPU单元100的功能单元150,只要以局域网络4来直接发送由CPU单元100所生成的通信帧即可,但对于安装于通信耦合器单元200的功能单元150,必须将由CPU单元100所生成的通信帧以远程网络5暂时发送至对应的通信耦合器单元200后,由所述通信耦合器单元200新生成通信帧,然后以局域网络6发送至对象功能单元150。即,对于安装于通信耦合器单元200的功能单元150,必须经由两阶段的网络,与对安装于CPU单元100的功能单元150发送输出数据的情况相比,需要更多的时间,并且中途的处理也变得繁琐。
<D.通信帧的示例>
接下来,对在本实施方式的控制系统1中所用的通信帧的一例进行说明。本实施方式中,作为实现例,使用用于进行I/O刷新的通信帧。所谓I/O刷新,其概念包含:将CPU单元100所保持的输入数据的值更新为对应的功能单元150所收集的最新的值的处理(输入刷新);以及将由CPU单元100所算出的输出数据的值反映为对应的功能单元150的输出值的处理(输出刷新)。
作为此种通信帧,采用I/O刷新帧。I/O刷新帧构成为,可保存输入刷新所需的输入数据及输出刷新所需的输出数据这两者。另外,也可以分别独立地执行输入刷新及输出刷新的方式而实现。此时,采用以下述方式构成的通信帧,即,仅分别保存输入数据及输出数据中的其中一个。
图4是表示本实施方式的控制系统1中所用的I/O刷新帧的数据结构的一例的示意图。参照图4,I/O刷新帧包含用于保存帧种类或发送目的地等的报头(header)部、及保存数据的本体部。
作为保存于报头部中的帧种类,也可使用用于确定通信帧的种类的识别信息,例如使用表示是单播(unicast)、多播(multicast)、广播(broadcast)中的哪一种的识别信息。作为发送目的地,使用发送目标的功能单元150或通信耦合器单元200的识别信息等。
在本体部中,规定有输入数据的区域及输出数据的区域,各个区域分别关联于位于I/O刷新帧的转发路径上的功能单元150或通信耦合器单元200的全部或一部分。
功能单元150或通信耦合器单元200各自在收到I/O刷新帧时,读出保存在分配给自身单元的区域中的输出数据,并且将自身单元所收集或生成的输入数据写入至分配给自身单元的区域。通过在各单元中执行此种输出数据的读出及输入数据的写入,从而能够实现I/O刷新。
图4中表示了将来自一个或多个功能单元150或通信耦合器单元200的输入数据、及对一个或多个功能单元150或通信耦合器单元200的输出数据保存在单个通信帧中的数据结构的示例,但也可采用仅保存其中任一个数据的通信帧。此时,例如也可分别准备输入数据用的通信帧与输出数据用的通信帧。而且,成为I/O刷新对象的输入数据及输出数据是预先配置的,也有时并不将功能单元150所收集的所有数据发送至CPU单元100。
<E.控制系统中的各单元的处理时机>
接下来说明与本实施方式的控制系统1所提供的输出时机同步功能相关的处理时机。图5是表示与本实施方式的控制系统1所提供的输出时机同步功能相关的各部的处理的时间图。图5中,主要表示与输出刷新相关的处理。
参照图5,CPU单元100(运算处理部130的处理器132)依序执行用于发送通过I/O刷新处理的执行而生成的输出数据的前处理(步骤S1:调度器(scheduler)压缩处理)、用于将输出数据保存到通过远程网络5而发送的通信帧中的前处理(步骤S2:输出数据压缩处理1)、及用于将输出数据保存到通过局域网络4而发送的通信帧中的前处理(步骤S3:输出数据压缩处理2)。这三个压缩处理相当于图3所示的(1)压缩处理。
在输出数据压缩处理2(步骤S3)的执行完成时机,对局域主电路110(图2)给予启动指令,将作为I/O刷新帧的通信帧304送出至局域网络4。
连接于局域网络4的功能单元150各自在局域网络4上依序转发的通信帧304的到达前,预先执行包含应发送给CPU单元100的输入数据的收集等的输入处理(步骤S4)。继而,功能单元150在收到通信帧304时,将预先准备的输入数据写入至所述收到的通信帧304中,并且从所述收到的通信帧304中读出发送给自身单元的输出数据。然后,功能单元150各自执行输出处理,所述输出处理包含将与所读出的输出数据对应的信号输出至外部的处理(步骤S5)。
而且,在输出数据压缩处理1(步骤S2)的执行完成时机,对远程主电路120(图2)给予启动指令,将作为I/O刷新帧的通信帧305送出至远程网络5。将发送通信帧305的时机称作“启动基准时刻Tt”。通信帧305是在远程网络5上依序转发。
通信耦合器单元200在远程网络5上依序转发的通信帧305的到达前,预先执行包含应发送给CPU单元100的输入数据的收集等的输入数据处理(步骤S6)。继而,通信耦合器单元200在收到通信帧305时,将预先准备的输入数据写入至所述收到的通信帧305中,并且从所述收到的通信帧305中读出发送给自身单元的输出数据。
继而,对局域主电路210(图2)给予启动指令,将包含输出数据的通信帧306送出至局域网络6。连接于局域网络6的功能单元150各自收到在局域网络6上依序转发的通信帧306时,从所述收到的通信帧306中读出发送给自身单元的输出数据。然后,功能单元150各自执行输出处理,所述输出处理包含将与所读出的输出数据对应的信号输出至外部的处理(步骤S8)。
在图5所示的时间图中,变得可从安装于CPU单元100的功能单元150将输出数据输出的时机为时刻Tout1。时刻Tout1可根据各功能单元150所连接的位置及各功能单元150的性能而变化。因此,本实施方式中,对于安装于CPU单元100的各功能单元150,分别算出从在CPU单元100中进行送出通信帧的指定开始,直至成为可输出所述通信帧中所含的输出数据的状态为止所需的延迟时间,决定所算出的延迟时间中的最大者(最大延迟时间Dmax1)。
同样,变得可从安装于通信耦合器单元200的功能单元150将输出数据输出的时机为时刻Tout2。时刻Tout2可根据各功能单元150所连接的网络拓扑(Network Topology)上的位置及各功能单元150的性能而变化。因此,本实施方式中,对于安装于通信耦合器单元200的各功能单元150,分别算出从在CPU单元100中进行送出通信帧的指定开始,直至成为可输出所述通信帧中所含的输出数据的状态为止所需的延迟时间,决定所算出的延迟时间中的最大者(最大延迟时间Dmax2)。
在此基础上,将与最大延迟时间Dmax1及最大延迟时间Dmax2中的更长者对应的时刻,决定为关于控制系统1整体的输出同步时机Tout。典型的是,将启动基准时刻Tt加上最大延迟时间Dmax1或最大延迟时间Dmax2所得的时刻成为输出同步时机Tout。
作为一例,图5中表示最大延迟时间Dmax1<最大延迟时间Dmax2的示例,本例中,也可将时刻Tout2设定为输出同步时机Tout。
这样,本实施方式中,在从CPU单元100请求输出数据的发送后,算出直至在各功能单元150中可输出与所述输出数据对应的信号为止所需的最大延迟时间,并考虑作为系统整体的最大延迟时间,从而决定输出同步时机。并且,相对于各单元所保持的经彼此同步的时钟,设定与输出同步时机相应的时机,由此,从各功能单元150将与输出数据对应的信号一齐输出至外部。
以下,对最大延迟时间及输出同步时机的计算方法进行说明,并且对时钟的同步及输出同步时机的设定方法等进行说明。
<F.最大延迟时间及输出同步时机的计算方法>
接下来,对最大延迟时间及输出同步时机的计算方法进行说明。
例如,关于安装于通信耦合器单元200的各功能单元150的最大延迟时间Dmax2是取决于各功能单元150所连接的网络拓扑上的位置、及各功能单元150自身的性能而定。典型的是,在最大延迟时间的计算时,考虑以下的(1)~(5)的时间要素中的至少一部分。
(1)从对CPU单元100的远程主电路120给予输出数据的发送指令(启动指令)开始,直至包含所述输出数据的通信帧被送出到远程网络5上为止所需的时间(远程主电路启动延迟时间)。
(2)被送出到远程网络5上的包含输出数据的通信帧从远程主电路120被转发至对象通信耦合器单元200为止所需的时间(远程网络传输延迟时间)。
(3)直至由通信耦合器单元200对所收到的包含输出数据的通信帧进行接收及处理,并作为包含输出数据的其他通信帧被送出到局域网络6上为止的时间(通信耦合器处理时间)。
(4)被送出到局域网络6上的包含输出数据的通信帧从通信耦合器单元200被转发至对象功能单元150为止所需的时间(局域网络传输延迟时间)。
(5)从各功能单元150收到包含输出数据的通信帧开始,直至可从功能单元150输出与所述接收数据对应的信号为止所需的时间(功能单元处理时间)。
对于控制系统1中所含的各个功能单元150,分别算出所述(1)~(5)的时间要素的合计(每个功能单元150的延迟时间)。并且,将这些延迟时间中的最大者决定为最大延迟时间Dmax2。
这样,算出从CPU单元100(远程主电路120)来看,各功能单元150可输出与输出数据对应的信号所需的最大时间(最大延迟时间Dmax2)。最大延迟时间Dmax2也可作为从对远程主电路120给予启动指令的时刻(图5的启动基准时刻Tt)开始计起的经过时间(偏移(offset)时间)而算出。
另外,在所述(1)~(5)的时间要素之间,对于级数(order)差异大的要素,则未必需要进行考虑。例如,在远程主电路启动延迟时间小到从通信帧的传输延迟时间来看可忽略的程度的情况等下,也可将远程主电路启动延迟时间设定为预定的固定值或者不予考虑。
图6是用于说明与本实施方式的控制系统1所提供的输出时机同步功能相关的最大延迟时间Dmax2的计算流程的图。图6中,为了便于说明,是以表格式来表示计算结果的一例,但并不需要将此种表格式视觉化,也可作为内部处理来实现。
参照图6,以列表(list)格式来设定连接于远程网络5的各个通信耦合器单元200(栏401)。以列表格式来设定被安装于各个通信耦合器单元200中的各个功能单元150(栏402)。而且,也对各功能单元150的种类进行设定(栏403)。这些信息一般是作为配置138(图2)的一部分而预先设定。或者,也可参照被保存在用于进行由CPU单元100所执行的程序的开发或维护的支持(support)装置中的配置来获取。
关联于各个功能单元150来设定远程主电路启动延迟时间404、远程网络传输延迟时间405、通信耦合器处理时间406、局域网络传输延迟时间407、及功能单元处理时间408的各时间。
远程主电路启动延迟时间404一般是CPU单元100的远程主电路120固有的性能。因此,能够预先准备针对每个CPU单元100的识别信息(格式编号等)而定义的远程主电路启动延迟时间404的数据库,通过参照此数据库等来获取。
远程网络传输延迟时间405一般取决于从CPU单元100(远程主电路120)计起的位于远程网络5的路径上的节点(node)数/中继段(hop)数、以及从CPU单元100(远程主电路120)计起的远程网络5的路径长度(即电缆长度)等。例如,在配置于距CPU单元100远的位置处的通信耦合器单元200中,会产生比配置于靠近CPU单元100的位置处的通信耦合器单元200大的远程网络传输延迟时间405。因此,考虑远程网络5中的通信耦合器单元200的连接状态(网络拓扑)等,来算出远程网络传输延迟时间405的值。当计算远程网络传输延迟时间405的值时,也可采用包含与网络拓扑相关的参数的函数式。或者,也可使用远程网络5中的通信帧的传输所需的实测时间。
通信耦合器处理时间406一般是通信耦合器单元200的局域主电路210及远程从电路220固有的性能。因此,能够预先准备针对每个通信耦合器单元200的识别信息(格式编号等)而定义的通信耦合器处理时间406的数据库,通过参照此数据库等来获取。
局域网络传输延迟时间407一般取决于从通信耦合器单元200(远程从电路220)计起的位于局域网络6的路径上的节点数/中继段数等。例如,在配置于距通信耦合器单元200远的位置处的功能单元150中,会产生比配置于靠近通信耦合器单元200的位置处的功能单元150大的局域网络传输延迟时间407。因此,考虑局域网络6中的功能单元150的连接状态(网络拓扑)等,来算出局域网络传输延迟时间407的值。当计算局域网络传输延迟时间407的值时,也可采用包含与网络拓扑相关的参数的函数式。或者,也可使用局域网络6中的通信帧的传输所需的实测时间。
功能单元处理时间408取决于各功能单元150所提供的功能等。一般而言,模拟输出(AO)单元跟数字输出(DO)单元相比,从被给予输出数据开始,直至成为可实际输出与此输出数据对应的信号的状态为止,需要更多的时间。一般而言,功能单元处理时间408是各功能单元150固有的性能。因此,能够预先准备针对每个功能单元150的种类信息(格式编号等)而定义的功能单元处理时间408的数据库,通过参照此数据库等来获取。
通过考虑如上所述的各个时间要素,能够算出表示关于控制系统1中所含的各功能单元15的延迟时间的合计(栏409)。将这些延迟时间中的其值为最大者(图6中的合计410)决定为最大延迟时间Dmax2。
而且,关于安装于CPU单元100的各功能单元150的最大延迟时间Dmax1,典型的是考虑以下(6)~(8)的时间要素中的至少一部分。
(6)从对CPU单元100的局域主电路110给予输出数据的发送指令(启动指令)开始,直至包含所述输出数据的通信帧被送出到局域网络4上为止所需的时间(局域主电路启动延迟时间)。
(7)被送出到局域网络4上的包含输出数据的通信帧从CPU单元100被转发至对象功能单元150为止所需的时间(局域网络传输延迟时间)。
(8)从自各功能单元150收到包含输出数据的通信帧开始,直至可从功能单元150输出与所述接收数据对应的信号为止所需的时间(功能单元处理时间)。
对于控制系统1中所含的各个功能单元150,分别算出所述(6)~(8)的时间要素的合计(每个功能单元150的延迟时间)。并且,将这些延迟时间中的最大者决定为最大延迟时间Dmax1。
(6)~(8)的时间要素是与所述(1)、(4)、(5)分别同样的内容,因此不再重复详细说明。
这样,算出从CPU单元100(局域主电路110)来看,可输出与各功能单元150中的输出数据对应的信号所需的最大时间(最大延迟时间Dmax1)。最大延迟时间Dmax1也可作为从对远程主电路120给予启动指令的时刻(图5的启动基准时刻Tt)开始计起的经过时间(偏移时间)而算出。
对于所述时间要素中的(2)、(4)、(7)的传输延迟时间,也可一律采用直至配置在距CPU单元100或通信耦合器单元200最远的位置处的单元(从机单元)为止的时间(最差值)。通过采用此种最差值,能够具备一定程度的余裕(margin)地算出最大延迟时间。在连接于网络的多个单元之间依序转发通信帧的情况下,也可基于写入至所述通信帧中的、各单元所保持的时钟的计数值等,来决定最后参与通信帧的转发的单元。此种情况下,不需要事先制作数据库等,而是基于现实的实测值来决定传输延迟时间。
而且,在各功能单元150保持有与自身单元的性能等相关的信息的情况下,也可由CPU单元100读出这些信息后,算出关于各功能单元150的最大延迟时间。各功能单元150所保持的信息既可包含工场出货时实测的值,也可包含伴随动作的日志(log)等。通过反映这些信息,能够以更高的精度来算出最大延迟时间。
<G.时钟的同步及输出同步时机的设定方法>
接下来,对时钟的同步及输出同步时机的设定方法进行说明。
图7是着眼于分散配置在本实施方式的控制系统1中的时钟的示意图。参照图7,在本实施方式的控制系统1中,利用主要时钟(Ground Master Clock)、边界时钟(BoundaryClock)、普通时钟(Ordinary Clock)这三个层级,来维持配置于各单元中的时钟彼此的同步。
例如,在依据EtherCAT(注册商标)的网络中,能够使用分布时钟(distributedclock)功能,在从机(功能单元150)间使时刻高精度地同步。而且,通过采用任意精密时间协议(Precision Time Protocol,PTP),能够在多个装置或单元之间高精度地使时刻同步。对于采用此种层级结构来彼此取得同步的方法,由于是公知的,因而此处不再重复详细说明。
CPU单元100包含通信启动电路140的时钟142、局域主电路110的时钟118、及远程主电路120的时钟128。本实施方式中,通信启动电路140的时钟142作为成为控制系统1的时刻基准的主要时钟发挥功能,局域主电路110的时钟118作为与所述主要时钟同步的边界时钟发挥功能。
能够使连接于局域主电路110的功能单元150中所含的各个时钟168作为普通时钟发挥功能。即,安装于CPU单元100的各个功能单元150是以局域主电路110的时钟118作为基准来进行时刻同步。并且,局域主电路110的时钟118与作为主要时钟的通信启动电路140的时钟142进行时刻同步。因此,安装于CPU单元100的功能单元150(第1功能单元)具有与作为主要时钟的时钟142同步的时钟168(第1时钟)。
另一方面,远程主电路120的时钟128是构成为与通信启动电路140的时钟142实质上相同者,作为假想的主要时钟发挥功能。通过采用此种结构,在连接于CPU单元100的各个通信耦合器单元200中,远程从电路220的时钟228作为边界时钟发挥功能。在各通信耦合器单元200中,对于局域主电路210的时钟218,也与远程从电路220的时钟228进行时刻同步而作为边界时钟发挥功能。并且,能够使连接于局域主电路210的功能单元150中所含的各个时钟168作为普通时钟发挥功能。
这样,安装于通信耦合器单元200的功能单元150(第2功能单元)具有与作为主要时钟的时钟142同步的时钟168(第2时钟)。
通过如上所述的层级结构,能够在CPU单元100、通信耦合器单元200、功能单元150各自保持的时钟之间取得同步。即,在任一单元中,均能够依据共同的时钟来执行各种控制及行为(action)。在此种环境下,对各单元指定每隔规定周期而设定的启动基准时刻Tt、及以启动基准时刻Tt为基准而设定的输出同步时机Tout,各单元以指定的时机来执行指定的处理。
如上所述,根据最大延迟时间Dmax1及最大延迟时间Dmax2中的更长者,决定关于控制系统1整体的输出同步时机Tout。但是,考虑到维持任务(task)周期的观点,也可根据最大延迟时间Dmax1及最大延迟时间Dmax2中的更短者,来决定关于控制系统1整体的输出同步时机Tout。并且,对CPU单元100及各功能单元150通知必要的时机,以在所述决定的输出同步时机Tout,从各功能单元150将与输出数据对应的信号输出至外部。
再次参照图5,对通知给CPU单元100及各功能单元150的时机进行说明。另外,指定的时机也可以计数值或时钟值的形式来通知。
例如,针对CPU单元100,设定触发(trigger)压缩处理(调度器压缩处理、输出数据压缩处理1、输出数据压缩处理2)的执行开始的开始时机TR1。
而且,针对安装于CPU单元100的功能单元150,设定触发输出处理的执行开始的开始时机TR3。这样,指示开始时机TR3(第1时机),所述开始时机TR3(第1时机)是应在安装于CPU单元100的功能单元150(第1功能单元)中开始用于输出与所收到的输出数据对应的信号的处理(输出处理)。另外,针对安装于CPU单元100的功能单元150,也可进一步设定触发输入处理的执行开始的开始时机TR2。
另一方面,针对安装于通信耦合器单元200的功能单元150,设定触发输出处理的执行开始的开始时机TR4。这样,指示开始时机TR4(第2时机),所述开始时机TR4(第2时机)是应在安装于通信耦合器单元200的功能单元150(第2功能单元)中开始用于输出与所收到的输出数据对应的信号的处理(输出处理)。另外,针对安装于通信耦合器单元200的功能单元150,也可进一步设定触发未图示的输入处理的执行开始的开始时机。
通过对CPU单元100及功能单元150设定必要的开始时机,从而实现本实施方式的输出时机同步功能。即,能够在控制系统1中所含的功能单元150之间,使将与输出数据对应的信号输出至外部或更新的时机彼此同步。
对于如上所述的输出同步时机的计算及设定,也可通过任意的一个或多个运算主体来实现。典型的是,既可将用于进行输出同步时机的计算及设定的逻辑安装于CPU单元100内,或者也可将用于进行输出同步时机的计算及设定的功能安装于支持装置中。
无论是哪种安装方式,CPU单元100均对各个功能单元150指示开始时机TR3(第1时机)或开始时机TR4(第2时机)。另外,根据图5所示的时间图等可明确的是,这些开始时机TR3及TR4是以CPU单元100的主要时钟即时钟142所管理的时刻(例如启动基准时刻Tt)为基准来设定。这是因为,控制系统1中所含的各个功能单元150直接或间接地与作为主要时钟的时钟142进行时刻同步。
图8是表示用于在本实施方式的控制系统1中设定输出同步时机的结构例的示意图。图8中的(A)表示用于进行输出同步时机的计算及设定的逻辑被安装于CPU单元100内的结构例,图8中的(B)表示支持装置具有用于进行输出同步时机的计算及设定的功能的结构例。
在图8中的(A)所示的CPU单元100的运算处理部130中,安装有算出最大延迟时间的功能M1、决定输出同步时机的功能M2、及指示与所决定的输出同步时机相应的时机的功能M3。这些功能也可通过系统程序136(图2)中所含的命令代码(code)来实现。即,也可通过运算处理部130的处理器132执行系统程序136来实现这些功能M1~M3。
如上所述,对于决定本实施方式的输出时机同步功能所需的时机等参数的功能,未必需要安装于控制系统1中,也可从支持装置300等外部装置进行设定。
更具体而言,算出最大延迟时间的功能M1包含算出下述延迟时间的功能,即:从在CPU单元100中对局域主电路110请求输出数据的发送开始,直至可在作为发送目标的功能单元150中输出与所述输出数据对应的信号为止所需的延迟时间(所述延迟时间中的最大者为最大延迟时间Dmax1);以及从在CPU单元100中对远程主电路120请求输出数据的发送开始,直至可在作为发送目标的功能单元150中输出与所述输出数据对应的信号为止所需的延迟时间(所述延迟时间中的最大者为最大延迟时间Dmax2)。
更具体而言,决定输出同步时机的功能M2包含下述功能:基于最大延迟时间Dmax1及最大延迟时间Dmax2,决定控制系统1中所含的功能单元150输出信号的输出同步时机Tout。并且,决定输出同步时机的功能M2基于所决定的输出同步时机Tout,来决定应在安装于CPU单元100的功能单元150(第1功能单元)中开始输出处理的开始时机TR3(第1时机)、及应在安装于通信耦合器单元200的功能单元150(第2功能单元)中开始输出处理的开始时机TR4(第2时机)(均参照图5)。
图8中的(B)中,在连接于CPU单元100的支持装置300上,安装有算出最大延迟时间的功能M1、及决定输出同步时机的功能M2。这些功能M1及M2也可通过由支持装置300所执行的支持程序来提供。另一方面,对于指示与所决定的输出同步时机相应的时机的功能M3,优选安装于CPU单元100中。
如图8中的(B)所示,在由支持装置300算出时机的情况下,功能M3从连接于CPU单元100的支持装置300(外部装置),获取应在安装于CPU单元100的功能单元150(第1功能单元)中开始输出处理的开始时机TR3(第1时机)、及应在安装于通信耦合器单元200的功能单元150(第2功能单元)中开始输出处理的开始时机TR4(第2时机)。
但是,对于指示与所决定的输出同步时机相应的时机的功能M3,也可安装于支持装置300上。此时,支持装置300将对各功能单元150直接设定时机。此种情况下,也对CPU单元100或通信耦合器单元200所设定的处理进行辅助。
<H.处理流程>
接下来说明本实施方式的输出时机同步功能的处理流程。图9是表示与本实施方式的控制系统1中的输出时机同步功能相关的处理流程的流程图。图9中,作为典型例,对通过CPU单元100的处理器132执行系统程序136来实施各步骤的示例进行说明。但是,也可由其他单元或支持装置等来执行以下所示的各步骤的全部或一部分。
参照图9,处理器132通过参照保存在存储器134中的配置138等,分别算出安装于CPU单元100的每个功能单元150的延迟时间(步骤S100),将所算出的延迟时间中的最大者决定为最大延迟时间Dmax1(步骤S102)。同样地,处理器132通过参照保存在存储器134中的配置138等,分别算出安装于通信耦合器单元200的每个功能单元150的延迟时间(步骤S104),将所算出的延迟时间中的最大者决定为最大延迟时间Dmax2(步骤S106)。
处理器132基于在步骤S102中决定的最大延迟时间Dmax1、及在步骤S106中决定的最大延迟时间Dmax2,来决定控制系统1整体的输出同步时机Tout(步骤S108)。
处理器132根据在步骤S108中决定的输出同步时机Tout,来决定对各功能单元150设定的时机(步骤S110),并将所决定的时机通知给各功能单元150(步骤S112)。各功能单元150依据来自CPU单元100的通知,来设定必要的时机。
通过以上的处理,输出时机同步功能所需的设定完成。构成控制系统1的各单元依据所设定的时机来反复执行处理。
<I.变形例>
所述实施方式中,作为输出时机同步功能的适用例,对包含经由局域网络4而连接的功能单元150、和经由远程网络5及局域网络6而连接的功能单元150的控制系统1进行了说明,但也可适用于包含进而经由其他网络而连接的功能单元150的结构。即,本实施方式的输出时机同步功能也可适用于包含三个以上的不同网络的结构。
<J.优点>
在本实施方式的控制系统1中,即使存在经由互不相同的通信线(网络或总线)来分别与CPU单元100通信的功能单元150的情况下,只要能经由各个通信线(网络或总线)来进行时刻同步,便能够利用所述经同步的时刻来在多个功能单元150之间使输出信号的时机或更新信号的时机彼此同步。这样,根据本实施方式,能够在可同步的互不相同的网络间或总线间,实现关于多个功能单元150的输出同步。
应认为,此次揭示的实施方式在所有方面仅为例示而非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。
符号的说明
1:控制系统
2:PLC
3:远程I/O装置
4、6:局域网络
5:远程网络
100:CPU单元
150:功能单元
110、210:局域主电路
112、122、162、164、212、222、224:收发端口
116、126、166、216、226:收发控制器
118、128、142、168、218、228:时钟
120:远程主电路
130:运算处理部
132:处理器
134:存储器
136:系统程序
137:用户程序
138:配置
140:通信启动电路
156:功能模块
158:I/O接口
160:通信电路
200:通信耦合器单元
220:远程从电路
300:支持装置
304、305、306:通信帧
Dmax1、Dmax2:最大延迟时间
M1、M2、M3:功能
OUT1、OUT2、OUT3:输出信号
Claims (8)
1.一种运算装置,其构成控制系统,所述运算装置包括:
主时钟,对所述控制系统中的时刻进行管理;
第1通信电路,经由第1通信线而与第1功能单元之间收发数据,所述第1功能单元具有与所述主时钟同步的第1时钟;
第2通信电路,经由第2通信线而与第2功能单元之间收发数据,所述第2功能单元具有与所述主时钟同步的第2时钟;以及
时机指示部件,将第1时机指示给所述第1功能单元,并且将第2时机指示给所述第2功能单元,所述第1时机应在所述第1功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第2时机应在所述第2功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第1及第2时机是以所述主时钟所管理的时刻作为基准而定义。
2.根据权利要求1所述的运算装置,还包括:
计算部件,算出第1延迟时间与第2延迟时间,所述第1延迟时间是从对所述第1通信电路请求输出数据的发送直至能够在所述第1功能单元中输出与所述输出数据对应的信号为止所需的时间,所述第2延迟时间是从对所述第2通信电路请求输出数据的发送直至能够在所述第2功能单元中输出与所述输出数据对应的信号为止所需的时间。
3.根据权利要求2所述的运算装置,还包括:
同步时机决定部件,基于所述第1延迟时间的最大值及所述第2延迟时间的最大值,来决定所述控制系统中所含的功能单元输出信号的同步时机,
所述同步时机决定部件基于所决定的同步时机来决定所述第1及第2时机。
4.根据权利要求1至3中任一项所述的运算装置,其中
所述计算部件考虑到下述时间中的至少一部分来算出所述第1延迟时间及所述第2延迟时间,这些时间是:
从对所述第1通信电路请求输出数据的发送直至数据被送出到所述第1通信线上为止所需的时间;
从对所述第2通信电路请求输出数据的发送直至数据被送出到所述第2通信线上为止所需的时间;
被送出到所述第1通信线上的数据被转发到所述第1功能单元为止所需的时间;
被送出到所述第2通信线上的数据被转发到所述第2功能单元为止所需的时间;
从所述第1功能单元收到输出数据直至能够输出与所述接收数据对应的信号为止所需的时间;以及
从所述第2功能单元收到输出数据直至能够输出与所述接收数据对应的信号为止所需的时间。
5.根据权利要求1所述的运算装置,其中
所述时机指示部件从连接于所述运算装置的外部装置获取所述第1时机及所述第2时机。
6.根据权利要求1至5中任一项所述的运算装置,还包括:
处理器,执行程序;以及
通信启动电路,连接于所述处理器,对所述第1通信电路及所述第2通信电路请求输出数据的发送。
7.根据权利要求6所述的运算装置,其中
所述通信启动电路是使用FPGA或ASIC来实现。
8.一种控制系统,其包括:
运算装置,具有对所述控制系统中的时刻进行管理的主时钟;
第1功能单元,经由第1通信线而与所述运算装置连接,所述第1功能单元具有与所述主时钟同步的第1时钟;
中继装置,经由第2通信线而与所述运算装置连接;以及
第2功能单元,经由第3通信线而与所述中继装置连接,所述第2功能单元具有与所述主时钟同步的第2时钟,
所述运算装置包括时机指示部件,所述时机指示部件将第1时机指示给所述第1功能单元,并且将第2时机指示给所述第2功能单元,所述第1时机应在所述第1功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第2时机应在所述第2功能单元中开始用于输出与所收到的输出数据对应的信号的处理,所述第1及第2时机是以所述主时钟所管理的时刻作为基准而定义。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016202216A JP6772748B2 (ja) | 2016-10-14 | 2016-10-14 | 演算装置および制御システム |
JP2016-202216 | 2016-10-14 | ||
PCT/JP2017/033635 WO2018070190A1 (ja) | 2016-10-14 | 2017-09-19 | 演算装置および制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109716247A true CN109716247A (zh) | 2019-05-03 |
CN109716247B CN109716247B (zh) | 2021-09-17 |
Family
ID=61905310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780056494.7A Active CN109716247B (zh) | 2016-10-14 | 2017-09-19 | 运算装置以及控制系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190229885A1 (zh) |
EP (1) | EP3528067A4 (zh) |
JP (1) | JP6772748B2 (zh) |
CN (1) | CN109716247B (zh) |
WO (1) | WO2018070190A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114080574A (zh) * | 2019-07-04 | 2022-02-22 | 欧姆龙株式会社 | 控制系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6399136B1 (ja) * | 2017-03-31 | 2018-10-03 | オムロン株式会社 | 制御装置、制御プログラム、および制御システム |
CN114156991A (zh) * | 2021-12-10 | 2022-03-08 | 苏州博创集成电路设计有限公司 | 调度计时器的方法和装置、充电电路、充电设备、芯片 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213474A (ja) * | 2006-02-13 | 2007-08-23 | Yaskawa Electric Corp | モーション制御システム |
JP2012068856A (ja) * | 2010-09-22 | 2012-04-05 | Fuji Electric Co Ltd | プログラマブルコントローラシステム |
CN105022333A (zh) * | 2014-04-15 | 2015-11-04 | Ls产电株式会社 | 具有多个cpu模块的plc系统及其控制方法 |
CN105049146A (zh) * | 2015-06-25 | 2015-11-11 | 南京南瑞集团公司 | 大型plc系统的精确时钟同步与对时方法 |
CN105116830A (zh) * | 2015-07-27 | 2015-12-02 | 深圳市合信自动化技术有限公司 | 一种plc控制系统以及plc扩展总线实现方法 |
WO2016157477A1 (ja) * | 2015-04-01 | 2016-10-06 | 三菱電機株式会社 | 管理システム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887029A (en) * | 1994-05-31 | 1999-03-23 | Allen-Bradley Company, Llc | Method of scheduling spatially separated control events with an industrial controller |
DE10113261C2 (de) * | 2001-03-16 | 2003-07-10 | Siemens Ag | Synchrones, getaktetes Kommunikationssystem mit dezentralen Ein-/Ausgabe-Baugruppen und Verfahren zur Einbindung dezentraler Ein-/Ausgabe-Baugruppen in ein solches System |
KR101197280B1 (ko) * | 2005-07-15 | 2012-11-05 | 삼성전자주식회사 | 타임 스탬프를 이용한 타임 동기 방법 및 장치 |
JP6094196B2 (ja) | 2012-12-14 | 2017-03-15 | オムロン株式会社 | 情報処理装置、情報処理プログラムおよび情報処理方法 |
DE102013218305A1 (de) * | 2013-08-30 | 2015-03-05 | Dr. Johannes Heidenhain Gmbh | Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit |
KR102148943B1 (ko) * | 2014-02-27 | 2020-08-27 | 후지 덴키 가부시키가이샤 | 프로그래머블 컨트롤러 시스템, 그 컨트롤러 |
JP6535459B2 (ja) * | 2014-12-08 | 2019-06-26 | 株式会社キーエンス | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム |
JP6477161B2 (ja) * | 2015-03-31 | 2019-03-06 | オムロン株式会社 | 情報処理装置、情報処理プログラムおよび情報処理方法 |
US20170149555A1 (en) * | 2015-11-20 | 2017-05-25 | Qualcomm Incorporated | Self-test for source-synchronous interface |
-
2016
- 2016-10-14 JP JP2016202216A patent/JP6772748B2/ja active Active
-
2017
- 2017-09-19 WO PCT/JP2017/033635 patent/WO2018070190A1/ja unknown
- 2017-09-19 CN CN201780056494.7A patent/CN109716247B/zh active Active
- 2017-09-19 US US16/333,234 patent/US20190229885A1/en not_active Abandoned
- 2017-09-19 EP EP17860480.7A patent/EP3528067A4/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213474A (ja) * | 2006-02-13 | 2007-08-23 | Yaskawa Electric Corp | モーション制御システム |
JP2012068856A (ja) * | 2010-09-22 | 2012-04-05 | Fuji Electric Co Ltd | プログラマブルコントローラシステム |
CN105022333A (zh) * | 2014-04-15 | 2015-11-04 | Ls产电株式会社 | 具有多个cpu模块的plc系统及其控制方法 |
WO2016157477A1 (ja) * | 2015-04-01 | 2016-10-06 | 三菱電機株式会社 | 管理システム |
CN105049146A (zh) * | 2015-06-25 | 2015-11-11 | 南京南瑞集团公司 | 大型plc系统的精确时钟同步与对时方法 |
CN105116830A (zh) * | 2015-07-27 | 2015-12-02 | 深圳市合信自动化技术有限公司 | 一种plc控制系统以及plc扩展总线实现方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114080574A (zh) * | 2019-07-04 | 2022-02-22 | 欧姆龙株式会社 | 控制系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6772748B2 (ja) | 2020-10-21 |
US20190229885A1 (en) | 2019-07-25 |
WO2018070190A1 (ja) | 2018-04-19 |
EP3528067A1 (en) | 2019-08-21 |
CN109716247B (zh) | 2021-09-17 |
EP3528067A4 (en) | 2020-10-14 |
JP2018063612A (ja) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3211497B1 (en) | Master-slave system and method for controlling such a system | |
RU2345409C2 (ru) | Интерфейсный модуль для использования с сетью устройств modbus и сетью устройств fieldbus | |
CN102421187B (zh) | 一种无线传感器网络的高精度时钟同步方法 | |
CN102396187B (zh) | 用于确定输入输出设备中事件的发生时间的方法和通信系统 | |
CN108693821A (zh) | 控制装置、存储介质、控制方法及控制系统 | |
CN106165350B (zh) | 设计辅助装置、设计辅助方法及计算机可读存储介质 | |
CN109716247A (zh) | 运算装置以及控制系统 | |
CN107703878B (zh) | 一种plc分布式远程io扩展模块 | |
US9686131B2 (en) | System, gateway, and method for automatic setting configuration by learning commands | |
CN110178097A (zh) | 运算装置、控制装置以及控制方法 | |
CN107959564A (zh) | 控制装置以及通信装置 | |
CN105939253A (zh) | 一种工业无线网关装置及其协议转换方法 | |
CN103973815A (zh) | 一种跨数据中心存储环境统一监控方法 | |
CN104428726B (zh) | 数据采集单元以及自动化系统 | |
CN108572612A (zh) | 控制装置以及非易失性存储媒体 | |
CN100430847C (zh) | 在总线系统中确定时间的方法和装置以及总线系统 | |
CN109450763A (zh) | 一种总线扩展方法、网关和总线扩展系统 | |
KR100726476B1 (ko) | 이기종 센서노드의 전력소모 최소화를 위한 시간동기화방법 및 이를 적용한 네트워크 | |
CN110169017A (zh) | 控制装置以及通信装置 | |
US10606610B2 (en) | Arithmetic operation device and control apparatus | |
CN106899372B (zh) | 一种燃料电池汽车动力性能测试系统的实时同步方法 | |
CN115371129A (zh) | 热计量系统、方法、存储介质及电子设备 | |
CN111817820B (zh) | 设备的编码方法及装置、基于二总线的编码系统 | |
CN110178344A (zh) | 控制装置以及通信装置 | |
CN103001839B (zh) | 学习命令以自动组态设定的系统、网关器及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |