CN105556404A - 可编程控制器系统、该可编程控制器系统的控制器 - Google Patents
可编程控制器系统、该可编程控制器系统的控制器 Download PDFInfo
- Publication number
- CN105556404A CN105556404A CN201480048845.6A CN201480048845A CN105556404A CN 105556404 A CN105556404 A CN 105556404A CN 201480048845 A CN201480048845 A CN 201480048845A CN 105556404 A CN105556404 A CN 105556404A
- Authority
- CN
- China
- Prior art keywords
- cycle
- controller
- timing
- frequency band
- network
- 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
- 238000012937 correction Methods 0.000 claims abstract description 91
- 230000005540 biological transmission Effects 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 16
- 230000002123 temporal effect Effects 0.000 claims description 10
- 235000012364 Peperomia pellucida Nutrition 0.000 claims description 8
- 240000007711 Peperomia pellucida Species 0.000 claims description 8
- 238000004904 shortening Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 description 71
- 238000000034 method Methods 0.000 description 61
- 230000006870 function Effects 0.000 description 30
- 239000000872 buffer Substances 0.000 description 22
- 238000012545 processing Methods 0.000 description 15
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 13
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 13
- 238000005259 measurement Methods 0.000 description 13
- 102100035954 Choline transporter-like protein 2 Human genes 0.000 description 12
- 101000948115 Homo sapiens Choline transporter-like protein 2 Proteins 0.000 description 12
- 230000000630 rising effect Effects 0.000 description 10
- 238000005096 rolling process Methods 0.000 description 7
- 230000006378 damage Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000009432 framing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002075 main ingredient Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Classifications
-
- 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
- G05B19/052—Linking several PLC's
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
-
- 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/15—Plc structure of the system
- G05B2219/15126—Calculate duration of cycle
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/80—Management or planning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
Abstract
特定控制器(150)包括第1周期生成部(151),该第1周期生成部(151)基于自己的第2周期开始定时来决定自己的第1周期开始定时。其他控制器(160)分别具有第1周期同步部(161)、第2周期校正部(162)等。第1周期同步部(161)使自己的上述第1周期开始定时与特定控制器(150)的第1周期开始定时同步。第2周期校正部(162)基于自己的第1周期开始定时校正自己的第2周期开始定时,从而使得与特定控制器(150)的第2周期开始定时同步。
Description
技术领域
本发明涉及可编程控制器系统。
背景技术
近年的控制系统伴随着大规模化的发展,有时使用利用网络连接多个控制器并分散配置的多重配置(multi-config)结构(多重配置控制系统)。作为这种结构的一个示例,例如已知有图21中简要示出的系统。
图21是这样的多重配置控制系统的示意图。
控制系统中作为主要的组成部分从上位起具有服务器或主机、监视控制用计算机、顺序控制(sequencecontrol)控制器、IO模块/逆变器等,在它们之间利用计算机级网络、控制器级网络、设备级网络分别进行连接。
在图21所示的可编程控制器系统例中,设有进行生产管理·指示等的计算机级网络、连接加工机械等的控制器间的控制器级网络、连接各个控制器和各机器(I/O)间的设备级网络。并且,通过阶层式地连接这些网络,来实现综合监视控制。
图22是关注控制器级网络的现有系统结构例。
在大规模系统中,由于其系统处理的复杂性、物理配置的问题等,对多个控制器的控制应用程序进行分割控制。一个一个的控制单位被称为配置202(图中用虚线包围的范围),利用由控制器级网络203连接多个配置202而得到的系统结构来进行整体控制。控制器级网络203一般还连接有用于进行系统整体的监视控制及生产管理的服务器201等。
各配置202的结构例如如图23所示那样,由执行控制应用程序的CPU模块215、与控制对象机器进行输入输出的I/O模块214、进行在控制器级网络203上的通信的通信模块213等构成。
上述各模块213、214、215与设备级网络212相连接,能经由该网络212互相进行通信。
另外,并不限于该例,也可将各个模块安装于例如基板(baseboard)那样的板状的构件上,并且安装成经由板上的总线进行模块间的数据交换。此外,还可以采用CPU模块215与上位支持工具216相连接的结构。
各配置202中,例如由上位支持工具216对CPU模块215进行控制应用程序的下载、应用程序起动/停止等控制、由监视器进行的监视等。
关于上述设备级网络,例如关于运动控制等所使用的高速设备级网络,已知有对从属机器的输入输出定时(timing)进行同步的功能。例如,本申请人提出了设备级网络中的定时同步方法(专利文献1)。
图24是专利文献1的设备级网络的处理定时例。
图24中,图示的标号221表示CPU模块所进行的应用程序运算的定时,图示的标号222表示从CPU模块输出的总线上的数据帧,图示的标号223表示IO模块中的数据处理定时。
实际上,从属模块间也进行电缆连接,由此,MC帧的数据获取定时会发生偏移,但此处省略说明。
以规定周期(被称为节拍周期(taktperiod))来执行和管理与设备级网络上的通信有关的各模块的处理。
这在CPU模块中产生被称为节拍(takt)中断的周期中断。CPU模块中,在上述节拍中断时开始应用程序运算。节拍中断构成为在输入数据(TF(总帧))传输完成的时刻发生。
另外,在根据构成系统的IO模块的种类、数量而预先计算得到的定时的恒定周期中断时,TF帧被CPU模块发送至设备级网络上。在从例如节拍中断发生定时(节拍周期开始定时)224起经过图示的标号226的时间后的定时产生该恒定周期中断。
上述TF帧如图示那样依次在各IO模块巡回,在各IO模块中被附加任意的数据,最终回到CPU模块,并保存于未图示的接收缓冲器等中。由此,CPU模块能获取各IO模块的数据(输入最新数据)。上述那样的TF帧的接受完成时刻是上述传输完成时刻。此外,CPU从接收缓冲器获取上述最新数据作为图示的输入数据228。
CPU模块进行基于上述最新的输入数据228的规定的应用程序运算,生成输出数据229。输出数据229作为MC数据保存于未图示的发送缓冲器中。所保存的MC数据在下一次的节拍中断发生定时被分发到各IO模块。
另外,虽未特别图示,但作为一个示例,CPU模块由进行上述应用程序运算等的CPU和进行上述发送缓冲器、接收缓冲器的数据保存/发送的处理器等构成。
如图24所示,CPU模块中的节拍周期和各IO模块中的节拍周期虽然定时不同,但仅仅是相位不同,它们的长度自身是相同的(例如为1ms)。由于需要将所有IO模块中的节拍周期开始定时设为相同,因此在各IO模块的每一个中设定不同的“延迟时间”。在各IO模块的每一个中,将从TF帧接收时起经过了“延迟时间”后的定时、或者从MC帧接收时起经过了“延迟时间”后的定时作为节拍周期开始定时。由此,能将所有IO模块中的节拍周期开始定时如图示那样设为相同。另外,“延迟时刻”预先由CPU模块基于与各IO模块的通信来决定并设定于各IO模块。
这里,由于上述情况,若CPU模块中的节拍周期的定时发生改变,则TF帧发送、MC帧发送的定时发生改变,从而各IO模块中的节拍周期也改变。
虽然图24中未明确表示,但可认为CPU模块中的节拍周期存在两种。即、图24中以标号221表示的栏的节拍周期225和以标号222表示的栏的关于总线上的数据收发的节拍周期(未图示)。虽未进行图示,但该未图示的节拍周期内被时间分割成使图示的TF帧巡回的时间段、将图示的MC帧分发给各IO模块的时间段、图示的MSG频带(任意的一对一的消息收发的时间段)。也就是说,在各节拍周期的每一个中,以图示的TF、MC、MSG的顺序依次进行上述各处理。
另外,以标号221表示的栏的节拍周期225是涉及CPU等所进行的规定的运算的周期,也可称为“应用程序运算周期”等。另一方面,上述未图示的节拍周期也可称为“总线·节拍周期”等。
这里,控制器级网络与设备级网络相比,控制器级网络低速地进行数据交换,不是具有使控制周期同步的功能的网络。
因此,本申请人通过在先申请(PCT/JP2013/050121),提出了针对控制器级的网络,对控制器间的处理定时进行同步的功能。
在上述那样的多重配置控制系统中,分散配置的各控制器以独自的周期(各站点互不相同的定时)采集控制机器的数据(I/O数据)。这些控制器采集到的I/O数据进一步被主机等采集,并且所采集到的各I/O数据在时间序列上呈混乱状。即,现有的控制系统是无法保证主机所采集的各I/O数据的同时性的系统。
关于该问题,以往,例如在假设具有第1控制器和第2控制器作为上述控制器的情况下,使用以下方法。
这里,假设在第1控制器的应用程序执行周期为10ms,第2控制器的应用程序执行周期为18ms的情况下,将控制器级网络的数据刷新周期设为20ms。
按该方式,配合最晚的应用程序的执行周期来设定控制期间网络的数据刷新周期。因此,主机所采集到的各I/O数据仅能保证20ms的期间发生了某种变化的同时性,I/O数据的状态变化的同时性精度较低。换言之,主机所采集到的各数据的同时性精度依赖于控制器级网络的数据刷新周期。
在近年来的金属轧制加工等大规模控制系统中,对轧制辊的控制参数、轧制辊的转速、压力等的实测值或轧制对象的温度、板厚等与设备级网络相连接的机器的模拟测量值进行采集。并且,通过分析采集数据来调整用于提高产品品质的参数、或获取测定数据的变异,从而力求进行最适合各种机器的预防保全。
然而,在上述现有的控制系统中,主机所采集的各I/O数据的同时性精度较低,因此高精度地调整现场机器、推进预防保全存在限制。
以往的控制器系统采集装置需要以非同步的方式对在控制器级网络上进行交换的较低速的控制器级控制数据进行采集、或将不同于控制网络的数据采集用网络连接到希望作为数据采集对象的IO模块等,并另行采集(专利文献2)。
图25示出将专利文献2应用于上述图22所示的结构时的结构例。
如图所示,除了现有的控制器级网络203以外,还需要构建数据采集网络204。数据采集用网络204连接有各IO模块214和服务器装置205等,服务器装置205能经由数据采集用网络204采集各I/O模块214的数据。
然而,该结构中,除了增加与各IO模块214进行通信的通信接口、数据采集用电缆的成本等元器件成本以外,用于系统构建、通信确认的试验等的成本也会增加。或者,也需要考虑因错误布线而产生问题等的风险。尤其在金属轧制加工的系统中,在每一个系统中需要设置数十~数百台用于使轧制辊动作的逆变器,它们的成本、风险对于利用控制器来构建系统的用户来说是很大负担。
并且,由于在上述控制器级网络203和数据采集用网络204之间,不存在控制上的因果关系,因此难以高精度的关联各个采集数据。
接着,也考虑不应用用于进行上述数据采集的网络,而利用现有的控制器级网络203来对控制数据、来自设备级的各机器的采集数据进行交换的情况。
该情况下,模块形状、电缆等与现有系统相同,因此不会发生专利文献2中成为问题的系统的成本增加。
图26中示出在假设各控制器将最新的设备级数据发送至控制器级网络的情况下,使用了现有控制器级网络(共用存储器型网络)的数据采集时序图。
图26中,图中上段示出来自共用存储器型控制器等级网络上的各控制器的发送数据D1、D2、D3。图示的示例中,控制器CTL1发送数据D1,控制器CTL2发送数据D2。另外,各控制器中设定有预先规定的数据发送定时(从控制器周期开始定时160起的延迟时间)。也就是说,例如控制器CTL1在图示的由“D1”所示的定时发送上述发送数据D1,控制器CTL2在图示的由“D2”所示的定时发送上述发送数据D2。
另外,在将已知的FL-net作为共用存储器型的控制器等级网络的一个示例的情况下,在各站点间使发送权(令牌(token)、图中未标记)巡回,持有令牌的站点发送本站点数据。数据发送定时与各站点的处理负载状况相对应,因此一般而言数据发送周期具有偏差。
此外,图26的图中中段和下段分别示出上述各控制器CTL1、CTL2的运算状况。如图所示,各控制器的运算处理在各节拍周期的每一个中以输入→运算→输出的顺序进行。另外,例如在图示的“输入”中输入上述输入数据228,在图示的“输出”中输出上述输出数据229。
本示例中,例如向控制器级网络始终如图所示那样发送该时刻的最新的输入数据,以作为上述发送数据D1、D2。
这里,上述运算是与设备级网络相关的运算,上述输入是经由设备级网络输入的I/O模块的数据等。如图所示,在各节拍周期开始定时169进行输入处理,但在较多情况下,控制器CTL1和控制器CTL2中的节拍周期开始定时169不同。
现有的控制器级网络中,由于不进行各配置中的同步,因此CTL1和CTL2的控制应用程序的执行定时不具有因果关系,即使以一个控制器级网络进行数据采集,最大也会产生“控制器级网络的控制周期+α”的数据采集定时误差。并且,控制器级网络的控制周期会根据应用程序负荷而增加或减少,因此上述最大采集误差也并非唯一确定。
专利文献1:日本专利特开2012-68856号公报
专利文献2:日本专利特开平6-301617号公报
发明内容
在上述设备级、控制器级双方的网络中实现用于进行定时调整的功能的情况下,在作为网络定位进行了处于更上位的控制器级网络的定时调整的基础上,基于该定时调整设备级网络的定时。
然而,由于控制器级网络的周期通常比设备级网络的控制周期要大,控制周期的校正幅度也相对应地变大,因此若直接将控制器级网络的定时校正应用于设备级网络,则设备级网络中会发生控制周期的紊乱、数据交换的遗漏等。
例如,在设备级网络以1ms进行运用,而控制器级网络以10ms进行运用的情况下,即使控制器级中的校正幅度为5%即0.5ms,在设备级网络中会成为50%的校正,会产生数据破损、处理遗漏的问题。
设备级网络中,由于利用该交换数据对输入输出装置、逆变器、伺服等驱动控制装置实施控制,因此若在每次进行定时校正时均发生数据的遗漏、异常,则存在作为系统无法正常被控制的问题。
本发明的课题在于,提供一种在具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,且该多个控制器也与第1网络相连接的可编程控制器系统中,能使整体的定时同步的可编程控制器系统、以及该可编程控制器系统的控制器等。
首先作为前提,本发明的可编程控制器系统具有如下结构:具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器也与第1网络相连接。并且,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作。在上述结构中,具有如下各特征。
多个所述控制器中的特定的控制器具有基于自己的所述第2周期开始定时来决定自己的所述第1周期开始定时的第1周期生成单元。
所述特定控制器以外的各控制器具有如下各单元。
·使自己的所述第1周期开始定时与所述特定控制器的第1周期开始定时同步的第1周期同步单元;以及
·基于自己的所述第1周期开始定时来校正自己的所述第2周期开始定时的第2周期校正单元。
附图说明
图1是本示例的可编程控制器系统的结构图。
图2是CPU模块的结构图。
图3是表示基于本手法的同步方法的具体例的图。
图4(a)、图4(b)是表示主站点、从站点的节拍周期开始定时和偏移量的一个示例的图。
图5是表示计时器控制部的结构例的图。
图6是图5的计时器控制部所涉及的各种信号的寄存器接口(RegisterInterface)例。
图7是校正值生成部所涉及的各种信号的时序图。
图8(a)~图8(c)是用于说明校正的上限值的图。
图9是表示控制器级网络、设备级网络的周期开始定时控制的一个示例的图。
图10是表示根据图9的示例对偏移量进行了一次性校正后的情况下的动作例的图。
图11是表示对图10的示例应用了本手法时的动作例的图。
图12与图11相关联,是表示校正完成后的动作例的图。
图13是表示实施例2中的数据采集动作例的图。
图14是TC帧、数据帧的帧格式例。
图15是实施例2的变形例所使用的数据帧的数据结构例。
图16是表示实施例2的变形例中的数据采集动作例的图。
图17是本示例的可编程控制器系统的功能框图。
图18是用于说明在先申请的控制器网络同步化处理的图(其1)。
图19是用于说明在先申请的控制器网络同步化处理的图(其2)。
图20是用于说明在先申请的控制器网络同步化处理的图(其3)。
图21是现有的多重配置控制系统的示意图。
图22是关注于控制器级网络的现有系统结构例。
图23是图22所示的配置的详细结构例。
图24是专利文献1中的设备级网络的处理定时例。
图25是表示对图22所示的结构应用了专利文献2时的结构例的图。
图26表示现有的数据采集动作例的图。
具体实施方式
以下,参照附图,对本发明的实施方式进行说明。
另外,本示例的可编程控制器系统是具有多个将控制器(CPU模块)和各I/O机器连接到设备级网络而构成的上述“配置”,且具有各控制器与控制器级网络相连接的结构的可编程控制器系统。本手法涉及例如在上述多重配置结构的系统中的各配置的周期开始定时的同步。
图1是本示例的可编程控制器系统的结构图。
图示的结构本身简要来说可以是与上述现有的图22等的结构大致相同的结构,但本示例的情况下,现有的通信模块的功能被组合到CPU模块中。
即,图示的各配置10(由虚线包围的部分)由CPU模块11、I/O模块12等构成。各模块11、12与设备级网络13相连接。另外,配置10也可以被称为控制单元10等。控制单元10也可以视作通过将CPU模块11(控制器)和I/O模块12(输入输出对象的一个示例)连接到设备级网络13来构成的结构。
CPU模块11经由设备级网络13与各I/O模块12进行通信。此外,CPU模块11也与控制器级网络1相连接。CPU模块11也具有上述现有的通信模块的功能,经由控制器级网络1与其他的配置10的CPU模块11进行通信。另外,现有的通信模块的功能是控制器级网络1上的通信功能。
此外,与以往相同,控制器级网络1还可以连接有用于进行系统整体的监视控制、生产管理的服务器装置2等。各CPU模块11也可经由控制器级网络1与服务器装置2进行通信
这里,CPU模块11例如使用在先申请(PCT/JP2013/050121)中的内置控制器级网络功能的控制器,但并不限于该示例。例如也可以是具有从上述现有的通信模块获取与处理周期相对应的中断信号的结构的CPU模块等。也就是说,并不一定要有通信模块的功能。
图2是上述CPU模块11的结构图。如上所述,CPU模块11不仅具有设备级网络13上的通信功能,也具有控制器级网络1上的通信功能,因此也具有与此对应的结构。
图示的示例中的CPU模块11以CPU21、控制器级网络控制LSI(NETLSI)22、设备级网络控制LSI(DEVLSI)24等作为主要的结构。并且,具有快闪存储器(FLASHMEM)23、SRAM25、DDRSDRAM26、信号线27、PCI/F28等。
CPU21对控制器应用程序的执行(控制运算)、上述NETLSI22、DEVLSI24等进行控制。另外,用于在CPU21中执行上述各种功能的程序(系统软件、控制器应用程序等)预先存储在非易失性存储器即上述FLASHMEM23中。CPU21通过执行该程序来实现包含上述控制等的各种功能。另外,执行时,程序被展开到高速的存储器设备即上述DDRSDRAM26等来进行执行。
CPU21可以由一个CPU构成,也可以由多个CPU构成。关于后者,多个CPU可以分别对应各功能。
本示例中,对DEVLSI24设置用于保存控制数据等的SRAM25。SRAM25中暂时性地保存有例如后述的TF帧及MC帧等。CPU21也能经由DEVLSI24访问SRAM25。
DEVLSI24内置有计时器(TIMER)24a。TIMER24a用于使设备级网络13上的各连接机器(I/O模块12等)的数据输出定时同步。也可以将TIMER24a的一个示例视作为后述的节拍计数器41。也就是说,TIMER24a在本示例中基本制作出1(ms)周期的节拍周期。当然,并不限于该示例。
同样,NETLSI22也内置有计数器(TIMER)22a。关于控制器级网络1上的通信,利用TIMER22a来实现各控制器(CPU模块11)间的同步。本示例中,基本制作出5(ms)周期的控制周期。
另外,本说明中,将设备级网络13所涉及的周期称为节拍周期,将控制器级网络1所涉及的周期称为控制器周期。由此,上述具体例中,节拍周期为1(ms)周期,控制器周期为5(ms)周期。周期开始定时是各周期的开始定时,例如在节拍周期的情况下,从任意的节拍周期开始定时起的1(ms)后是下一个节拍周期开始定时。
另外,NETLSI22经由图示的NET连接器与控制器级网络1相连接。同样,DEVLSI24经由图示的DEVNET连接器与设备级网络13相连接。
此外,设有连接NETLSI22和DEVLSI24之间的上述信号线27。NETLSI22和DEVLSI24能经由信号线27直接收发信号。
作为一个示例,可以将信号线27视作为来自NETLSI22和DEVLSI24双方的中断信号线。这里,本示例的控制器级网络1、设备级网络13上的通信均以各自的规定周期来执行,基本而言,控制器级网络1的周期比设备级网络13的周期要长。这里,作为具体例,如上所述,控制器级网络1为5(ms)周期,设备级网络13为1(ms)周期。并且,NETLSI22和DEVLSI24彼此可以经由上述信号线27来通知表示自己的周期开始定时的中断。
这里,本手法中,关于上述多个CPU模块11,将其中一台设为主站点,将剩余CPU模块11设为从站点。然后,关于控制器级网络1,以主站点的控制器周期开始定时作为基准,使各从站点的控制器周期开始定时同步。然而,在此之前,主站点例如如下所示那样决定自己的控制器周期开始定时。
即,本手法中,主站点中,基于自己的上述节拍周期开始定时生成自己的上述控制器周期开始定时。此时,利用经由上述图2的信号线27的LSI彼此的中断通知。也就是说,上述具体例的情况下,NETLSI22经由信号线27每隔5(ms)向DEVLSI24发送中断通知。另一方面,DEVLSI24经由信号线27每隔1(ms)向NETLSI22发送中断通知。
利用这些,NETLSI22基于来自上述DEVLSI24的每隔1(ms)的中断通知,来决定控制器周期开始定时。上述示例中,来自DEVLSI24的中断通知达到5次成为控制器级网络1的1周期。
然后,基于上述决定(调整)后的主站点的控制器周期开始定时来调整(校正)各从站点的控制器周期开始定时。也就是说,使各从站点的控制器周期与主站点的控制器周期同步。这使用例如上述在先申请(PCT/JP2013/050121)的方法。
并且,各从站点的每一个基于调整(校正)后的控制器周期开始定时,调整自己的设备级网络13的节拍周期开始定时。也就是说,对于各从站点的每一个,在上述图2的结构中,DEVLSI24基于来自NETLSI22的经由信号线27的中断通知(每5ms一次的通知)来调整自己的设备级网络13的节拍周期开始定时。对于该调整处理将在后文进行阐述。
另外,图2所示的结构是一个示例,但并不限于该示例。例如,作为其他示例,也可以在CPU21中包含NETLSI22的功能。例如控制器级网络1可以采用基于Ethernet(注册商标)的网络,也可以是在CPU21中搭载有Ethernet(注册商标)功能的形式等。该示例中,信号线27当然设置在CPU21和DEVLSI24之间。例如,从DEVLSI24经由信号线27向CPU21发送中断信号。由CPU21利用例如用于DEVLSI24的寄存器读/写的接口来进行中断。然而,并不限于该示例,例如可以将信号线27视作双方的寄存器读/写的接口。
或者,本示例中,示出了NETLSI22和DEVLSI24作为不同芯片的情况,但也可以利用大规模LSI,在同一LSI上实现NETLSI22及DEVLSI24的功能。
无论如何,本示例的各CPU模块11中,能经由例如上述信号线27在NETLSI22和DEVLSI24之间向对方通知各自的中断定时。由此,在CPU模块11内,能进行校正,使得自己的控制器周期开始定时与自己的节拍周期开始定时相匹配。相反地,也能进行校正,使得自己的节拍周期开始定时与自己的控制器周期开始定时相匹配。
由此,能使例如所有的配置的控制器周期开始定时及节拍周期开始定时同步。图3示出其具体图像。
图3的示例也与上述相同,将控制器级网络1的周期(控制器周期)设为5ms,将节拍中断定时的周期(节拍周期)设为1ms。
图3示出在主站点中已经使自己的控制器周期开始定时与自己的节拍周期开始定时同步后的状态。
主站点例如若在上升沿时识别到本站点是主站,则将本站点的节拍周期开始定时作为控制器周期开始定时生成的基准计时器。也就是说,本示例中,将每5次节拍周期开始定时作为控制器周期开始定时。由此,主站点中,自己的节拍周期开始定时与控制器周期开始定时处于同步。
之后,使各从站点的控制器周期开始定时与主站点的控制器周期开始定时同步。由此,虽未图示,但从站点的控制器周期开始定时变为与主站点相同。如图所示,对于任意的从站点,设为自己的控制器周期开始定时与自己的节拍周期开始定时会产生偏移。该偏移量为图3、图4所示“P”。
由此,本手法中,从站点中,基于自己的控制器周期开始定时修正自己的节拍周期开始定时的上述偏移P。由此,使自己的节拍周期开始定时与自己的控制器周期开始定时同步。这意味着使自己的节拍周期开始定时与主站点的节拍周期开始定时同步。
由此,各从站点经由控制器周期间接地检测出自己的节拍周期开始定时与主站点的节拍周期开始定时间的偏移量P,通过对该偏移进行校正,使自己的节拍周期开始定时与主站点的节拍周期开始定时同步。
然而,如后文利用图4所说明的那样,若存在有直接将检测到的偏移量P作为校正量的情况,则也有除此以外的情况。此外,并不限于一次性对校正量部分进行校正,也可以设置每一次能校正的上限值。作为一个示例,这里将校正的上限值(校正值)设为0.05ms。由此,在校正量>上限值的情况下,分多次来对偏移进行校正。例如在假设校正量为0.15ms的情况下,以每次0.05ms进行3次校正。图4(a)、图4(b)中示出这样的偏移量·校正量的检测·计算的图像和校正的图像。
图4(a)、图4(b)中根据上述情况示出主站点和任意的从站点各自的节拍周期开始定时,且示出偏移量的一个示例。这里,如上所述,检测出的偏移量“P”是从任意的控制器周期开始定时起到紧接其之后的从站点的节拍周期开始定时为止的时间。然而,并不限于将检测出的偏移量“P”直接作为校正量的情况。另外,后述的AJUST_TIME表示校正量。
例如,本示例中,在图4(a)所示的示例的情况下,将检测出的偏移量“P”直接作为校正量“AJUST_TIME”,并且将后述的校正方向“AJST_VEC”设为“+”。另一方面,在图4(b)所示的示例的情况下,根据检测出的偏移量“P”计算出“节拍周期-P”,将计算结果作为后述的校正量“AJUST_TIME”,并且将后述的校正方向“AJST_VEC”设为“-”。另外,后述的AJUST_TIME是从站点应调整的相位偏移时间(校正量)。
作为一个示例,根据上述偏移量“P”是在“节拍周期/2”(本示例中为0.5ms)以上还是小于“节拍周期/2”来改变校正量和校正方向。在偏移量“P”为“节拍周期/2”以上的情况下,将校正量设为“节拍周期-P”,并向+方向进行修正。在偏移量“P”小于“节拍周期/2”的情况下,将偏移量P直接作为校正量,并向-方向进行修正。
图4(a)是表示偏移量“P”小于“节拍周期/2”的情况的一个示例。图4(b)是表示偏移量“P”在“节拍周期/2”以上的情况的一个示例。
本示例中,对校正值(每一次的校正量)设置上限,将该上限值设定作为后述的“调整的单位时间AJST_UNIT”。本示例中,AJST_UNIT=0.05ms。
并且,在向上述-方向进行修正的情况下,节拍周期=“节拍周期-AJST_UNIT”。本示例中,节拍周期=1-0.05=0.95ms。由此,如图4(a)所示,校正期间中节拍周期==0.95ms。
另一方面,在向上述+方向进行修正的情况下,节拍周期=“节拍周期+AJST_UNIT”。本示例中,节拍周期=1+0.05=1.05ms。由此,如图4(b)所示,校正期间中节拍周期==1.05ms。
由此,本示例中,通过暂时性地改变节拍周期的长度来校正偏移。尤其,通过在设备级网络的多个周期中进行校正,即对每一次的校正量设置上限,能在不发生设备级网络的数据破损、处理遗漏的情况下实现系统整体的同步。
另外,偏移的校正在处理上是在各从站点的每一个中对自己的控制器周期开始定时与节拍周期开始定时间的偏移的校正,但本质上,如图4(a)、(b)所示那样是对主站点的节拍周期开始定时与各从站点的节拍周期开始定时间的偏移的校正。
如上所述,本手法中,通过将“主站点的节拍周期开始定时”作为基准,由此开始以“主站点的控制器周期开始定时”→“各从站点的控制器周期开始定时”→“各从站点的节拍周期开始定时”的顺序进行周期开始定时校正,从而能使整体同步化。
例如,如上述图3、图4说明的那样,各从站点中的自己的节拍周期开始定时的校正功能(计时器控制部)例如搭载于DEV_LSI24。
图5表示DEV_LSI24的计时器控制部的结构例。
本示例中,采用将计时器校正功能搭载于DEVLSI24的硬件功能,但并不限于该示例,例如也能作为在CPU21上进行动作的软件来实现。
图6示出图5的计时器控制部所涉及的各种信号的寄存器接口例。
首先,参照图6,对各种信号进行说明。
如图6所示,本示例的计时器控制部中利用AJUST_EN31、AJUST_VEC32、AJUST_TIME33、AJUST_UNIT34、AJUST_STA35及REMAIN_TIME36等各种信号。另外,不仅如此,计时器控制部内还生成图5所示的“takt_ajust”、“is_updated”信号等。
AJUST_EN31、AJUST_TIME33、AJUST_UNIT34输入至图5所示的校正值生成部42。另外,关于图5,在下文中进行说明。校正值生成部42基于这些输入等生成AJUST_STA35、REMAIN_TIME36等。AJUST_EN31、AJUST_TIME33、AJUST_UNIT34、AJUST_VEC32在外部(例如NETLSI22)生成。
另外,AJUST_VEC32输入至图5所示的加法减法器43。另外,图6所示的寄存器可以视作内置于校正值生成部42的装置,但并不限于此。
AJUST_UNIT34如已说明的那样是预先设定的上限值(调整的单位时间),这里设为AJUST_UNIT=0.05ms。如上所述,AJUST_TIME33是基于检测到的上述偏移量“P”来计算并决定的,是从站点应调整的相位偏移时间(校正量)。如上所述,AJUST_VEC32也是基于上述偏移量“P”而决定的表示调整方向(+或-)的参数。
AJUST_EN31是表示调整请求的位,在其上升沿处被识别为调整开始。AJUST_EN31是由上位软件或控制器级网络发送的校正请求接受位。
AJUST_EN31例如如上所述那样由NETLSI22生成并输入至校正值生成部42。NETLSI22基于自己生成的控制器周期开始定时(5ms周期)和从DEVLSI24经由信号线27通知的每隔上述1(ms)的中断通知,来求出上述偏移量“P”。然后,据此生成上述AJUST_TIME33及AJST_VEC32。另外,AJUST_TIME33表示校正量。AJST_VEC32是表示校正方向的位。
NETLSI22中,在例如该AJUST_TIME不是“0”或是在规定值以上的情况下,视作需要进行定时调整,并将AJUST_EN31设为ON。当然,此时,所生成的AJUST_TIME33、AJST_VEC32被输入至校正值生成部42。
校正值生成部42在AJUST_EN31的上升沿定时将AJUST_TIME33复制到REMAIN_TIME36。或者,将AJUST_TIME33换算成后述的节拍计数器41的计数值,并将该计数值设为REMAIN_TIME36。
校正值生成部42在之后每一次进行调整时,均从REMAIN_TIME36减去AJST_UNIT34这部分的量。也就是说,利用“REMAIN_TIME36=REMAIN_TIME36-AJST_UNIT34”来更新REMAIN_TIME36。
校正值生成部42在REMAIN_TIME36大于“0”时,将AJST_STA35(1位)设为ON。
AJST_STA35是表示校正处理中及校正完成的位。ON表示校正处理中,OFF表示校正完成。
REMAIN_TIME36是基于由上位设定的AJST_TIME33如上所述那样生成并更新的参数,是表示剩余的校正量的参数,也可以认为是表示校正处理的剩余时间的参数。
AJST_UNIT34表示关于设备级网络的周期一次可校正的单位时间。该可校正单位时间AJST_UNIT34可以是固定的值,也可以根据设备级网络的控制周期而灵活地设定。可校正单位时间AJST_UNIT34是开发人员等预先决定并设定的数值,例如是由节拍周期和输入输出处理的频带时间决定的数值(若确定了IO模块数、IO大小、节拍周期,则能唯一地进行计算)。
可校正单位时间AJST_UNIT34例如设定为从MSG频带后到发送下一个TF帧为止的空余时间、或从TF帧发送开始到MC帧发送为止的空余时间中的任一个较短时间以下即可。当然,并不限于该示例。
对于上述AJST_UNIT34的决定方法,下面参照图8进行说明。
首先,如图24说明的那样,节拍周期(此处为上述“总线·节拍周期”)被分割成TF、MC、MSG的各频带。并且,通常赋予一定程度的裕量(margin)。由此,在上述节拍周期=1(ms)的示例中,例如如图8(a)所示那样设为TF频带=0.2(ms)、MS频带=0.3(ms)、MSG频带=0.4(ms)的情况下,存在有0.1(ms)的空闲时间(裕量)。因此,该示例中,即使下一个节拍周期开始定时提前0.05(ms),它也如图示那样成为空闲时间段中的任意定时,因此不会发生特别的问题。另外,由于下一个节拍周期开始定时提前0.05(ms),因此例如如图4(a)所示那样,节拍周期成为0.95(ms)。例如,按该方式来决定AJST_UNIT34。
另一方面,在图4(b)所示的示例中,下一个节拍周期开始定时会延迟0.05(ms),但若过度延迟,则会产生以下说明的问题,因此需要将该情况考虑在内来设定AJST_UNIT34的值。
首先,作为前提,以下述情况为例来进行说明,即:以TF帧接收时作为基准来在各I/O模块的每一个中决定自己的节拍周期开始定时。例如,如图8(b)所示,I/O模块A将从TF帧接收时开始经过了ta时间时作为节拍周期开始定时。同样,I/O模块B将从TF帧接收时开始经过了tb时间时作为节拍周期开始定时。I/O模块C将从TF帧接收时开始经过了tc时间时作为节拍周期开始定时。这些ta、tb、tc由CPU模块来决定并通知到各I/O模块。对于决定方法并无特别说明,但如图8(b)所示那样,以使所有I/O模块中的节拍周期开始定时变为相同的方式来决定ta、tb、tc。
然而,实际上,也有TF帧中途消失的情况,因此若各I/O模块如上述那样以TF帧接收时作为基准来决定节拍周期开始定时,则之后基于内置的计时器等例如以1秒周期来决定节拍周期开始定时。
这里,图8(b)表示通常情况,图8(c)表示如上述图4(b)等所示那样下一个节拍周期开始定时发生了延迟的情况。
若CPU模块中下一个节拍周期开始定时延迟,则CPU模块发送MC帧的MC帧发送定时相应地延迟这部分量,由此,如图8(c)所示那样,各I/O模块的MC帧接收定时也会延迟。
这里,由于难以立即修正节拍周期开始定时,因此例如维持如图8(b)那样的定时,因而,MC帧接收定时接近于节拍周期开始定时。并且,若延迟过大,则尤其在最晚进行接收的I/O模块C中,会发生如图8(c)所示那样的MC帧接收定时比节拍周期开始定时要晚的情况。该情况下,I/O模块A、B基于这一次的MC帧中获得的最新的输出(指令等)进行运算动作,然而仅I/O模块C仍以上一次的MC帧中获得的旧输出来进行运算动作。
另外,如图24中说明的那样,各IO模块在自己的节拍周期定时中以该时刻的最新的MC数据开始运算。
这里,各I/O模块在图24所示的运算时间中,基于例如MC帧中获得的CPU模块输出(指令等)来对控制对象机器(电动机等)进行控制。这里,假设图示的I/O模块A、B、C分别控制1个带式输送机所涉及的3台电动机的情况下,I/O模块A、B根据最新的指令(设为起动指令)来起动电动机,并使其开始运转,但仅I/O模块C会导致电动机维持停止状态。当然,在该示例的情况下,控制对象机器成为异常动作。
例如由于上述理由等,在将例如从最晚接收MC帧的I/O模块C的MC帧接收时起到节拍周期开始定时为止的时间设为tc2的情况下,将AJST_UNIT34的值决定为小于tc2。
并且,由于上述情况,可以在CPU模块中按节拍周期开始定时提前的情况和节拍周期开始定时延迟的情况分别设定2种AJST_UNIT34的值。
下面,对图5所示的计时器控制部进行说明。
计时器控制部由节拍计数器41、校正值生成部42、加减法运算器43、比较器44等构成。
节拍计数器41是利用规定的时钟信号进行向上计数的带有加载(load)功能的计数器,生成并输出设备级网络的节拍周期开始定时(节拍中断信号)。另外,节拍计数器41自身是现有的结构。
节拍计数器41是带加载的递增计数器,在每一个时钟信号CLK的上升沿处进行向上计数,对计数值Q+1来进行递增。若对LOAD端子的输入为ON,则根据对Data端子的输入(=0)将计数值Q重置为“0”。另外,时钟信号CLK使用DEVLSI24的时钟等。
加减法运算器43是用于在校正处理中对节拍周期进行校正的结构,之后进行说明。
比较器44将节拍计数器41的输出(计数值Q)与由加减法运算器43校正后的节拍周期进行比较,在计数值Q为“校正后节拍周期”以上的情况下,将输出(“is_updated”信号)设为ON。该“is_updated信号”在成为向上述LOAD端子的输入的同时,被输入至校正值生成部42。
校正值生成部42将上述AJST_TIME、AJST_UNIT、AJUST_EN作为输入,在AJUST_EN的上升沿处开始校正处理,首先将AJST_TIME复制到REMAIN_TIME。之后,随时更新REMAIN_TIME,并将REMAIN_TIME和AJST_UNIT中的任一个较小的值作为图示的校正值“takt_ajust”输出至加减法运算器43。
AJST_STA在AJUST_EN的上升沿处设为ON,若REMAIN_TIME变为“0”,则设为OFF。由校正值生成部42来进行AJST_STA的ON/OFF。另外,如上所述,AJST_STA=ON的状态表示校正处理中,若变为OFF则表示校正完成。
加减法运算器43将表示加法(+)或减法(-)的AJST_VEC、设备级网络的节拍周期(本示例中为1ms)、及上述校正值“takt_ajust”作为输入,并将基于这些输入的运算结果输出至比较器44。
加减法运算器43在AJST_VEC为+的情况下,生成“节拍周期+“takt_ajust””作为上述“校正后节拍周期”,并输出至比较器44。加减法运算器43在AJST_VEC为-的情况下,生成“节拍周期-“takt_ajust””作为上述“校正后节拍周期”,并输出至比较器44。
比较器44在节拍计数器41的输出Q在上述比较器44的输入(校正后节拍周期)以上的情况下,设为ON。将比较器44的输出(is_updated)输入至节拍计数器41的LOAD端子,由于比较器44的输出设为ON,从而节拍计数器41被复位(重载),并且从节拍计数器41输出未图示的节拍中断信号。另外,以往,可以视作仅存在节拍计数器41和比较器44的结构。以往,可以视作在该结构中,通过将节拍周期和上述计数值Q输入至比较器44的结构,来生成节拍中断信号。
这里,本示例中,也将比较器44的输出(“is_updated”)输入到校正值生成部42。并且,校正值生成部42也利用上述输出(is_updated)成为ON时的上升沿,从REMAIN_TIME中减去AJST_UNIT。也就是说,利用“REMAIN_TIME=REMAIN_TIME-AJST_UNIT”来更新REMAIN_TIME。
另外,若控制器的节拍周期由用户来进行设定,则AJST_UNIT是由计算机(支持工具等)唯一计算得到的值。在控制器作为控制器级网络的从属进行动作,且该控制器识别到上位控制器级的网络计时器的中断与设备级网络的节拍周期产生偏差的情况时,通过该控制器上的软件将AJUST_EN设为ON。
这里,在校正值生成部42中,各输出信号按以下的逻辑来生成(此处,以C语言来记载)
·REMAIN_TIME
IF(AJUST_EN==ON){
IF(AJUST_EN前一次值==OFF){/*AJUST_EN上升沿*/
REMAIN_TIME=AJST_TIME;
}ELSEIF(is_updated==ON){
IF(REMAIN_TIME>=AJST_UNIT){
REMAIN_TIME=REMAIN_TIME-AJST_UNIT;
}ELSE{
REMAIN_TIME=0;
}
}
}
关于上述REMAIN_TIME信号的生成处理,以下进行说明。
如上所述,在AJUST_EN的上升沿、即从OFF变为ON时,将AJST_TIME代入REMAIN_TIME。在AJUST_EN为ON的状态中,若“is_updated”变为ON,则更新REMAIN_TIME。该更新方法中,在REMAIN_TIME为AJST_UNIT以上的情况下,将从当前的REMAIN_TIME中减去AJST_UNIT后得到的值作为新的REMAIN_TIME。另一方面,在REMAIN_TIME小于AJST_UNIT的情况下,将REMAIN_TIME设为“0”。
在后述的图7的示例中,REMAIN_TIME为“18”,AJST_UNIT为“5”,因此如图示那样,在AJUST_EN的上升沿处REMAIN_TIME被设定为“18”,之后,在每次“is_updated”成为ON时,从REMAIN_TIME的值中减去“5”。也就是说,REMAIN_TIME的值如图示那样以18→13→8→3的顺序依次被更新。然后,最后由于REMAIN_TIME(=3)小于AJST_UNIT(=5),因此REMAIN_TIME变为“0”。
·AJST_STA
AJST_STA=(REMAIN_TIME<>0);
关于上述AJST_STA信号的生成处理,以下进行说明。
AJST_STA35在REMAIN_TIME36大于“0”时,被设为ON。在图7的示例的情况下,如上所述那样REMAIN_TIME在AJUST_EN的上升沿处被设为“18”,由此AJST_STA35被设为ON。之后,在如上所述那样REMAIN_TIME逐次减少“5”直到最后变为“0”为止的期间,AJST_STA35成为ON状态。
·takt_ajust
IF(AJUST_STA==ON){
IF(REMAIN_TIME>=AJST_UNIT){
takt_ajust=AJST_UNIT;
}ELSE{
takt_ajust=REMAIN_TIME;
}
}ELSE{
takt_ajust=0;
}
关于上述takt_ajust信号的生成处理,以下进行说明。
将REMAIN_TIME与AJST_UNIT相比较,并将两者中任一个较小的值作为takt_ajust输出至加减法运算器43。由此,在图7的示例的情况下,在REMAIN_TIME为“18”、“13”、“8”时,将AJST_UNIT的值(=5)作为takt_ajust来输出。然后,在REMAIN_TIME为“3”时,将该值“3”作为takt_ajust来输出。
另外,若AJUST_STA变为OFF,则将takt_ajust设为“0”。
图7是上述校正值生成部42所涉及的各种信号的时序图。
该示例是下述条件的情况下的动作例。
即,设为时钟CLK=1μs、节拍周期=1ms、AJST_UNIT=5μs、AJST_VEC是-方向、AJST_TIME是18μs的情况。另外,节拍计数器41从0开始计数,因此1ms(1000μs)的情况设置为999。另外,这里将-方向作为示例,但+方向时的动作基本相同,仅将校正后节拍周期向+方向调整这一点不同。
这里,对于图7所示的各种信号,基本已进行了说明,如上所述,在AJUST_EN成为ON之后,takt_ajust的值在短暂的期间内成为“5”,之后成为“3”,最后回到“0”。由此,节拍计数器41的动作在图7中由其输出值Q所示,且成为“is_updated”所示那样。即,当takt_ajust的值为“5”时,在Q值为“994”(=999-5)时,“is_updated”成为ON,计数器41被重置,且再次从“0”开始向上计数。也就是说,以比通常要短的时间进行重置,由此节拍周期变得比通常要短。
之后,当takt_ajust的值为“3”时,在Q值为“996”(=999-3)时,“is_updated”成为ON。
另外,校正值生成部42的上述处理功能及动作可以通过由CPU等执行程序来实现,也可以通过可编程逻辑器件(programmablelogicdevice:PLD)等来实现,实现方法并不限于这些示例。
这里,图9示出了控制器级网络、设备级网络的周期开始定时控制的一个示例。
本示例中,控制器周期被时间分割为图示的TC频带、TS频带、MSG频带。TC频带是用于发送同步帧的频带。TS频带是用于交换共用存储器数据的频带。MSG频带是用于在任意的站点间进行一对一的消息交换的频带。
另外,图9的示例中,节拍周期的2周期成为控制器周期的1周期,然而,当然不限于该示例,可以根据用户的设定等而任意确定。然而,一般而言,控制器级网络的控制周期比设备级网络的控制周期要长。此外,本手法中,根据上述情况,优选为将控制器周期的1周期设定为节拍周期的整数倍。由此,能同步运用设备级网络和控制器级网络。
此外,图9所示的示例中,示出了将控制器级网络的TC频带开始位置设为设备级网络中的MC帧发送定时的示例。这可以视作为等同于使控制器周期开始定时与节拍周期开始定时同步。也就是说,如图9所示,控制器周期开始定时表示TC频带开始位置。上述图24中节拍周期开始定时(节拍周期的开始位置224)相当于向总线上开始发送MC帧的MC帧发送开始定时。另外,此处的总线表示设备级网络。
图10表示基于上述图9的示例,不特别设置上限,而是基于控制器周期开始定时对节拍周期开始定时进行校正时的一个示例。也就是说,这里示出一次性对偏移量进行校正时的动作例。
首先,如图10的图中上侧所示,根据上述图9所示的示例,在主站点中,将节拍周期开始定时两次中的一次作为控制器级网络的TC频带开始位置(控制器周期开始定时)。这相当于根据节拍周期开始定时来决定控制器周期开始定时。
另外,这里,节拍周期开始定时是图示的应用程序运算周期的开始定时,并且是图示的总线·节拍周期中的MC帧发送开始定时。另外,这里将CPU模块中的节拍周期视作应用程序运算周期和总线·节拍周期这两种来进行说明。对于应用程序运算周期和总线·节拍周期,已利用现有技术等进行了说明。此外,节拍周期中还有图示那样的IO模块侧的节拍周期。如利用现有技术所说明的那样,在所有的IO模块中,使其节拍周期开始定时如图10所示那样同步,即:使运算开始定时同步是现有技术。
之后,虽未特别图示,但使任意的从站点的控制器周期开始定时与主站点的控制器周期开始定时同步。此处,关于该从站点,在MC帧发送开始定时和TC频带开始位置产生由图示的标号50所示的偏移。在以一次性修正该偏移的方式来调整节拍周期开始定时的情况下,如图所示,在使TF帧在各IO模块进行巡回的状态下,进行MC帧发送。因此,存在下述可能性:TF帧的巡回在中途发生中止,TF帧无法正确返回到CPU模块,即,CPU模块无法正确采集来自各IO模块的输入数据。
图11是表示对图10的示例应用了本手法时的动作例的图。
如图11所示,以图示的标号51表示的偏移量即MC帧发送开始定时与TC频带开始位置之间的偏移量变得比图10的示例要大。然而,如图示的标号52、53所示,每一次的校正量变小。也就是说,例如每一次的校正量为上述上限值(=0.05ms)等。由此,能在不产生问题的情况下进行校正。
通过反复执行对上述每一次的校正量设置上限的校正,来最终获得图12所示的状态。即,如图12所示,从站点中,得到MC帧发送开始定时与TC频带开始位置相一致的状态。换言之,这意味着从站点中的节拍周期开始定时与控制器周期开始定时同步。并且,这也意味着从站点的节拍周期开始定时与主站点的节拍周期开始定时相一致。
根据以上的实施例,在由多个可编程控制器构成的多配置系统中,能在不遗漏数据交换的情况下使所有配置的网络控制周期同步。
另外,将以上的实施例设为实施例1。
实施例1的上述特征例如也可以按下述方式进行描述。
首先,将多个控制器(CPU模块)设为主站点和除此以外的站点(从站点),主站点中,在控制器级网络的周期控制中使用设备级网络的定时计数器。该定时计数器用于对上述节拍周期(1ms)进行计数,上述节拍计数器41是一个示例。主站点中,将控制器周期设为节拍周期的整数倍。主站点中,基于本站点的节拍周期生成控制器周期,并使该控制器周期与该节拍周期同步。
然后,例如通过在先申请中记载的处理,使各从站点的控制器周期与上述主站点的控制器周期同步。另外,各从站点在同步完成后可以利用本站点的控制器周期用计数器,来生成例如上述5ms周期的控制器周期开始定时。此外,各从站点也具有上述设备级网络的定时计数器。
之后,在各从站点的每一个中,使本站点的节拍周期与本站点的控制器周期同步,该本站点的控制器周期已与上述主站点的控制器周期同步。这通过下述方式等来实现,即:求出上述校正方向及校正量,并基于求得的校正方向及校正量来暂时地改变上述定时计数器的周期。此时,在校正量超过上限值的情况下,分为设备级网络的多个周期来实施校正。另外,上限值是一次可校正的单位,通过预先决定并进行设定来得到。
另外,并不限于始终需要使与控制器级网络相连接的控制器同步。由此,可以选择是使用设备级网络的定时计数器来进行控制器级网络的周期控制、还是使用其他的定时计数器来进行控制器级网络的周期控制。
以上,对实施例1进行了说明。
接着,对实施例2进行说明。
在近年来的金属轧制加工等大规模高速系统中,对轧制辊的控制参数、轧制辊的转速、压力等的实测值、轧制对象的温度、板厚等与设备级网络相连接的机器的模拟测量值进行采集、分析。通过进行上述动作,从而力求获得适用于下述目的的系统,即:进行用于提高产品品质的参数调整、获取测定数据的变异来实现系统结构机器的预防保全。
对于上述技术问题,提出上述专利文献2那样的方式,作为采集成为系统的数据采集对象的机器的数据的方法。
然而,在专利文献2那样的方式中,例如如上述图25所示那样,需要对成为数据采集对象的机器连接用于数据采集的其他网络,从而存在下述那样的技术问题。
·在数据采集对象机器中,对于系统控制、数据采集需要进行不同处理,机器的软件负荷增大。
·由于另行铺设的数据采集用的电缆,元器件成本、电缆铺设成本、系统试验成本等增大。
在不使用其他网络,而灵活应用控制器级网络进行数据采集的情况下,关于采集的数据,存在以下技术问题。
·仅能采集控制器级的控制数据。
·控制器级网络和应用程序控制周期(应用程序运算周期)不具有依赖关系。
·一般而言,控制器级网络的控制周期比控制器的应用程序控制周期要长。
为了在无需设置其他的采集网络等的情况下,避免成本上升并采集上述那样的设备级的各种数据,只要在与控制器级网络相连接的所有的控制器中,对设备级网络的控制周期进行同步,同时在控制器级网络中,将设备级网络的数据与在整个系统中成为基准的时间信息一起进行处理即可。
这些条件中,前者的条件(同步)由上述实施例1来实现。即,能通过实施例1来同步所有控制器的节拍周期开始定时。后文将阐述后者的条件(成为基准的时间信息)。
在控制器级网络的控制周期为设备级网络的控制周期的整数倍(尤其是2倍以上)的情况(例如控制器周期为10ms,而节拍周期为2ms等)下,优选为能利用控制器采集设备级网络所涉及的数据(各IO模块的数据等),并在控制器级网络的控制周期中将该采集数据一并通知给上位计算机等。
为此,例如在每次与设备级网络上的IO模块等进行数据交换时,均将该采集数据复制到控制器级网络所涉及的发送数据缓冲区域(NET_LS22内未图示的缓冲存储器等),并在数据上附加表示采集时的设备级控制周期(节拍周期)的识别信息,然后发送到控制器级网络上。
上位计算机经由控制器级网络来接收来自各控制器的上述发送数据。并且,基于上述附加数据等能判别各数据的时间序列。
后文详细阐述上述各处理。
此处,实施例2的系统结构本身可以与上述实施例1大致相同,这里不进行特别的图示、说明。
这里,在上述配置内,由上位支持工具等进行控制应用程序的下载、应用程序起动/停止等的控制,监视器的监视等。
各配置中的各种处理一般而言以对控制应用程序的执行进行控制的CPU模块为中心来进行,也包含通信功能。由于各配置在功能上、物理上均以相分离的方式进行配置,因此通信功能所进行的数据交换一般为非同步。
例如,上述服务器装置2为了进行各个配置的信息采集、指示通知,经由控制器级网络与各控制器个别地进行通信。服务器装置2即使想一并采集设备级机器(IO模块等)的数据,但由于通信定时而导致数据获取时期存在偏差,即使是一系列的处理中采集到的数据,也无法保证获取定时。
这里,本申请人在上述在先申请(PCT/JP2013/050121)中提出了涉及与控制器级网络相连接的多个控制器配置的同步方式。
根据本发明,通过在控制器级网络中利用在先申请2(国际公开号:WO2013/121568A1)的发明,且通过将该控制器级网络所使用的“计时器”用于控制器应用程序的执行周期管理,从而能使属于不同配置的控制器同步。
作为应用于控制器的设备级的网络,存在有日本专利特开2012-68856号公报中公开的网络。该网络的特征在于,在构成环状的网络中,使向IO机器进行输出的输出定时同步。若将该设备级网络应用于本发明的控制器,则在使经由控制器级网络相连接的控制器及其控制设备同步后的定时提供控制数据,其结果使得也能在相同的定时获得采集的数据(从控制器的角度来看,是来自各设备机器的输入数据)。
图13表示实施例2中的数据采集动作例。
另外,图13中,以节拍周期与控制器周期为相同长度的情况为例,但通常如上所述,控制器周期的长度是节拍周期的整数倍(尤其是2倍以上)。图13示出通过上述实施例1,从而使得系统上的所有控制器的控制器周期及节拍周期处于同步的状态。
首先,关于控制器级网络,主站点在每一个控制器周期开始定时向各从站点发送同步化帧(TC帧)。图13所示的“TC”表示TC帧发送定时。
另外,同步化帧如在先申请2(国际公开号:WO2013/121568A1)等所公开的那样,原本是用于调整整个系统中各控制器的控制周期开始定时的帧。然而,本手法中,并不限于利用同步化帧来进行控制周期开始定时的调整。本手法中,利用同步化帧中包含的时间信息等,来进行各采集数据的时间序列管理。
这里,图示的标号51表示控制周期开始定时。
如上所述,在图示的示例的情况下,由于控制器周期=节拍周期,且处于通过实施例1而实现所有控制周期开始定时相一致的状态,因此,图示的标号51表示所有控制器(主站点和各从站点)的控制器周期开始定时及节拍周期开始定时(这里为应用程序运算周期的开始定时)。
图24所示的示例中,关于CPU模块在总线上的动作(TF、MC、MSG),在紧接着节拍周期开始定时之前是TF帧接收完成,在紧接着节拍周期开始定时之后是MC帧发送处理。如上所述,CPU模块向总线上发送TF帧,该TF帧在各IO模块巡回,并再次回到CPU模块。此时,各IO模块在TF帧上附加自己的某种信息。由此,上述TF帧接收完成意味着CPU模块采集到了各IO模块的信息。
这里,若将CPU模块的处理分为图2所示的CPU21的处理和DEV_LSI24来进行说明,则由DEV_LSI24执行上述总线上的动作(TF、MC、MSG)。上述采集到的各IO模块的信息例如被保存于SRAM25。这相当于上述TF帧接收完成。CPU21例如如图24所示那样,在每一次节拍周期开始定时到来时均从例如SRAM25获取TF帧的信息,并基于该信息等执行规定的运算处理等,将运算结果保存于例如SRAM25。DEV_LSI24在每一次MC帧发送定时到来时将该运算结果作为上述MC帧发送到总线上。这相当于向各IO模块输出运算结果。
如上所述,在将应用程序运算周期作为基准来考虑的情况下,如上述那样,能将上述总线上的动作(TF、MC等)视作在紧接着周期开始定时之前为TF帧接收完成(输入),在紧接着周期开始定时之后为MC帧发送处理(输出)。图13中,将此作为图示的“输入”、“输出”来表示。并且,通过利用上述实施例1来进行控制周期开始定时校正,从而如图示那样,所有控制器(CTL1、CTL2)中的“输入”的定时及“输出”的定时相一致。另外,这里作为控制器(CPU模块)的一个示例,仅示出CTL1、CTL2这两个。
一直以来,控制器级网络的TS频带被时间分割为分配给各控制器的频带。图13所示的示例中,图示的“D1”频带被分配给CTL1,图示的“D2”频带被分配给CTL2。由此,各控制器CTL1、CTL2在每个控制器周期中,当处于分配给自己的频带时输出该时刻的最新的上述“输入”及“输出”。并且,如图所示,所有控制器中在同一定时获得的“输入”及“输出”被打包发送至控制器级网络上的发送目的地。该数据包发送目的地例如为从站点或服务器装置2等。
从站点或服务器装置2能将任意的控制器周期中接收到的数据包视作全部是该控制器周期刚开始时(控制器周期开始定时)之前的“输入”和紧接其之后的“输出”。由此,在服务器装置2中,能正确地推定接收到的数据包的数据的采集时间和输出时间。然而,为了更可靠地进行推测,优选为如后述那样利用上述TC帧中包含的时间信息。对于此,将在后文中参照图14等进行说明。
另外,如实施例1中说明的那样,控制器周期的一个周期由TC频带、TS频带等构成,上述TF帧在TC频带内进行收发。并且,如上所述,各站点的数据发送在TS频带内进行。对TS频带内进行时间分割,并分配给各站点。各站点在分配给自己的定时进行数据发送。例如,如图所示,控制器CTL1在图示的定时发送图示的数据D1,控制器CTL2在图示的定时发送图示的数据D2。
通过上述实施例1的定时调整处理,所有控制器间的控制器周期开始定时同步,且节拍周期也同步。由此,如图所示,输入处理在控制器CTL1和CTL2中成为同一定时,并且输出处理在控制器CTL1和CTL2中也成为同一定时。因此,在各控制器周期的每一个中,其数据D1和数据D2是在同一定时被输入或被输出的数据。其他的控制器的发送数据(图示的数据D3等)也同样。由此,例如在任意的控制器周期内发送的各数据帧(数据D1、数据D2、数据D3)是在同一定时被输入或被输出的数据。
由此,与图26的情况不同,不会发生输入输出数据的遗漏、重复,且所有控制器将同一定时的输入输出数据发送到控制器级网络上的发送目的地。
另外,“输入”、“输出”的定时也可以不是图13所示的定时。例如“输入”在图13中为紧接着周期开始定时之前,但并不限于该示例。然而,需要进行预先设定,使得所用控制器中成为相同的定时。例如,若“输入”设为紧接着周期开始定时之后,则需要构成为在所有控制器的紧接着周期开始定时之后进行“输入”(TF帧接收完成)。
由此,在各控制器的每一个中,基于自己的周期开始定时等来决定“输入”、“输出”的定时,但在所有控制器中该“输入”、“输出”定时预先设为相同。由此,若通过实施例1将所有控制器的周期开始定时调整为一致,则可在所有控制器中以相同定时进行“输入”、“输出”。
在控制器级网络上采集的数据有时会因帧的异常、上位PC的处理负荷等而发生数据遗漏,此外,为了确保从各控制器采集到的数据的获取定时的唯一性,需要在整个系统中确保同一定时的信息。
为了表示从各站点发送的数据帧的唯一性,利用在各周期的每一周期必然会从主站点向所有从站点广播发送的同步化帧(TF帧)所包含的“主站点的“计时器值”(NET_TIME)(96)”即可。即,各从站点将“主站点的“计时器值”(NET_TIME)(96)”保存于自己的发送数据帧来进行发送即可。
图14示出上述同步化帧(TC帧)、数据帧的帧格式例。
另外,例如主站点将TC帧发送至所有从站点,各从站点在上述独自的定时回复数据帧。
图示示例的TC帧90由H_TYPE91、SIZE92、FC93、S_ADDR94、R_ADDR95、NET_TIME96、F_SEQ97、STA98构成。另外,也可以将它们视作帧头文件的数据结构。
H_TYPE91表示帧头文件类型,SIZE92表示帧整体的大小。FC93表示帧种类,这里保存有TC帧的帧种类。S_ADDR94、R_ADDR95表示发送站点编号、接收站点编号。
F_SEQ97是帧编号,是无论帧种类如何,每次发送帧时均进行递增并附加的通用编号。这是用于在接收侧中与NET_TIME96等进行匹配以检查帧接收遗漏的信息。
并且,NET_TIME96例如表示该TC帧90的发送时间,例如使用未图示的计时器的当前值,但并不限于该示例。本示例中,使用“计时器值”(NET_TIME)作为唯一表示数据采集定时的信息,但也可以使用表示控制器级网络的周期的计数器值(扫描顺序编号)等。另外,上述计时器值是TC帧的发送源装置(例如主站点)内置的计时器的值。
另一方面,图示的示例中,数据帧100由H_TYPE101、SIZE102、FC103、S_ADDR104、R_ADDR105、NET_TIME106、F_SEQ107、STA108、控制数据109、采集数据110等构成。
可以将上述H_TYPE101~STA108视作为与上述H_TYPE91~STA98大致相同,此处省略说明。然而,FC103中保存有数据帧的帧种类。
这里,控制数据109中保存有例如通过上述MC帧输出到各IO模块的输出数据。
采集数据110中包含有例如通过上述TF帧从各IO模块采集到的数据(上述“输入”)即图示的数据115,除此以外还包含图示的D_TYPE111、数据部大小(DT_SIZE)112、NET_TIME113、本站点编号(S_ADDR)114等。另外,D_TYPE111是表示该数据为采集数据的识别信息。
这里,NET_TIME113通过复制上述TC帧90的NET_TIME96而得到。由此,在获取到该采集数据110等的装置侧(主站点、服务器装置2等)中,能判别各采集数据110是涉及哪一个控制器周期的数据。由此,根据上述情况,能判别各采集数据110的采集定时。
此处,上述实施例2中,在控制器周期为节拍周期的N倍(N=2,3,4,5,……;2倍以上的整数倍)的情况下,仅采集最接近控制器周期开始定时的数据。
因此,在各控制器(从站点)内设置暂时储存来自上述IO模块的采集数据等的中间缓冲器(未图示),将各节拍周期的每一个的采集数据等依次储存于该中间缓冲器。在每个控制器周期开始定时,将储存在中间缓冲器的所有数据打包发送至控制器级网络的发送目的地(主站点等),并且删除中间缓冲器的储存数据。将该方式作为实施例2的变形例。
这里,在任意的控制器周期接收到数据包的主站点等中虽然了解到该数据包是该控制器周期之前等的规定期间内的采集数据组等,但不知道该各个数据是涉及哪个节拍周期的数据。因此,如图15所示,优选为对各数据附加用于识别是涉及哪个节拍周期的数据的识别信息。该识别信息例如在储存于中间缓冲器时进行附加。由此,该示例中,在生成并发送数据包时,只要简单地将中间缓冲器的储存数据保存到数据包。
图15是上述实施例2的变形例所使用的数据帧100的数据结构例。
图15中对与图14所示的数据帧100的数据结构大致相同的数据标注相同标号,并省略其说明。
图15所示的示例中,相对于图14所示的示例,在采集数据110中进一步追加图示的IO_SIZE121、采集数(IO_NUM)122,并且对多个各采集数据124的每一个附加表示设备级中的采集周期的IO_SEQ123(识别信息)。
图16表示实施例2的变形例中的数据采集动作例的图。
在图16所示的示例中,控制器周期的长度是节拍周期的3倍。
因此,在各控制器周期的每一个中,将3个节拍周期的采集数据发送至控制器级网络上的发送目的地。
该示例中,相对于一次控制器周期,在3次节拍周期开始定时的每一次将采集数据保存并储存于中间缓冲器。此时,将上述识别信息(相当于IO_SEQ123)附加到各采集数据。
在图16所示的示例中,首先在上述3次节拍周期中的最初的节拍周期中,将此时的采集数据等保存于中间缓冲器。此时,在图中,附加“1”来作为上述识别信息。对此时所有的采集数据等附加“1”。由此,成为在中间缓冲器中保存有图示的储存数据133的状态。
同样,在第2次的节拍周期中,将此时的采集数据等追加保存到中间缓冲器,并且对该采集数据等附加“2”以作为上述识别信息。由此,成为在中间缓冲器中保存有图示的储存数据134的状态。
同样,在第3次的节拍周期中,将此时的采集数据等追加保存到中间缓冲器,并且对该采集数据等附加“3”以作为上述识别信息。由此,成为在中间缓冲器中保存有图示的储存数据135的状态。
由此,对任意控制器周期内的采集数据附加识别信息,并储存于中间缓冲器。然后,在下一个控制器周期的规定定时(例如在图示的控制器CTL1的情况下为图示的“D1”的定时),将中间缓冲器的所有储存数据打包发送到控制器级网络的发送目的地(主站点等)。在上述示例中,将储存数据135发送到规定的发送目的地。
在发送目的地侧,基于上述各数据的识别信息,能判别各数据是上述控制器周期内的哪一个定时(第一次的节拍周期、第二次的节拍周期、第三次的节拍周期)的采集数据。
根据上述实施例2,首先能解决图26所说明的问题。即,能在所有的控制器中,使设备级网络所涉及的数据的输入、输出定时同步。并且,例如能在保证集中于发送目的地装置等的各I/O数据的同时性的同时,提高时间序列的判别精度。也就是说,能高精度地判别哪个数据是与哪个数据同时采集的数据、或各数据中的每一个与其他数据在时间序列上的前后关系等。高精度意味着与节拍周期的长度(此处为1ms)相对应。
以往,如图26说明的那样,即使是在同一控制器周期从各控制器采集而来的数据,也不一定是同一定时采集到的数据。以往,只能获得与控制器周期的长度(此处为5ms)相对应的精度。实施例2中能解决上述问题。
图17是本示例的可编程控制器系统的功能框图。
本示例的可编程控制器系统基本具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作。
上述第1网络的一个示例是上述控制器级网络1,因此,上述第1周期的一个示例是上述控制器周期。上述第2网络的一个示例是上述设备级网络13,因此,上述第2周期的一个示例是上述节拍周期。
上述多个控制器是特定控制器150、以及该特定控制器150以外的各控制器160(下面记为其他控制器160)等。另外,特定控制器150的一个示例是上述主站点的控制器(CPU模块等)。其他控制器160的一个示例是上述各从站点的控制器。
上述特定控制器150包括第1周期生成部151,该第1周期生成部151基于自己的所述第2周期开始定时来决定自己的所述第1周期开始定时。
上述其他控制器160分别具有第1周期同步部161、第2周期校正部162等。
第1周期同步部161使自己的上述第1周期开始定时与特定控制器150的第1周期开始定时同步。作为一个示例,上述功能可通过上述在先申请(PCT/JP2013/050121)的控制器级网络上的各控制器的控制器周期的同步处理来实现,但并不限于该示例。
第2周期校正部162基于自己的第1周期开始定时对自己的第2周期开始定时进行校正。另外,如上所述,自己的第1周期开始定时与特定控制器150的第1周期开始定时同步。并且,利用上述第1周期生成部151,在特定控制器150中使其第1周期开始定时与第2周期开始定时同步。因而,通过进行上述第2周期校正部162的校正,所有的其他控制器160中的第2周期开始定时与特定控制器150中的第2周期开始定时同步。
例如在上述第2周期开始定时的校正量超过规定的上限值的情况下,上述第2周期校正部162利用该上限值以下的校正值分多次来进行所述第2周期开始定时的校正。上述校正量的一个示例是上述偏移量P或“节拍周期-P”等,上述上限值的一个示例是上述AJST_UNIT等。
上述上限值例如基于第2周期内的预先分配的各频带以外的空闲时间段来决定。
或者,例如上述第2周期内由控制器160等经由第2网络从各输入输出对象采集数据的频带即TF频带、控制器160等向各输入输出对象进行输出的频带即MC频带、任意的一对一的消息收发频带即MSG频带构成。上述上限值基于上述MSG频带后的空闲时间来决定。
或者,例如上述第2周期内由控制器160等经由第2网络从各输入输出对象采集数据的频带即TF频带、通过控制器160等使包括向各输入输出对象的输出的MC帧在第2网络上进行巡回的频带即MC频带、任意的一对一的消息收发频带即MSG频带构成。各输入输出对象根据基于第2周期的IO周期进行动作。即使由于上述校正而导致第2周期开始定时改变校正值的量,也将上述上限值决定为使得在最后接收上述MC帧的输入输出对象接收该MC帧之前不会成为下一个IO周期。
另外,上述上限值的决定方法例如以上述AJST_UNIT的值的决定方法为基准。由此,上述IO周期相当于例如图24的标号223所示各IO模块A、B、C的节拍周期。
上述第2周期校正部162例如决定校正方向为-方向还是+方向,在将校正方向设为-方向的情况下,通过暂时性地缩短自己的第2周期的长度,来进行该第2周期开始定时的校正。另一方面,在将校正方向设为+方向的情况下,通过暂时性地延长自己的第2周期的长度,来进行该第2周期开始定时的校正。如上述图4(a)、(b)所示那样对该处理的一个示例进行了说明,但并不限于该示例。
例如,上述第2周期校正部162例如在从自己的第1周期开始定时起到紧接其之后的第2周期开始定时为止的偏移量小于该第2周期的长度的一半的情况下,将所述校正方向设为所述-方向,在该偏移量为该第2周期的长度的一半以上的情况下,将所述校正方向设为所述+方向。利用上述图3对该处理的一个示例进行了说明。上述偏移量的一个示例是图3的说明中的偏移量P,但并不限于该示例。
上述第2周期校正部162例如在将上述校正方向设为上述-方向的情况下,将上述偏移量作为第2周期的校正量,在将上述校正方向设为上述+方向的情况下,将“第2周期的长度-偏移量”作为第2周期的校正量。利用上述图3对该处理的一个示例进行了说明。上述校正方向的一个示例是图3的说明中的AJST_VEC,上述第2周期的校正量的一个示例是图3的说明中的AJST_TIME,但并不限于这些示例。
例如,所述各控制器160还具有在每个上述第1周期将经由上述第2网络获得的来自各输入输出对象的最近的采集数据经由上述第1网络发送到规定的发送目的地装置的发送部163。
关于此,例如上述发送目的地装置在各第1周期开始时将包含此时的时间信息的特定数据包发送至各控制器160。然后,各控制器160的上述发送部163在各第1周期的每一个周期,将接收到的特定数据包所包含的上述时间信息附加到上述最近的采集数据的发送数据包,并发送到上述发送目的地装置。并且,利用上述图13、图14等对该处理的一个示例进行了说明。
上述第1周期例如是上述第2周期的整数倍的长度。尤其是2倍以上的长度。例如,图3的示例中,控制器周期是节拍周期的5倍的长度。
在这样的示例中,例如上述发送部163在每个上述第1周期,将在该第1周期内的每个第2周期中从各输入输出对象获取到的采集数据与表示是哪个第2周期时的采集数据的识别信息一起进行储存,并在最后汇总该储存数据并发送到所述发送目的地装置。另外,利用上述图15、图16等说明该处理的一个示例。
另外,上述发送目的地装置例如是控制器150(主站点等),但并不限于该示例,例如也可以是服务器装置2等。
最后,对在先申请(PCT/JP2013/050121)的控制器级网络上的各控制器的控制器周期的同步处理进行说明。参照图18、图19、图20对一个示例进行说明。
另外,作为一个示例,上述CPU模块11可以视作具有以下说明的在先申请的CPU模块180的功能的一部分(尤其是同步校正处理),但并不限于该示例。
图18是用于说明在先申请的CPU模块180的各功能部的功能框图。
CPU模块180包括延迟时间测量部181、同步化帧发送部182、延迟时间接收部184、同步校正部186、应用程序执行部188、数据更新部190、数据发送部192等各种功能部。
这些各功能部有时根据该可编程控制器作为主设备进行动作还是作为从设备进行动作来起作用,有时不根据此起作用。这里,图上左侧表示作为主设备进行动作时的CPU模块180即主CPU模块180a的结构例。同样,图上右侧表示作为从设备进行动作的CPU模块180即从CPU模块180b的结构例。虚线表示不根据是主设备还是从设备来起作用的功能部。
另外,本实施方式并不限于上述结构,也可以具有相同结构,以使得一个CPU模块122可以成为主CPU模块180a也可以成为从CPU模块180b。
延迟时间测量部181在CPU模块180作为主CPU模块180a起作用的情况下,将用于测量主CPU模块180a和从CPU模块180b间的传输延迟时间的传输延迟时间请求帧发送到任意的从CPU模块180b。该传输延迟时间请求帧的格式实质上与同步化帧相同,是同步化帧内的规定部分(例如命令部)的数据不同的帧。该传输延迟时间请求帧与主CPU模块180a内生成的基准信号同步发送。
延迟时间测量部181在发送传输延迟时间请求帧后,若从任意的从CPU模块180b接收到接收完成帧,则获取接收到接收完成帧时的时刻。然后,延迟时间测量部181根据发送传输延迟时间请求帧时的时刻和接收到接收完成帧时的时刻的差分来计算主CPU模块180a和任意的从CPU模块180b间的来回传输延迟时间。延迟时间测量部181将计算得到的来回传输延迟时间除以2,并将包含该结果即传输延迟时间的传输延迟时间通知帧与下一个基准信号同步地发送至任意的从CPU模块180b。于是,能将网络194的传输延迟时间通知给任意的从CPU模块180b。另外,可以将网络194视作相当于上述控制器级网络1,但并不限于该示例。
在CPU模块180作为主CPU模块122a起作用的情况下,同步化帧发送部182与基准信号同步地将预先准备的同步化帧发送到多个从CPU模块180b。该同步化帧是用于使从CPU模块180b的基准信号生成部的计数值与主CPU模块180a的基准信号生成部的计数值相匹配的信号。
在CPU模块180作为从CPU模块180b起作用的情况下,延迟时间接收部184从主CPU模块180a接收传输延迟时间请求帧,并根据该传输延迟时间请求帧,向主CPU模块180a发送接收完成帧。若延迟时间接收部184从主CPU模块180a接收传输延迟时间通知帧,则将该帧中包含的传输延迟时间存储到RAM164等中。由此,从CPU模块180b能获得主CPU模块180a和从CPU模块180b间的传输延迟时间。
在CPU模块180作为从CPU模块180b起作用的情况下,同步校正部186使由从CPU模块180b内的基准信号生成部(未图示)生成的基准信号提前传输延迟时间的量。
具体而言,首先,若同步校正部186从主CPU模块180a接收同步化帧,则从基准信号生成部获取计数值,并计算出相当于传输延迟时间的值(基准信号生成部(未图示)的时间换算值)和获取到的计数值之间的差分即校正量。接着,从基准值中减去校正量来导出校正基准值,并将该校正基准值作为新的基准值暂时设定于基准信号生成部。因此,校正基准值由“基准值-(“相当于传输延迟时间的值”-“基准信号生成部的计数值”)”来表示。
然后,设定校正基准值,在基准信号生成部中,若该校正基准值的计数完成,则同步校正部186迅速将原来的基准值设定于基准信号生成部。于是,能暂时性地使基准值提前传输延迟时间的量。这里,举出一次性执行相应于传输延迟时间的量的校正的示例,但并不限于该情况,也可以分多次执行。另外,本实施方式中,在同步校正部186没有从主CPU模块180a获得传输延迟时间而接收到同步化帧的情况下,将传输延迟时间设为零(0)来进行上述校正处理即可。
本实施方式中,能高精度地使主CPU模块180a的基准信号生成部(未图示)和从CPU模块180b的基准信号生成部(未图示)同步。另外,上述同步校正处理可以连续地进行,也可以每隔规定时间间歇地进行。
应用程序执行部188在主CPU模块180a及从CPU模块180b的任一个中,均根据基准信号生成部所生成的基准信号(将基准信号作为中断信号来接收),来对执行程序进行执行,并经由输入输出模块191控制被控制机器192。因此,该执行程序根据基准信号周期性地被执行。
数据更新部190在主CPU模块180a及从CPU模块180b的任一个中,均进行下述动作,即:若生成数据(例如状态信息、传感器的检测结果、控制结果等),则利用生成的数据来更新自己的CPU模块180内的共用存储器(未图示)的内容。
数据更新部190将该数据传输给其他的CPU模块180。若从其他的CPU模块180传输来数据,则数据更新部190基于上述数据更新自己的CPU模块180内的共用存储器(未图示)的内容。于是,能与其他的CPU模块180实现数据共享。数据更新部190将数据发送到其他的CPU模块180的发送定时通过基于基准信号生成部(未图示)而预先设定于每一个CPU模块180。
在主CPU模块180a及从CPU模块180b的任一个中,数据发送部192均进行下述动作,即:将应用程序执行部188通过实施执行程序而生成的数据中的被管理装置193要求采集的数据发送到管理装置193。所涉及的发送定时沿用数据更新部190的发送定时。本实施方式中,CPU模块180彼此同步,因此管理装置193采集到的是生成定时相同的数据。
管理装置193可以被视为上述服务器装置2的一个示例,但并不限于该示例。
(同步校正处理)
图19是用于说明同步校正处理例的时序图。这里,假设从CPU模块180b的基准信号比主CPU模块180a的基准信号延迟10μsec。另外,虽然将基准值(处理周期)设为1000μsec,但并不限于此,例如能由管理装置1930适当改变设定。另外,图中,为了简略,将μsec记为μs。
图19中,主CPU模块180a的基准信号生成部进行计数。若该计数值在“图19的图上(1)所示的时刻”(以下记为“图19的(1)时刻”。其他也同样)达到基准值,则在主CPU模块180a内输出基准信号。然后,应用程序执行部188根据该基准信号实施执行程序。图19中,以阴影表示的三角形的区域表示计数值的推移,随着时间的经过计数值增加,若达到计数目标(例如基准值),则进行重置。
从CPU模块180b的基准信号生成部也与主CPU模块180a并行地进行计数。若该计数值在图19的(2)时刻达到基准值,则输出基准信号。然后,应用程序执行部188根据该基准信号实施执行程序。由此,主CPU模块180a和从CPU模块180b分别根据独立的基准信号实施规定处理。
若在主CPU模块180a中开始同步校正处理,则主CPU模块180a的延迟时间测量部181发送用于计算传输延迟时间的传输延迟时间请求帧(图19的(3))。若从CPU模块180b的延迟时间接收部184从主CPU模块180a接收传输延迟时间请求帧,则根据该传输延迟时间请求帧向主CPU模块180a发送接收完成帧(图19的(4))。
接着,若主CPU模块180a的延迟时间测量部181接收到接收完成帧,则计算主CPU模块180a和从CPU模块180b间的来回传输延迟时间。然后,延迟时间测量部181将包含计算得到的来回传输延迟时间(400μsec)除以2而得到的传输延迟时间(200μsec)的传输延迟时间通知帧发送至从CPU模块180b(图19的(5))。从CPU模块180b的延迟时间接收部184若接收到传输延迟时间通知帧,则将该帧中包含的上述来回传输延迟时间(相当值)存储至存储器/缓冲器(图19的(6))。
同步校正处理开始后,主CPU模块180a的同步化帧发送部182向从CPU模块180b发送同步化帧以作为中断信号(图19的(7))。然后,若从CPU模块180b经过网络194的单向传输延迟时间(200μs)在图19的(8)的时刻接收到同步化帧,则同步校正部186从基准信号生成部获取计数值(相当于190μsec)(图19的(9))。同步校正部186利用传输延迟时间(200μsec)和基准值(1000μsec),通过“基准值-(“相当于传输延迟时间的值”-“基准信号生成部的计数值”)=1000-(200-190)”来获得校正基准值990μsec。然后,同步校正部186将该校正基准值作为新的基准值暂时性地设定到基准信号生成部(图19的(10))。
之后,由于在图19的(11)时刻计数值暂时性地达到校正基准值990μs,因此基准信号生成部重启。于是,从CPU模块180b的基准信号与主CPU模块180a的基准信号同步。
图20是表示同步校正处理的简要顺序例的图。图20的示例中,为了方便说明,对使用了主CPU模块180a和从CPU模块180b的同步进行说明,但本实施方式并不限于此,能使多个从CPU模块180b与一个主CPU模块180a同步。
图20的同步校正处理中,首先主CPU模块180a的基准信号生成部(未图示)生成基准信号(S11),从CPU模块180b的基准信号生成部(未图示)与主CPU模块180a独立地生成基准信号(S12)。该处理周期性地进行。
若开始主CPU模块180a的同步校正处理,则主CPU模块180a的延迟时间测量部181为了计算传输延迟时间而将传输延迟时间请求帧发送至从CPU模块180b(S13)。若从CPU模块180b的延迟时间接收部184接收传输延迟时间请求帧,则向主CPU模块180a发送接收完成帧(S14)。
若主CPU模块180a的延迟时间测量部181接收到接收完成帧,则例如计算出传输延迟时间(S15),并生成包含计算得到的传输延迟时间等的传输延迟时间通知帧(S16)。然后,延迟时间测量部181经由网络194将生成的传输延迟时间通知帧发送到从CPU模块180b(S17)。若从CPU模块180b的延迟时间接收部184接收到传输延迟时间通知帧,则将该传输延迟时间通知帧中包含的传输延迟时间(换算值)存储至存储器/缓冲器等(S18)。
然后,主CPU模块180a的同步化帧发送部182与基准信号同步地向从CPU模块180b发送同步化帧以作为中断信号(S19)。
若从CPU模块180b接收同步化帧,则同步校正部186从基准信号生成部(未图示)获取计数值(S20)。同步校正部186利用传输延迟时间和基准值,计算“基准值-(“相当于传输延迟时间的值”-“基准信号生成部的计数值”)”,来获得校正基准值(S21)。然后,将该校正基准值作为新的基准值,暂时性地设定于基准信号生成部(S22)。设定校正基准值,若该校正基准值的计数完成,则同步校正部186迅速将原来的基准值设定于基准信号生成部(S23)。
对控制系统所包含的所有从CPU模块180b执行上述同步校正处理。于是,从CPU模块180b的基准信号与主CPU模块180a的基准信号同步。即,能使在各CPU模块180上进行动作的执行程序(应用程序)同步。
如上所述,根据实施例2、其变形例,在由多个可编程控制器构成的多重配置系统中,能以了解系统整体的时间序列(采集定时;哪个数据在哪个数据之前、在哪个数据之后等)的方式获取并管理各配置的每一个的经由设备级网络采集到的采集数据。采集数据例如由上位装置等经由控制器级网络从各配置的控制器获取得到。由此,相比于现有系统,能以更高精度进行系统参数调整、故障诊断。
另外,上述设备级网络是例如环状的网络,但并不限于该示例。控制器级网络是例如具有现有的计时器同步功能的网络,但并不限于该示例。
权利要求书(按照条约第19条的修改)
1.一种可编程控制器系统,该可编程控制器系统具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作,所述可编程控制器系统的特征在于,
多个所述控制器中的特定控制器具有基于自己的所述第2周期开始定时来决定自己的所述第1周期开始定时的第1周期生成单元,
所述特定控制器以外的各控制器包括:
使自己的所述第1周期开始定时与所述特定控制器的第1周期开始定时同步的第1周期同步单元;以及
基于自己的所述第1周期开始定时对自己的所述第2周期开始定时进行校正的第2周期校正单元。
2.如权利要求1所述的可编程控制器系统,其特征在于,
通过进行由所述第2周期校正单元执行的所述校正,所述特定控制器以外的各控制器中的所述第2周期开始定时与所述特定控制器中的所述第2周期开始定时同步。
3.如权利要求2所述的可编程控制器系统,其特征在于,
在所述第2周期开始定时的校正量超过规定的上限值的情况下,所述第2周期校正单元利用在该上限值以下的校正值分多次进行所述第2周期开始定时的校正。
4.如权利要求3所述的可编程控制器系统,其特征在于,
所述上限值基于所述第2周期内的被预先分配的各频带以外的空余时间段来决定。
5.如权利要求4所述的可编程控制器系统,其特征在于,
所述第2周期内由TF频带、MC频带、以及MSG频带构成,所述TF频带是所述控制器经由所述第2网络从所述各输入输出对象采集数据的频带,所述MC频带是所述控制器向所述各输入输出对象进行输出的频带,所述MSG频带是任意的一对一的消息收发频带,
所述上限值基于所述MSG频带后的空余时间来决定。
6.如权利要求4所述的可编程控制器系统,其特征在于,
所述第2周期内由TF频带、MC频带、以及MSG频带构成,所述TF频带是所述控制器经由所述第2网络从所述各输入输出对象采集数据的频带,所述MC频带是通过所述控制器使包括向所述各输入输出对象的输出的MC帧进行巡回的频带,所述MSG频带是任意的一对一的消息收发频带,
所述各输入输出对象根据基于所述第2周期的IO周期进行动作,
即使所述第2周期的开始定时因所述校正而改变与所述校正值相对应的量,所述上限值仍然会在最后接收所述MC帧的所述输入输出对象接收该MC帧之前被决定,以使得不会成为下一个所述IO周期。
7.如权利要求1至6的任一项所述的可编程控制器系统,其特征在于,
所述第2周期校正单元决定将校正方向设为-方向还是设为+方向,在将校正方向设为-方向的情况下,通过暂时性地缩短所述自己的第2周期来进行该第2周期开始定时的校正,在将校正方向设为+方向的情况下,通过暂时性地延长所述自己的第2周期来进行该第2周期开始定时的校正。
8.如权利要求7所述的可编程控制器系统,其特征在于,
在从自己的第1周期开始定时到紧随其之后的第2周期开始定时为止的偏移量小于该第2周期的长度的一半的情况下,所述第2周期校正单元将所述校正方向设为所述-方向,在该偏移量为该第2周期的长度的一半以上的情况下,所述第2周期校正单元将所述校正方向设为所述+方向。
9.如权利要求7所述的可编程控制器系统,其特征在于,
所述第2周期校正单元在将所述校正方向设为所述-方向的情况下,将所述偏移量设为第2周期的校正量,在将所述校正方向设为所述+方向的情况下,将“第2周期的长度-偏移量”设为第2周期的校正量。
10.如权利要求1至6的任一项所述的可编程控制器系统,其特征在于,
所述各控制器还包括:
发送单元,该发送单元在每个所述第1周期将经由所述第2网络获得的来自所述各输入输出对象的最近的采集数据经由所述第1网络发送至规定的发送目的地装置。
11.如权利要求10所述的可编程控制器系统,其特征在于,
所述发送目的地装置在各第1周期开始时将包含此时的时间信息的特定数据包发送至各控制器,
所述各控制器的所述发送单元在各个第1周期将接收到的特定数据包的所述时间信息附加到所述最近的采集数据的发送数据包,并发送至所述发送目的地装置。
12.如权利要求10所述的可编程控制器系统,其特征在于,
所述第1周期的长度为所述第2周期的长度的整数倍,
所述发送单元在每个所述第1周期中,将在该第1周期内的各个第2周期中从所述各输入输出对象获取到的采集数据与表示是哪个第2周期采集到的采集数据的识别信息一起进行储存,最后汇总该储存数据并发送给所述发送目的地装置。
13.一种控制器,
该控制器是可编程控制器系统中的特定的控制器,该可编程控制器系统具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作,所述控制器的特征在于,包括:
第1周期生成单元,该第1周期生成单元基于自己的所述第2周期开始定时来决定自己的所述第1周期开始定时。
14.一种控制器,
该控制器是可编程控制器系统中的特定的控制器以外的控制器,该可编程控制器系统具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作,所述控制器的特征在于,包括:
使自己的所述第1周期开始定时与所述特定控制器的第1周期开始定时同步的第1周期同步单元;以及
基于自己的所述第1周期开始定时对自己的所述第2周期开始定时进行校正的第2周期校正单元。
15.(修正后)如权利要求14所述的控制器,其特征在于,
通过进行由所述第2周期校正单元执行的所述校正,所述特定控制器以外的各控制器中的所述第2周期开始定时与所述特定控制器中的所述第2周期开始定时同步。
16.如权利要求15所述的控制器,其特征在于,
在所述第2周期开始定时的校正量超过规定的上限值的情况下,所述第2周期校正单元利用在该上限值以下的校正值分多次进行所述第2周期开始定时的校正。
Claims (16)
1.一种可编程控制器系统,该可编程控制器系统具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作,所述可编程控制器系统的特征在于,
多个所述控制器中的特定控制器具有基于自己的所述第2周期开始定时来决定自己的所述第1周期开始定时的第1周期生成单元,
所述特定控制器以外的各控制器包括:
使自己的所述第1周期开始定时与所述特定控制器的第1周期开始定时同步的第1周期同步单元;以及
基于自己的所述第1周期开始定时对自己的所述第2周期开始定时进行校正的第2周期校正单元。
2.如权利要求1所述的可编程控制器系统,其特征在于,
通过进行由所述第2周期校正单元执行的所述校正,所述特定控制器以外的各控制器中的所述第2周期开始定时与所述特定控制器中的所述第2周期开始定时同步。
3.如权利要求2所述的可编程控制器系统,其特征在于,
在所述第2周期开始定时的校正量超过规定的上限值的情况下,所述第2周期校正单元利用在该上限值以下的校正值分多次进行所述第2周期开始定时的校正。
4.如权利要求3所述的可编程控制器系统,其特征在于,
所述上限值基于所述第2周期内的被预先分配的各频带以外的空余时间段来决定。
5.如权利要求4所述的可编程控制器系统,其特征在于,
所述第2周期内由TF频带、MC频带、以及MSG频带构成,所述TF频带是所述控制器经由所述第2网络从所述各输入输出对象采集数据的频带,所述MC频带是所述控制器向所述各输入输出对象进行输出的频带,所述MSG频带是任意的一对一的消息收发频带,
所述上限值基于所述MSG频带后的空余时间来决定。
6.如权利要求4所述的可编程控制器系统,其特征在于,
所述第2周期内由TF频带、MC频带、以及MSG频带构成,所述TF频带是所述控制器经由所述第2网络从所述各输入输出对象采集数据的频带,所述MC频带是通过所述控制器使包括向所述各输入输出对象的输出的MC帧进行巡回的频带,所述MSG频带是任意的一对一的消息收发频带,
所述各输入输出对象根据基于所述第2周期的IO周期进行动作,
即使所述第2周期的开始定时因所述校正而改变与所述校正值相对应的量,所述上限值仍然会在最后接收所述MC帧的所述输入输出对象接收该MC帧之前被决定,以使得不会成为下一个所述IO周期。
7.如权利要求1至6的任一项所述的可编程控制器系统,其特征在于,
所述第2周期校正单元决定将校正方向设为-方向还是设为+方向,在将校正方向设为-方向的情况下,通过暂时性地缩短所述自己的第2周期来进行该第2周期开始定时的校正,在将校正方向设为+方向的情况下,通过暂时性地延长所述自己的第2周期来进行该第2周期开始定时的校正。
8.如权利要求7所述的可编程控制器系统,其特征在于,
在从自己的第1周期开始定时到紧随其之后的第2周期开始定时为止的偏移量小于该第2周期的长度的一半的情况下,所述第2周期校正单元将所述校正方向设为所述-方向,在该偏移量为该第2周期的长度的一半以上的情况下,所述第2周期校正单元将所述校正方向设为所述+方向。
9.如权利要求7所述的可编程控制器系统,其特征在于,
所述第2周期校正单元在将所述校正方向设为所述-方向的情况下,将所述偏移量设为第2周期的校正量,在将所述校正方向设为所述+方向的情况下,将“第2周期的长度-偏移量”设为第2周期的校正量。
10.如权利要求1至6的任一项所述的可编程控制器系统,其特征在于,
所述各控制器还包括:
发送单元,该发送单元在每个所述第1周期将经由所述第2网络获得的来自所述各输入输出对象的最近的采集数据经由所述第1网络发送至规定的发送目的地装置。
11.如权利要求10所述的可编程控制器系统,其特征在于,
所述发送目的地装置在各第1周期开始时将包含此时的时间信息的特定数据包发送至各控制器,
所述各控制器的所述发送单元在各个第1周期将接收到的特定数据包的所述时间信息附加到所述最近的采集数据的发送数据包,并发送至所述发送目的地装置。
12.如权利要求10所述的可编程控制器系统,其特征在于,
所述第1周期的长度为所述第2周期的长度的整数倍,
所述发送单元在每个所述第1周期中,将在该第1周期内的各个第2周期中从所述各输入输出对象获取到的采集数据与表示是哪个第2周期采集到的采集数据的识别信息一起进行储存,最后汇总该储存数据并发送给所述发送目的地装置。
13.一种控制器,
该控制器是可编程控制器系统中的特定的控制器,该可编程控制器系统具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作,所述控制器的特征在于,包括:
第1周期生成单元,该第1周期生成单元基于自己的所述第2周期开始定时来决定自己的所述第1周期开始定时。
14.一种控制器,
该控制器是可编程控制器系统中的特定的控制器以外的控制器,该可编程控制器系统具有多个由控制器和各输入输出对象与第2网络相连接而构成的控制单元,该多个控制器还与第1网络相连接,各控制器根据所述第1网络所涉及的第1周期和所述第2网络所涉及的第2周期来进行运算/通信动作,所述控制器的特征在于,包括:
使自己的所述第1周期开始定时与所述特定控制器的第1周期开始定时同步的第1周期同步单元;以及
基于自己的所述第1周期开始定时对自己的所述第2周期开始定时进行校正的第2周期校正单元。
15.如权利要求14所述的可编程控制器系统,其特征在于,
通过进行由所述第2周期校正单元执行的所述校正,所述特定控制器以外的各控制器中的所述第2周期开始定时与所述特定控制器中的所述第2周期开始定时同步。
16.如权利要求15所述的控制器,其特征在于,
在所述第2周期开始定时的校正量超过规定的上限值的情况下,所述第2周期校正单元利用在该上限值以下的校正值分多次进行所述第2周期开始定时的校正。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/054831 WO2015128981A1 (ja) | 2014-02-27 | 2014-02-27 | プログラマブルコントローラシステム、そのコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105556404A true CN105556404A (zh) | 2016-05-04 |
CN105556404B CN105556404B (zh) | 2018-07-10 |
Family
ID=54008350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480048845.6A Active CN105556404B (zh) | 2014-02-27 | 2014-02-27 | 可编程控制器系统、该可编程控制器系统的控制器 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3026515B1 (zh) |
JP (1) | JP6152920B2 (zh) |
KR (1) | KR102148943B1 (zh) |
CN (1) | CN105556404B (zh) |
WO (1) | WO2015128981A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110220458A (zh) * | 2018-03-01 | 2019-09-10 | 欧姆龙株式会社 | 测量系统以及测量方法 |
CN111052006A (zh) * | 2017-11-28 | 2020-04-21 | 欧姆龙株式会社 | 控制装置以及控制方法 |
CN112262550A (zh) * | 2019-03-15 | 2021-01-22 | 株式会社东芝 | 传送装置 |
CN112513751A (zh) * | 2018-09-14 | 2021-03-16 | 欧姆龙株式会社 | 控制系统以及控制装置 |
CN112799342A (zh) * | 2019-11-14 | 2021-05-14 | 富士电机株式会社 | 可编程控制器用的基座板和可编程控制器系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180086490A (ko) * | 2016-01-07 | 2018-07-31 | 미쓰비시덴키 가부시키가이샤 | 프로그래머블 컨트롤러 및 동기 제어 프로그램 |
WO2018025491A1 (ja) * | 2016-08-05 | 2018-02-08 | 富士電機株式会社 | 制御ネットワークシステム、そのノード装置 |
JP6772748B2 (ja) * | 2016-10-14 | 2020-10-21 | オムロン株式会社 | 演算装置および制御システム |
JP6399136B1 (ja) * | 2017-03-31 | 2018-10-03 | オムロン株式会社 | 制御装置、制御プログラム、および制御システム |
CN108873849A (zh) * | 2018-08-23 | 2018-11-23 | 广东志高空调有限公司 | 一种生产线节拍的监控装置 |
US20220413474A1 (en) | 2019-07-04 | 2022-12-29 | Omron Corporation | Control system |
JP7439474B2 (ja) | 2019-11-25 | 2024-02-28 | 富士電機株式会社 | プログラマブルコントローラシステムおよびモジュール |
JP2024015630A (ja) * | 2022-07-25 | 2024-02-06 | オムロン株式会社 | 制御システム、通信装置および制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5988846A (en) * | 1996-07-01 | 1999-11-23 | Asea Brown Boveri Ag | Method of operating a drive system and device for carrying out the method |
CN1496514A (zh) * | 2001-03-15 | 2004-05-12 | ����-��ϣ�ɷݹ�˾ | 用于同步多个ttcan总线的周期时间的方法和装置以及相应的总线系统 |
CN101164264A (zh) * | 2005-04-22 | 2008-04-16 | 罗伯特·博世有限公司 | 用于对两个总线系统进行同步的方法和设备以及由两个总线系统组成的装置 |
US20110264241A1 (en) * | 2010-04-21 | 2011-10-27 | General Electric Company | Systems and methods for synchronization of an external control system with fieldbus devices |
JP2012068856A (ja) * | 2010-09-22 | 2012-04-05 | Fuji Electric Co Ltd | プログラマブルコントローラシステム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06301617A (ja) | 1993-04-12 | 1994-10-28 | Ulvac Kuraio Kk | 生産管理システム |
JPH09135260A (ja) * | 1995-11-09 | 1997-05-20 | Toyo Electric Mfg Co Ltd | プログラムロジックコントローラのネットワークによる階層化方法 |
JP4944858B2 (ja) * | 2008-09-17 | 2012-06-06 | キヤノン株式会社 | 周期処理実行装置および周期処理実行方法およびコンピュータプログラム |
WO2013121568A1 (ja) | 2012-02-16 | 2013-08-22 | 富士電機株式会社 | ノード同期方法、ネットワーク伝送システム、及びノード装置 |
-
2014
- 2014-02-27 KR KR1020167005989A patent/KR102148943B1/ko active IP Right Grant
- 2014-02-27 JP JP2016504926A patent/JP6152920B2/ja active Active
- 2014-02-27 WO PCT/JP2014/054831 patent/WO2015128981A1/ja active Application Filing
- 2014-02-27 EP EP14883915.2A patent/EP3026515B1/en active Active
- 2014-02-27 CN CN201480048845.6A patent/CN105556404B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5988846A (en) * | 1996-07-01 | 1999-11-23 | Asea Brown Boveri Ag | Method of operating a drive system and device for carrying out the method |
CN1496514A (zh) * | 2001-03-15 | 2004-05-12 | ����-��ϣ�ɷݹ�˾ | 用于同步多个ttcan总线的周期时间的方法和装置以及相应的总线系统 |
CN101164264A (zh) * | 2005-04-22 | 2008-04-16 | 罗伯特·博世有限公司 | 用于对两个总线系统进行同步的方法和设备以及由两个总线系统组成的装置 |
US20110264241A1 (en) * | 2010-04-21 | 2011-10-27 | General Electric Company | Systems and methods for synchronization of an external control system with fieldbus devices |
JP2012068856A (ja) * | 2010-09-22 | 2012-04-05 | Fuji Electric Co Ltd | プログラマブルコントローラシステム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111052006A (zh) * | 2017-11-28 | 2020-04-21 | 欧姆龙株式会社 | 控制装置以及控制方法 |
CN110220458A (zh) * | 2018-03-01 | 2019-09-10 | 欧姆龙株式会社 | 测量系统以及测量方法 |
TWI705228B (zh) * | 2018-03-01 | 2020-09-21 | 日商歐姆龍股份有限公司 | 測量系統以及方法 |
US11307023B2 (en) | 2018-03-01 | 2022-04-19 | Omron Corporation | Measurement system and method thereof |
CN112513751A (zh) * | 2018-09-14 | 2021-03-16 | 欧姆龙株式会社 | 控制系统以及控制装置 |
CN112513751B (zh) * | 2018-09-14 | 2024-07-16 | 欧姆龙株式会社 | 控制系统以及控制装置 |
CN112262550A (zh) * | 2019-03-15 | 2021-01-22 | 株式会社东芝 | 传送装置 |
CN112799342A (zh) * | 2019-11-14 | 2021-05-14 | 富士电机株式会社 | 可编程控制器用的基座板和可编程控制器系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015128981A1 (ja) | 2017-03-30 |
WO2015128981A1 (ja) | 2015-09-03 |
EP3026515A4 (en) | 2017-04-19 |
JP6152920B2 (ja) | 2017-06-28 |
CN105556404B (zh) | 2018-07-10 |
KR102148943B1 (ko) | 2020-08-27 |
KR20160125942A (ko) | 2016-11-01 |
EP3026515B1 (en) | 2021-04-07 |
EP3026515A1 (en) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105556404A (zh) | 可编程控制器系统、该可编程控制器系统的控制器 | |
CN102004472B (zh) | 调整过程控制系统中的控制回路时序的方法和装置 | |
CN108923876A (zh) | 时间同步方法、装置及系统 | |
EP2222003B1 (en) | Field control system | |
US20220413474A1 (en) | Control system | |
KR101636496B1 (ko) | 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 | |
US10782667B2 (en) | Real-time environment and programmable logic controller | |
EP3719596B1 (en) | Control device and control method | |
US10222786B2 (en) | Numerical control system having synchronous control function between units | |
US12120211B2 (en) | Time synchronization of local device | |
CN114072741A (zh) | 控制系统、控制装置以及程序 | |
CN104115450A (zh) | 同步系统、多处理器及节点同步系统 | |
EP3869745B1 (en) | Production system, communication method, and program | |
US10681720B2 (en) | Wireless communication device, wireless information collection system, and wireless communication method | |
EP4050824B1 (en) | Time synchronization of controller | |
WO2024162337A1 (ja) | 制御装置、制御システム、方法およびプログラム | |
JP5187669B2 (ja) | 分散制御システムおよび分散制御方法 | |
WO2023145410A1 (ja) | 機器の制御装置、制御システム、及び制御方法 | |
JP2022037810A (ja) | 情報処理装置、情報処理システム、及び情報処理方法 | |
JP2012226475A (ja) | モータ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |