专利名称:可编程控制器的制作方法
技术领域:
本发明涉及可编程控制器,特别涉及具有与用户程序的执行需要时间的变动等原
因无关地,都将相互位于前后的输入输出更新处理的执行间隔设为一定的功能的可编程控制器。
背景技术:
在可编程控制器中,循环地执行输入输出更新(refresh)处理、共同处理、用户程 序执行处理、周边服务处理等一系列的系统处理。这些一系列的系统处理循环一次的执行 需要时间,通常被称为扫描时间(scan time)或者循环时间(cycle time)。以下,将其称为 "循环时间"。 如本领域工作人员所知那样,在可编程控制器的运行中,由于各种原因,循环时间 的值并不一定在每个循环中成为一定。作为其原因之一,可举出用户程序的执行需要时间 根据时时刻刻的控制对象设备的状况而不同的情况。 循环时间变动意味着相互位于前后的输入输出更新处理的执行间隔也变动(参
照图13(a))。在输入输出更新处理中,进行通过输入单元获取输入数据,并将其写入可编程
控制器的规定的存储器内的输入数据存储区域中,并将该规定的存储器内的输出数据区域
中存储的输出数据输出到输出单元的处理,但相互位于前后的输入输出更新处理的执行间
隔的变动会直接涉及到输入输出响应时间(在输入单元接收到来自外部设备的信号之后,
输出单元对外部设备输出基于上述信号的用户程序的执行结果为止的时间)的变动。 从以往开始,存在在使用了可编程控制器的控制中,对上述的输入输出响应时间
的变动带来影响的循环时间尽可能成为一定的期望(例如,参照专利文献1)。 因此,已知具有与用户程序的执行需要时间的变动等原因无关地,都将循环时间
强制性地设为一定的功能的可编程控制器(参照图13(b))。另外,在图13(a) 、(b)的其他
处理包括共同处理、用户程序执行处理、周边服务处理等。 在这种具有循环时间一定化功能的可编程控制器中,可设定设为想要一定的目标 的循环时间(以下,称为"循环时间一定时间")。循环时间一定时间的值被设定为,比在可 编程控制器的运行中所估计的实际循环时间(一系列的系统处理循环一次的实际的执行 需要时间)长某种程度。 于是,在实际循环时间比循环时间一定时间短的情况下,设置实际循环时间与循 环时间一定时间之差分的等待时间。由于突发性的控制状况等原因,在某一循环中的实际 循环时间比循环时间一定时间长的情况下,在该循环中循环时间一定时间被忽略(参照图 12)。另外,在图12的其他处理中,包括共同处理、用户程序执行处理、周边服务处理等。
这样,虽说是循环时间一定化功能,但每个循环、循环时间不能完全成为一定,在 实际循环时间超出所设定的循环时间一定时间的情况下,对于该循环,正在该时刻执行的 系统处理(例如,周边服务处理)不会中断,而超出循环时间一定时间而原样持续执行。这 是因为,强制性地结束执行中的系统处理会产生较多不合适的情况的设计上的顾虑。
在可编程控制器的动作模式中,存在执行用户程序的同时基于其执行结果而以期 望的运行方式运行控制对象设备的第1动作模式、以及不执行用户程序的第2动作模式。
以往,上述的循环时间一定时间的设定只能够在第2动作模式中进行,在第1动作 模式中不能进行。 这是基于如下的历史背景,(1)循环时间一定时间的最佳值不仅在实际运行控制
对象设备的同时测量,而且在用户程序的设计时也能够某种程度正确地预测,(2) —般在控
制对象设备的安装时、用户程序的更新时等进行循环时间一定时间的设定或设定变更,所
以在控制对象设备的停止状态下进行其设定操作就足够,(3)循环时间只要在某一范围内
一定就足够,其值在严格意义下的大小不会成为很大问题,所以缺乏在控制对象设备的运
行中频繁地进行循环时间一定时间的设定变更的必要性等。专利文献1(日本)特开2000-105604 以往,由于控制对象设备变得复杂且高速化等原因,为提高控制对象设备的吞吐 量并提高生产性,倾向于对循环时间一定时间的值本身也求最佳值。 除此之外,在通过网络连接可编程显示器、远程I/0设备、其池的多台可编程控制 器等的以往的可编程控制器中,由于各种事件中断等,存在仅由安装在该可编程控制器中 的用户程序的大小,难以唯一地估计实际循环时间的值的情况。 因此,在以往的可编程控制器中,为了将循环时间一定时间的值设为最佳化,需要 重复多次以下操作将动作模式作为第2动作模式,进行循环时间一定时间的拟设定,并在 每次将动作模式切换到第1动作模式之后,执行用户程序的同时试运行控制对象设备,确 认控制对象设备的运行状态。 但是, 一般在可编程控制器中,为了将动作模式从第1动作模式切换到第2动作 模式而将控制对象设备从运行状态切换到停止状态,在切换到第2动作模式之前,从防止 危险等的考虑出发,一般在第1动作模式中执行与在控制对象设备侧的规定的前处理动作 (取出加热炉内的机件(work),将线(line)上的产品返回到原来的位置等的处理动作)对 应的连接(interlock)程序,所以一般从运行状态切换到停止状态需要相应的时间。
因此,在以往的可编程控制器中,为了将循环时间一定时间的值设为最佳化,在控 制对象设备侧重复多次运行状态和停止状态之间的切换,所以存在需要相当长的时间的问 题。
发明内容
本发明是鉴于上述的问题点而完成的,其目的在于,提供一种能够在短时间内将 循环时间一定时间的值调整为最佳值的可编程控制器。 关于本发明的其他目的以及作用效果,通过参照说明书的以下记载,本领域的技 术人员会很容易理解。 认为通过具有以下结构的可编程控制器,能够解决上述的技术课题。
S卩,该可编程控制器包括外部输入输出单元,连接到控制对象设备;用户存储
器,用于存储将控制对象设备以期望的动作方式运行所需的用户程序;输入输出存储器,用
于存储与所述外部输入输出单元中的外部输入输出信号对应的输入输出数据;以及系统存
储器,存储有用于实现作为该可编程控制器的功能的系统程序。
在所述系统存储器中存储的系统程序中,包含有应重复执行的一系列的多个系统 处理,并且在这些多个系统处理中,至少包括输入输出更新处理、用户程序执行处理、周边 服务处理。 输入输出更新处理,从所述外部输入输出单元获取输入数据,并将其写入所述输 入输出存储器的输入数据存储区域中,并且从所述输入输出存储器的输出数据存储区域中 读取输出数据,并将其送到所述外部输入输出单元。 用户程序执行处理,从所述用户存储器依次读取构成用户程序的各个命令,并参 照所述输入输出存储器的输入数据来执行上述命令,并根据其执行结果来改写所述输入输 出存储器的输出数据。 周边服务处理,包括可响应于通过通信而从规定的工具装置到来的指令,变更所 述用户程序的处理。 作为动作模式,准备可运行所述控制对象设备的可运行模式和不可运行所述控制 对象设备的不可运行模式。 在可运行模式中,重复执行所述一系列的多个系统处理。 在不可运行模式中,至少除了所述用户程序执行处理,重复执行所述一系列的多 个系统处理。 在所述系统程序中,还包含有时间调整处理,该时间调整处理包括测量处理,在 重复执行所述一系列的多个系统处理时,测量从所述输入输出更新处理的开始时到应在下 一个输入输出更新处理的前一次执行的系统处理结束时为止的经过时间,作为实际循环时 间;判定处理,比较在所述测量处理中测量的实际循环时间与规定的循环时间一定时间,从 而判定哪一个大;以及选择延迟处理,在所述判定处理中,判定为所述循环时间一定时间大 于所述实际循环时间时,使下一个输入输出更新处理的开始时刻延迟两个时间的差分,而 在判定为所述实际循环时间大于所述循环时间一定时间时,立即开始下一个输入输出更新 处理。 应与所述实际循环时间比较的所述循环时间一定时间不仅在所述不可运行模式 中允许变更,在所述可运行模式中也允许变更。 作为可运行模式,准备第1可运行模式和第2可运行模式。 在第l可运行模式(RUN)中,不允许在所述周边服务处理中的用户程序的变更,而 重复执行所述一系列的多个系统处理。 在第2可运行模式(M0N)中, 一边允许在所述周边服务处理中的用户程序的变更, 一边重复执行所述一系列的多个系统处理。 在不可运行模式(PRG)中,一边允许在所述周边服务处理中的用户程序的变更,
一边重复执行至少除了所述用户程序执行处理的所述一系列的多个系统处理。 并且,应与所述实际循环时间比较的所述循环时间一定时间在第1可运行模式中
禁止变更,但在第2可运行模式和不可运行模式中允许变更。 根据这样构成的可编程控制器,在第2可运行模式中,允许在所述周边服务处理 中的用户程序的变更的同时重复执行包括输入输出更新处理、用户程序执行处理、以及周 边服务处理的一系列的多个系统处理,而且在该第2可运行模式中,还能够变更应与所述 实际循环时间比较的所述循环时间一定时间。
6
因此,将控制对象设备处于试运行状态的情况下,例如通过工具装置或可编程显 示器等的操作设备的操作而对循环时间一定时间进行微调,并且例如监视与控制对象设备 的吞吐量相关的适当的参数的值,则能够找出可在控制对象设备侧获得最佳吞吐量的循环 时间一定时间,并将其设定作为新的循环时间一定时间。 此时,通过一并利用用户程序的改写功能(例如,所谓在线编辑(on-lineedit) 等)或输入输出存储器的改写功能(例如,输入输出数据的强制设置重置操作等),还能够 改善用户程序,以能够在控制对象设备侧获得最佳吞吐量。 并且,由于上述的循环时间一定时间的变更操作也可以将控制对象设备维持运行 状态(试运行)的状态下进行,所以不需要像以往的可编程控制器中那样,在每次变更操作 时将控制对象设备在运行状态和停止状态之间进行切换,因此,也不需要伴随从运行状态 到停止状态的切换的花费时间的前处理动作,能够在短时间内实现循环时间一定时间的最 佳化。 另外,关于循环时间一定时间和实际循环时间之间的比较结果,已反映在规定的 内部标记(例如,在输入输出存储器内存在)中,并通过工具装置对其进行监视的技术也是 已知的,所以根据本发明,通过利用这样的技术,能够在运行中对循环时间一定时间进行微 调的同时弄清其影响,从而从改善输入输出响应性的观点出发,也能够找出最佳的循环时 间一定时间。 这里,关于应与所述实际循环时间比较的所述循环时间一定时间,也可以变更为 经由通信或者规定的操作单元而从外部输入的新的循环时间一定时间。 根据这样的结构,通过从安装在该可编程控制器的操作单元、或者通过通信而连 接的工具装置(个人计算机或可编程显示器等)或其他的可编程控制器,送入新的循环时 间一定时间,所以能够对循环时间一定时间进行设定变更。 另外,关于将这样送入的新的循环时间一定时间实际上什么时候反映在与实际循
环时间之间的比较动作,存在各种想法。最普通的想法是,在送入的时刻立即(从下一个动
作循环开始)反映。作为其他的想法,可举出设为在预先决定的定时(例如,在进行了其他
的反映指令操作的定时、在时间上设定的定时、特定的系统处理的执行定时等)。 此外,关于应与所述实际循环时间比较的所述循环时间一定时间,也可以变更为
根据规定的算法而在该可编程控制器的内部自动生成的新的循环时间一定时间。 根据这样的结构,作为算法,通过任意地采用适合该可编程控制器或者该控制对
象设备的算法,从而能够设定适合其时时刻刻的控制状态的循环时间一定时间。 另外,关于将这样在内部生成的新的循环时间一定时间,实际上什么时候反映在
实际循环时间之间的比较动作,根据与内部生成动作的执行方式之间的关系而存在各种想法。 若设为内部生成动作是单发式执行的动作,则可举出在其执行定时立即反映,或 者与上述的情况相同地那样,设为在预先决定的定时(例如,进行了其他反映指令操作的 定时、在时间上设定的定时、特定的系统处理的执行定时等)。根据这样的结构,通过在什么 时候或者以什么样的周期、频度来进行内部生成动作,能够进行适合其时时刻刻的控制状 态的循环时间一定时间的设定。 若设为内部生成动作是连续式或者持续式执行的动作,则考虑在各执行定时(换言之,动态地)反映。根据这样的结构,能够始终设定适合其时时刻刻的控制状态的循环时 间一定时间。 作为所述规定的算法,也可以是基于所述实际循环时间的过去一定期间或者一定 循环数个的样本值中的最大值来生成新的循环时间的算法。 根据这样的结构,例如在通过在线编辑进行用户程序的一部分改写(追加)的情
况下,能够自动地进行对适合改写后的新的用户程序的循环时间一定时间的设定变更,不
需要在每次在线编辑操作时,进行循环时间一定时间的改写操作的功夫。 此时,也可以在所述实际循环时间的过去一定期间或者一定循环数个的样本值
中,除去超出规定基准值的样本值。 根据这样的结构,能够避免由于通过突发式的低频度的事件中断等而偶尔在样本 值中混入异常极大值,从而循环时间一定时间的值不必要地自动设定为过长的值,由此极 端地伤害输入输出响应性的不合适的情况。 另外,在以上说明的本发明的可编程控制器,包括将运算单元、输入输出单元、通 信单元等的基本元素全部容纳在共同的壳体而成的一体型(all inone)和将运算单元、 输入输出单元、通信单元等的基本元素容纳在各自专用的壳体而成的积木单元(building block)型的双方。 此外,关于周边服务处理的内容,在一体型和积木单元型,其内容多少不同,但一 般在周边服务处理中,包括操作单元应对处理,进行在安装在该可编程控制器的操作单元 或者通过通信而连接的工具装置之间的指令或数据的交换;通过通信而连接的其他可编程 控制器之间的输入输出数据的集中或者事件式发送接收处理;以及通过通信而连接的从动 装置(远程I/0装置)之间的集中或者事件式发送接收处理等。 并且,在上述的各个动作模式中,选择性地允许在周边服务处理中的用户程序的 变更的控制是,例如通过在各个模式中选择性地执行在上述的操作单元对应处理中、与相 应的改写指令命令所对应的处理,能够容易地实现。 作为其他的解决方法,也可以是所述输入输出更新处理被分割为以下处理输入
更新处理,从所述外部输入输出单元获取输入数据,并将其写入所述输入输出存储器的输
入数据存储区域;以及输出更新处理,从所述输入输出存储器的输出数据存储区域中读取
输出数据,并将其送到所述外部输入输出单元。此时的所述一系列的多个系统处理中,包
括输入更新处理、输出更新处理、共同处理、用户程序执行处理、周边服务处理。输入更新
处理和输出更新处理的顺序也可以相反,也可以在其之间夹持其他的系统处理。 此时,所述测量处理是,在重复执行所述一系列的多个系统处理时,测量从所述输
出更新处理的开始时起到应在下一个输出更新处理之前执行的系统处理结束时为止的经
过时间作为实际循环时间的处理。 此外,所述选择延迟处理是,在所述判定处理中,判定为所述循环时间一定时间大 于所述实际循环时间时,使下一个输出更新处理的开始时刻延迟两个时间的差分,而在判 定为所述实际循环时间大于所述循环时间一定时间时,立即开始下一个输出更新处理。
根据这样的结构,能够在运行中设定用于将输出更新处理的执行间隔设为最佳的 循环时间一定时间。 如以上的说明可知,根据本发明,能够将控制对象设备处于试运行状态的情况下
8对循环时间一定时间进行微调,并且找出可在控制对象设备侧获得最佳吞吐量的循环时间 一定时间,并将其设定作为新的循环时间一定时间。
图1是应用本申请的PLC系统的结构图。 图2是CPU单元的硬件结构图。 图3是概率性地表示系统程序的整体的一般流程图。 图4是时间调整处理的详细流程图(之1)。 图5是时间调整处理的详细流程图(之2)。 图6是示意性地表示工具和PLC之间的关系的图。 图7是表示工具的循环时间一定时间设定值设置处理的详细流程图。 图8是表示PLC的循环时间一定时间设定值改写处理的详细流程图。 图9(a) (b)是列表而表示循环时间一定时间设定值的变更定时和计算方法的图。 图10是循环时间一定时间设定画面。 图11是PLC的分动作模式比较表。 图12是表示循环时间一定时间设定时的动作细节的图。 图13(a) (b)是说明基于有无循环时间一定时间的设定的动作差异的图。 标号说明 la第1PLC lb第2PLC lc第3PLC 11电源单元 12CPU单元 13输入单元 14输出单元 15特殊单元 16通信单元 2a PC 2b PC 3网络 121MPU 122系统存储器 123备份存储器 124工作存储器 124a循环时间一定时间用寄存器 125通信电路 126用户存储器 127命令执行ASIC
128输入输出存储器
1291/0总线
具体实施例方式
以下,参照附图,详细说明本发明的可编程控制器系统的一实施方式。
图1表示应用本申请的PLC系统的结构图。该系统是通过网络3连接了多台PLC1 和PC2b的系统,PLC1包括电源单元11、CPU单元12、输入单元13、输出单元14、特殊单元 15、以及通信单元16。 PC2a和CPU单元12也可以直接连接且相互进行数据通信。电源单 元11是对PLC1整体供电的单元。CPU单元12是进行PLC整体的控制的单元,在从控制对 象设备进行任何输入情况下,通过输入单元13获得该输入信号,并在CPU单元12中进行处 理。另一方面,在通过PLC1对控制对象设备进行控制的情况下,通过输出单元14连接。
特殊单元15是动作控制单元、PID运算单元等的增设单元,是可根据需要而设置 的单元。在图l中,仅设置在第lPLCla中,没有设置在第2PLClb、第3PLClc中。通信单元 16是具有用于进行与PC2b或其他的PLC1之间的通信的功能的单元。
图2表示PLC的CPU单元的硬件结构图。如图2所示那样,CPU单元12包括 MPU121、系统存储器122、备份存储器123、工作存储器124、在工作存储器124内的循环时间 一定时间用寄存器124a、通信电路125、用户存储器126、命令执行ASIC127、输入输出存储 器128、 I/O总线129。 MPU121是集中控制CPU单元12整体的单元。系统存储器122和备份存储器123 由非易失性存储器构成,系统存储器122中存储有由MPU121进行处理并用于实现作为PLC1 的功能的系统程序,在备份存储器123中存储有备份的用户程序。 工作存储器124中存储有涉及MPU121的全部处理的各种数据。此外,还存储有如 下数据,用于计算将在PLC1中重复执行的一系列的多个系统处理所需的时间设为一定的 循环时间一定时间的数据。 在工作存储器124内设置的循环时间一定时间用寄存器124a是存储循环时间一 定时间设定值的寄存器,且该设定值可任意地改写,该寄存器也可以设置一个,也可以设置 多个。 通信电路125是用于进行与PC2a的数据通信的电路,CPU单元12通过该通信线 路125进行与PC2a的数据通信。 用户存储器126存储在电源接通时从备份存储器123传来的用户程序,从这里读 取的用户程序被执行。命令执行ASIC127是,用于从用户存储器126依次读取用户程序的 各命令,并将其执行结果写入输入输出存储器128的硬件。 输入输出存储器128包括用于存储通过输入单元13获取的输入数据的输入数据 存储区域;以及用于存储输出到输出单元14的输出数据的输出数据存储区域。
I/O总线129是CPU单元12用于与电源单元11、输入单元13、输出单元14相互进 行数据通信的总线,通过该I/O总线129进行各种数据通信。 应重复执行的一系列的多个系统处理是,通过CPU单元12内的MPU121执行在系 统存储器122中存储的规定的系统程序而实现。图3表示概略地表示系统程序的整体的一 般流程图。如该图所示那样,一系列的系统处理是在电源接通之后开始,包括在进行了电源接通时处理(步骤101)之后,循环地执行一个循环的输入输出更新处理(步骤102)、共同 处理(步骤103)、动作模式判定处理(步骤104)、用户程序执行处理(步骤105)、周边服务 处理(步骤106)、以及时间调整处理(步骤107)。 在电源接通时处理(步骤101)中,执行工作存储器124的初始化处理、输入输出 存储器128的初始化处理、将在备份存储器123中存储的用户程序转发到用户存储器126 的处理、确保作为工作存储器124内的循环时间一定时间设定值的改写区域的循环时间一 定时间用寄存器124a的处理等。 在输入输出更新处理(步骤102)中,通过输入单元13获取输入数据,写入输入输 出存储器128的规定的输入数据存储区域,并将存储在输入输出存储器128的规定的输出 数据存储区域中的输出数据输出到输出单元14。 在共同处理(步骤103)中,主要执行PLC是否发生故障的诊断、MPU121进行一系 列的系统处理的各种设定的确认等。诊断的内容是用户存储器126的检验、I/0总线129的 检验、存储器卡的装卸检验等。 在进行了共同处理(步骤103)之后,进行PLC1的动作模式的判定处理(步骤 104)。在PLC1的动作模式中,有RUN模式和MON模式以及PRG模式。各个动作模式的细节 在后面叙述。 若PLC1的动作模式被判定为PRG模式,则转移到周边服务处理(步骤106)而不进 行用户程序执行处理(步骤105),另一方面,若PLC1的动作模式判定为RUN模式或者MON 模式,则进行用户程序执行处理(步骤105)。 在用户程序执行处理(步骤105)中,依次读取构成在用户存储器126中存储的用 户程序的各个命令,并参照在输入输出存储器128的规定的输入区域中存储的输入数据, 执行用户程序执行处理。并且,将其执行结果作为在输入输出存储器128的规定的输出区 域中存储的输出数据来改写。 在周边服务处理(步骤106)中,响应于通过网络3而从PC2b或者PC2a直接发送 的各种指令,进行在用户存储器126或/和输入输出存储器128中存储的数据的改写处理。 在用户存储器126中存储的数据的改写处理中,包含可变更在该存储器中存储的用户程序 的处理。除此之外,还适当地执行用户接口的输入输出处理或与各种远程设备等的通信处 理、对安装在CPU单元12的存储器卡的访问处理等。 若周边服务处理结束,进行时间调整处理(步骤107)。图4和图5中表示时间调 整处理的详细流程图。 在图4的时间调整处理的详细流程图(之1)中,若开始时间调整处理,则比较实 际循环时间与循环时间一定时间,从而进行哪一个大的判定(步骤1071A)。其中,实际循环 时间是指,从输入输出更新处理的开始时起到在下一个输入输出更新处理的前一次执行的 系统处理结束时为止的测量的经过时间。 若判定为循环时间一定时间大于实际循环时间,则等待循环时间一定时间与实际 循环时间之差分(步骤1072A),将实际循环时间的值作为样本值而记录保存在工作存储器 124的规定区域(步骤1073A),并将经过时间初始化,开始下一个输入输出更新处理的同时 开始经过时间的测量(步骤1074A)。另外,也可以是代替步骤1072A的等待循环时间一定 时间与实际循环时间之差分的处理,进行等到经过时间与循环时间一定时间相等为止的处理。 另一方面,在实际循环时间大于循环时间一定时间时,将实际循环时间的值作为 样本值而记录保存在工作存储器124的规定区域,还进行实际循环时间的值的最大值的计 算等(步骤1073A),并将经过时间初始化,开始下一个输入输出更新处理的同时开始经过 时间的测量(步骤1074A)。 S卩,在时间调整处理中,判定为循环时间一定时间大于实际循环时间时,进行将下 一个输入输出更新处理的开始时刻延迟两个时间之差分的处理,另一方面,在实际循环时 间大于循环时间一定时间时,立即开始下一个输入输出更新处理。 图5表示其他的时间调整处理的详细流程图(之2)。如该图所示那样,若开始时间 调整处理,则比较实际循环时间和循环时间一定时间,进行哪一个大的判定(步骤1071B)。 若判定为循环时间一定时间大于实际循环时间,则计算实际循环时间与循环时间一定时间 之差分而计算分配给周边服务处理的时间(步骤1072B),直到算出的周边服务处理分配时 间经过为止持续进行周边服务处理。但是,若没有应实施的周边服务处理,则直到分配时间 为止成为等待状态(步骤1073B)。若周边服务处理分配时间经过,则将实际循环时间的值 作为样本值而记录保存在工作存储器124的规定区域的基础上,进行实际循环时间的值的 最大值的计算等(步骤1074B),并将经过时间初始化,开始输入输出更新处理的同时开始 经过时间的测量(步骤1075B)。 另一方面,在实际循环时间大于循环时间一定时间时,将实际循环时间的值作为 样本值而记录保存在工作存储器124的规定区域,还进行实际循环时间的值的最大值的计 算等(步骤1074B),并将经过时间初始化,开始下一个输入输出更新处理的同时开始经过 时间的测量(步骤1075B)。 这里,根据PLC1的动作模式,上述的一系列的系统处理的内容不同。这表示在图 11的PLC1的分动作模式比较表中。如该图所示那样,在PLC1的动作模式为RUN模式的情 况下,在周边服务处理中的在用户存储器126中存储的用户程序的变更被禁止的状态下重 复执行一系列的系统处理。 另一方面,在PLC1的动作模式为MON模式的情况下,在周边服务处理中的在用户
存储器126中存储的用户程序的变更被允许的状态下重复执行一系列的系统处理。 在PLC1的动作模式为PRG模式的情况下,也在周边服务处理中的在用户存储器
126中存储的用户程序的变更被许可的状态下重复执行至少除了用户程序执行处理的一系
列的系统处理。 因此,在MON模式中,通过将控制对象设备处于试运行状态的情况下例如通过工 具装置或可编程显示器等的操作设备的操作而对循环时间一定时间进行微调,并且例如监 视与控制对象设备的吞吐量相关的适当的参数的值,则能够找出可在控制设备侧获得最佳 吞吐量的循环时间一定时间,并将其设定作为新的循环时间一定时间。 此时,通过一并利用用户程序的改写功能(例如,所谓在线编辑等)或输入输出存 储器的改写功能(例如,输入输出数据的强制设置重置操作等),还能够改善用户程序,以 能够在控制设备侧获得最佳吞吐量。 并且,由于上述的循环时间一定时间的变更操作也可以将控制对象设备维持运行 状态(试运行)的状态下进行,所以不需要像以往的可编程控制器中那样,在每次变更操作时将控制对象设备在运行状态和停止状态之间进行切换,因此,也不需要伴随从运行状态 到停止状态的切换的花费时间的前处理动作,能够在短时间内实现循环时间一定时间的最 佳化。 此外,关于在时间调整处理中的实际循环时间与循环时间一定时间之间的比较结
果,也可以在输入输出存储器128内设置规定的内部标记,并通过PC2a进行监视。根据这
样的实施方式,能够在运行中对循环时间一定时间进行微调的同时弄清其影响,从而从改
善输入输出响应性的观点出发,也能够找出最佳的循环时间一定时间。 循环时间一定时间也可以变更为通过通信单元16而从作为工具起作用的PC2b输
入的新的循环时间一定时间设定值。另外,循环时间一定时间设定值也可以通过通信电路 125而从作为工具起作用的PC2a或其他的PLC1输入。 参照图6至图IO说明用于变更为新的循环时间一定时间设定值的一系列的处理。
在图6中表示示意性地表示工具和FLC之间的关系的图。如上所述那样,在本发 明中,根据PLC1的动作模式,决定是否允许循环时间一定时间设定值的变更。如同图所示 那样,首先从工具对PLC1进行动作模式的读取,只有在许可的动作模式的情况下,进行循 环时间一定时间设定值的改写。以下说明关于工具和PLC1中的详细的处理内容。
图7示出用于表示工具的循环时间一定时间设定值设置处理的详细流程图。在同 图中,若进行循环时间一定时间设定值设置操作,则开始处理。通过在图io中表示的循环 时间一定时间设定画面中从多个设定项目中,用户选择或者工具自动地选择而进行循环时 间一定时间设定值设置操作。关于循环时间一定时间设定值的设定项目的内容,在后面详 细叙述。 返回到图7,若开始工具中的处理,则进行PLC1的动作模式的读取(步骤201),进 行PLC1的动作模式的判定(步骤202)。在读取的PLC1的动作模式判定为RUN模式的情况 下,循环时间一定时间设定值的改写被中止而结束处理(步骤203)。 另一方面,在读取的PLC1的动作模式判定为MON模式或者PRG模式的情况下,发 行循环时间一定时间设定值的改写用指令,并对PLC1发送该指令而结束处理(步骤204)。
若PLC1接收到循环时间一定时间设定值的改写用指令,则在规定的定时执行与 该指令对应的处理。该循环时间一定时间设定值的改写处理通常作为构成周边服务处理的 处理之一而执行。图8示出用于表示PLC1的循环时间一定时间设定值改写处理的详细流 程图。如同图所示那样,若PLC1的循环时间一定时间设定值的改写处理开始,则进行PLC1 的动作模式的确认(步骤301)。 在PLC1的动作模式为RUN模式的情况下,发行不可进行循环时间一定时间设定值
的改写的意旨的错误消息,并结束处理(步骤302)。另一方面,在PLC1的动作模式为MON
模式或者PRG模式的情况下,进行在工作存储器124内确保的循环时间一定时间用寄存器
124a中存储的循环时间一定时间设定值的改写,并结束处理(步骤303)。 在该实施方式中,从安装在该PLC1中的工具装置(个人计算机或可编程显示器
等)、或通过通信单元16连接的工具装置、或其他的PLC1送入新的循环时间一定时间,从而
能够进行循环时间 一定时间的设定变更。 循环时间一定时间并不限定于来自PLC1外部的设定值,还能够变更为根据规定 的算法而在PLC1内部自动生成的新的循环时间一定时间设定值。
13
该算法例如存储在系统存储器122内,且根据用户指定条件,基于实际循环时间 的过去一定期间或者一定循环数个中的样本值,生成循环时间一定时间设定值。作为算法 的一例,可举出将图9的变更定时和计算方法的组合作为程序来实现的方法。此外,作为用 户指定的条件的一例,可举出图9的变更定时和计算方法的组合。 根据这样的实施方式,通过作为算法而任意地采用适合该可编程控制器或者适合 该控制对象设备的算法,能够设定适合其时时刻刻的控制状态的循环时间一定时间。
图9示出在图IO中的循环时间一定时间设定画面的设定项目的详细的说明。同 图中,列表而表示循环时间一定时间设定值的变更定时和计算方法。 图9(a)示出循环时间一定时间设定值的变更定时的例子。如同图所示那样,(A)
若在"固定为设定时的值"的设定中,变更为通过用户的指定而设定的循环时间一定时间设
定值,则直到下一次变更为止,固定为当前的循环时间一定时间设定值。通过设置这样的设
定项目,能够在用户期望的定时进行循环时间一定时间设定值的设定变更。 另一方面,(B)在"根据实际循环时间而变动"的设定中,由于用户程序的变更等原
因而实际循环时间改变,则在每次通过规定的计算方法而生成新的循环时间一定时间设定
值时变更。通过设置这样的设定项目,能够在PLC侧自动地进行循环时间一定时间设定值
的设定变更。 图9(b)示出循环时间一定时间设定值的计算方法的例子。如同图所示那样,在计 算方法的设定项目中,有"用户任意值"和"过去的最大值"以及"基准值内的最大值"。
在"用户任意值"的设定中,例如,如图IO所示那样,将用户自己作为设定值而输 入的值原样设为循环时间一定时间设定值。 在"过去的最大值"的设定中,将实际循环时间的过去一定期间或者一定循环数个 的样本值中的最大值设为循环时间一定时间设定值。在该设定中,还包含有实际循环时间 突发式地异常延长的情况下的样本值。 通过将该"过去的最大值"的设定与前述的"根据实际循环时间而变动"的设定进 行组合,例如在通过在线编辑进行了用户程序的一部分改写(追加)那样的情况下,能够自 动地进行对适合改写之后的新的用户程序的循环时间一定时间的设定变更,不需要每次进 行在线编辑操作时循环时间一定时间设定值的改写操作的功夫。 在"基准值内的最大值"的设定中,将在实际循环时间的过去一定期间或者一定循 环数个的样本值中的规定的基准值中的最大值设为循环时间一定时间设定值。在该设定 中,能够在实际循环时间突发式地异常延长的情况下的样本值中除去超出规定的基准值的 样本值。作为规定的基准值的例子,有过去500个循环的样本值的90%收敛的值等。
通过将该"基准值内的最大值"的设定和上述的"根据实际循环时间而变动"的设 定进行组合,能够避免由于通过突发式的低频度的事件中断等而偶尔在样本值中混入异常 极大值,从而循环时间一定时间的值不必要地自动设定为过长的值,由此极端地伤害输入 输出响应性的不合适的情况。 在以上的实施例中,说明了如图3所示那样,输入输出更新处理作为一个处理而 集中的情况。作为其他的实施例,也可以将输入输出更新处理分割为以下处理输入更新处 理,从外部输入输出单元获取输入数据,并将其写入输入输出存储器的输入数据存储区域; 以及输出更新处理,从输入输出存储器的输出数据存储区域中读取输出数据,并将其送到
14外部输入输出单元。在此时的一系列的多个系统处理中,包含有输入更新处理、输出更新处
理、共同处理、用户程序执行处理、周边服务处理。因此,输入更新处理和输出更新处理的顺
序也可以相反,也可以在其之间夹持其他的系统处理。例如,也可以是一系列的多个系统处
理的开头为输出更新处理且最末尾为周边服务处理。此时,时间调整处理中的经过时间的
测量对象成为从输出更新处理的开始时刻起到周边服务处理的结束时刻为止。 工业可利用性在于,根据本发明,能够将控制对象设备处于试运行状态的情况下
对循环时间一定时间进行微调,并且找出可在控制对象设备侧获得最佳吞吐量的循环时间
一定时间,并将其设定作为新的循环时间一定时间。
权利要求
一种可编程控制器,其特征在于,包括外部输入输出单元,连接到控制对象设备;用户存储器,用于存储将控制对象设备以期望的动作方式运行所需的用户程序;输入输出存储器,用于存储与所述外部输入输出单元中的外部输入输出信号对应的输入输出数据;以及系统存储器,存储有用于实现作为该可编程控制器的功能的系统程序,在所述系统存储器中存储的系统程序中,包含有应重复执行的一系列的多个系统处理,并且在这些多个系统处理中,至少包括以下处理输入输出更新处理,从所述外部输入输出单元获取输入数据,并将其写入所述输入输出存储器的输入数据存储区域中,并且从所述输入输出存储器的输出数据存储区域中读取输出数据,并将其送到所述外部输入输出单元;用户程序执行处理,从所述用户存储器依次读取构成用户程序的各个命令,并参照所述输入输出存储器的输入数据来执行上述命令,并根据其执行结果来改写所述输入输出存储器的输出数据;以及周边服务处理,包括可响应于通过通信而从规定的工具装置到来的指令,变更所述用户程序的处理,作为动作模式,准备可运行所述控制对象设备的可运行模式和不可运行所述控制对象设备的不可运行模式,在所述可运行模式中,重复执行所述一系列的多个系统处理,在所述不可运行模式中,至少除了所述用户程序执行处理,重复执行所述一系列的多个系统处理,而且在所述系统程序中,包含有时间调整处理,该时间调整处理包括测量处理,在重复执行所述一系列的多个系统处理时,测量从所述输入输出更新处理的开始时到应在下一个输入输出更新处理的前一次执行的系统处理结束时为止的经过时间,作为实际循环时间;判定处理,比较在所述测量处理中测量的实际循环时间与规定的循环时间一定时间,从而判定哪一个大;以及选择延迟处理,在所述判定处理中,判定为所述循环时间一定时间大于所述实际循环时间时,使下一个输入输出更新处理的开始时刻延迟两个时间的差分,而在判定为所述实际循环时间大于所述循环时间一定时间时,立即开始下一个输入输出更新处理,而且,应与所述实际循环时间比较的所述循环时间一定时间不仅在所述不可运行模式中允许变更,在所述可运行模式中也允许变更。
2. 如权利要求l所述的可编程控制器,其特征在于,作为所述可运行模式,准备第1可运行模式和第2可运行模式,在所述第l可运行模式(RUN)中,不允许在所述周边服务处理中的用户程序的变更,而重复执行所述一系列的多个系统处理,在所述第2可运行模式(M0N)中,一边允许在所述周边服务处理中的用户程序的变更,一边重复执行所述一系列的多个系统处理,在所述不可运行模式(PRG)中,一边允许在所述周边服务处理中的用户程序的变更,一边重复执行至少除了所述用户程序执行处理的所述一系列的多个系统处理,应与所述实际循环时间比较的所述循环时间一定时间在第1可运行模式中禁止变更,但在第2可运行模式和不可运行模式中允许变更。
3. 如权利要求1或2所述的可编程控制器,其特征在于,所述循环时间一定时间可变更为从外部输入的新的循环时间一定时间。
4. 如权利要求1或2所述的可编程控制器,其特征在于,所述循环时间一定时间可变更为根据规定的算法而在该可编程控制器的内部自动生成的新的循环时间一定时间。
5. 如权利要求4所述的可编程控制器,其特征在于,所述规定的算法是,基于所述实际循环时间的过去一定期间或者一定循环数个的样本值中的最大值来生成新的循环时间一定时间的算法。
6. 如权利要求5所述的可编程控制器,其特征在于,在所述实际循环时间的过去一定期间或者一定循环数个的样本值中,除去超出规定基准值的样本值。
7. 如权利要求l所述的可编程控制器,其特征在于,所述输入输出更新处理被分割为以下处理输入更新处理,从所述外部输入输出单元获取输入数据,并将其写入所述输入输出存储器的输入数据存储区域;以及输出更新处理,从所述输入输出存储器的输出数据存储区域中读取输出数据,并将其送到所述外部输入输出单元,所述测量处理是,在重复执行所述一系列的多个系统处理时,测量从所述输出更新处理的开始时起到应在下一个输出更新处理的前一次执行的系统处理结束时为止的经过时间作为实际循环时间的处理,所述选择延迟处理是,在所述判定处理中,判定为所述循环时间一定时间大于所述实际循环时间时,使下一个输出更新处理的开始时刻延迟两个时间的差分,而在判定为所述实际循环时间大于所述循环时间一定时间时,立即开始下一个输出更新处理。
全文摘要
一种可编程控制器,能够在短时间将循环时间一定时间的值调整为最佳值。在PLC的第2可运行模式(MON)中,一边允许在周边服务处理中的用户程序的变更,一边重复执行一系列的多个系统处理,并且应与实际循环时间比较的循环时间一定时间在第1可运行模式(RUN)中禁止变更,但在第2可运行模式(MON)和不可运行模式(PRG)中允许变更。
文档编号G05B19/05GK101770215SQ20091026633
公开日2010年7月7日 申请日期2009年12月24日 优先权日2008年12月26日
发明者小野彰男, 高桥温子 申请人:欧姆龙株式会社