控制系统、主可编程控制器、从可编程控制器以及控制方法_3

文档序号:8531827阅读:来源:国知局
同步化帧时,从基准信号生成部158取得计数值,计算相当于传送延迟时间的值(基准信号生成部158的时间换算值)与所取得的计数值之间的差值即校正量,从基准值减去校正量而导出校正基准值,并将该校正基准值作为新的基准值暂时地设定于基准信号生成部158。因此,将校正基准值表示为基准值-(相当于传送延迟时间的值-基准信号生成部158的计数值)。
[0061]接着,设定校正基准值,当在基准信号生成部158中,该校正基准值的计数完成时,同步校正部186立即将原来的基准值设定于基准信号生成部158。这样,能够暂时地使基准值提前与传送延迟时间相应的时间量。这里,列举出一次性执行与传送延迟时间相应的时间量的校正的例子,但是不限于该情况,也可以分成多次执行。另外,在本实施方式中,同步校正部186在没有从主CPU模块122a得到传送延迟时间的情况下接收到同步化帧时,可以设传送延迟时间为零(O)而进行上述的校正处理。
[0062]这样,在本实施方式中,能够高精度地使主CPU模块122a的基准信号生成部158与从CPU模块122b的基准信号生成部158同步。另外,这种同步校正处理可以连续地进行,也可以每隔规定的时间间歇性地进行。
[0063]应用程序执行部188在主CPU模块122a和从CPU模块122b中的任意一个中,都是根据由基准信号生成部158生成的基准信号(将基准信号作为中断信号而接收)来执行运行程序,并通过输入输出模块126对被控制设备130进行控制。因此,该运行程序能够根据基准信号周期性地执行。
[0064]数据更新部190在主CPU模块122a和从CPU模块122b的任意一个中,都是当生成了数据(例如,状态信息、传感器的检测结果、控制结果等)时,利用所生成的数据来更新自身的CPU模块122内的公共存储器166的内容。并且,数据更新部190向其他的CPU模块122传送该数据。并且,在从其他的CPU模块122传送来数据时,数据更新部190根据该数据更新自身的CPU模块122内的公共存储器166的内容。这样,能够与其他的CPU模块122共享数据。并且,数据更新部190将数据发送给其他的CPU模块122的发送时机是根据基准信号生成部158按照每个CPU模块122而预先确定的。关于该发送时机将在后面详细叙述。
[0065]数据发送部192在主CPU模块122a和从CPU模块122b中的任意一个中,都是向管理装置110发送通过应用程序执行部188执行运行程序而生成的数据中的、由管理装置110要求收集的数据。该发送时机与数据更新部190的发送时机相仿。在本实施方式中,由于使得CPU模块122彼此同步,因此,在管理装置110中收集生成时机相等的数据。
[0066]以下,关于控制系统100的具体的控制方法,分为同步校正处理与数据的共享处理来进行说明。
[0067](同步校正处理)
[0068]图5是用于说明同步校正处理例的时序图。这里,假设从CPU模块122b的基准信号比主CPU模块122a的基准信号延迟10 μ sec。另外,假设基准值(处理周期)为1000 μ sec,但是不限于此,例如可以通过管理装置110适当地对设定进行变更。并且,在图中,为了简略,将μ sec表述为μ S。
[0069]在图5中,主CPU模块122a的基准信号生成部158进行计数。当其计数值在图5的(I)时间点处达到基准值时,在主CPU模块122a内输出基准信号。接着,应用程序执行部188根据该基准信号执行运行程序。在图5中,由阴影线表示的三角形的区域表示计数值的转变,随着时间的经过,计数值增加,当达到计数目标(例如基准值)时被复位。
[0070]并且,从CPU模块122b的基准信号生成部158也与主CPU模块122a并行地进行计数。当其计数值在图5的(2)时间点处达到基准值时输出基准信号。接着,应用程序执行部188根据该基准信号执行运行程序。这样,在主CPU模块122a和从CPU模块122b中,分别根据独立的基准信号执行规定的处理。
[0071]并且,当在主CPU模块122a中开始了同步校正处理时,主CPU模块122a的延迟时间计测部180为了计算传送延迟时间而发送传送延迟时间请求帧(图5的(3))。从CPU模块122b的延迟时间接收部184在从主CPU模块122a接收到传送延迟时间请求帧时,根据该传送延迟时间请求帧向主CPU模块122a发送接收完成帧(图5的(4))。
[0072]接着,主CPU模块122a的延迟时间计测部180在接收到接收完成帧时,计算主CPU模块122a与从CPU模块122b之间的往复传送延迟时间。接着,延迟时间计测部180向从CPU模块122b发送传送延迟时间通知帧,该传送延迟时间通知帧包含将计算出的往复传送延迟时间(400 μ sec)除以2而得到的传送延迟时间(200 μ sec)(图5的(5))。从CPU模块122b的延迟时间接收部184在接收到传送延迟时间通知帧时,将该帧中包含的往复传送延迟时间(相应的值)保存到RAM 164等(图5的(6))。
[0073]在同步校正处理开始后,主CPU模块122a的同步化帧发送部182将同步化帧作为中断信号发送给从CPU模块122b (图5的(7))。并且,当从CPU模块122b经过了网络配线140的单程的传送延迟时间(200 μ s)而在图5的(8)的时间点处接收到同步化帧时,同步校正部186从基准信号生成部158取得计数值(相当于190 μ sec)(图5的(9))。并且,同步校正部186使用传送延迟时间(200 μ sec)与基准值(1000 μ sec),根据基准值_(相当于传送延迟时间的值-基准信号生成部158的计数值)=1000-(200-190)得到校正基准值990 μ sec?并且,同步校正部186将该校正基准值作为新的基准值暂时地设定于基准信号生成部158(图5的(10))。
[0074]然后,基准信号生成部158在图5的(11)的时间点处计数值达到暂时的校正基准值990 μ S,因此重启。这样,从CPU模块122b的基准信号与主CPU模块122a的基准信号同步。
[0075]图6是示出同步校正处理的概略顺序的例子的图。在图6的例子中,为了便于说明,对使用了主CPU模块122a与从CPU模块122b的同步进行说明,但是,在本实施方式中并不限于此,可以使多个从CPU模块122b同步于I个主CPU模块122a。
[0076]在图6的同步校正处理中,首先,主CPU模块122a的基准信号生成部158生成基准信号(Sll),从CPU模块122b的基准信号生成部158以与主CPU模块122a相独立的方式生成基准信号(S12)。并且,该处理周期性地进行。
[0077]当主CPU模块122a的同步校正处理开始时,主CPU模块122a的延迟时间计测部180为了计算传送延迟时间而向从CPU模块122b发送传送延迟时间请求帧(S13)。从CPU模块122b的延迟时间接收部184在接收到传送延迟时间请求帧时,向主CPU模块122a发送接收完成帧(S14)。
[0078]主CPU模块122a的延迟时间计测部180在接收到接收完成帧时,例如计算传送延迟时间(S15),并生成包含计算出的传送延迟时间等的传送延迟时间通知帧(S16)。接着,延迟时间计测部180通过网络配线140向从CPU模块122b发送所生成的传送延迟时间通知帧(S17)。从CPU模块122b的延迟时间接收部184在接收到传送延迟时间通知帧时,将该传送延迟时间通知帧中包含的传送延迟时间(换算值)保存到RAM 164等(S18)。
[0079]接着,使主CPU模块122a的同步化帧发送部182与基准信号同步地将同步化帧作为中断信号而发送给从CPU模块122b (S19)。
[0080]当从CPU模块122b接收到同步化帧时,同步校正部186从基准信号生成部158取得计数值(S20)。接着,同步校正部186使用传送延迟时间与基准值,计算基准值-(相当于传送延迟时间的值-基准信号生成部158的计数值)而得到校正基准值(S21)。接着,将该校正基准值作为新的基准值而暂时地设定于基准信号生成部158 (S22)。并且,设定校正基准值,当校正基准值的计数完成时,同步校正部186立即将原来的基准值设定在基准信号生成部158中(S23)。
[0081]针对控制系统100所包含的所有的从CPU模块122b都执行这种同步校正处理。这样,从CPU模块122b的基准信号同步于主CPU模块122a的基准信号。即,能够使得在各CPU模块122上工作的运行程序(应用程序)同步。
[0082](数据的共享处理)
[0083]通过上述的结构,使得控制系统100所包含的所有的CPU模块122同步。并且,如上所述,由于CPU模块122彼此通过频带较宽的千兆(G)级等的以太网(注册商标)连接,因此信息的交换不需要时间。这里,以这样使得CPU模块122同步为前提,经由带宽较宽的网络,在多个CPU模块122间实现数据的共享。
[0084]图7是用于说明CPU模块122中的数据的收发的时序图。在图7中,作为多个CPU模块122列举出3个CPU模块(在图7中,为CPU模块A、CPU模块B、CPU模块C)。这里,同步校正处理已经完成,3个CPU模块A、B、C
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1