首页> 中国专利> 可编程逻辑控制器的CPU单元、可编程逻辑控制器用系统程序以及存储可编程逻辑控制器用系统程序的记录介质

可编程逻辑控制器的CPU单元、可编程逻辑控制器用系统程序以及存储可编程逻辑控制器用系统程序的记录介质

摘要

一种调度器程序,包括:按每个动作控制循环开始动作运算程序的执行的命令;使微型处理器,按每个第1用户程序执行循环开始第1用户程序的执行的命令;以及用于以与第1用户程序执行循环的周期相当的周期,依次重复输出处理以及输入处理、第1用户程序的执行开始、第1用户程序的执行结束、以及动作运算程序的执行开始的命令。

著录项

  • 公开/公告号CN103403631A

    专利类型发明专利

  • 公开/公告日2013-11-20

    原文格式PDF

  • 申请/专利权人 欧姆龙株式会社;

    申请/专利号CN201180068882.X

  • 申请日2011-03-22

  • 分类号G05B19/05(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人胡金珑

  • 地址 日本京都府

  • 入库时间 2024-02-19 21:23:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-20

    授权

    授权

  • 2013-12-18

    实质审查的生效 IPC(主分类):G05B19/05 申请日:20110322

    实质审查的生效

  • 2013-11-20

    公开

    公开

说明书

技术领域

本发明涉及包括用于控制机械和设备等的动作的PLC(Programmable  Logic Controller、也称为可编程逻辑控制器)中的输出处理、输入处理、运算 处理等的控制动作的调度。

背景技术

PLC的构成为:

例如,包括执行用户程序的微型处理器的CPU(Central Processing Unit中 央处理单元)单元;担任从外部的开关和传感器来的信号输入以及向外部的继 电器和致动器的信号输出的称作IO(Input Output输入输出)单元的多个单 元。在这些单元之间,按每个用户程序执行循环,经过PLC系统总线以及/ 或者现场网络来交接数据,同时PLC执行控制动作。

作为机械和设备等的动作的控制,存在包括用于控制电机的运动的动作 控制的情况。以往,这样的动作控制,代表性的是,对驱动电机的电机致动 器周期地输出指令值的控制处理(动作运算程序的执行),是在除PLC之外 设置的动作控制器中进行。但是,在信息技术的领域中,微型处理器和通信 网络的高速化在持续性的发展。因此,在PLC中也利用这些的技术,变得能 够在一个微型处理器中,不仅执行用户程序,也执行动作运算程序。

例如,专利文献1(特开2007-140655号公报)中,公开了通过一个CPU 处理控制电机的动作控制功能和执行时序运算(用户程序)的PLC功能的结 构。更具体地是,公开了按每个基本时钟的1循环,执行“固定周期动作控 制处理以及各轴处理”和“高速时序处理”,进而在各基本时钟循环内的剩余 的时间中,执行“低速时序处理”或者“非固定周期动作控制处理”的情况。

现有技术文献

专利文献

专利文献1:日本特开2007-140655号公报

发明内容

发明要解决的问题

在将执行动作运算程序的功能合并至PLC的微型处理器之际,自然可以 想到下述的结构:和以往的动作控制器一样,在一定的短的周期的执行循环 内执行对于电机致动器的指令值的计算以及计算结果的输出,在各执行循环 的剩余的时间中进行用户程序的执行以及其他的PLC动作。但是,由于在各 执行循环中剩余的时间的长度是有限的,不能够在各执行循环内进行用于作 为PLC动作所需要的全部的处理。在这样的情况下,关于在哪个执行循环的 剩余时间中进行怎样的处理是好或是不好,还不明确。进而,用户程序的执 行需要输入处理以及输出处理,动作运算执行也至少需要输出处理(根据情 况,输入处理也需要),关于应该在什么定时进行这些处理,也还不明确。

所述的专利文献1中,关于“固定周期动作控制处理以及各轴处理”、“高 速时序处理”、“低速时序处理”、以及“非固定周期动作控制处理”的各处理, 关于设想怎样的处理内容,还没有具体地说明。特别是,在从具体的处理内 容看到的情况下,“高速时序处理”和“低速时序处理”如何被区分,以及“非 固定周期动作控制处理”是设想了怎样处理内容的处理,关于上述事项,也 还不明确。进而,涉及各处理的输入和输出,何时、如何进行,也还不明确。

以往,在除PLC之外设置动作控制器的情况下,PLC和动作控制器相互 不同步的,通常在PLC一方长的周期的执行循环中动作。这样的情况下,执 行用户程序的PLC的,对于动作控制的任务是,在执行用户程序之中的动作 命令的时候,按照动作命令的种类以及参数,对动作控制器提供1个的动作 的启动指示。例如,PLC是,将基于“从坐标A至坐标B按照指定速度变化 移动”这样的动作命令的指示,提供至动作控制器。动作控制器,根据该指 示计算用于实现命令内容的运动的按每个自己的执行循环对于伺服电机致动 器的位置指令值(根据命令内容,也有是速度指令值、扭矩指令值等的情况) 并输出。一旦提供启动指示,动作控制器则在完成该动作命令的执行之前, 在自己的执行循环中重复计算和输出指令值。

另一方面,从专利文献1中还得知,在具有动作控制功能的PLC中,在 将动作运算程序的执行循环作为PLC的动作全体的共有循环的情况下,能够 执行各执行循环中较短的用户程序。但是,本申请的发明人利用该情况,发 现了进行更高精度的动作控制的可能性的存在。

即,通常,作为动作命令的规格,是由输入参数的提供方以及使用输入 参数的运算内容决定。动作运算程序是,实际地运算那样的动作命令的内容 的程序。动作运算程序自身,大多数情况由PLC的制造商提供,用户自己不 容易开发动作运算程序。另一方面,用户程序通过用户自己可以自由地编程。 因此,在用户程序中,定义各执行循环中涉及到动作指令的计算的运算内容 的一部分,如果动作运算程序和用户程序同步执行,能够提高动作控制的自 由度。因此,存在根据个别的用户需要的控制内容,能够实现适合的动作控 制的可能性。

进而,本申请的发明人,发现了在用户程序涉及动作指令值的计算的情 况下,并不是仅同步用户程序和动作运算的执行,还包括输入处理以及输出 处理,如果不通过恰当的顺序执行各处理,则会产生使控制延迟的浪费的时 间的情况。

本发明的目的是,在PLC的CPU单元中,同步动作运算程序所执行的 用户程序,使用动作控制输入数据,在进行涉及动作指令值的计算的运算的 情况下,通过包括输入处理或者输出处理的各处理的执行顺序的合理化,CPU 单元以缩短从输入动作控制用输入数据至输出反映该输入数据的动作指令值 数据所需要的时间。

用于解决问题的手段

根据本发明的一个方面,提供具有用于控制电机的运动的动作控制功能 的PLC的CPU单元。PLC的CPU单元包括微型处理器、存储部件和通信电 路。PLC的CPU单元构成为:按每个一定周期的动作控制循环,能够重复执 行动作指令值数据的输出处理以及动作控制用输入数据的输入处理和动作运 算程序的执行;并且,按每个动作控制循环的周期的整数倍的周期的第1用 户程序执行循环,能够重复执行第1用户程序,该第1用户程序根据用户的 控制目的生成且包括对动作运算程序提供其执行所需要的指示的处理。存储 部件用于系统程序和第1用户程序的存储。系统程序包括:动作运算程序和 控制第1用户程序以及动作运算程序的执行的调度器程序。微型处理器执行 存储部件中存储的系统程序以及第1用户程序,通信电路,按每个动作控制 循环,作为输出处理的至少一部分进行动作指令值数据的发送,以及作为输 入处理的至少一部分进行动作控制用输入数据的接收。调度器程序包括:使 微型处理器,按每个动作控制循环开始动作运算程序的执行的命令;使微型 处理器,按每个第1用户程序执行循环开始第1用户程序的执行的命令;用 于以与第1用户程序执行循环的周期相当的周期,依次重复输出处理以及输 入处理、第1用户程序的执行开始、第1用户程序的执行结束、以及动作运 算程序的执行开始的命令。因此,在第1用户程序包括使用动作控制用输入 数据来计算动作运算程序所使用的用户程序输出数据的处理的情况下,从输 入处理的开始至反映该输入处理中被输入的动作控制用输入数据的动作指令 值数据的输出处理的结束所需要的时间成为与第1用户程序执行循环的周期 相当的时间。

优选的,第1用户程序执行循环的周期与动作控制循环的周期相等。通 过这样设定第1用户程序执行循环的周期,按每个动作运算程序的执行,能 够使用更新的用户程序输出数据来计算动作指令值数据。即,按每次的输出 处理,能够输出那样更新的动作指令值数据。

更优选的,调度器程序包括:用于在动作控制循环内,输出处理以及输 入处理之后,使微型处理器依次执行第1用户程序以及动作运算程序的命令。 根据该命令,在动作控制循环内,能够在第1用户程序以及动作运算程序的 执行之前,进行涉及动作控制的输出处理以及输入处理,因此,能够减少用 于这些输入输出的通信周期的偏差。所以,能够更高精度地控制电机的运动。

更优选的,存储部件进而用于存储第2用户程序,该第2用户程序根据 用户的控制目的生成,且不包括使用动作控制用输入数据来计算动作运算程 序所使用的用户程序输出数据的处理,且具有动作控制循环的周期的2以上 的整数倍的周期的第2用户程序执行循环。调度器程序,在第2用户程序被 存储于存储部件中的情况下,在第2用户程序执行循环内,使微型处理器在 从最初的动作运算程序的执行结束至动作控制循环结束的剩余时间内开始第 2用户程序的执行。并且,在其后的动作控制循环的动作运算程序的执行结 束后的剩余时间内,存在第2用户程序的未执行的部分时,使微型处理器开 始该未执行的部分的执行。

根据本方面的PLC的CPU单元,通过如下所述生成用户程序,能够实 现处理的高速化。即,使第1用户程序包括:使用动作控制用输入数据来计 算动作运算程序中的运算所使用的用户程序的输出数据的命令。另一方面, 使第2用户程序包括:用于实现包括于第1用户程序以外的处理的全部或者 一部分的命令。然后,比起使第1用户程序包括用于实现全部的处理的命令 的情况,由于第1用户程序所分配的处理量减少,能够缩短第1用户程序的 执行时间。因此,产生进一步缩短动作控制循环的周期的可能性。

优选的,第1用户程序执行循环的周期与动作控制循环的周期的2以上 的整数倍相等。通过这样设定第1用户程序执行循环的周期,在比用户程序 执行周期短的控制周期,能够输出更新后的动作指令值数据。

更优选的,调度器程序包括:用于在第1用户程序执行循环内,使微型 处理器依次执行动作运算程序的执行,输出处理以及输入处理,第1用户程 序的执行的命令。所以,在各动作控制循环内,动作运算程序的执行,输出 处理以及输入处理,第1用户程序的执行,也能依次被执行。在各动作控制 循环中,输出处理以及输入处理的执行之后,直至动作控制循环结束的时间 能够按每个动作控制循环变动,根据这个命令,能够不浪费地使用该时间来 进行第1用户程序的执行。所以,由于微型处理器的待机时间变得难以产生, 产生进一步缩短用户程序执行循环的可能性。

根据本发明的其他的方面,提供具有用于控制电机的运动的动作控制功 能的PLC的CPU单元所执行的PLC用系统程序。PLC的CPU单元包括:用 于存储第1用户程序的存储部件,和微型处理器,和通信电路。PLC的CPU 单元构成为:按每个一定周期的动作控制循环,能够重复执行动作指令值数 据的输出处理以及动作控制用输入数据的输入处理,和动作运算程序的执行; 并且,按每个动作控制循环的周期的整数倍的周期的第1用户程序执行循环, 能够重复执行第1用户程序,该第1用户程序根据用户的控制目的生成且包 括对动作运算程序提供其执行所需要的指示的处理。PLC用系统程序包括: 动作运算程序,控制第1用户程序以及动作运算程序的执行的调度器程序。 通信电路,按每个动作控制循环,作为输出处理的至少一部分进行动作指令 值数据的发送,以及作为输入处理的至少一部分进行动作控制用输入数据的 接收。调度器程序包括:使微型处理器,按每个动作控制循环开始动作运算 程序的执行的命令;使微型处理器,按每个第1用户程序执行循环开始第1 用户程序的执行的命令;用于以与第1用户程序执行循环的周期相当的周期, 依次重复输出处理以及输入处理、第1用户程序的执行开始、第1用户程序 的执行结束、以及动作运算程序的执行开始的命令。因此,在第1用户程序 包括使用动作控制用输入数据来计算动作运算程序所使用的用户程序输出数 据的处理的情况下,从输入处理的开始至反映该输入处理中被输入的动作控 制用输入数据的动作指令值数据的输出处理的结束所需要的时间成为与第1 用户程序执行循环的周期相当的时间。

优选的,第1用户程序执行循环的周期与动作控制循环的周期相等。

更优选的,调度器程序包括:用于在动作控制循环内,输出处理以及输 入处理之后,使微型处理器依次执行第1用户程序以及动作运算程序的命令。

更优选的,调度器程序,在第2用户程序被存储于存储部件中的情况下, 在第2用户程序执行循环内,使微型处理器在从最初的动作运算程序的执行 结束至动作控制循环结束的剩余时间内开始第2用户程序的执行。并且,在 其后的动作控制循环的动作运算程序的执行结束后的剩余时间内,存在第2 用户程序的未执行的部分时,使微型处理器开始该未执行的部分的执行,所 述第2用户程序根据用户的控制目的生成,且不包括使用所述动作控制用输 入数据来计算所述动作运算程序所使用的用户程序输出数据的处理,且具有 所述动作控制循环的周期的2以上的整数倍的周期的第2用户程序执行循环。

优选的,第1用户程序执行循环的周期,与动作控制循环的周期的2以 上的整数倍相等。

更优选的,调度器程序包括:用于在第1用户程序执行循环内,使微型 处理器依次执行动作运算程序的执行,输出处理以及输入处理,第1用户程 序的执行的命令。

根据该发明进一步其他的方面,提供存储具有用于控制电机的运动的动 作控制功能的PLC的CPU单元所执行的PLC用系统程序的记录介质。PLC 的CPU单元包括:用于存储第1用户程序的存储部件,和微型处理器,和通 信电路。PLC的CPU单元构成为:按每个一定周期的动作控制循环,能够重 复执行动作指令值数据的输出处理以及动作控制用输入数据的输入处理,和 动作运算程序的执行;并且,按每个动作控制循环的周期的整数倍的周期的 第1用户程序执行循环,能够重复执行第1用户程序,该第1用户程序根据用 户的控制目的生成且包括对动作运算程序提供其执行所需要的指示的处理。 PLC用系统程序包括:动作运算程序,控制第1用户程序以及动作运算程序 的执行的调度器程序。通信电路,按每个动作控制循环,作为输出处理的至 少一部分进行动作指令值数据的发送,以及作为输入处理的至少一部分进行 动作控制用输入数据的接收。调度器程序包括:使微型处理器,按每个动作 控制循环开始动作运算程序的执行的命令;使微型处理器,按每个第1用户 程序执行循环开始第1用户程序的执行的命令;用于以与第1用户程序执行 循环的周期相当的周期,依次重复输出处理以及输入处理、第1用户程序的 执行开始、第1用户程序的执行结束、以及动作运算程序的执行开始的命令。 因此,在第1用户程序包括使用动作控制用输入数据来计算动作运算程序所 使用的用户程序输出数据的处理的情况下,从输入处理的开始至反映该输入 处理中被输入的动作控制用输入数据的动作指令值数据的输出处理的结束所 需要的时间成为与第1用户程序执行循环的周期相当的时间。

优选的,第1用户程序执行循环的周期与动作控制循环的周期相等。

更优选的,调度器程序包括:用于在动作控制循环内,输出处理以及输 入处理之后,使微型处理器依次执行第1用户程序以及动作运算程序的命令。

更优选的,调度器程序,在第2用户程序被存储于存储部件中的情况下, 在第2用户程序执行循环内,使微型处理器在从最初的动作运算程序的执行 结束至动作控制循环结束的剩余时间内开始第2用户程序的执行。并且,在 其后的动作控制循环的动作运算程序的执行结束后的剩余时间内,存在第2 用户程序的未执行的部分时,使微型处理器开始该未执行的部分的执行,所 述第2用户程序根据用户的控制目的生成,且不包括使用所述动作控制用输 入数据来计算所述动作运算程序所使用的用户程序输出数据的处理,且具有 所述动作控制循环的周期的2以上的整数倍的周期的第2用户程序执行循环。

优选的,第1用户程序执行循环的周期,与动作控制循环的周期的2以 上的整数倍相等。

更优选的,调度器程序包括:用于在第1用户程序执行循环内,使微型 处理器依次执行动作运算程序的执行,输出处理以及输入处理,第1用户程 序的执行的命令。

另外,本说明书中(日语的)“命令”并不限定于用于实现某种功能的, 程序的源表中所表示的一个一个的命令,也表示这些一个一个的命令和函数 等的集合,例如,应该像英文中的instructions一样用复数形式来书写。

发明的效果

根据本发明,在PLC的CPU单元中,在第1用户程序包括使用动作控 制用输入数据来计算动作运算程序所使用的用户程序输出数据的处理的情况 下,从输入处理至反映随后被输入的动作控制用输入数据的动作指令值数据 的输出处理所需要的时间,能够变为与用户程序执行循环的周期相当的短的 时间。

附图说明

图1是表示本发明的实施方式的PLC系统的简略结构的示意图。

图2是表示本发明的实施方式的CPU单元的硬件结构的示意图。

图3是表示本发明的实施方式的CPU单元所执行的软件结构示意图。

图4是表示本发明的实施方式的CPU单元的主存储器的区域结构的示意 图。

图5是表示本发明的实施方式的控制程序(用户程序,时序命令运算程 序以及动作运算程序)所提供的动作控制的简略的处理顺序的时序图。

图6是表示本发明的实施方式的CPU单元的应用例1的示意图。

图7是表示本发明的实施方式的CPU单元的应用例2的示意图。

图8是表示本发明的实施方式的CPU单元的应用例3的示意图。

图9是表示本发明的实施方式1的全体处理动作的时序图。

图10是表示涉及图9中所示的全体处理的比较例的全体处理动作的时序 图。

图11是表示本发明的实施方式2的全体处理动作时序图。

图12是表示本发明的实施方式3的全体处理动作时序图。

图13是表示本发明的实施方式4的全体处理动作时序图。

图14是表示涉及图13所示的全体处理动作的比较例的全体处理动作的 时序图。

图15是表示用于连接本发明的实施方式的CPU单元的PLC支持装置的 硬件结构的示意图。

图16是表示用于连接本发明的实施方式的CPU单元的PLC支持装置的 软件结构的示意图。

具体实施方式

关于本发明的实施方式,参照附图详细地进行说明。另外,关于图中的相同 或者相当的部分,添加相同的标号不重复说明。

<A.系统结构>

本实施方式的PCL具有用于控制电机的运动的动作控制功能。首先,参 照图1,说明关于本实施方式的PLC1的系统结构。

图1是表示本发明实施方式的PLC系统的简略结构的示意图。参照图1, PLC系统包括:PLC1,经由PLC1和现场网络所连接的伺服电机致动器3以 及电机IO终端5,现场设备的检测开关6以及继电器7。此外,PLC1经由连 接电缆10等与PLC支持装置8连接。

PLC1包括:执行主要运算处理的CPU单元13,1个以上的IO单元14, 以及特殊单元15。这些单元构成为经由PLC系统总线11,能够相互交换数 据。此外,这些单元由电压单元12提供适当电压的电源。另外,构成PLC1 的各单元是PLC的制造商提供的单元,因此,PLC系统总线11通常是每个 制造商独立开发,并使用。与此相反,关于后述的现场网络2,为了能够连 接不同制造商的产品,其规格等往往被公开。

关于CPU单元13的细节,参照图2后续说明。

IO单元14通常是涉及输入输出处理的单元,主管ON/OFF这样的二进 制的数据的输入输出。即,IO单元14采集检测开关6等的传感器检测任何 的目标的状态(ON)以及任何目标都没检测的状态(OFF)信息的其中之一 的信息。此外,IO单元14对继电器7和致动器这样的输出目的地,输出用 于激活的指令(ON)以及用于不激活的指令(OFF)的其中之一。

特殊单元15具有模拟数据的输入输出,温度控制,以及通过指定的通信 方式的通信这样的IO单元14不支持的功能。

现场网络2传输与CPU单元所交换的各种数据。作为现场网络2,典型 地,可以使用各种的工业用以太网(注册商标)。作为工业用以太网(注册商 标),例如EtherCAT(注册商标),Profinet IRT(注册商标),MECHATROLINK (注册商标)-III,Powerlink,SERCOS(注册商标)-III,以及CIP Motion 等为一般所知,可以采用这些中的其中之一。再者,也可以采用工业用以太 网(注册商标)以外的现场网络。本实施方式的PLC系统SYS,典型地,在 本实施方式中,举例说明关于将产业用以太网(注册商标)的EtherCAT(注 册商标)作为现场网络2采用的情况的结构。

另外,图1举例说明具有PLC系统总线11以及现场网络2两者的PLC 系统SYS。但是,也可以采用只装载一方的系统结构。例如,也可以在现场 网络2中连接全部的单元。或者,也可以不使用现场网络2,将伺服电机致 动器3直接地连接至PLC系统总线11。再者,也可以将现场网络2的通信单 元连接至PLC系统总线11,通过从PUC单元13经由该通信单元,进行连接 至现场网络2的设备之间的通信。

另外,PLC1也可以是,通过使CPU单元13具有IO单元14的功能和 伺服电机致动器3的功能,CPU单元13不经由IO单元14和伺服电机致动 器3等,控制直接控制对象的结构。

伺服电机致动器3经由现场网络2与CPU单元13连接,并且按照来自 CPU单元13的指令值,驱动伺服电机4。更具体地是,伺服电机致动器3在 一定周期内从PLC1接收位置指令值,速度指令值,以及扭矩指令值这样的 指令值。此外,伺服电机致动器3,从与伺服电机4的轴连接的位置传感器 和扭矩传感器这样的传感器,获取位置,速度(典型地是,从本次位置与上 次位置之差计算),以及扭矩这样的伺服电机4的动作的实际测量值。然后, 伺服电机致动器3将来自CPU单元的指令值设定为目标值,将实际测量值作 为反馈值进行反馈控制。即,伺服电机致动器3调整用于驱动伺服电机4的 电流,以使实际测量值接近目标值。

此外,图1表示组合伺服电机4和伺服电机致动器3的系统的例子。但 是,也可以采用其他的结构,例如,组合脉冲电机和脉冲电机致动器的系统。

图1所示的PLC系统SYS的现场网络2,进而连接远程IO终端5。远 程IO终端,基本上与IO单元14一样,进行涉及一般的输入输出处理的处理。 更具体地是,远程IO终端5包括:现场网络2中用于进行数据传输的处理的 通信耦合器,一个以上的IO单元53。这些单元构成为:经由IO终端51,能 够相互交换数据。

另外,关于PLC支持装置8后续说明。

<B.CPU单元的硬件结构>

下面,参照图2,说明关于CPU单元13的硬件结构。图2是表示本发 明的实施方式的CPU单元13的硬件结构的示意图。参照图2,CPU单元13 包括:微型处理器100,芯片组102,主存储器104,非易失性存储器106, 系统定时器108,PLC系统总线控制器120,现场网络控制器140,USC连接 器110。芯片组102和其他的部件之间,经由各种的总线分别耦合。

微型处理器100以及芯片组102,典型地是,以通用的计算机体系结构 为标准被构成。即,微型处理器100对从芯片组102按照内部时钟依次提供 的命令代码进行解释并执行。芯片组102,在连接的各种部件之间交换内部 的数据,并且生成微型处理器100所需要的命令代码。再者,芯片组102具 有高速缓存微型处理器100的运算处理的执行的结果所得的数据等的功能。

CPU单元13作为存储部件具有,主存储器104以及非易失性存储器106。

主存储器104是易失性存储区域(RAM随机存取存储器),保持在向 CPU单元13的电源接通后,在微型处理器100中应该执行的各种程序。此外, 主存储器104,被也作为微型处理器100的各种程序的执行时的工作用存储 器使用。作为这样的主存储器104,被用作DRAM(Dynamic Random Access  Memory动态随机存取存储器)和SRAM(Static Radom Access Memory静态 随机存取存储器)这样的装置。

另一方面,非易失性存储器106,非易失地保持实时OS(Operating System 操作系统),PLC1的系统程序,用户程序,动作运算程序,以及系统设置参 数这样的数据。这些程序或者数据,根据需要被复制到主存储器104,使得 微型处理器100可以存取。作为这样的非易失性存储器106,可以使用闪速 存储器那样的半导体存储器。或者,也可以使用硬盘驱动器那样的磁性记录 介质和DVD-RAM(Digital Versatile Disk Random Access Memory数字多功能 光盘随机存取存储器)那样的光学记录介质等。

系统定时器108,按每个一定周期产生中断信号,并提供给微型处理器 100。典型地是,根据硬件的规格构成为在多个不同周期分别地产生中断信号。 但是,也可以设定为根据OS(Operating System操作系统)和BIOS(Basic Input  Output System基本输入输出系统)等,在任意的周期产生中断信号。该系统 定时器108利用产生的中断信号,实现如后所述的按每个动作控制循环的控 制操作。

CPU单元13作为通信电路,具有PLC系统总线控制器120以及现场网 络控制器140。这些通信电路,进行动作指令值数据等的输出数据的发送以 及动作控制用输入数据等的输入数据的接收。

另外,在CPU单元13自身具有IO单元14和伺服电机致动器3的功能 的情况下,通信电路的输出数据的发送以及输入数据的接收,将负责这些功 能的部分作为通信的对方,变成在CPU单元的内部进行发送或者接收。

PLC系统总线控制器120控制经由PLC系统总线11的数据的交换。更 具体地是,PLC系统总线控制器120包括:DMA(Dynamic Memory Access动 态存储器存取)控制电路122,和PLC系统总线控制电路124,以及缓存存 储器126。另外,PLC系统总线控制器120经由PLC系统总线连接器130与 PLC系统总线11内部地连接。

缓存存储器126作为经由PLC系统总线11向其他单元输出的数据(以 下也称作“输入数据”)的发送缓存,以及经由PLC系统总线11从其他的单 元输入的数据(以下也称作“输入数据”)的接收缓存,来发挥作用。另外, 由微型处理器100的运算所生成的输出数据,最初地存储于主存储器104。 然后,应该向指定的单元传输的输出数据从主存储器104读取,一次性地保 持到缓存存储器126之后,移动到主存储器104。

DMA控制电路122进行从主存储器104向缓存存储器126的输出数据 的传送,以及从缓存存储器126向主存储器104的输入数据的传送。

PLC系统总线控制电路124,在与连接到PLC系统总线11的其他单元 之间,进行缓存存储器126的输出数据的发送处理,以及输入数据的接收并 存储到缓存存储器126的处理。典型地是,PLC系统总线控制电路124提供 在PLC系统总线11中的物理层以及数据链路层的功能。

现场网络控制器140控制经由现场网络2的数据的交换。即,现场网络 控制器140按照所使用的现场网络2的规格,控制输出数据的发送以及输入 数据的接收。如上所述,在本实施方式中,采用按照EtherCAT(注册商标) 规格的现场网络2,因此,包括用于进行通常的以太网(注册商标)通信的 硬件的现场网络控制器140被使用。EtherCAT(注册商标)规格,可以利用 实现按照通常的以太网(注册商标)规格的通信协议的一般的以太网(注册 商标)控制器。但是,根据作为现场网络2采用的工业用以太网(注册商标) 的种类,对应与通常的通信协议不同的专用规格的通信协议的特别规格的以 太网(注册商标)控制器被使用。此外,在采用工业用以太网(注册商标) 之外的现场网络的情况下,对应该规格的专用的现场网络控制器被利用。

缓存存储器146,作为经由现场网络2向其他的装置等输出的数据(关 于该数据,以下也称作“输入数据”)的发送缓存,以及经由现场网络2从其 他的装置等输入的数据(关于该数据,以下也称作“输入数据”)的接收缓存, 来发挥作用。如上所述,由微型处理器100的运算所生成的输出数据,最初 地存储于主存储器104。然后,应该向指定的单元传输的输出数据从主存储 器104读取,一次性地保持到缓存存储器146。此外,从其他的装置传送的 输入数据在一次性地保持到缓存存储器146之后,移动到主存储器104。

DMA控制电路142进行从主存储器104向缓存存储器146的输出数据 的传送,以及从缓存存储器146向主存储器104的输入数据的传送。

现场网络控制电路144,在与连接到现场网络2的其他装置之间,进行 缓存存储器146的输出数据的发送处理,以及输入数据的接收并存储到缓存 存储器146的处理。典型地使,现场网络控制电路144提供在现场网络2中 的物理层以及数据链路层的功能。

USB连接器110是用于连接PLC支持装置8和CPU单元13的接口。典 型地是,从PLC支持装置8传送的,在CPU单元13的微型处理器100中可 以执行的程序等,经由USB连接器110而读取到PLC1。

<C.CPU单元的软件结构>

下面,参照图3,说明用于提供本实施方式的各种功能的软件组。这些 软件所包括的命令代码,在适当的定时读取,由CPU单元13的微型处理器 100执行。

图3是表示本发明实施方式的CPU单元13所执行的软件的结构的示意 图。参照图3,作为CPU单元13所执行的软件,实时OS200,系统程序210, 以及用户程序236变成3层。

实时OS200是按照CPU单元13的计算机体系结构而设计,微型处理器 100提供用于执行系统程序210以及用户程序236的基本的执行环境。该实 时OS,典型地是,由PLC的制造商或者专门的软件公司等提供。

系统程序210,是用于提供作为PLC的功能的软件组。具体地是,系统 程序210包括:调度程序212,输出处理程序214,输入处理程序216,时序 命令运算程序232,动作运算程序234,以及其他的系统程序220。另外,输 出处理程序214以及输入处理程序216,一般地是,连续地(作为整体)执 行。因此,往往将这些程序,统称作IO处理程序218。

用户程序236是按照用户的控制目的而生成。即,按照使用PLC系统 SYS来控制的对象的线(处理)等,任意地设计的程序。

如下所述,用户程序236与时序命令运算程序232以及动作运算程序234 一致动作,实现用户的控制目的。即,用户程序236通过利用由时序命令运 算程序232以及动作运算程序234提供的命令、函数、功能模块,实现被编 程的动作。因此,也有将用户程序236,时序命令运算程序232,以及动作运 算程序234统称作控制程序230的情况。

这样,CPU单元13的微型处理器100执行存储部件中存储的系统程序 210以及用户程序236。

以下,关于各程序进行更详细地说明。

上述用户程序236,如上所述,按照用户的控制目的而生成。用户程序 236,典型地是,变成在CPU单元13的微型处理器中100可以执行的目标程 序格式。该用户程序236,在PLC支持装置8等中,通过编译梯形语言等撰 写的源程序生成。然后,生成的目标程序格式的用户程序236从PLC支持装 置经由电缆10向CPU单元13传送,在非易失性存储器106等中被存储。

调度器程序212,关于输出处理程序214、输出处理程序216、以及控制 程序230,控制各执行循环的处理开始以及处理中断后的处理恢复。更具体 地是,调度器程序212控制用户程序236以及动作运算程序234的执行。

本实施方式的CPU单元13,将适合动作运算程序234的一定周期的执 行循环作为处理全体的共有循环来采用。因此,由于在一个动作控制循环难 以完成全部处理,按照应该执行的处理的优先顺序等,区分应该在各动作控 制循环中完成执行的处理,以及经过多个动作控制循环也可以执行的处理。 调度器程序212管理这些被区分的执行顺序等。更具体地是,调度器程序212 在各动作控制循环周期内,被赋予越高优先级的程序,越优先地执行。

输出处理程序214将用户程序236(控制程序230)的执行生成的输出 数据,以适合向PLC系统总线控制器120以及/或者现场网络控制器140传送 的格式,进行再配置。在PLC系统总线控制器120或者现场网络控制器140来 自微处理器100的,需要用于执行发送的指示的情况下,输出处理程序214 产生那样的指令。

输入处理程序216将用户程序PLC系统总线控制器120以及/或者现场 网络控制器140接收的输入数据,以适合控制程序230使用的格式,进行再 配置。

时序命令运算程序232,在用户程序236所使用的某种时序命令被执行 的时候,被调用,是用于实现该命令而被执行的程序。

动作运算程序234是,按照用户程序236的指令来执行,计算对于伺服 电机致动器3和脉冲电机致动器这样的电机致动器输出的指令值的程序。

其他的系统程序220是,图3中个别地表示的程序以外的,表示汇集了 用于实现PLC1的各种功能的程序组的程序。其他的系统程序220包括设定 动作控制循环的周期的程序222。

动作控制循环的周期,可以按照控制目的适宜地设定。典型地是,用户 向PLC支持装置8输入指定动作控制循环的周期的信息。于是,该被输入的 信息,从PLC支持装置8向CPU单元13传送。设定动作控制循环的周期的 程序222,使非易失性存储器106存储来自PLC支持装置的信息,并且,设 定系统定时器108,为了在由系统定时器108指定的动作控制循环的周期中 产生中断信号。到CPU单元13的电源接通时,通过执行设定动作控制循环 的周期的程序222,从非易失性存储器106读取指定动作控制循环的周期的 信息,按照读取的信息设定系统定时108。

作为指定动作控制循环的周期的信息的格式,可以采用表示动作控制循 环的周期的时间的值,和从涉及动作控制循环的周期的预先准备的多个选项 中指定一个的信息(符号或者字符)等。

本实施方式的CPU单元13中,作为设定动作控制循环的周期的部件, 相应于为了获取指定动作控制循环的周期的信息而使用的与PLC支持装置8 的通信部件、设定动作控制循环的周期的程序222、以及能够任意地设定规 定动作控制循环的中断信号的周期的系统定时器108的结构的,为了任意的 设定动作控制循环的周期所使用的要素。

实时OS200提供按照时间的经过而切换多个程序并执行的环境。在本实 施方式的PLC1中,作为用于将通过CPU单元13的程序执行所生成的输出 数据输出(发送)到其他的单元或者其他的装置的事件(中断),初始设定了 输出准备中断(P)以及现场网络发送中断(X)。若产生输出准备中断(P) 或者现场网络发送中断(X),则实时OS200将在微型处理器100中的执行对 象,在中断产生时刻从执行中的程序切换到调度器程序212。另外,在调度 器程序212以及调度器程序212控制其执行的程序都没有执行的情况下,实 时OS200执行在其他的系统程序210中包含的程序。作为这样的程序,例如 包括涉及经由了CPU单元13和PLC支持装置8之间的连接电缆10(USB) 等的通信处理的程序。

<D.主存储器结构>

下面,参照图4,说明在CPU单元13的主存储器104中构成的存储区 域。

图4是表示本发明的实施方式的CPU单元13的主存储器104的区域结 构的示意图。参照图4,在主存储器104中形成了各种程序区域1041、控制 程序的作业区域1042、PLC系统总线发送缓存1043、PLC系统总线接收缓存 1044、现场网络发送缓存1045以及现场网络接收缓存1046。

在各种程序区域1041中,暂时地存储用于执行各种程序的代码。

在控制程序的作业区域1042中,暂时地存储通过控制程序230的执行而 生成的输出数据。

PLC系统总线发送缓存1043以及PLC系统总线接收缓存1044分别暂时 地存储经由PLC系统总线11而发送以及接收的数据。同样地,现场网络发 送缓存1045以及现场网络接收缓存1046分别暂时地存储经由现场网络2而 发送以及接收的数据。

更具体而言,输出处理程序214在需要经由PLC系统总线11发送任一 个输出数据的情况下,将对象的输出数据从控制程序的作业区域1042复制到 PLC系统总线发送缓存1043。此时,输出处理程序214为了能够汇总发送对 同一个单元发送的多个输出数据,在PLC系统总线发送缓存1043中,将输 出数据以汇集朝向同一个单元的输出数据的方式再配置。

同样地,输出处理程序214在需要经由现场网络2发送任一个输出数据 的情况下,将对象的输出数据从控制程序的作业区域1042复制到现场网络发 送缓存1045。此时,输出处理程序214在现场网络发送缓存1045中,将输 出数据再配置为能够作为串行帧发送的格式。

另一方面,输入处理程序216将PLC系统总线控制器120接收并存储在 PLC系统总线接收缓存1044中的输入数据以及/或者现场网络控制器140接 收并存储在现场网络接收缓存1046中的输入数据复制到控制程序的作业区 域1042。此时,输入处理程序216在控制程序的作业区域1042中,将输入 数据再配置为适合控制程序230使用的格式。

PLC系统总线控制器120的DMA控制电路122将在PLC系统总线发送 缓存1043中存储的输出数据传送到PLC系统总线控制器120的缓存存储器 146,并且将在缓存存储器146中存储的输入数据传送到PLC系统总线接收 缓存1044。

现场网络控制器140的DMA控制电路142将在现场网络发送缓存1045 中存储的输出数据传送到现场网络控制器140的缓存存储器146,并且将在 缓存存储器146中存储的输入数据传送到现场网络接收缓存1046。控制程序 的作业区域1042、PLC系统总线发送缓存1043、PLC系统总线接收缓存1044、 现场网络发送缓存1045以及现场网络接收缓存1046构成为能够相互独立地 控制各自的存取。因此,例如能够并行执行以下所示的(1)~(3)的多个动 作。

(1)微处理器100进行的、对于伴随用户程序236执行的控制程序的作 业区域1042的存取。

(2)PLC系统总线控制器120的DMA控制电路122进行的、对于用于 主存储器104上的PLC系统总线发送缓存1043以及/或者PLC系统总线接收 缓存1044与PLC系统总线控制器120内的缓存存储器126之间的数据传送 的、主存储器104上的PLC系统总线发送缓存1043和/或者PLC系统总线接 收缓存1044的存取。

(3)现场网络控制器140的DMA控制电路142进行的、对于用于主存 储器104上的现场网络发送缓存1045以及/或者现场网络接收缓存1046与现 场网络控制器140内的缓存存储器146之间的数据传送的、主存储器104上 的现场网络发送缓存1045以及/或者现场网络接收缓存1046的存取。<E.应 用>

下面,说明本实施方式的PLC系统SYS适用的几个应用例。

首先,说明上述的用户程序236包含的典型的结构。用户程序236包含 周期地判断电机的运动相关的控制开始的条件是否成立的命令。例如,根据 电机的驱动力判断某种处置做的工作是否被传送到规定的处置位置的逻辑。 然后,用户程序236进而包括:对于判断为该控制开始的条件成立的情况进 行响应并开始动作控制的命令。伴随该动作控制的开始,动作命令的执行被 指示。于是,启动对应被指示的动作命令的动作运算程序234。首先,执行 用于按每个动作运算程序234的执行,计算对于电机指令值所需要初始处理。 此外,在与初始处理相同的动作控制循环中,第1循环的指令值被计算。从 而,初始处理以及第一位的指令值计算处理,变成启动的动作运算程序234 应该放置至第一位执行的处理。以后,各循环的指令值被依次计算。

图5是表示本发明的实施方式的控制程序230(用户程序230,时序命令 运算程序232以及动作运算程序234)所提供的工作控制的概略的处理顺序 的时序图。参照图5,微型处理器100周期地判断电机的运动相关的控制开 始的条件是否成立(步骤S2)。该控制开始的条件是否成立的判断,通过用 户程序236以及时序命令运算程序232来实现。在控制开始的条件不成立的 情况(步骤S2为NO的情况)下,重复步骤S2的判断。

控制开始的条件成立的情况(步骤S2为YES的情况)下,微型处理器 100,执行动作控制相关的初始处理(步骤S4)。作为该初始处理,包括对 电机的运动的开始位置坐标、结束位置坐标、初始速度、初始加速度以及轨 迹等的计算处理。接着,微型处理器100执行第1循环的指令值的计算处理 (步骤S6)。进而,微型处理器100执行计算出的指令值的输出处理(步骤 S8)。

之后,微型处理器100等待直至下一个动作控制循环到来(S10)。然后, 微型处理器100周期地判断电机的运动相关的控制结束的条件是否成立。该 控制结束的条件成立,是指伺服电机4到达结束位置的状态等。在控制结束 的条件成立的情况下(步骤S12为YES的情况),再次重复步骤S2以下的 处理。此时,启动中的动作运算程序234维持非活性的状态直至新的控制开 始的条件成立。

在控制结束的条件不成立的情况下(步骤S12为NO的情况),微型处 理器100执行现在的循环的指令值的计算处理(步骤S14)。进而,微型处 理器100执行计算出的指令值的输出处理(步骤S16)。然后,重复步骤S10以 下的处理。

以下,列举几个用户需要特别的动作控制内容的例子。

[e1:应用例1]

图6是表示本发明的实施方式的CPU单元13的应用例1的示意图。参 照图6,作为应用例1,假设将长的板材502缠绕在辊520上的缠绕装置500。 该缠绕装置500,保持对板材502提供一定的张力,同时向辊520缠绕。更 具体地是,使用被配置在板材502的送出侧的张力辊514,对板材502提供 比较小的制动(摩擦力),并且根据调整辊520的驱动扭矩τ或者旋转速度 ω,板材502的张力被控制变成目标值。

缠绕装置500,随着对板材502的缠绕,辊520的辊径r逐渐的变大。 另一方面,辊520由与其旋转轴机械地连接的电机504被旋转驱动。本来应 该控制的对象,是辊520的最外层面(辊径r的位置)的张力T,但是,作为 可以控制的物理量,是电机504的扭矩τ或者旋转速度ω。然后,该扭矩τ 或者旋转速度ω与张力T之间的关系,依存于辊520的辊径r而变化。更具 体地是,随着辊520的辊径r变大,会变得就算使扭矩指令值变大,张力也 只会稍微变大。此外,变得旋转速度的指令值稍微变化,张力T就很大的变 化。

因此,电机504的扭矩或者旋转速度(即,向用于驱动电机504的致动 器506提供的扭矩指令值或者旋转速度指令值),需要按照辊520的辊径变 化。

在缠绕装置500中,检测在板材502上产生的张力T,为了使该张力值 T的检测值与目标值一致,计算扭矩指令值或者速度指令值。作为检测该张 力T的结构的一例,设置通过弹簧增强的张力检测用辊512、使张力检测用 辊512接触在空中移动的板材502。于是,板材502稍微弯曲,张力检测用 辊512的压力(弹簧对张力检测用辊512向下的拉力)与板材502的张力的 反作用力(对张力检测用辊512向上的推力)平衡时,张力检测用辊512静 止。张力检测用辊512的位置按照板材502的张力变化,因此,通过位置传 感器(旋转编码器)510检测该位置。检测的张力检出用辊512的位置,向 PLC1输入。该张力检测用辊512的位置,变成对应于板材502的张力T的大 小的值。

PLC的CPU单元13的微型处理器100,通过执行用户程序236,将输入 检测的张力检测用辊512的位置和驱动辊520的电机504的当前的扭矩值以 及速度值作为输入,基于张力检测用辊512的位置计算板材502的张力,进 而,通过进行对应于缠绕装置500的机械系统的运算,为了计算的张力T向 目标值接近,计算需要的扭矩指令值或者速度指令值。

另外,作为计算扭矩指令值或者速度指令值的运算处理,可以采用以下 的逻辑:利用不久以前的指令值(扭矩指令值或者速度指令值)变化多少, 则张力变化了多少的实际成果的数据,估计指令值与张力的关系,基于该估 计的关系,计算本次的循环的指令值(扭矩指令值或者速度指令值)。

或者,也可以检测各周期的辊520的辊径r,基于该检测结果,计算指 令值(扭矩指令值或者速度指令值)。作为检测该辊径r的结构的一例,设 置弹簧增强的辊径测量用辊516,使辊径测量用辊516接触辊520的中心侧。 辊径检测用辊516的位置,按照辊520的辊径而变化,因此,通过传感器518 检测该位置。

微型处理器100,通过执行动作运算程序234以及与其相关联的输出处 理程序214,将从用户程序236提供的指令值(扭矩指令值或者速度指令值), 经由现场网络2,输出到驱动电机504的致动器506。

在图6所示的应用中,用户程序236担任动作运算的实质上所有的部分, 动作运算程序234担任对致动器506的指令值的输出管理。

[e2:应用例2]

图7是表示本发明的实施方式的CPU单元13的应用例2的示意图。参 照图7,作为应用例2,假设在传送一定的图案重复印刷的板材602的同时, 在图案的缝隙的位置进行切断的切断装置600。该切断装置600,由操纵板材 602的切断所使用的截断器604的电机606控制。更具体地是,PLC1,对应 于传送板材602的辊612、614规定的角度的旋转,控制使切断器604上下移 动的电子凸轮动作。

在执行该电子凸轮动作之际,需要决定用于对应于板材602的图案并开 始切断的初始相位。此外,板材602由于张力和湿度的变化而伸缩,即使存 在板材602伸缩,为了能够在图案的缝隙正确地切断,必须调整切断位置的 相位和周期。

图7所示的应用例2中,板材602上印刷有标记630,关联图案的印刷 位置。在板材602的传输路径上,设置检测用传感器610(典型地是,光学 传感器),使用该传感器610,检测这些标记630的通过。

此外,传送板材602的辊614,由机械地连接的电机618旋转驱动。电 机618,由电机致动器622驱动。此外,辊614和机械地连接的电机618,设 置用于检测该旋转角度(旋转位置)的旋转编码器624。旋转编码器624中 检测的旋转角度,被输入至PLC1。

在传感器610检测到标记630的通过的定时,保持旋转编码器624中的 旋转角度(旋转位置)的分别的检测值,通过计算上次保持的检测值与这次 保持的检测值之差,能够决定也反映了板材602的伸缩的各板材602的应该 切断间隔。

PLC的CPU单元13的微型处理器100,通过执行用户程序236,基于被 输入的旋转编码器624的检测值以及传感器610的标记630的检测值,计算 作为辊614的旋转角度(旋转位置)被表示的切断定时的初始相位,并且周 期地计算其后的各循环的相位以及周期的修正值。计算的相位以及周期的修 正值,被送至在微型处理器100被执行的动作运算程序234。微型处理器100, 通过执行动作运算程序234,反映被提供的切断定时的初始相位、相位以及 周期的修正值,控制电机618的动作。即,通过动作运算程序234的执行, 对于电机致动器622,输出反映切断定时的初始相位、相位以及周期的修正 值的各自的指令值。

另外,为了指定板材602的图案的位置,可以使用具有照相机的视觉传 感器。在该情况下,以其视野范围包括板材602的图案的方式配置照相机。 视觉传感器通过进行照相机所拍摄的图像和表示预先登陆的图案的模型图像 之间的匹配处理,指定板材602中图像的位置。然后,按照该指定的图案的 位置,获得对应的旋转编码器624中的检测值。

[e3:应用例3]

图8是表示本发明的实施方式的CPU单元13的应用例3的示意图。参 照图8,作为应用例3,假设传输车710在直线的轨道上运动的传输系统700。 在传输车710中,左右的驱动轮712、722分别由独立的电机714、724驱动。

在直线的轨道702上移动,理想地是,左右的驱动轮712、722的旋转量 相互相同,因此,也可以从PLC1对于致动器718、728,按每个动作控制循 环,分别提供左右相同的旋转位置的指令值。可是,由于传输车710装载的 货物的偏斜和轨道702的状态等,会发生仅一侧的驱动轮空转的事态。

例如,仅右侧的驱动轮722暂时地滑动并空转,其后,作为对于右侧的 驱动轮722的旋转位置的指令值,需要提供修正空转的旋转量(加上空转量) 指令值。为了对应这样的应用,准备被称为多轴合成定位的动作命令。该动 作命令,对于主轴(例如,左侧的驱动轮712)的本来的旋转位置的指令值, 将加上修正轴的值而算出的位置作为从轴(例如,右侧的驱动轮722)的旋 转位置的指令值。

微型处理器100通过执行用户程序236,在一定周期中获得左右的驱动 轮712、722的旋转位置(在左右的驱动轮712、722分别设置的旋转编码器 716、726的输出),判断左右的驱动轮712、722之前的旋转位置之差是否 超过预先设定的容许范围。然后,旋转位置之差超过了预先设定的容许范围, 则微型处理器100,以收纳于该容许范围的方式更新辅助轴的值(位置)。 进而,更新的辅助轴的值(位置)被送至微型处理器100执行的动作运算程 序234。微型处理器100,通过执行动作运算程序234,按照指定别的用途的 动作命令,按每个用户程序执行循环计算主轴的指令值,并且使用所提供的 最新的辅助轴的值(位置),通过修正主轴的指令值计算从轴的指令值。输 出至各自的计算的指令值对应的致动器718以及728。

<F.全体处理动作(实施方式1)>

下面,关于本实施方式的各程序的执行顺序等,进行以下说明。另外, 在本说明书中,作为本发明的技术思想的具体例,例示实施方式1~4。

[f1:本实施方式]

图9是表示本发明的实施方式1的全体处理动作的时序图。参照图9, 在本实施方式的PLC1的执行中,微型处理器100变成可以执行,至少,IO 处理程序218(输出处理程序214以及输入处理程序216)、用户程序236(第1 用户程序)以及动作运算程序234的状态。严格地说,实时OS200保持可以 执行各自的程序的处理(或者线程)的状态,通过调度器程序212利用实时 OS200以及硬件资源(系统定时器108等),各自的程序在适当的定时且以 适当的顺序被执行。照这样,各自的程序的执行的开始/终端/结束等由调度器 程序212控制,但是,在图9中关于调度器212的处理没有进行图示。

如图9所述,PLC1的执行中,进行以下的时序。

(1)现场网络控制器140接收动作控制用输入数据,在现场网络控制缓 存1046中存储该数据,以及/或者,PLC系统总线控制器120接收动作控制用 输入数据,在PLC系统总线接收缓存1044(图4)中存储该数据。

(2)按照IO处理程序218的命令,现场网络接收缓存1046以及/或者 PLC系统总线接收缓存1044存储的动作控制用输入数据,被传送至用户程序 236的作业区域(典型地是,控制程序的作业区域1042(图4)的一部分)。 因此,在用户程序236由微型处理器100执行之际,可以存取动作控制用输 入数据。

(3)按照IO处理程序218的命令,在现场网络接收缓存1046以及/或 者PLC系统总线接收缓存1044中所存储的动作控制用输入数据,被传送至 动作运算程序234的作业区域(典型地是,控制程序的作业区域1042(图4) 的一部分)。因此,在动作运算程序234由微型处理器100执行之际,可以存 取动作控制用输入数据。

(4)按照用户程序236的命令,使用动作控制用输入数据来计算用户程 序236的输出数据,计算的输出数据传送至动作运算程序234的作业区域(典 型地是,控制程序的作业区域1042(图4)的一部分)。因此,在动作运算程 序234由微型处理器100执行之际,可以存取用户程序236的输出数据。

(5)按照动作运算程序234的命令,动作控制用输入数据以及用户程序 用输出数据之中,使用需要的数据来计算动作指令值,计算的动作指令值数 据被传送至IO处理程序218的作业区域(典型地是,控制程序的作业区域 1042(图4)的一部分)。因此,在IO处理程序218由微型处理器100执行 之际,可以存取由动作运算程序234计算的动作指令值数据。

(6)按照IO处理程序218的命令,输出动作指令值数据。更具体地是, 控制程序的作业区域1042(图4)中存储的动作指令值数据被传送至现场网 络发送缓存1045(图4)。进而,继续传送数据至现场网络发送缓存1045, 现场网络控制器140发送动作指令值数据至伺服电机致动器3。

另外,在上述的(1)的处理中,关于用户程序236的运算中被使用,动 作运算程序234的运算中未使用的输入数据,也被输入得到。此外,通过用 户程序236的执行生成的用户程序输出数据,即使是在动作运算处理程序234 运算中未使用的输出数据,被传送至IO处理程序218,在(6)的处理中被 输出。

本实施方式的“动作控制循环”是动作运算程序234的执行以及通信的 周期,即,在向伺服电机致动器3提供动作指令值数据的周期中被执行的一 连串的处理的循环。此时,而如图9所示,1个动作控制循环的范围(从开 始到结束)可以通过图9的右侧所示的A、B、C中的任一个来充分理解。即, 动作控制循环,不是由指定的程序的开始定时以及/或者结束定时定义的,仅 仅是包括动作运算程序234的1次的执行的处理的循环。作为1个例子,在 图9的左侧表示图9的右侧所示的A的划分方法看到的情况的,动作控制循 环1~3(3循环量)。

如图9所示,与动作控制循环的划分方式是A、B、C的哪一个无关,调 度器程序212包括:使微型处理器100按每个动作控制循环开始动作运算程 序234的执行的命令,以及使微型处理器100按每个用户程序执行循环(在 该例中,与动作控制循环一致)开始用户程序236(第1用户程序)的执行 的命令。进而,调度器程序212包括:用于以与用户程序执行循环的周期相 当的周期依次重复输出处理以及输入处理、用户程序236的执行开始、用户 程序236的执行结束、以及动作运算程序234的执行开始的命令。其中,在 该命令的一连串的处理的循环和用户程序执行循环之间,循环的相位(循环 的开始定时)不一定一致。

在如图9所示的IO处理中,按照输出处理程序214的命令,先执行输出 处理,接着按照输入处理程序216执行输入处理。但是,该输出处理和输入 处理的执行顺序可以相反,如果可能的话,也可以并行地进行。

如图9所示,PLC1的CPU单元13构成为,按每个一定周期的动作控制 循环,能够重复动作指令值数据的输出处理以及动作控制用输入数据的输入 处理(IO处理)和动作运算程序234的执行。再者,PLC1的CPU单元构成 为,按每个动作控制循环的周期的整数倍的周期的用户程序执行循环,能够 重复执行用户程序236,该用户程序236根据用户的控制目的生成且对动作 运算程序234提供其执行所需要的指示的处理。

此外,CPU单元13包括的通信电路(PLC系统总线控制器120以及现 场网络控制器140),按每个动作控制循环,作为输出处理的至少一部分进行 动作指令值数据的发送,以及作为输入处理的至少一部分进行动作控制用输 入数据的接收。

根据本实施方式,可以使从输入处理的开始(图9所示的处理)至反映 该输入处理所输入的动作控制用输入数据的动作指令值数据的输出处理需要 的时间成为与用户程序执行循环的周期相当的,更短的时间。

在图9所示的例子中,用户程序执行循环的周期,与动作控制循环的周 期相等。通过这样设置各自的周期,按每个动作运算程序234的执行,可以 使用更新的用户程序输出数据来计算动作指令值数据。即,按每次的输出处 理,可以那样地输出更新的动作指令值数据。

[0137] 在图9所示的例子中,A作为动作控制循环的划分方法的情况下,调度 器程序212包括:用于在动作控制循环内,输出处理以及输入处理(IO处理) 之后,使微型处理器100依次执行用户程序236以及动作运算程序234的命 令。在这种情况下,在动作控制循环内,能够在用户程序236以及动作运算 程序234的执行之前,进行涉及动作控制的输出处理以及输入处理,因此, 能够减少用于这些输入输出的通信周期的偏差。所以,能够更高精度地控制 电机的运动。

[f2:比较例]

下面,为了说明本实施方式的调度器程序212的效果,将与图9所示的 时序的程序的执行顺序不同的情况的时序作为比较例来说明。

图10是表示图9所示全体处理动作相关的比较例的全体处理动作的时序 图。在上述的图9中,表示了按照“IO处理程序218”、“用户程序236”、“动 作运算程序234”的顺序,执行各自的程序的例子。但是,在图10中,作为 比较例,表示按照“IO处理程序218”、“动作运算程序234”、“用户程序236” 的顺序,执行各自的程序的例子。

在采用图10所示的比较例的程序的执行顺序的情况下,从输入处理的开 始(图10所示的处理)至反映该输入处理所输入的动作控制用输入数据的动 作指令值数据的输出处理,需要相当于用户程序236的执行循环的2个周期 的量的时间。所以,比较图9所示的程序的执行顺序,控制延迟用户程序的 执行循环的1周期的量的时间。

更具体地是,图10所示的比较例的(1)~(6)的处理的说明,与图9 的(1)~(6)的说明相同。图10的(1’)~(6’)的处理的说明,也与图9 (1)~(6)的处理的说明相同。图10所示的时序,比(1)~(6)的处理用 户程序执行循环的周期,多花动作控制循环1个周期量长的时间。然后,在 (1)~(6)的处理的中途,开始(1’)~(6’)的处理。

照这样,因为(1)~(6)的处理以及(1’)~(6’)的处理并行进行, 在图10所示的时序中,在动作控制循环2的动作运算程序234的执行时(M2), 产生动作控制用输入数据的处理复杂化的问题。例如,在动作控制循环2的 动作运算程序234的执行时,动作控制用的新输入数据的输入处理(图10所 示(1’)的处理)在动作运算程序234的执行时(M2)之前结束。因此,动 作运算程序234的执行时(M2),本来应该使用的动作控制用输入数据(图 10所示(3)的处理所传送的输入数据),与不应该使用的动作控制用的新输 入数据(图10所示(3’’)的处理所传送的输入数据)一并被保持在作业区域 中。因此,在动作运算程序234执行时,为了使用本来应该使用的输入数据, 不使用新输入数据,需要管理的构造,处理变得复杂化。

如上所述,通过以图9所示的本实施方式的执行顺序来执行各自的程序, 可以避免在图10所示的时序中产生的问题,并且控制周期可以更高速化。

<G.全体处理动作(实施方式2)>

在上述的实施方式1中,着眼于IO处理程序218、用户程序236以及动 作运算程序234的执行顺序,进行了说明。但是,也有在1个的动作控制循 环内,即使将这些的程序全部执行,还可以执行其他处理的情况。那么,在 实施方式2中,关于一并执行上述的程序与其他的处理的动作处理进行说明。

图11是表示本实施方式2的全体处理动作的时序图。参照图11,在本 实施方式中,在从IO处理程序218的执行结束至用户程序236的执行开始之 间,执行“其他的处理P”。此外,用户程序236的执行结束至动作运算程序 234的执行开始之间,执行“其他的处理Q”。进而,动作运算程序234的执 行结束到IO处理程序218的执行开始之间,执行“其他的处理R”。

关于“其他的处理P”、“其他的处理Q”、“其他的处理R”的处理内容, 只要不阻碍用户程序236以及动作运算程序234的正常的执行的处理,可以 是任何的处理。更具体地是,作为“其他处理”,假设其他的系统程序220(图 3)的执行等。作为该其他的系统程序220的处理内容,例如,可以设想输入 数据以及/或者输出数据的记录,故障诊断,与PLC支持系统8的通信,以及 经由上位计算机的LAN的通信(本实施方式的CPU单元具有与13经由以太 网的上位计算机(注册商标)通信功能的情况)等。

进而,关于用户程序236包括的时序运算相关的输入处理以及输出处理, 可以在执行IO执行程序218的时候,与动作控制用输入数据的输入处理以及 动作指令值数据的输出处理同时进行。也可以在除此之外的定时,作为任一 种“其他的处理”进行。

此外,在“其他的处理”在动作控制循环的最后执行的情况下,“其他的 处理”的内容,也可以存在在下一个动作控制循环开始之前待机的空转。

图11中,表示3种的“其他的处理”执行的处理例。但是,关于该“其 他的处理”的数量没有特别的限制,例如,可以只存在“其他的处理”当中 的1个或者2个。或者,也可以在单一的“其他的处理”中,依次执行多个 的种类的处理。

在图11所示的时序中,作为1个的动作控制循环的范围(从开始至结束), 将“IO处理程序218”、“用户程序236”、“动作运算程序234”的处理开始定 时作为边界的A、B、C之外,可能有将任一中的“其他处理”的处理开始定 时作为边界的A’、B’、C’。

<H.全体处理动作(实施方式3)>

对于按照用户的控制目的生成的用户程序能够设定不同的优先级也是实 用的。所以,在实施方式3中,对存在设定了更高的优先级的用户程序和设 定了更低优先级的用户程序(以下也称作“低优先用户程序”)的情况的动作 处理,进行说明。此外,在本实施方式中,与低优先用户程序对比,将与图 11所示的用户程序236相当的程序也称作“高优先用户程序236-1”。

图12是表示本发明的实施方式3的全体处理动作的时序图。图12所示 的时序,相当于在图11所示的时序中,“其他的处理P”以及“其他的处理Q” 不存在,且,作为“其他的处理R”执行低优先用户程序236-2(第2用户程 序)的情况。

高优先用户程序236-1包括:使用动作控制用输入数据,计算动作运算 程序234的运算中所使用的用户程序输出数据的命令。高优先程序236-1,进 而包括动作命令。该动作命令包括:用于提供对于动作运算程序234执行所 需要的参数并指示执行开始的命令。例如,用户基于表示检测开关6(图1) 的状态的输入数据,在某个条件成立的情况下,能够编程以执行动作命令。

低优先用户程序236-2包括使用动作控制用输入数据来计算用户程序输 入数据的命令。典型地是,低优先用户程序236-2包括:与动作控制相比延 迟的控制就足够的部分的处理内容。

关于低优先用户程序236-2,与用户程序236同样地存储在非易失性存 储器106(图2)中,在执行时被复制到主存储器1041内分割的各种的程序 区域1041(图4)。

如上所述,低优先用户程序236-2构成为相比迟缓的控制就足够的部分 的处理内容,低优先用户236-2的执行循环的周期设定为动作控制循环的周 期的2以上的整数倍的周期。作为1个例子,在图12所示的时序中,低优先 用户程序236-2的执行循环的周期设定为动作控制循环的周期的4倍。因此, 低优先用户程序236-2将图12所示的动作控制循环1~4看作1个的执行循环 而执行。

为了说明的方便,在图12所示的时序图中,与上述的图9~图11不同, 表示调度器程序212的动作定时,并且将IO处理程序218区别于输出处理程 序214和输入处理程序216而表示。进而,在图12所示时序图中,也表示 PLC系统总线控制器120以及现场网络控制器140的动作定时。

在本实施方式中,高优先用户程序236-1以及动作运算程序234,以被 包含于被称作动作控制线程的1个线程的形式而被封装。因此,高优先用户 程序236-1与动作运算程序234不经由调度器程序212的控制,连续执行。 可是,关于动作运算程序234,也可以看作经由动作控制线程全体的执行控 制,被调度器程序212执行控制。

在本实施方式中,高优先用户程序236-1和动作运算程序234通常连续 执行,因此,构成为动作命令只包括于高优先用户程序236-1,低优先用户程 序236-2中不包含动作命令。优选为容易地理解控制结构。

进而,如图12所示,输出处理程序214、输入处理程序236、高优先用 户程序236-1以及动作运算程序234,也能够以被包含于被称作动作控制线程 的1个线程的形式而被封装。此时,这些的程序的执行顺序与调度程序212 无关,调度器212可以只控制该动作控制线程的启动。即使在这种情况下也 可以看作,调度器程序212通过控制动作控制线程的执行开始定时,进行开 始动作控制线程包含的各自的程序的执行的处理。

即,在本实施方式中,调度器程序212开始某些程序的执行,不限定于 个别地开始该程序的执行。

输出处理程序214、输入处理程序216、动作控制线程(高优先用户程序 236-1以及动作运算程序234)、以及低优先用户程序236-2,被赋予了各自的 优先级。这些的程序以及线程被赋予的优先级,例如,从高的起,输出处理 程序214、输入处理程序216、动作控制线程、低优先用户程序236-2的顺序。

调度器程序212,在各动作控制循环内,使微型处理器100,从优先级高 的程序/线程起,依次地执行。下面,“使微型处理器100执行”也简单地表 现作“执行”。

调度器程序212,在仅限于其自身是目标实例的情况下,可以使被植入 其他的各种目标实例(例如,输入处理程序214)并动作的程序(处理)。例 如,也可以是在其他的目标实例中被调用而动作的程序。

图12所示符号P以及X,分别表示从系统定时器108(图2)起按每个 一定周期产生的中断信号。具体地是,“P”表示输出准备中断、“X”表示现 场网络发送中断。另外,在图12中,对表示中断的符号“P”以及“X”添 加表示动作控制循环的号码而表现。

(h1:关于动作控制循环1)

调度器程序212,响应输出准备中断(P-1),按照优先级,首先执行输 出处理程序214。

在需要经由PLC系统总线11发送任一个输出数据的情况下,输出处理 程序214将对象的输出数据从控制程序的作业区域1042复制到PLC系统总 线发送缓存1043。此外,在需要经由现场网络2发送任一个输出数据的情况 下,输出处理程序214将对象的输出数据从控制程序的作业区域1042复制到 现场网络发送缓存1045。输出数据包括:动作运算程序234的执行结果的动 作指令值、以及用户程序236的执行结果的其他的输出数据。

接着,输出处理程序214结束向PLC系统总线发送缓冲1043的输出数 据的复制,则对PLC系统总线控制器指示发送执行(符号A)。然后,输出 处理程序214结束全部的输出数据的复制,则暂时停止执行。

其后,调度器程序212响应现场网络发送中断(X-1),恢复输出处理程 序214的执行。

输出处理程序214恢复执行,则对现场网络控制器140指示发送执行(符 号B)。然后,输出处理程序214结束自身的执行。

调度器程序212结束输出处理程序214的执行,则按照优先级,下面执 行输入处理程序216。

输入处理程序216,在接收来自PLC系统总线控制器120的接收结束通 知(符号C)、或者来自现场网络控制器140的接收结束通知(符号D)之 前,待机。在图12中,作为1个例子,表示先产生来自PLC系统总线控制 器120的接收结束通知(符号C),接着产生来自现场网络控制器140的接收 结束通知(符号D)的例子,也存在该产生顺序相反的情况。

输入处理程序216产生接收结束通知(符号C或者D),则对应于是哪 一个接收结束通知,将输入数据从PLC系统总线接收缓存1044或者现场网 络接收缓存1046复制到控制程序的作业区域1042。输入数据包括动作控制 用输入数据以及用户程序236的执行所需要的其他的输入数据。

输入处理程序216结束输入数据的复制,则结束执行。

调度器程序212结束输入程序216的执行,则按照优先级,下面执行动 作控制线程。即,用户程序236开始执行。

用户程序236使用动作控制用输入数据来计算用户程序输入数据。此外, 用户程序236生成其他的输出数据。伴随用户程序236的执行结束,运算程 序234开始执行。动作运算程序234在动作控制用输入数据以及用户程序输 出数据中使用需要的数据,计算动作指令值数据。

调度器程序212结束动作运算程序234的执行,则按照优先级,最后执 行低优先用户程序236-2。该低优先用户程序236-2的执行,响应下一个动作 控制循环的输出准备中断(P-2)而被中断。

如本实施方式的输出准备中断(P)那样,在存在作为中断执行中的处理, 新开始一连串的处理的触发的一定周期的中断的情况下,优选为将那样的中 断作为控制循环的边界理解。

(h2:关于PLC系统总线控制器120的动作)

PLC系统总线控制器120的DMA控制电路122响应发送执行指示(符 号A),将存储在主存储器104的PLC系统总线发送缓冲1043的输出数据传 送到PLC系统总线控制器120的缓存存储器126。

向缓存存储器126的输出数据的传送结束,则PLC系统总线控制电路 124,将对象的输出数据从缓存存储器126对各输出数据的目的地的单元传 送。其后,输入数据的传送结束,则DMA控制回路122将接收结束通知(符 号C)对微型处理器100发送。

(h3:关于现场网络控制器140的动作)

现场网络控制器140的DMA控制电路142,响应发送执行指示(符号B), 将存储在主存储器104的现场网络发送缓冲1045的输出数据传送到现场网络 控制器140的缓存存储器146。

向缓存存储器146的输出数据的传送结束,则现场网络控制电路144, 将输出数据从缓存存储器146对各输出数据的目的地的装置传送。其后,现 场网络控制电路144,将输入数据从现场网络2上的各装置向现场网络控制 器140的缓存存储器146传送。

向缓存存储器146的输入数据的传送结束,则现场网络控制器140的 DMA控制电路142,将存储于缓存存储器146的输入数据向主存储器104的 现场网络接收缓存1046传送。其后,输入数据的传送结束,则DMA控制回 路142将接收结束通知(符号D)对微型处理器100发送。

上面的动作,不限于现场网络2的种类,都是妥当的。现场网络2是本 实施方式采用的EtherCAT(注册商标)的情况下,进而执行下面这样的处理。

既,在EtherCAT(注册商标)中,单一的帧中包括发往各单元的输出数 据以及来自各单元的输入数据。发送来自设定为主控的CPU单元13的帧, 则发送的帧经由菊花链连接的各个的单元而依次传送。另外,CPU单元13 之外的各个的单元,设定为从属。帧到达末端的单元,则该帧通过全双工的 通信路径折回,又经由作为从属的各个的单元返回CPU单元13。在各从属中, 在去路的帧以FIFO(First In First Out先进先出)方式通过的同时,读取往自 从属的输出数据,并且在帧的适当的位置写入自单元中产生的输入数据。各 从属,就归路的帧而言,不进行输出数据的读取以及输入数据的写入而通过。

照这样,在EtherCAT(注册商标)的情况下,并不对各单元将帧个别地 发送,或者从各单元将帧个别地接收。发送以及接收单一的帧,相当于通过 现场网络控制电路144,从缓存存储器146向各单元的输出数据的传送以及 从各单元向缓存存储器146的输入数据的传输。

在将EtherCAT(注册商标)作为现场网络2使用的情况下,发送包括输 出数据的帧。在该帧经由从属的各个的单元返回的情况下,该帧变得包括输 入数据。因此,就执行顺序而言,输出处理之后执行输入处理是自然的。其 中,根据使用的现场网络2的种类,存在优选为输入处理之后进行输出处理 的情况。照这样,输出处理和输入处理的顺序,可以按照现场网络2等的规 格适宜地设计。

(h4:关于动作控制循环2~4)

基本地是,动作控制循环2~4的动作,与动作控制循环1的动作相同。 下面,主要关于动作控制循环1的动作的不同点进行说明。

在动作控制循环2中,调度器程序212结束动作运算程序234的执行, 则执行低优先用户程序236-2的未执行的部分。该低优先用户程序236-2的执 行,响应下一个动作控制循环的输入准备中断(P-2)而再次被中断。

在动作控制循环3中,调度器程序212结束动作运算程序234的执行, 则执行低优先用户程序236-2的未执行部分。在图12所示的时序中,表示低 优先用户程序236-2在动作控制循环3内结束执行的例子。此时,从低优先 用户程序236-2的执行结束至下一个动作控制循环的输出准备中断(P-3)作 为待机时间。

在动作控制循环4中,从动作控制循环1开始的低优先用户程序236-2 的用户程序执行循环还在继续,由于没有低优先用户程序236-2的未执行的 部分,调度器程序212判断为没有在动作运算程序234的执行结束后应该执 行的程序,至下一个动作控制循环的输入准备中断(P-4)之间的时间作为待 机时间。

另外,在调度器程序212执行控制的程序的待机时间中,利用实时OS 的控制,也可以执行其他的系统程序220(图3)。

在动作控制循环5之后,重复与动作控制循环1~4同样地动作。

(h5:总结)

在本实施方式中,调度器程序212,在低优先用户程序236-2(第2用户 程序)存储在非易失性存储器106中的情况下,在低优先用户程序236-2的 执行循环(用户程序执行循环)内,使微型处理器100在从最初的动作运算 程序234的执行结束至动作控制循环结束的剩余时间内开始低优先用户程序 236-2的执行,并且在其后的动作控制循环的动作运算程序234的执行结束后 的剩余时间内使微型处理器100开始其未执行的部分的执行。

如本实施方式的PLC1那样,设定不同的优先级,通过在不同的执行循 环分别执行用户程序,实现如下所述的作用效果。即,使高优先用户程序236-1 包括使用动作控制用输入数据,计算动作运算程序234的运算所使用的用户 程序输入数据的命令。另一方面,使低优先用户程序236-2包括用于实现高 优先用户程序包括的以外的处理的全部或者一部分的命令。然后,与使高优 先用户程序236-1包括用于实现全部的处理的命令的情况相比,由于高优先 用户程序236-1分配的处理量变少,能够缩短高优先用户程序236-1的执行时 间。因此,产生进一步缩短动作控制循环的周期的可能性。

所以,能够适当地进行在更短的周期的动作控制循环内的动作指令值数 据的输出处理和动作控制用输入数据的输入处理、高优先用户程序236-1的 执行、以及动作运算程序234的执行。

(h6:变形例)

在图12所示时序图中,表示构成为现场网络控制器140接收来自调度器 程序212的发送执行的指示(符号B)的例子。代替这个,也可以现场网络 控制器140直接接收来自系统定时器108的中断信号并发送执行。

也可以不进行按照输出处理程序214以及输入处理程序216的命令的数 据的复制,用户程序236以及/或者动作运算程序234直接对现场网络发送缓 存1045以及/或者现场网络接收缓存1046存取。

关于经由PLC系统总线11的数据的输出处理以及输入处理,可以构成 为从调度器程序212独立执行。从而,也能够构成为将CPU单元13与调度 器程序212独立,执行输出处理以及输入处理。即,调度器程序212不一定 需要开始输出处理以及输入处理的执行。

此时,例如,优选为构成为从输出准备中断(P)至接收结束通知(符号 C或者D),微型处理器100对主存储器104的各个发送缓存以及接收缓存不 进行存取。

<I.全体处理动作(实施方式4)>

在上述的实施方式1中,关于用户程序236的执行循环(用户程序执行 循环)的周期与动作控制循环的周期一致的处理例进行了说明。与此相反, 在实施方式4中,关于用户程序执行循环的周期是动作控制循环的周期的2 以上的整数倍的情况进行说明。

[i1:本实施方式]

图13是表示本发明的实施方式4的全体处理动作的时序图。在图13所 示的时序图中,表示用户程序执行循环的周期是动作控制循环的周期的2倍 的情况。另外,IO处理程序218以及动作运算程序234的执行循环的周期与 动作控制循环的周期一致。

图13所示的(1)~(6)的处理,分别与图9所示的(1)~(6)的处理 相同,因此,下面主要说明与图9所示时序的不同点。

即,在图13所示的时序的动作控制循环1内的动作运算程序234的执行 开始时,使用动作控制用输入数据来计算的用户程序输出数据((4)的处理) 还不存在,因此,按照动作运算程序234的命令,仅使用动作控制用输入数 据((3)的处理)计算动作指令值数据。该计算的动作指令值数据被传送至 IO处理程序218的作业区域。进而,按照IO处理程序218的命令,输出该 被传送的动作指令值数据((8)的处理)。

其后,现场网络控制器140接收新的动作控制用输入数据并存储该新的 输入数据于现场网络接收缓存1046、以及/或者PLC系统总线控制器120接 收新的动作控制用输入数据并存储该新的输入数据于PLC系统总线接收缓存 1044((9)的处理)。接着,按照IO处理程序218的命令,现场网络接收缓 存1046以及/或者PLC系统总线接收缓存1044中存储的新的动作控制用输入 数据传送至动作运算程序234的作业区域((10)的处理)。

然后,在时序的动作控制循环2中,按照动作运算程序234的命令,在 新的动作控制用输入数据((10)的处理)以及用户程序输出数据((4)的处 理)中,使用需要的数据来计算动作指令值。然后,计算的动作指令值数据 传送至IO处理程序218的作业区域。最后,计算的动作指令值数据,按照IO 处理程序218的命令输出((5))以及((6)的处理)。

如图13所示,用户程序执行循环的周期,不需要与动作控制的周期一致, 一般地是,也能够是动作控制循环的周期的2以上的整数倍。

根据本实施方式,在比用户程序236的执行周期更短的控制周期中,能 够输出更新后的动作指令值数据。此时,只能按每个用户程序执行循环,反 映使用动作控制用输入数据由用户程序236计算的用户程序输出数据,更新 动作指令值数据。可是,即使在不能那样反映的动作控制循环,通过更新动 作指令值数据并输出,存在能够更顺利地控制电机的运动的情况。

例如,本实施方式适合于上述的应用例3的应用(图8)。关于传送车710 的驱动轮相关的,主轴的指令值和从轴的指令值,按每个动作控制循环输出 更新的指令值。另一方面,按每个用户程序执行循环,更新提供偏差(修正 值)至主轴的指令位置和从轴的指令值之间的辅助轴的位置。这种情况,辅 助轴的位置的更新周期,变得比对于主轴的指令值以及对于从轴的指令值的 更新周期长。但是,应用例3的情况,与其不成为问题,倒不如说指令值的 更新周期短变成优点,进而比指令值的更新周期长的周期能够修正对于使用 修正轴的从轴的指令值变成优点。

在图13所示时序图中,与实施方式1(图9)相同,动作控制循环的范 围的划分方法可以作为A、B、C的任一种。另外,在采用A或者B的划分 方法的情况下,需要封装用于在各动作控制循环的途中中断用户程序236的 执行、开始动作运算程序234的执行的执行控制(典型地是,使用中断信号)。

在采用C的划分方法的情况下,存在进一步缩短用户程序执行循环的可 能性。即,根据C的划分方法,调度器程序212包括:用于在用户程序执行 循环(例如,图13的从T1到T3)内,使微型处理器100依次执行动作运算 程序234的执行、输出处理以及输入处理、用户程序236的执行。所以,在 各动作控制循环(从T1到T2,以及从T2到T3)内,依次执行动作运算程 序的执行、输出处理以及输入处理、以及第1用户程序的执行。在各动作控 制循环中,输出处理以及输入处理的执行后,到动作控制循环结束为止的时 间,能按每个动作控制循环变动。通过该处理顺序,能够不浪费地使用该时 间于用户程序236的执行。所以,微型处理器难以产生待机时间,因此,产 生进一步缩短用户执行循环的可能性。

[i2:比较例]

下面,为了说明本实施方式的调度器212的效果,将程序的执行顺序与 图13所示的时序不同的情况的时序作为比较例进行说明。

图14是表示图13所示全体处理动作相关的比较例的全体处理动作的时 序图。在上述的图13中,表示了各个的程序以“IO处理程序218”、“用户程 序236”、以及“动作运算程序234”的顺序,被执行的例子。但是,在图14 中,作为比较例表示,各个的程序以“IO处理程序218”、“动作运算程序234”、 以及“用户程序236”的顺序,被执行的例子。

在采用图14所示的比较例的程序的执行顺序的情况下,从输入处理的开 始(图14所示(1)的处理),到反映该输入处理输入的动作控制用输入数据 的动作指令值数据的输出处理,是相当于的动作控制循环的3周期量的时间。 即,需要比用户程序执行循环的周期,长动作控制循环1周期量的时间。所 以,与图13所示程序的执行顺序相比,延迟动作控制循环的1周期量的时间。

<J.支持装置>

接着,说明用于进行在PLC1中执行的程序的生成以及PLC1的维护等的 PLC支持装置8。

图15是表示对本发明的实施方式的CPU单元连接而使用的PLC支持装 置8的硬件结构的示意图。参照图15,PLC支持装置8,典型地是,由通用 的计算机构成。另外,从维护性的观点出发,优选为在可移动性方面优越的 笔记本型的个人计算机。

参照图15,PLC支持装置8包括:执行包含OS的各种程序的CPU81、 存储BIOS或各种数据的ROM(只读存储器)82、以及提供用于存储在CPU81 中的程序的执行所需要的数据的作业区域的存储器RAM83、以非易失性方式 存储在CPU81中执行的程序等的硬盘(HDD)84。

PLC支持装置8还包括:接收来自用户的操作的键盘85以及鼠标86、 用于向用户提示信息的监视器87。进而,PLC支持装置8包括用于与PLC1 (CPU单元13)等进行通信的通信接口(IF)89。

如后所述,在PLC支持装置8中执行的各种程序被存储在CD-ROM9中 而流通。存储在该CD-ROM9中的程序通过CD-ROM(致密盘只读存储器) 致动器88读取,并存储到硬盘(HDD)84等。或者,也可以构成为从上位 的主计算机等通过网络而下载程序。

如上所述,由于使用通用的计算机而实现PLC支持装置8,所以不进行 除此之外的详细的说明。

图16是表示本发明的实施方式的连接到CPU单元而使用的PLC支持装 置8的软件结构的示意图。参照图16,在PLC支持装置8中执行OS310,提 供可执行在PLC支持程序320中包含的各种程序的环境。

PLC支持程序320包括编辑器程序321、编译器程序322、调试器程序 323、模拟用时序命令运算程序324、模拟用动作运算用程序325、通信程序 326。在PLC支持程序320中包括的各个程序,典型地是,以存储在CD-ROM9 中的状态流通,并安装到PLC支持装置8中。

编辑器程序321提供用于生成用户程序236的输入和编辑的功能。更具 体地是,编辑器程序321除了提供用户操作键盘85或鼠标86而生成用户程 序236的源程序330的功能之外,还提供生成的源程序330的保存功能和编 辑功能。此外,编辑器程序321接收来自外部的源程序330的输入。

编译器程序322提供对源程序330进行编译,生成可在CPU单元13的 微处理器100中执行的目标程序形式的用户程序236的功能。此外,编译器 程序322提供对源程序330进行编译,生成可在PLC支持装置8的CPU81 中执行的目标程序形式的用户程序340的功能。该用户程序340是用于通过 PLC支持装置8对PLC1的动作进行模拟(模拟)的、模拟用的目标程序。

调试器程序323提供用于对用户程序的源程序进行调试的功能。作为该 调试的内容,包括用于跟踪在源程序中将用户指定的范围部分性地执行的、 源程序的执行中的变量值的时间变化的动作。

调试器程序323还提供执行作为模拟用的目标程序的用户程序340的功 能。在该模拟时,使用在PLC支持程序320中包括的模拟用时序命令运算程 序324和模拟用动作运算程序325,来代替在CPU单元13的系统程序中包括 的时序命令运算程序232和动作运算程序234。

通信程序326提供向PLC1的CPU单元13传送用户程序236的功能。

一般地是,在PLC1中封装的系统程序210,在CPU单元13的制造阶段 存储在CPU单元13的非易失性存储器106中。其中,若在CD-ROM9中存 储系统程序210,则用户还能够将CD-ROM9的系统程序210复制到PLC支 持装置8,利用通信程序326提供的功能而将复制的系统程序210传送到CPU 单元13。再者,若在CD-ROM9中存储在PLC1的CPU单元13中执行的实 时OS200,则也能够通过用户操作将实时OS200再次安装到PLC1中。

应认为本次公开的实施方式在所有方面都是例示,并不是限制性的。本 发明的范围并非由上述的说明所表示,而是由权利要求书所表示,意图包括 与权利要求书的范围等同的含义和范围内的全部变更。

标号说明

1PLC、2现场网络、3伺服电机致动器、4伺服电机、远程IO终端、 6检测开关、7继电器、8PLC支持装置、9CD-ROM、10连接电缆、11PLC 系统总线、12电源单元、13CPU单元、14,53IO单元、15特殊单元、51远 程IO终端、52通信耦合器、81CPU、83RAM、85键盘、86鼠标、87显 示器、88CD-ROM致动器、100微型处理器、102芯片组、104主存储器、 106非易失性存储器、108系统定时器、110USB连接器、120PLC系统总 线控制器、122DMA控制电路、124PLC系统总线控制电路、126,146缓冲 存储器、130PLC系统总线连接器、140现场网络控制器、142DMA控制电 路、144现场网络控制电路、210系统程序、212调度器程序、214输出处 理程序、216输入处理程序、218IO处理程序、220其他的系统程序、222设 定动作控制循环的周期的程序、230控制程序、232时序命令运算程序、234 动作运算程序、236用户程序、236-1高优先用户程序、236-2低优先用户程 序、320PLC支持程序、321编辑器程序、322编译器程序、323调试器程 序、324模拟用动作运算程序、326通信程序、330源程序、340用户程序、 500缠绕装置、502,602板材、504,506,614,714,724电机、506,718,728致 动器、510,518位置传感器,512张力检测用辊、514张力辊、516辊径检 测用辊、520,612,618辊、600切断装置、604切断器、610传感器、624,716,726 旋转编码器、630标记、700传送系统、702轨道、710传送车、712,722驱 动轮、1041程序区域、1042控制程序的作业区域、1043PLC系统总线发送 缓冲、1044PLC系统总线接收缓存、1045现场网络发送缓存、1046现场网 络接收缓存、SYS PLC系统。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号