CN103477290A - 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 - Google Patents
控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 Download PDFInfo
- Publication number
- CN103477290A CN103477290A CN2011800699237A CN201180069923A CN103477290A CN 103477290 A CN103477290 A CN 103477290A CN 2011800699237 A CN2011800699237 A CN 2011800699237A CN 201180069923 A CN201180069923 A CN 201180069923A CN 103477290 A CN103477290 A CN 103477290A
- Authority
- CN
- China
- Prior art keywords
- execution time
- controller
- time
- execution
- control program
- 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
Images
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- 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/14—Plc safety
- G05B2219/14042—Process time
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
提供控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质。控制器辅助程序用于使计算部执行如下处理:总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在控制器按照执行优先级和执行循环来执行控制程序时,从执行循环开始到在该执行循环中控制程序执行结束为止的期间内经过的时间,并且是在控制器中测定出的时间或在控制器辅助装置中推断出的时间;输出处理,用于输出总计执行时间。
Description
技术领域
本发明涉及控制器辅助装置(控制器支援装置)中的控制程序的执行时间信息的提示(出示,示出),该控制器辅助装置用于对为了控制机械、设备等的动作而使用的PLC(Programmable Logic Controller。也称为可编程(逻辑)控制器)等的控制器的使用进行辅助支援。
背景技术
就为了对机械、设备等的动作进行控制而使用的控制器而言,有通用的PLC、单独由机械等专用的程序控制的控制器。
PLC,例如由以下多个单元构成,这些单元包括:CPU(Central ProcessingUnit:中央处理器)单元,其包括用于执行控制程序的微处理器;IO(InputOutput:输输入输出)单元,其负责从外部的开关、传感器输入信号以及向外部的继电器、促动器输出信号。在这些单元间,针对每个控制程序执行循环(cycle:周期),一边经由PLC系统总线及/或现场网络(field network)来进行数据的收发,一边由PLC执行控制动作。
控制器辅助装置用于,生成用于使控制器执行的控制程序、针对控制器的各种设定信息,将它们传送至控制器。控制器辅助装置,例如,通过向通用的计算机安装控制器辅助程序而构成。控制器辅助装置例如具有如下功能等:编辑功能,用于生成控制程序的源程序(列表);编译功能,根据控制程序的源程序来生成用控制器进行动作的对象程序;控制器的模拟功能,用于在控制器辅助装置中测试执行控制程序;与控制器之间的通信功能。
在控制程序的开发阶段,需要知晓控制器执行该控制程序所需的执行时间。在决定该控制程序的执行循环的周期时,参照该控制程序的执行时间。
在日本特开2001-209411号公报(专利文献1)中,公开了在PLC辅助装置中求出由PLC执行控制程序的情况下的执行时间的方法。具体而言,准备控制程序所使用的各指令在PLC中的实际处理时间数据,在模拟器中的程序模拟执行处理中,针对每个指令的处理,参照实际处理时间数据,累加与该指令对应的实际处理时间。另外,公开了这样的方法:在整个控制程序被分割为多个任务(task)而构成的情况下,针对每个任务求除执行所需时间。
现有技术文献
专利文献
专利文献1:日本特开2001-209411号公报。
发明内容
发明要解决的问题
在专利文献1中,假设存在整个控制程序被分割为多个任务而构成的情况。在该情况下,总是一连串地执行全部的任务,因此,执行循环(cycle)对于全部的任务来说是共用的。因此,作为实际处理时间的累加值,只要求出针对全部任务的总合的时间即可。
然而,作为控制器中的多个控制程序的执行方式,有针对多个控制程序决定互不相同的执行优先级和执行循环周期而执行的方式。执行循环被设定为控制循环的整数倍,该控制循环是控制器的动作时间的基本单位。针对每个控制循环(周期),按照执行优先级和执行循环来执行多个控制程序。即,各控制程序在开始自身的新执行循环时就进入等待执行状态。在一个控制循环中,从较高执行优先级的控制程序开始先执行,如果较高执行优先级的控制程序执行结束,则执行较低执行优先级的控制程序。如果在控制程序的执行过程中控制循环结束,则该控制程序的执行被中断,在下个控制循环中,再次从较高的执行优先级的控制程序开始先执行。就在前一个控制循环中执行被中断的控制程序而言,在较高执行优先级的控制程序执行结束后,如果该控制程序的变得能够执行,则从未执行的部分开始恢复执行。
即,较低执行优先级的控制程序,有时会夹着(隔着)执行过程中断期间而被断断续续的执行。在这种情况下,针对较低执行优先级的控制程序,如果仅提示(出示,示出)实际处理时间的累加值,则无法知晓为了执行该控制程序而需要多长的执行循环周期。
本发明的目的在于,在控制器按照这些执行优先级与执行循环来执行多个控制程序的情况下,在用于对控制器的使用进行辅助的控制器辅助装置中,即使是针对较低执行优先级的控制程序,也能够输出能够与执行循环周期进行比较的执行时间的信息。
用于解决问题的手段
根据本发明的一个方面,提供一种控制器辅助装置,用于辅助使用控制器,该控制器用于对控制对象进行控制。控制器,能够针对每个控制循环执行多个控制程序,并且是按照针对每个控制程序分别设定的执行优先级与控制循环的整数倍的执行循环,来执行多个控制程序。控制器辅助装置具有存储部和计算部。存储部用于存储控制器辅助程序和控制程序。控制器辅助程序用于使计算部执行如下处理:总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在控制器按照执行优先级和执行循环来执行控制程序时,从执行循环开始到在该执行循环中控制程序执行结束为止的期间内经过的时间,并且是在控制器中测定出的时间或在控制器辅助装置中推断出的时间;输出处理,用于输出总计执行时间。
优先地,控制器辅助程序进而使计算部执行净时间取得处理,在该净执行时间取得处理中取得净执行时间,该净执行时间是,控制器在其执行循环内实际执行控制程序的时间,并且是在控制器中测定出的时间或在控制器辅助装置中推断出的时间。在总计执行时间取得处理中,将第一净执行时间与第二净执行时间相加,该第一净执行时间是指,作为取得总计执行时间的对象的控制程序的净执行时间,该第二净执行时间是指该控制程序的优先程序的净执行时间,优先程序是指,在从该控制程序的执行循环的开始到在该执行循环中该控制程序执行结束为止的期间内执行的、比该控制程序的执行优先级高的控制程序。
更优先地,在净执行时间取得处理中,取得在控制器的模拟器中测定出的根据控制程序的执行时间计算出的推断执行时间,来作为净执行时间。
或更优先地,控制器,针对每个控制循环或每个控制程序的执行循环,执行输入输出处理。控制器辅助程序还使计算部执行输入输出时间取得处理,在该输入输出时间取得处理中取得输入输出时间,该输入输出时间是控制器执行输入输出处理所需的时间,并且是在控制器中测定出的时间或在控制器辅助装置中推断出的时间。在总计执行时间取得处理中,将第一净执行时间、第二净执行时间以及第三净执行时间相加,第三净执行时间是指,从该控制程序的执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的输入输出处理的输入输出时间。
更优先地,在净执行时间取得处理中,取得在控制器的模拟器中测定出的根据控制程序的执行时间计算出的推断执行时间,来作为净执行时间。
优先地,在输出处理中输出显示数据,该显示数据用于以图表的方式显示总计执行时间,该图表能够将总计执行时间与作为取得总计执行时间的对象的控制程序的执行循环的周期相对比。
优先地,在输出处理中输出显示数据,该显示数据用于显示总计执行时间与总计执行时间所含的净执行时间。
根据本发明的另一方面,提供一种控制器辅助程序,在控制器辅助装置中执行,该控制器辅助装置用于辅助使用控制器,该控制器用于对控制对象进行控制。控制器,能够针对每个控制循环执行多个控制程序,并且是按照针对每个控制程序分别设定的执行优先级与控制循环的整数倍的执行循环,来执行多个控制程序。控制器辅助装置具有存储部和计算部。存储部用于存储控制器辅助程序和控制程序。控制器辅助程序用于使计算部执行如下处理:总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在控制器按照执行优先级和执行循环来执行控制程序时,从执行循环开始到在该执行循环中控制程序执行结束为止的期间内经过的时间,并且是在控制器中测定出的时间或在控制器辅助程序中推断出的时间;输出处理,用于输出总计执行时间。
优先地,控制器辅助程序进而使计算部执行净时间取得处理,在该净执行时间取得处理中取得净执行时间,该净执行时间是,控制器在其执行循环内实际执行控制程序的时间,并且是在控制器中测定出的时间或在控制器辅助程序中推断出的时间。在总计执行时间取得处理中,将第一净执行时间与第二净执行时间相加,该第一净执行时间是指,作为取得总计执行时间的对象的控制程序的净执行时间,该第二净执行时间是指该控制程序的优先程序的净执行时间,优先程序是指,在从该控制程序的执行循环的开始到在该执行循环中该控制程序执行结束为止的期间内执行的、比该控制程序的执行优先级高的控制程序。
更优先地,在净执行时间取得处理中,取得在控制器的模拟器中测定出的根据控制程序的执行时间计算出的推断执行时间,来作为净执行时间。
或更优先地,控制器,针对每个控制循环或每个控制程序的执行循环,执行输入输出处理。控制器辅助程序还使计算部执行输入输出时间取得处理,在该输入输出时间取得处理中取得输入输出时间,该输入输出时间是控制器执行输入输出处理所需的时间,并且是在控制器中测定出的时间或在控制器辅助程序中推断出的时间。在总计执行时间取得处理中,将第一净执行时间、第二净执行时间以及第三净执行时间相加,第三净执行时间是指,从该控制程序的执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的输入输出处理的输入输出时间。
更优先地,在净执行时间取得处理中,取得在控制器的模拟器中测定出的根据控制程序的执行时间计算出的推断执行时间,来作为净执行时间。
优先地,在输出处理中输出显示数据,该显示数据用于以图表的方式显示总计执行时间,该图表能够将总计执行时间与作为取得总计执行时间的对象的控制程序的执行循环的周期相对比。
优先地,在输出处理中输出显示数据,该显示数据用于显示总计执行时间与总计执行时间所含的净执行时间。
根据本发明其它方面,提供一种存储有控制器辅助程序的存储介质,该控制器辅助程序在控制器辅助装置中执行,该控制器辅助装置用于辅助使用控制器,该控制器用于对控制对象进行控制。所述控制器,能够针对每个控制循环执行多个控制程序,并且是按照针对每个所述控制程序分别设定的执行优先级与所述控制循环的整数倍的执行循环,来执行所述多个控制程序。所述控制器辅助装置具有存储部和计算部。所述存储部用于存储控制器辅助程序和所述控制程序。所述控制器辅助程序用于使所述计算部执行如下处理:总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在所述控制器按照所述执行优先级和所述执行循环来执行所述控制程序时,从所述执行循环开始到在该执行循环中所述控制程序执行结束为止的期间内经过的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间;输出处理,用于输出所述总计执行时间。
优先地,所述控制器辅助程序进而使所述计算部执行净时间取得处理,在该净执行时间取得处理中取得净执行时间,该净执行时间是,所述控制器在其所述执行循环内实际执行所述控制程序的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间。在所述总计执行时间取得处理中,将第一净执行时间与第二净执行时间相加,该第一净执行时间是指,作为取得所述总计执行时间的对象的所述控制程序的所述净执行时间,该第二净执行时间是指该控制程序的优先程序的所述净执行时间,所述优先程序是指,在从该控制程序的所述执行循环的开始到在该执行循环中该控制程序执行结束为止的期间内执行的、比该控制程序的执行优先级高的所述控制程序。
更优先地,在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
或更优先地,所述控制器,针对每个所述控制循环或每个所述控制程序的执行循环,执行输入输出处理。所述控制器辅助程序还使所述计算部执行输入输出时间取得处理,在该输入输出时间取得处理中取得输入输出时间,该输入输出时间是所述控制器执行所述输入输出处理所需的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间。在所述总计执行时间取得处理中,将所述第一净执行时间、所述第二净执行时间以及第三净执行时间相加,所述第三净执行时间是指,从该控制程序的所述执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的所述输入输出处理的所述输入输出时间。
更优先地,在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
优先地,在所述输出处理中输出显示数据,该显示数据用于以图表的方式显示所述总计执行时间,该图表能够将所述总计执行时间与作为取得所述总计执行时间的对象的所述控制程序的所述执行循环的周期相对比。
优先地,在所述输出处理中输出显示数据,该显示数据用于显示所述总计执行时间与所述总计执行时间所含的所述净执行时间。
发明的効果
通过本发明,在控制器针对多个控制程序,按照它们的执行优先级和执行循环来执行所述多个控制程序的情况下,在用于辅助使用控制器的控制器辅助装置中,针对较低执行优先级的控制程序,也能够输出能够与执行循环周期相比较的执行时间的信息。
附图说明
图1是表示本实施方式涉及的控制器(PLC)辅助装置辅助使用的PLC系统的概略结构的示意图。
图2是表示本发明的实施方式涉及的控制器(PLC)辅助装置辅助使用的CPU单元的硬件结构的示意图。
图3是表示本发明的实施方式涉及的控制器(PLC)辅助装置辅助使用的CPU单元所执行的软件结构的示意图。
图4是表示本发明的实施方式涉及的控制器(PLC)辅助装置辅助使用的CPU单元中的执行动作的一例的序列(sequence)图。
图5是表示本发明的实施方式涉及的控制器辅助装置的硬件结构的示意图。
图6是表示本发明的实施方式涉及的控制器辅助装置的软件结构的示意图。
图7是表示本发明的实施方式涉及的控制器辅助装置所关联的整体处理的示意图。
图8是表示本发明的实施方式涉及的控制器辅助装置中的到校正式推断执行时间的计算为止的一系列的处理,与各处理的间的程序以及数据流的示意图。
图9是表示第一测试执行时间与第二测试执行时间之间的关系的一例的图。
图10是表示本发明的实施方式涉及的控制器辅助装置所提供的显示画面的一例的图。
图11是表示从本发明的实施方式涉及的控制器辅助装置输出的推断执行时间的显示画面的另一例的图。
图12是表示从本发明的实施方式涉及的控制器辅助装置输出的推断执行时间的显示画面的又另一例的图。
图13是表示本发明的实施方式涉及的服务器计算机所实现的控制器辅助装置所关联的整体处理的示意图。
具体实施方式
参照附图来详细说明本发明的实施方式。此外,针对图中的同一或相当部分,标注同一附图标记而不重复该说明。
<A.系统结构>
作为本实施方式涉及的控制器辅助装置辅助使用的控制器的典型例,针对PLC进行说明。PLC用于对机械、设备等的控制对象进行控制。PLC包括CPU单元来作为其结构要素。CPU单元包括微处理器、存储单元、通信电路。存储单元用于存储控制程序以及对程序执行进行控制的系统程序等。微处理器执行存储在存储单元中的系统程序以及控制程序。通信电路发送输出数据以及接收输入数据。
首先,参照图1来说明PLC1的系统结构。图1是表示本实施方式涉及的控制器(PLC)辅助装置辅助使用的PLC系统的概略结构的示意图。
参照图1,PLC系统SYS包括:PLC1;伺服电机驱动器3以及遥控IO终端5,它们经由现场网络2而与PLC1连接;作为励磁设备(field driver)的检测开关6以及继电器7。另外,在PLC1上,经由连接电缆10等而连接有控制器辅助装置8。
PLC1包括:用于执行主要计算处理的CPU单元13、一个以上的IO单元14、特殊单元15。这些单元,经由PLC系统总线11而能够互相交换数据。另外,由电源单元12对这些单元供给恰当电压的电源。此外,构成为PLC1的各单元是由PLC厂商所提供的,因此,PLC系统总线11通常是各个PLC厂商独自开发使用的。与此相对,就现场网络2而言,其规格等多被公开,能够连接不同的厂商的产品。
针对CPU单元13的详细结构,参照图2而在后面叙述。
IO单元14,是与通常的输入输出处理相关的单元,用于输入输出高电平/低电平(ON/OFF)这样的二进制化的数据。即,IO单元14收集这样的信息:表示是检测开关6等的传感器检测出某个对象物的状态(高电平)还是哪个对象物也没有检测出的状态(地电平)的这样的信息。另外,IO单元14针对继电器7、促动器这样的输出目标,输出用于激活的指令(高电平)或不用于激活的指令(低电平)。
特殊单元15具有模拟数据的输入输出、温度控制、利用特定通信方式进行通信这样的功能,这些功能是在IO单元14中不进行辅助的功能。
现场网络2传送与CPU单元13交换的各种数据。作为现场网络2,典型的能够使用各种工业用以太网(注册商标)。作为工业用以太网(注册商标),例如已知有EtherCAT(注册商标)、Profinet IRT、MECHATROLINK(注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIP Motion等,可以任意采用这些中的以太网。进而,也可以使用除了工业用以太网(注册商标)以外的现场网络。例如,只要是在不进行运动控制(motion control)的情况下,则也可以使用DeviceNet、CompoNet/IP(注册商标)等。
此外,在图1中,例示出具有PLC系统总线11以及现场网络2两者的PLC系统SYS,但也能够采用仅搭载有PLC系统总线11和现场网络2中的一个的系统结构。例如,也可以使用现场网络2来连接全部的单元。或者,也可以不使用现场网络2,而是利用PLC系统总线11直接连接伺服电机驱动器3。进而,也可以使现场网络2的通信单元与PLC系统总线11连接,从CPU单元13经由该通信单元来在与现场网络2连接的设备之间进行通信。
此外,就PLC1而言,也可以通过使CPU单元13具有IO单元14的功能、伺服电机驱动器3的功能,由此,能够不经由IO单元14或伺服电机驱动器3等,而由CPU单元13直接对控制对象进行控制。
伺服电机驱动器3,经由现场网络2而与CPU单元13连接,并且,根据来自CPU单元13的指令值来驱动伺服电机4。更具体而言,伺服电机驱动器3在一定(规定)周期内从PLC1接收位置指令值、速度指令值、扭矩指令值这样的指令值。另外,伺服电机驱动器3,从与伺服电机4的轴连接的位置传感器(旋转编码器)和/或扭矩传感器这样的检测器,获取位置、速度(典型的,根据本次位置与前次位置的差来计算)、扭矩这样的与伺服电机4的动作相关的实测值。并且,伺服电机驱动器3将来自CPU单元13的指令值设定为目标值,将实测值作为反馈值,进行反馈控制。即,伺服电机驱动器3调整用于驱动伺服电机4电流,以使实测值接近目标值。此外,伺服电机驱动器3有时也称为伺服电机放大器。
另外,在图1中,虽然示出了伺服电机4与伺服电机驱动器3相组合的系统例,但也可以采用其它结构,例如,能够采用组合了脉冲电机与脉冲电机驱动器的系统。
在图1所示的PLC系统SYS的现场网络2上,还连接有遥控IO终端5。遥控IO终端5基本上与IO单元14同样地进行与通常的输入输出处理相关的处理。更具体而言,遥控IO终端5包括通信耦合器52与一个以上的IO单元53,该通信耦合器52用于执行在现场网络2进行数据传送所涉及的处理。这些单元能够经由遥控IO终端总线51来相互交换数据。
本发明的实施方式涉及的控制器辅助装置8在后面叙述。
<B.CPU单元的硬件结构>
接着,参照图2,来说明CPU单元13的硬件结构。图2是表示本发明的实施方式涉及的控制器(PLC)辅助装置辅助使用的CPU单元13的硬件结构的示意图。参照图2,CPU单元13包括微处理器100、芯片集(chipset)102、主存储器104、非易失性存储器106、系统计时器108、PLC系统总线控制器120、现场网络控制器140、USB(Universal Serial Bus:通用串行总线)连接器110。在芯片集102与其它模块(component)之间,经由各种总线而分别进行结合。
微处理器100以及芯片集102,典型的以通用的计算机体系架构(architecture)为准而构成。即,微处理器100解释并执行从芯片集102按照内部时钟而依次供给来的指令代码。芯片集102,在所连接的各种模块之间进行的内部数据的交换,并且,生成微处理器100所需的指令代码。进而,芯片集102对根据微处理器100执行计算处理的结果而得的数据等进行缓存(cache)的功能。
CPU单元13具有主存储器104以及非易失性存储器106来作为存储单元。
主存储器104是易失性的存储区域(RAM),在对CPU单元13投入电源后,保存(保持)应该由微处理器100执行的各种程序。另外,主存储器104能够用作微处理器100执行各种程序时的工作存储器。作为这种主存储器104,能够使用DRAM(Dynamic Random Access Memory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)这样的设备。
另一方面,非易失性存储器106非易失地保持存实时OS(OperatingSystem:操作系统)、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单元13的内部进行本应由通信电路进行的输出数据发送以及输入数据接收,并且将具有这些功能的部分作为通信的对方。
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中。另外,从其它单元传送来输入数据,被暂时保存在缓存器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是用于对控制器辅助装置8与CPU单元13进行连接的接口。典型的,从控制器辅助装置8传送来的能够由CPU单元13的微处理器100执行程序等,经由USB连接器110而被读入至PLC1。
<C.CPU单元的软件结构>
接着,参照图3,说明用于控制器(PLC1)提供各种功能的软件组。这些软件所含的指令代码,在恰当的时机被读出,由CPU单元13的微处理器100执行。
图3是表示本发明的实施方式涉及的控制器(PLC)辅助装置进行辅助使用的CPU单元13所执行的软件结构。参照图3,作为CPU单元13所执行的软件,有如下三个层级:实时OS200、系统程序210、用户程序236。
实时OS200,是根据CPU单元13的计算机体系机构而设计的,为微处理器100执行系统程序210以及用户程序236提供基本的执行环境。该实时OS,典型的由PLC的厂商或专门的软件公司等提供。
系统程序210是用于提供作为PLC1的功能的软件组。具体而言,系统程序210包括:调度程序(scheduler program)212、输出处理程序214、输入处理程序216、序列指令计算程序232、运动计算程序234、其它系统程序220。此外,一般而言,输出处理程序214以及输入处理程序216是连续(一体)执行的,因此,有时也将这些程序统称为IO处理程序218。
用户程序236是根据用户的控制目的而生成的。即,是根据使用PLC系统SYS进行控制的对象的生产线(工艺规程,process)等,而任意设计的程序。
用户程序236,与序列指令计算程序232以及运动计算程序234联动,来实现用户的控制目的。即,用户程序236利用由序列指令计算程序232以及运动计算程序234提供的指令、函数、功能模块等,来实现程序化的动作。因此,有时将用户程序236、序列指令计算程序232以及运动计算程序234统称为控制程序230。
下面,详细说明各程序。
如上述,用户程序236是根据用户的控制目的(例如,对象的生产线、工艺规程)而生成的。作为用户程序236,典型的构成为能够由CPU单元13的微处理器100执行的对象程序形式。在控制器辅助装置8等中,通过对由分布式算法语言(LADA language)等记述的源程序进行编译,来生成该用户程序236。并且,所生成的对象程序形式的用户程序236,被从控制器辅助装置8经由连接电缆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的各种功能的程序组。
实时OS200,提供用于随着时间的经过而切换执行多个程序的环境。在PLC1中,初始设定控制循环开始的中断,来作为用于将通过CPU单元13执行程序而生成的输出数据向其它单元或其它装置输出(发送)的事件(中断)。如果产生了控制循环开始的中断,则实时OS200将微处理器100的执行对象从在中断产生的时点正在执行的程序切换为调度程序212。此外,在调度程序212和调度程序212对其执行进行控制的程序都没有执行的情况下,实时OS200执行包含在其它系统程序210中程序。作为这种程序,例如包括通过CPU单元13与控制器辅助装置8之间的连接电缆10(USB)等实现的通信处理相关的程序。
此外,控制程序230以及调度程序212存储在作为存储单元的主存储器104以及非易失性存储器106中。
<D.CPU单元中的执行动作>
接着,说明CPU单元13中的执行动作。
图4是表示本发明的实施方式涉及的控制器(PLC)辅助装置辅助使用的CPU单元13中的执行动作的一例的序列图。在图4中,沿着纸面的从上到下经过的时间轴,依次示出IO处理程序、控制程序A以及控制程序B的执行期间。
分别沿着控制程序A和B各自的时间轴示出的虚线的圆角矩形,表示所对应的控制程序的执行循环。在图4所示的例子中,控制程序A将1次控制循环设为执行循环,控制程序B将4次控制循环设为执行循环。另外,控制程序A的执行优先级被设定的高于控制程序B的执行优先级。
控制程序A的序列程序(用户程序),包括用于实现运动控制的运动指令,通过执行运动指令,来调用并执行运动计算程序234。另一方面,控制程序B的序列程序不包括运动指令。
当开始控制循环1时,通过调度程序212的执行控制,来执行IO处理程序。
如果通过执行IO处理程序而实现的输出处理以及输入处理结束,则调度程序212进行执行控制,从而执行控制程序A。在控制程序A的执行过程中,首先执行序列程序,紧接着执行运动计算程序234。在序列程序的执行过程中,每次调用序列指令计算程序232都执行该序列指令计算程序232。整个控制程序A(序列程序以及运动计算程序)构成一个线程(thread),在执行过程中与调度程序212无关地连续被执行。
如果控制程序A执行结束,则通过调度程序212进行的执行控制,来执行控制程序B。但是,在控制程序B的执行过程中,由于控制循环1已经结束(控制循环2开始),因此在该时点中断执行控制程序B。
在控制循环2以后,IO处理程序以及控制程序A还是会与控制循环1中的执行方式同样的被重复执行。如果控制循环2中的控制程序A执行结束,则执行控制程序B的未执行的部分。但是,在控制循环2中,由于在控制程序B的执行过程中控制循环2结束,因此在此中断执行控制程序B。
在控制循环3中恢复执行的控制程序B一直执行到控制循环3结束才结束。
在控制循环4中,虽然要继续执行从控制循环1开始的控制程序B的执行循环,但控制程序B在控制循环3中已经结束了本次执行循环中的执行过程,因此在控制循环4中不会被执行。
这样一来,PLC1能够针对每个控制循环,按照针对各控制程序分别设定的执行优先级与控制循环的整数倍的执行循环,来执行多个控制程序。另外,PLC1能够针对每个控制循环或每个控制程序的执行循环,来执行输入输出处理(IO处理)。
<E.辅助装置的硬件结构>
接着,说明控制器辅助装置8,该控制器辅助装置8用于生成由PLC1执行的程序以及用于PLC1的维护(maintenance)等。
图5是表示本发明的实施方式涉及的控制器辅助装置8的硬件结构的示意图。参照图5,控制器辅助装置8典型的由通用的计算机构成。此外,从维护性的观点出发,优选便携性优异的笔记本型的个人计算机。
参照图5,控制器辅助装置8包括:CPU81,其执行包括OS在内的各种程序;ROM(Read Only Memory:只读存储器)82,其存储有BIOS(基本输入输出系统)、各种数据;存储器RAM83,其提供工作区域,该工作区域用于存储由CPU81执行程序所需的数据;硬盘(HDD)84,其非易失的存储有由CPU81执行的程序等。CPU81与控制器辅助装置8的计算部相当,ROM82、RAM83以及硬盘84与控制器辅助装置8的存储部相当。
控制器辅助装置8进而还包括:键盘85以及鼠标86,用于接受来自用户的操作;监视器87,用于向用户提示信息。进而,控制器辅助装置8还包括用于与PLC1(CPU单元13)等进行通信的通信接口(IF)89。
如后述,由控制器辅助装置8执行的各种程序被存储在CD-ROM9中以便流通。该CD-ROM9所存储的程序被CD-ROM(Compact Disk-Read OnlyMemory:光盘只读存储器)驱动器88读取,进而被存入硬盘(HDD)84等中。或者,也可以从上位的主计算机等通过网络来下载程序。
如上述,控制器辅助装置8能够用通用的计算机实现,因此不对其进行更详细的说明。
<F.控制器辅助装置的软件结构>
接着,参照图6,说明用于由本实施方式涉及的控制器辅助装置8提供各种功能的软件组。
图6是表示本发明的实施方式涉及的控制器辅助装置8的软件结构的示意图。参照图6,在控制器辅助装置8中执行OS310,从而提供能够执行控制器辅助程序320所含的各种程序的环境。
控制器辅助程序320包括编辑程序321、编译程序322、调试程序323、模拟程序324、总计执行时间计算程序325、输出程序327、通信程序328、校正式推断执行时间计算程序331、累计式(推断)执行时间计算程序332、推断输入输出时间计算程序329、控制器实测时间取得程序326。控制器辅助程序320所含的各程序,典型的以存储在CD-ROM9中的状态流通,并被安装至控制器辅助装置8中。
编辑程序321,提供用于生成用户程序(源程序)330的输入以及编辑这样的功能。更具体而言,编辑程序321提供这样的功能:用户操作键盘85、鼠标86来生成用户程序236的控制源程序330的功能,所生成控制源程序330的保存功能以及编辑功能。另外,就编辑程序321而言,从外部输入控制程序230(其中,特别是用户程序236)的源程序,并且通过用户的操作来编辑现有的控制程序230的源程序。
编译程序322提供这样的功能:对控制源程序330进行编译,生成能够由CPU单元13的微处理器100执行的对象程序形式的控制程序342。另外,编译程序322还提供这样的功能:对控制源程序330进行编译,生成能够由控制器辅助装置8的CPU81执行的对象程序形式的控制程序340。
调试程序323提供用于对控制源程序330进行调试的功能。作为该调试的内容,包括这样的动作:在控制源程序330中部分地执行由用户指定的范围,追踪在控制源程序330的执行过程中的变量值随时间的变化。
执行模拟程序324,则在控制器辅助装置8内构建PLC1的CPU单元13(控制器)的模拟器。本模拟器提供以下的功能。
(1)CPU单元13的实时OS的功能,该实时OS根据系统计时器的信号来开始控制循环。
(2)CPU单元13的调度程序212的功能,该调度程序212按照控制程序的执行优先级与执行循环,来控制执行控制程序230。
(3)CPU单元13的输出处理程序214以及输入处理程序216的功能。
(4)取代控制对象而赋予输入数据的功能,以及在可能的情况下,模仿出能够接受输出数据而进行动作的控制对象,将动作的结果反映至输入数据中的功能。
另外,模拟程序324,相当于在模拟器上使控制程序(模拟器用对象程序,即,模拟用对象程序)340进行动作时所需的CPU单元13中的序列指令计算程序232及/或运动计算程序234。
控制程序(模拟器用对象程序,即,模拟用对象程序)340的执行代码本身是能够由控制器辅助装置8的CPU81执行的代码,因此,在上述的执行环境中的执行控制或辅助的情况下,由控制器辅助装置8的CPU81直接执行控制程序(模拟器用对象程序,即,模拟用对象程序)340。
或者,可以使模拟程序324虚拟构建出CPU单元13的微处理器100,在模拟器上使控制程序(控制器用对象程序,即,控制用对象程序)342动作。在该情况下,控制程序(模拟器用对象程序,即,模拟用对象程序)340与控制程序(控制器用对象程序,即,控制用对象程序)342是同一程序,因此无需分别生成它们。
另外,控制器辅助装置8的CPU81与CPU单元13的微处理器100是同系列的处理器,在CPU81能够执行控制程序(控制器用对象程序,即,控制用对象程序)342的执行代码的情况下,控制程序(模拟器用对象程序,即,模拟用对象程序)340与控制程序(控制器用对象程序,即,控制用对象程序)342成为同一程序。
通过执行总计执行时间计算程序325,构成后述的图7的总计执行时间计算部325A。通过执行输出程序327,构成后述的图7的输出部327A。通过执行校正式推断执行时间计算程序331,构成后述的图7的校正式推断执行时间计算部331A。通过执行累计式执行时间计算程序332,构成后述的图7的累计式推断执行时间计算部332A。通过执行推断输入输出时间计算程序329,构成后述的图7的推断输入输出时间计算部329A。通过执行输出程序327,构成图7的输出部327A。在后面参照图7详细说明由这些程序提供的处理。
通过执行控制器实测时间取得程序326,来从控制器取得实测执行时间、实测输入输出时间、实测总计执行时间。
通信程序328,提供向PLC1的CPU单元13传送控制程序230的CPU单元13用的对象程序342的功能。
一般情况下,在PLC1中安装的系统程序210,在CPU单元13的制造阶段已经存入CPU单元13的非易失性存储器106中。但是,只要在CD-ROM9中存储有系统程序210,则用户就能够将CD-ROM9的系统程序210复制至控制器辅助装置8,利用通信程序328的功能将复制的系统程序210传送至CPU单元13。进而,只要在CD-ROM9中存储有由PLC1的CPU单元13执行的实时OS200,就能够通过用户操作将实时OS200再次安装至PLC1。
如上述,控制器辅助装置8的存储部(图5所示的ROM82、RAM83以及硬盘84等)除了存储用于实现控制器辅助装置8的控制器辅助程序之外,还用于存储控制程序340,342。
<G.控制器辅助装置所关联的整体处理>
接着,参照图7,说明控制器辅助装置8中的各处理。图7是表示本发明的实施方式涉及的控制器辅助装置8所关联的整体处理的示意图。
参照图7,控制器辅助装置8包括净执行时间取得部350、输入输出时间取得部352、总计执行时间取得部354、输出部327A。另外,控制器辅助装置8具有存储部(图5所示的ROM82、RAM83以及硬盘84等)。
存储部(图5所示的ROM82、RAM83以及硬盘84等),除了用于存储图6所示的各程序之外,还用于存储校正数据、按指令区分的执行时间数据、系统结构数据、实测执行时间、实测输入输出时间、实测总计执行时间。进而,存储部还用于存储由用户输入的控制源程序330以及系统结构数据。
控制器(PLC1)执行控制程序(控制器用对象程序,即,控制用对象程序)342,测定该执行时间而获取实测执行时间。另外,控制器测定输入输出时间而获取实测输入输出时间。另外,控制器测定后述的总计执行时间而获取实测总计执行时间。控制器辅助装置8通过与控制器进行通信,来获取实测执行时间、实测输入输出时间以及实测总计执行时间。
净执行时间取得部350是用于取得净执行时间的处理部。净执行时间是指,在控制器执行控制程序342的执行循环内,即,在控制程序342的执行开始到执行结束的期间内,控制程序342实际执行的时间,并且不包含该控制程序342的执行被中止的时间。净执行时间与背景技术的说明中提及的实际处理时间意义相同。校正式推断执行时间、累计式推断执行时间以及实测执行时间都属于净执行时间。
净执行时间取得部350是用于进行如下一系列处理的处理部的总称,这些处理包括:计算校正式推断执行时间,计算累计式推断执行时间,取得实测执行时间。即,净执行时间取得部350取得净执行时间所含的某一个或几个时间。但是,控制器辅助装置8不一定必须具有这三个系统的处理部,只要至少具有一个系统的处理部,就能够使用净执行时间的数据。
这样一来,控制器辅助装置8(CPU81)通过执行控制器辅助程序,来执行用于取得净执行时间的净执行时间取得处理,如上述,该净执行时间是指,控制器在执行控制程序342的执行循环内,该控制程序342实际执行的时间,并且是在控制器中测定出的时间或在控制器辅助装置8中推断出的时间。下面,说明净执行时间取得部350的各系统。
首先,校正式推断执行时间计算部331A利用校正数据,根据模拟执行时间来计算校正式推断执行时间。针对校正数据的计算以及校正式推断执行时间的计算,在后面参照图8详细叙述。
通过图6的编译程序322(更具体而言,后述的图8的模拟器用编译器),从控制源程序330生成控制程序(模拟器用对象程序,即,模拟用对象程序)340。模拟器324A执行控制程序(模拟器用对象程序,即,模拟用对象程序)340,测定作为该执行时间的模拟执行时间。
这样一来,控制器辅助装置8(CPU81)通过执行控制器辅助程序,取得推断执行时间来作为净执行时间,该推断执行时间是根据控制器(PLC1)在模拟器中测定出的控制程序的执行时间而计算出的。
累计式推断执行时间计算部332A,基于控制源程序330来追踪控制程序的执行,按照每个控制程序的执行的指令,从存储部读取该指令的执行时间数据并且对执行时间进行累计,从而计算出累计式推断执行时间。
按指令区分的执行时间数据是由控制器辅助程序320的供应者提供的。
进而,将在控制器中测定出并且从控制器取得的实测执行时间,作为净执行时间存储在存储部中。
输入输出时间取得部352,是用于进行推断输入输出时间的计算或实测输入输出时间的取得的一系列的处理部的总称。控制器辅助装置8不一定必须具有这两个系统的处理部,只要至少具有一个系统的处理部就能够使用输入输出时间的数据。
这样一来,控制器辅助装置8(CPU81)通过执行控制器辅助程序,从而执行用于取得输入输出时间的输入输出时间取得处理,该输入输出时间是指,控制器执行输入输出处理(IO处理)所需的时间,并且是在控制器中测定出的时间或在控制器辅助装置8中推断出的时间。
推断输入输出时间计算部329A参照系统结构数据来计算推断输入输出时间。输入输出处理的执行时间(输入输出时间),相关于与CPU单元13连接的其它单元(通信节点)的数目、控制输出数据以及控制输入数据的量,这些(数目、量)越多则输入输出时间越长。推断输入输出时间计算部329A利用存储在存储部中的系统结构数据所含的这些信息,计算输入输出时间的推断值(推断输入输出时间)。
进而,将在控制器中测定出并且从控制器取得的实测输入输出时间作为输入输出时间存储在存储部中。
总计执行时间取得部354计算总计执行时间,或取得实测总计执行时间。
总计执行时间是指,在控制器按照执行优先级和执行循环来执行控制程序342时,从控制程序342的执行循环开始到在该执行循环中控制程序342执行结束为止的时间。例如,就图4的控制程序A而言,控制程序A的执行循环等于控制循环,因此,控制程序A的总计执行时间是指,从各控制循环的开头开始到在该控制循环中控制程序A执行结束为止的时间。在该时间中,除了包括控制程序A自身的执行时间之外,还要加上输入输出处理(IO处理)的执行时间(输入输出时间)。另一方面,图4的控制程序B的执行循环是4次的控制循环,因此,控制程序B的总计执行时间是指,从控制循环1的开头开始到在控制循环3中控制程序B执行结束为止的时间。在该时间中,加上从控制程序B的执行循环的开始到控制程序B的执行结束为止所执行的3次输入输出时间和3次控制程序A的执行时间。
这样一来,本实施方式涉及的总计执行时间取得处理包括对下述时间进行相加的处理,这些时间是指:作为取得总计执行时间的对象的控制程序的净执行时间;该控制程序的优先程序的净执行时间,该优先程序的执行优先级比该控制程序的执行优先级高,并且该优先程序是从执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的所述控制程序;在从该控制程序的执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的输入输出处理的输入输出时间。
总计执行时间计算部325A针对各控制程序计算总计执行时间。更具体而言,总计执行时间计算部325A为了计算总计执行时间,将校正式推断执行时间以及累计式推断执行时间中的一个时间用作净执行时间。
另外,总计执行时间计算部325A将推断输入输出时间用作输入输出时间。但是,也可以不使用推断输入输出时间,只要输入输出时间短则可以忽略输入输出时间。或者,如果因系统结构差异而引起的输入输出时间的变动少,则可以使用总计执行时间计算部325A预先设定的固定值来作为输入输出时间。
这样一来,本实施方式涉及的总计执行时间取得处理包括至少对下述时间进行相加的处理,这些时间是指:作为取得总计执行时间的对象的控制程序的净执行时间;比特定的控制程序的执行优先级高的控制程序的净执行时间,该特定的控制程序是指,从该控制程序的执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的该控制程序。
总计执行时间计算部325A也可以使用实测执行时间作为净执行时间。总计执行时间计算部325A也可以使用实测输入输出时间作为输入输出时间。
总计执行时间计算部325A使计算出的总计执行时间能够在输出部327A中使用。另外,在输出部327A中使用净执行时间以及输入输出时间的情况下,总计执行时间计算部325A使在计算总计执行时间时使用的净执行时间以及输入输出时间能够在输出部327A中使用。
进而,将在控制器中测定出并且从控制器取得的实测总计执行时间存储在存储部中。实测总计执行时间也能够在输出部327A中使用。
即,控制器辅助装置8(CPU81)通过执行控制器辅助程序,从而执行用于取得总计执行时间的总计执行时间取得处理。总计执行时间是指,在控制器中测定出的时间或在控制器辅助装置中推断出的时间,并且,是控制器(PLC1)按照执行优先级和执行循环来执行控制程序时,从执行循环开始到在该执行循环中控制程序执行结束为止的期间内经过的时间。
输出部327A生成表示总计执行时间(包括其是实测总计执行时间的情况下)的输出用数据并将其输出。即,控制器辅助装置8(CPU81)通过执行控制器辅助程序,来执行用于输出总计执行时间的输出处理。
在输出用数据中,还可以包含用于表示净执行时间(包括其是实测执行时间的情况)、输入输出时间(包括其是实测输入输出时间的情况)的数据。
生成输出用数据并将其输出的处理例如是指,生成用于在监视器画面上显示出用于表示总计执行时间(还根据需要包括净执行时间以及输入输出时间)的显示用数据,并进行显示的处理。生成输出用数据并将其输出的处理也可以是指,生成用于将总计执行时间(还根据需要包括净执行时间以及输入输出时间)发送至其它装置的发送用数据,并进行发送的处理。用于输出输出用数据的处理也可以是指,在能够从控制器辅助装置外访问的存储部中存储输出用数据的处理。
<H.校正式推断执行时间的计算处理>
(h1:概要)
接着,参照图8,说明到计算校正式推断执行时间为止的一系列的处理以及各处理的间的程序和数据流。图8是表示本发明的实施方式涉及的控制器辅助装置8中的到计算校正式推断执行时间为止的一系列的处理以及各处理的间的程序和数据流的示意图。
图8所示的用于推断控制程序的执行时间的方法,以校正数据计算处理的步骤和校正式推断执行时间计算处理的步骤为中心。
在校正数据计算处理中,利用以校正用的测试程序作为对象而事先测定出的模拟器中的执行时间(第一测试执行时间)和控制器中的执行时间(第二测试执行时间),来计算表示它们间的关系的校正数据。
在校正式推断执行时间计算处理中,取得在模拟器中测定出的控制程序的执行时间(模拟执行时间),使用校正数据对其进行变换,从而计算出在控制器执行该控制程序情况下的执行时间的推断值。
下面更详细说明各处理的内容。
(h2:校正数据计算处理)
首先,准备测试程序的源程序(测试源程序)370。
利用模拟器用编译器380,根据测试源程序370来生成模拟用对象程序(第一测试程序)390。另外,利用控制器用编译器382,根据测试源程序370来生成控制器用对象程序(第二测试程序)392。
由控制器A执行第二测试程序392,从而,测定其执行时间,取得作为第二测试程序392的执行时间的第二测试执行时间的数据。
到此为止的处理,一般是由控制器的供应者(控制器的制造商、贩卖者、技术支持者等)执行的,将第一测试程序390和第二测试执行时间提供给用户,并存储在控制器辅助装置8的存储部中。此外,到此为止的处理也可以由用户自身执行。
在模拟器324A中执行第一测试程序390,测定其执行时间,由此,取得作为第一测试程序390的执行时间的第一测试执行时间的数据。并且,计算出表示第一测试执行时间和第二测试执行时间之间的关系的校正数据。即,校正数据计算部计算出表示表示第一测试执行时间和第二测试执行时间之间的关系的校正数据。
这样一来,在校正数据计算处理中,计算出表示第一测试执行时间和第二测试执行时间之间的关系的校正数据。
(h3:校正式推断时间计算处理)
接着,准备控制源程序330,该控制源程序330是根据用户的控制目的而生成的控制程序的源程序。
利用模拟器用编译器322A,根据控制源程序330来生成控制程序(模拟器用对象程序,即,模拟用对象程序)340。
在模拟器324A中执行控制程序340,测定其执行时间,由此,取得模拟执行时间的数据。
校正式推断执行时间计算部331A,利用校正数据对模拟执行时间进行变换,从而计算出校正式推断执行时间。校正式推断执行时间是控制程序(控制器用对象程序,即,控制用对象程序)342在控制器中的执行时间的推断值。
控制器用编译器322B根据控制源程序330来生成控制程序(控制器用对象)342。只要根据推断执行时间,在按需要修正控制源程序330之后进行实际生成控制器用对象342的处理即可。所生成的控制器用对象342被传送至控制器B,在控制器B中被执行。此外,控制器A和控制器B在执行时间的观点上被视为相同机型。
(h4:变形例)
在执行模拟器(控制器辅助装置8)与控制器(PLC1)能够执行相同的对象代码的情况下,无需将模拟器用编译器与控制器用编译器分开使用,只要使用共用的编译即可。在该情况下,第一测试程序390与第二测试程序392是相同的程序,模拟用对象程序340与控制器用对象程序342是相同的程序。
就用于编译测试源程序370的模拟器用编译器380和用于编译控制源程序330的模拟器用编译器322A而言,使用只要编译相同源程序就能够生成相同对象程序的编译器。控制器用编译器也可以是同样的。
(h5:其它方式)
如图8所示,控制器辅助装置8能够利用单一装置来执行被提供了第一测试程序390以及第二测试执行时间以后的全部处理,非常方便。
但是,从执行时间推断的观点看来,也可以由其它装置来执行对象程序的生成处理。
或者,也可以在其它装置中构成模拟器,控制器辅助装置8从作为其它装置的模拟器中取得模拟执行时间。
此外,在任何情况下,一旦计算出校正数据,则之后可以删除所存储的第一测试程序390和第二测试执行时间。
进而,也可以使其它装置执行校正数据的计算处理,控制器辅助装置8取得计算出的校正数据,将其存储并使用。
<I.校正数据的计算处理>
接着,说明表示第一测试执行时间和第二测试执行时间之间的关系的校正数据的计算处理。
图9是表示第一测试执行时间与第二测试执行时间之间的关系的一例的图。在图9中,X轴(横轴)表示模拟器中的第一测试程序390的执行时间的测定值(第一测试时间),Y轴(纵轴)表示控制器中的第二测试程序392的执行时间的测定值(第二测试执行时间)。
如上述,第一测试程序390以及第二测试程序392是根据相同的测试源程序370生成的对象程序。图10的图表中所示的测定点P1~P5,表示所执行的根据指令数不同的5种测试源程序370生成的第一以及第二测试程序的执行时间。
此外,测定点P1~P5可以分别是执行一次程序时的执行时间的测定值,但考虑到执行时间会因输入变量值等的执行条件而在每次执行时发生变动,因此,优选采用多次执行相同程序时的执行时间的平均值。
在使用通用计算机作为控制器辅助装置8的情况下,通常,在非实时操作系统环境中执行第一测试程序390,因此,第一测试程序的执行有可能会被操作系统暂时中断。在这种情况下的执行时间的测定值会变成大值的异常值,因此,在求得执行时间的平均值时,需要排除这种异常值后进行计算。同样地,对于以校正式推断执行时间的计算为基础的控制程序的模拟执行时间,也会产生异常值,因此,也必须排除这种异常值之后计算推断执行时间。
直线L,是利用最小二乘法求出的与测定点P1~P5的误差最小的直线。该例中,直线L用式Y=aX表示。该比例系数“a”成为校正数据。对在模拟器中测定出的控制程序的执行时间即模拟执行时间,乘以该校正数据“a”,从而能够计算出推断执行时间。
直线L也能够用式Y=aX+b表示,在该情况下,“a”以及“b”的值成为校正数据。
第一测试执行时间与第二测试执行时间大致成正比例关系,因此,能够用直线来表现它们间的关系,但有时为了更准确地表现该关系,而使用2次曲线、3次曲线这样的多次函数。在该情况下,用于规定多次函数的各系数成为校正数据。
有时不用直线来表示第一测试执行时间与第二测试执行时间之间的关系的原因之一在于,考虑到控制器辅助装置8的CPU81、控制器的微处理器(PLC1的微处理器100)的缓存机构的动作的影响。考虑到这种情况:有时,由于这种缓存机构的动作,导致短执行时间的测定值不在根据某种程度的长执行时间的测定值求出的直线上。
校正数据也能够设为表(table)的形式,该表(table)表示与X的几个值对应的Y的值。在该情况下,为了求出与表中不存在的X的值(控制程序的模拟执行时间)对应的Y的值,使用根据其附近的存在于表中的值而通过直线插补或曲线插补求出X的值与Y的值之间的关系。
<J.显示例>
接着,说明通过上述那样的处理而计算出的执行时间信息的提示例(显示例)。
(j1:第一状态)
图10是表示本发明的实施方式涉及的控制器辅助装置8所提供的显示画面的一例的图。如图10所示,控制器辅助装置8显示总计执行时间以及净执行时间。此外,也可以仅显示总计执行时间。
在图10所示的显示画面例中,图4所示的控制程序A和B成为执行时间推断的对象。在本显示画面中,控制程序A被标记为“任务A”(“TASKA”),控制程序B被标记为“任务B”(“TASK B”)。
在图10中,显示出校正式推断执行时间来作为净执行时间。也可以取代校正式推断执行时间,而显示累计式推断执行时间及/或实测执行时间。
如上述,净执行时间是指,除去了执行中止时间之后的该控制程序实际执行的时间。例如,在图4中,控制程序B夹着2次执行中止期间而被分3次执行。这分3次实际执行的时间的合计,就是净执行时间。
在净执行时间的显示部还显示输入输出时间。输入输出处理被标记为“I/O”。
在净执行时间的显示部中显示“500μs”时,表示控制循环的周期是500μs。
在模拟器中,能够通过分别以无执行中止期间的方式执行控制程序A和B,来测定出成为校正式推断执行时间(净执行时间)的计算基础的模拟执行时间。另外,在模拟器中,也可以与实际控制器中执行时同样地,也按照图4的序列,按照执行优先级和执行循环来执行,测定实际执行的时间。
就模拟执行时间的测定与推断执行时间的计算而言,优选重复进行多次。如果重复执行控制程序,控制程序中所使用的变量的值等的执行条件会发生变化,随着该变化,执行时间也会变动。在净执行时间的图表上附加显示的“最长”(MAX)值,是重复执行的情况下的最大值。也可以在此基础上显示最小值、平均值。
按照序列计算部分与运动计算部分,分别计算出控制程序A的推断执行时间,在图表表示中也分开显示分别计算出的控制程序A的推断执行时间。
在总计执行时间的显示部中,“0.5ms”以及“2ms”分别表示各自的控制程序的执行循环的周期。
这样一来,优选以能够与取得总计执行时间的对象即控制程序的执行循环的周期相对比的图表的方式,来显示总计执行时间。另外,与净执行时间的情况同样地,显示各控制程序的总计执行时间的最大值。通过显示总计执行时间,用户能够知晓各控制程序在执行循环的时间内能否执行结束。即,也可以说,在此的输出处理中所输出的显示数据,以能够与取得总计执行时间对象即控制程序的执行循环的周期相对比的图表的方式,来显示总计执行时间。
(j2:第二状态)
图11是表示从本发明的实施方式涉及的控制器辅助装置8输出的推断执行时间的显示画面的另一例的图。
图11所示的显示画面的例中的总计执行时间的表示方式与图10的情况相同。与图10的不同点在于,在净执行时间的显示部中,将输入输出处理(IO处理)的执行时间包含在“任务A”(“TASK A”)中进行显示。
即,在图11所示的显示画面中,将以与控制程序(该情况下,是控制程序A)的执行循环的周期相同的周期来执行的IO处理的执行时间,与该控制程序的执行时间相加来进行显示。这样一来,净执行时间的显示处理包括如下处理:将该控制程序的执行处理与组合执行的其它处理的执行时间相加来进行显示。换言之,无须一定显示控制程序的净执行时间自身,在决定控制循环周期、执行循环周期时、控制程序的分割方法等时,为了对于用户来说是有用的,而显示出包含控制程序的净执行时间在内的实质的净执行时间。
以能够使用户明白IO处理的执行时间与控制程序A的执行时间的方式,显示净执行时间的任务A的图表。在该图表附加显示的最长(MAX)值,是包含IO处理时间的执行时间,控制程序的净执行时间可以不用数值表示。这样一来,也可以仅用图表来显示控制程序的净执行时间自身。
在图4所示的序列图中,输入输出处理(IO处理)是用于控制程序A和B两者的处理,但也可以将图4所示的输入输出处理设为用于控制程序A的处理,与其不同地,另外将用于控制程序B的输入输出处理设为每到控制程序B的执行循环就执行一次的处理,例如在控制程序B的执行开始前执行用于控制程序B的输入输出处理。在该情况下,在图11的显示画面中,在任务B的净执行时间中加入用于控制程序B的输入输出处理的执行时间。
(j3:第三状态)
图12是表示从本发明的实施方式涉及的控制器辅助装置8输出的推断执行时间的显示画面的另一例。
图12所示的显示画面的例中的净执行时间的表示方式与图11的情况相同。与图11的不同点在于,在总计执行时间的显示部中,对于执行循环跨越(对应)多个控制循环的控制程序(控制程序B),在图表上以控制循环来分段显示。
即,在图12所示的显示画面中,在2ms的执行循环内,用3根竖线标记来分4段显示控制循环。另外,在图12所示的显示画面中,仅对在总计执行时间内该控制程序实际执行的时间的部分进行着色显示。通过采用这种显示状态,在该例中,针对控制程序B,用户能够一目了然地把握如下信息:在执行循环内的第一个控制循环中执行开始和中断;在第二个控制循环中执行恢复和中断;在第三个控制循环中,执行恢复后,在控制循环内执行结束;在第四个控制循环中,(控制程序B)没有执行。
进而,在图12所示的显示画面中,用标记来显示控制程序执行结束的时点。在该例中,使用三角形标记。由此,在执行循环内控制程序夹着(隔着)中断期间而断断续续的执行的情况下,也能够容易地理解执行结束的时点在哪里。
这样一来,也可以说,输出处理输出的显示数据,用于显示总计执行时间和包含在总计执行时间内的净执行时间。
<K.服务器-客户端方式>
在上述的说明中,例示出以单机方式实现用于推断控制程序的执行时间的处理的情况,但也可以用所谓的服务器-客户端的方式实现。
图13是表示本发明的实施方式涉及的服务器计算机所实现的控制器辅助装置所关联的整体处理的示意图。在图13的示意图中,在服务器计算机中实现控制器辅助装置,并且示出了此时的到计算校正式推断执行时间为止的一系列的处理以及各处理间的程序和数据流。
参照图13,作为控制器辅助装置而发挥功能的服务器计算机所具有的程序组发挥如下功能:模拟器用编译器322A、控制器用编译器322B、模拟器324A、校正式推断执行时间计算部331A、累计式推断执行时间计算部332A、推断输入输出时间计算部329A、总计执行时间计算部325A、输出部327A。另外,在服务器计算机的存储部中,存储有控制源程序、校正数据、按指令区分的执行时间数据、系统结构数据。其中,控制源程序以及系统结构数据是从客户端计算机发送来的。
服务器计算机,例如可以设置在用户的事业所(营业场所)内,通过LAN(局域网)与客户端计算机连接,也可以设置在控制器供应者的事业所内,通过因特网与用户的事业所的客户端计算机相连接。
图13中存储在存储部中校正数据,是通过与图8所示的处理同样的处理计算出的。也可以利用其它计算机来执行这种用于计算校正数据的处理,也可以在服务器计算机自身中执行这种用于计算校正数据的处理的全部或一部分。但是,在将用于执行第一测试程序390的模拟器设置在其它计算机中的情况下,该模拟器与在服务器计算机中的模拟器相比较,需要是能够以相同执行时间来执行相同程序的模拟器。
在服务器计算机中执行直到求出校正数据为止的一系列处理的情况下,也是只要能够在服务器计算机对客户端计算机提供服务的阶段使用校正数据即可。因此,也可以从服务器计算机中删除为了求出校正数据而使用的程序以及数据。
在客户端计算机中生成控制源程序330,并将其发送至服务器计算机。
服务器计算机,利用控制器用编译器322B,按照来自客户端计算机的指示,根据控制源程序330来生成控制程序(控制器用对象程序,即,控制用对象程序)342,并将其(所生成的控制程序)发送至客户端计算机。服务器计算机也可以不具有控制器用编译器322B,从而不进行控制程序342的生成服务。
在图13中,从生成控制程序(模拟器用对象程序,即,模拟用对象程序)340的处理开始到计算校正式推断执行时间的处理为止,都与图8所示的处理相同。就用于计算累计式推断执行时间的处理以及用于计算推断输入输出时间的处理而言,与图7所示的处理相同。就用于计算校正式推断执行时间的处理系统与用于计算累计式推断执行时间的处理系统而言,也可以仅具有其中的一个系统。
用于计算总计执行时间的处理,与图7所示的处理相同。但是,与图7的处理不同的是,不使用在控制器中测定的实测执行时间、实测输入输出时间以及实测总计执行时间。
输出部327A,生成用于例如以图10、图11或图12所示的方式显示净执行时间以及总计执行时间的输出用数据(显示用数据),并将其发送至客户端计算机。输出用数据例如是能够使用万维网表示的HTML形式的数据。输出部327A也可以仅将表示净执行时间、输入输出时间以及总计执行时间的数值数据发送至客户端计算机,而其显示方式由客户端计算机来实现。
服务器计算机也可以不具有模拟器用编译器322A,而是接收在客户端计算机中生成的控制程序(模拟用对象)340。
本次公开的实施方式皆为例示,并不用于限制。本发明的范围不由上述说明决定,而是由权利要求书示出,包括与权利要求书等同的意义以及范围内的全部变更。
附图标记的说明
1PLC,2现场网络,3伺服电机驱动器,4伺服电机,5遥控IO终端,6检测开关,7继电器,8控制器辅助装置,9CD-ROM,10连接电缆,11PLC系统总线,12电源单元,13CPU单元,14、53IO单元,15特殊单元,51终端总线,52通信耦合器,81CPU,82ROM,83RAM,84硬盘,85键盘,86鼠标,87监视器,88CD-ROM驱动器,100微处理器,102芯片集,104主存储器,106非易失性存储器,108系统计时器,110USB连接器,120PLC系统总线控制器,122DMA控制电路,124PLC系统总线控制电路,126、146缓存器,130连接器,140现场网络控制器,142DMA控制电路,144现场网络控制电路,210系统程序,212调度程序,214输出处理程序,216输入处理程序,218IO处理程序,220其它系统程序,230控制程序,232序列指令计算程序,234运动计算程序,236用户程序,320控制器辅助程序,321编辑程序,322编译程序,322A、380模拟器用编译器,322B、382控制器用编译器,323调试程序,324模拟程序,324A模拟器,325总计执行时间计算程序,325A总计执行时间计算部,326控制器实测时间取得程序,327输出程序,327A输出部,328通信程序,329推断输入输出时间计算程序,329A推断输入输出时间计算部,330控制源程序,331校正式推断执行时间计算程序,331A校正式推断执行时间计算部,332累计式执行时间计算程序,332A累计式推断执行时间计算部,340控制程序,340模拟用对象程序(模拟器用对象程序),342控制用对象程序(控制器用对象程序),350净执行时间取得部,352输入输出时间取得部,354总计执行时间取得部,370测试源程序,390第一测试程序,392第二测试程序,200实时OS,SYS系统。
Claims (21)
1.一种控制器辅助装置,用于辅助使用控制器,该控制器用于对控制对象进行控制,该控制器辅助装置的特征在于,
所述控制器,能够针对每个控制循环执行多个控制程序,并且是按照针对每个所述控制程序分别设定的执行优先级与所述控制循环的整数倍的执行循环,来执行所述多个控制程序,
所述控制器辅助装置具有存储部和计算部,
所述存储部用于存储控制器辅助程序和所述控制程序,
所述控制器辅助程序用于使所述计算部执行如下处理:
总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在所述控制器按照所述执行优先级和所述执行循环来执行所述控制程序时,从所述执行循环开始到在该执行循环中所述控制程序执行结束为止的期间内经过的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助装置中推断出的时间,
输出处理,用于输出所述总计执行时间。
2.如权利要求1所述的控制器辅助装置,其特征在于,
所述控制器辅助程序进而使所述计算部执行净时间取得处理,在该净执行时间取得处理中取得净执行时间,该净执行时间是,所述控制器在其所述执行循环内实际执行所述控制程序的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助装置中推断出的时间,
在所述总计执行时间取得处理中,将第一净执行时间与第二净执行时间相加,该第一净执行时间是指,作为取得所述总计执行时间的对象的所述控制程序的所述净执行时间,该第二净执行时间是指该控制程序的优先程序的所述净执行时间,所述优先程序是指,在从该控制程序的所述执行循环的开始到在该执行循环中该控制程序执行结束为止的期间内执行的、比该控制程序的执行优先级高的所述控制程序。
3.如权利要求2所述的控制器辅助装置,其特征在于,
在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
4.如权利要求2所述的控制器辅助装置,其特征在于,
所述控制器,针对每个所述控制循环或每个所述控制程序的执行循环,执行输入输出处理,
所述控制器辅助程序还使所述计算部执行输入输出时间取得处理,在该输入输出时间取得处理中取得输入输出时间,该输入输出时间是所述控制器执行所述输入输出处理所需的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助装置中推断出的时间,
在所述总计执行时间取得处理中,将所述第一净执行时间、所述第二净执行时间以及第三净执行时间相加,所述第三净执行时间是指,从该控制程序的所述执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的所述输入输出处理的所述输入输出时间。
5.如权利要求4所述的控制器辅助装置,其特征在于,
在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
6.如权利要求1~5中任意一项所述的控制器辅助装置,其特征在于,
在所述输出处理中输出显示数据,该显示数据用于以图表的方式显示所述总计执行时间,该图表能够将所述总计执行时间与作为取得所述总计执行时间的对象的所述控制程序的所述执行循环的周期相对比。
7.如权利要求2~5中任意一项所述的控制器辅助装置,其特征在于,
在所述输出处理中输出显示数据,该显示数据用于显示所述总计执行时间与所述总计执行时间所含的所述净执行时间。
8.一种控制器辅助程序,在控制器辅助装置中执行,该控制器辅助装置用于辅助使用控制器,该控制器用于对控制对象进行控制,该控制器辅助程序的特征在于,
所述控制器,能够针对每个控制循环执行多个控制程序,并且是按照针对每个所述控制程序分别设定的执行优先级与所述控制循环的整数倍的执行循环,来执行所述多个控制程序,
所述控制器辅助装置具有存储部和计算部,
所述存储部用于存储控制器辅助程序和所述控制程序,
所述控制器辅助程序用于使所述计算部执行如下处理:
总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在所述控制器按照所述执行优先级和所述执行循环来执行所述控制程序时,从所述执行循环开始到在该执行循环中所述控制程序执行结束为止的期间内经过的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间,
输出处理,用于输出所述总计执行时间。
9.如权利要求8所述的控制器辅助程序,其特征在于,
所述控制器辅助程序进而使所述计算部执行净时间取得处理,在该净执行时间取得处理中取得净执行时间,该净执行时间是,所述控制器在其所述执行循环内实际执行所述控制程序的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间,
在所述总计执行时间取得处理中,将第一净执行时间与第二净执行时间相加,该第一净执行时间是指,作为取得所述总计执行时间的对象的所述控制程序的所述净执行时间,该第二净执行时间是指该控制程序的优先程序的所述净执行时间,所述优先程序是指,在从该控制程序的所述执行循环的开始到在该执行循环中该控制程序执行结束为止的期间内执行的、比该控制程序的执行优先级高的所述控制程序。
10.如权利要求9所述的控制器辅助程序,其特征在于,
在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
11.如权利要求9所述的控制器辅助程序,其特征在于,
所述控制器,针对每个所述控制循环或每个所述控制程序的执行循环,执行输入输出处理,
所述控制器辅助程序还使所述计算部执行输入输出时间取得处理,在该输入输出时间取得处理中取得输入输出时间,该输入输出时间是所述控制器执行所述输入输出处理所需的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间,
在所述总计执行时间取得处理中,将所述第一净执行时间、所述第二净执行时间以及第三净执行时间相加,所述第三净执行时间是指,从该控制程序的所述执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的所述输入输出处理的所述输入输出时间。
12.如权利要求11所述的控制器辅助程序,其特征在于,
在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
13.如权利要求8~12中任意一项所述的控制器辅助程序,其特征在于,
在所述输出处理中输出显示数据,该显示数据用于以图表的方式显示所述总计执行时间,该图表能够将所述总计执行时间与作为取得所述总计执行时间的对象的所述控制程序的所述执行循环的周期相对比。
14.如权利要求9~5中任意一项所述的控制器辅助程序,其特征在于,
在所述输出处理中输出显示数据,该显示数据用于显示所述总计执行时间与所述总计执行时间所含的所述净执行时间。
15.一种存储有控制器辅助程序的存储介质,该控制器辅助程序在控制器辅助装置中执行,该控制器辅助装置用于辅助使用控制器,该控制器用于对控制对象进行控制,该控制器辅助程序的特征在于,
所述控制器,能够针对每个控制循环执行多个控制程序,并且是按照针对每个所述控制程序分别设定的执行优先级与所述控制循环的整数倍的执行循环,来执行所述多个控制程序,
所述控制器辅助装置具有存储部和计算部,
所述存储部用于存储控制器辅助程序和所述控制程序,
所述控制器辅助程序用于使所述计算部执行如下处理:
总计执行时间取得处理,取得总计执行时间,该总计执行时间是指,在所述控制器按照所述执行优先级和所述执行循环来执行所述控制程序时,从所述执行循环开始到在该执行循环中所述控制程序执行结束为止的期间内经过的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间,
输出处理,用于输出所述总计执行时间。
16.如权利要求15所述的存储有控制器辅助程序的存储介质,其特征在于,
所述控制器辅助程序进而使所述计算部执行净时间取得处理,在该净执行时间取得处理中取得净执行时间,该净执行时间是,所述控制器在其所述执行循环内实际执行所述控制程序的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间,
在所述总计执行时间取得处理中,将第一净执行时间与第二净执行时间相加,该第一净执行时间是指,作为取得所述总计执行时间的对象的所述控制程序的所述净执行时间,该第二净执行时间是指该控制程序的优先程序的所述净执行时间,所述优先程序是指,在从该控制程序的所述执行循环的开始到在该执行循环中该控制程序执行结束为止的期间内执行的、比该控制程序的执行优先级高的所述控制程序。
17.如权利要求16所述的存储有控制器辅助程序的存储介质,其特征在于,
在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
18.如权利要求16所述的存储有控制器辅助程序的存储介质,其特征在于,
所述控制器,针对每个所述控制循环或每个所述控制程序的执行循环,执行输入输出处理,
所述控制器辅助程序还使所述计算部执行输入输出时间取得处理,在该输入输出时间取得处理中取得输入输出时间,该输入输出时间是所述控制器执行所述输入输出处理所需的时间,并且是在所述控制器中测定出的时间或在所述控制器辅助程序中推断出的时间,
在所述总计执行时间取得处理中,将所述第一净执行时间、所述第二净执行时间以及第三净执行时间相加,所述第三净执行时间是指,从该控制程序的所述执行循环开始到在该执行循环中该控制程序执行结束为止的期间内执行的所述输入输出处理的所述输入输出时间。
19.如权利要求18所述的存储有控制器辅助程序的存储介质,其特征在于,
在所述净执行时间取得处理中,取得在所述控制器的模拟器中测定出的根据所述控制程序的执行时间计算出的推断执行时间,来作为所述净执行时间。
20.如权利要求15~19中任意一项所述的存储有控制器辅助程序的存储介质,其特征在于,
在所述输出处理中输出显示数据,该显示数据用于以图表的方式显示所述总计执行时间,该图表能够将所述总计执行时间与作为取得所述总计执行时间的对象的所述控制程序的所述执行循环的周期相对比。
21.如权利要求16~19中任意一项所述的存储有控制器辅助程序的存储介质,其特征在于,
在所述输出处理中输出显示数据,该显示数据用于显示所述总计执行时间与所述总计执行时间所含的所述净执行时间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-056777 | 2011-03-15 | ||
JP2011056777A JP4905597B1 (ja) | 2011-03-15 | 2011-03-15 | コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体 |
PCT/JP2011/056774 WO2012124138A1 (ja) | 2011-03-15 | 2011-03-22 | コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103477290A true CN103477290A (zh) | 2013-12-25 |
CN103477290B CN103477290B (zh) | 2016-06-29 |
Family
ID=46060751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180069923.7A Active CN103477290B (zh) | 2011-03-15 | 2011-03-22 | 控制器辅助装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10061281B2 (zh) |
EP (1) | EP2687928B1 (zh) |
JP (1) | JP4905597B1 (zh) |
CN (1) | CN103477290B (zh) |
WO (1) | WO2012124138A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159656A (zh) * | 2014-06-16 | 2015-12-16 | 上海宝信软件股份有限公司 | Plc软件编程辅助设计方法 |
CN105278402A (zh) * | 2014-06-27 | 2016-01-27 | 欧姆龙株式会社 | 信息处理装置、信息处理方法以及程序 |
CN107132818A (zh) * | 2016-02-29 | 2017-09-05 | 发那科株式会社 | 机床的数值控制装置 |
CN109643093A (zh) * | 2016-08-30 | 2019-04-16 | 三菱电机株式会社 | 程序编辑装置、程序编辑方法及程序编辑程序 |
CN110402430A (zh) * | 2017-04-07 | 2019-11-01 | 欧姆龙株式会社 | 控制装置、控制方法以及控制程序 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6171386B2 (ja) * | 2013-02-15 | 2017-08-02 | オムロン株式会社 | コントローラ、情報処理装置およびプログラム |
JP5715195B2 (ja) * | 2013-07-03 | 2015-05-07 | ファナック株式会社 | プログラム実行ペースを指定できるモーションコントローラ |
US9767288B2 (en) * | 2013-11-13 | 2017-09-19 | Via Technologies, Inc. | JTAG-based secure BIOS mechanism in a trusted computing system |
US9779243B2 (en) * | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Fuse-enabled secure BIOS mechanism in a trusted computing system |
US9507942B2 (en) * | 2013-11-13 | 2016-11-29 | Via Technologies, Inc. | Secure BIOS mechanism in a trusted computing system |
US10095868B2 (en) | 2013-11-13 | 2018-10-09 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9779242B2 (en) * | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Programmable secure bios mechanism in a trusted computing system |
US10049217B2 (en) | 2013-11-13 | 2018-08-14 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9183394B2 (en) | 2013-11-13 | 2015-11-10 | Via Technologies, Inc. | Secure BIOS tamper protection mechanism |
US9798880B2 (en) * | 2013-11-13 | 2017-10-24 | Via Technologies, Inc. | Fuse-enabled secure bios mechanism with override feature |
US9547767B2 (en) | 2013-11-13 | 2017-01-17 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9367689B2 (en) | 2013-11-13 | 2016-06-14 | Via Technologies, Inc. | Apparatus and method for securing BIOS in a trusted computing system |
US10055588B2 (en) | 2013-11-13 | 2018-08-21 | Via Technologies, Inc. | Event-based apparatus and method for securing BIOS in a trusted computing system during execution |
JP6218645B2 (ja) * | 2014-03-05 | 2017-10-25 | 三菱電機株式会社 | プログラム解析装置及びプログラム解析方法及びプログラム |
US10437699B2 (en) | 2015-01-21 | 2019-10-08 | International Business Machines Corporation | Measuring execution time of benchmark programs in a simulated environment |
TWI539276B (zh) * | 2015-06-18 | 2016-06-21 | 致伸科技股份有限公司 | 操作時間監控系統 |
JP6731227B2 (ja) * | 2015-10-02 | 2020-07-29 | シャープ株式会社 | 制御システム、動作決定装置、機器、制御方法、及び制御プログラム |
KR101743836B1 (ko) * | 2015-10-22 | 2017-06-07 | 엘에스산전 주식회사 | 범용 마이크로 프로세서를 이용한 plc의 디버깅 방법 |
US10012979B2 (en) * | 2016-01-20 | 2018-07-03 | Rockwell Automation Technologies, Inc. | Emulated industrial control execution rate scaling |
US10824119B2 (en) * | 2016-03-29 | 2020-11-03 | International Business Machines Corporation | Intelligent energy switch |
EP3349082B1 (de) * | 2017-01-16 | 2019-07-31 | Siemens Aktiengesellschaft | System zur abschaltbaren simulation von anlagen oder maschinen innerhalb von speicherprogrammierbaren steuerungen |
JP6827340B2 (ja) * | 2017-02-17 | 2021-02-10 | 三菱重工エンジニアリング株式会社 | ソフトウェア試験装置、ソフトウェア試験システム、ソフトウェア試験方法およびプログラム |
WO2019041145A1 (zh) * | 2017-08-29 | 2019-03-07 | 西门子公司 | 一种数据读取周期的确定方法和装置 |
TWI639921B (zh) * | 2017-11-22 | 2018-11-01 | 大陸商深圳大心電子科技有限公司 | 指令處理方法及使用所述方法的儲存控制器 |
US10649038B2 (en) * | 2018-04-19 | 2020-05-12 | Siemens Industry, Inc. | Output module, control system and method for testing an output module connected to a complex load |
JP7067406B2 (ja) * | 2018-10-12 | 2022-05-16 | オムロン株式会社 | 制御システム、制御装置および制御方法 |
JP7512886B2 (ja) | 2020-12-23 | 2024-07-09 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08278804A (ja) * | 1995-04-06 | 1996-10-22 | Fanuc Ltd | シーケンス・プログラムの診断方式 |
JPH09128243A (ja) * | 1995-10-30 | 1997-05-16 | Fujitsu Ltd | ファイル制御装置のサポートシステム |
JPH1063603A (ja) * | 1996-08-27 | 1998-03-06 | Nec Corp | 周辺制御装置およびその負荷状況設定方法 |
CN1580997A (zh) * | 2003-08-05 | 2005-02-16 | 发那科株式会社 | 可编程的控制器 |
WO2006113111A2 (en) * | 2005-04-15 | 2006-10-26 | Microsoft Corporation | Method and apparatus for performance analysis on a software program |
JP2008310748A (ja) * | 2007-06-18 | 2008-12-25 | Honda Motor Co Ltd | タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム |
JP2009076073A (ja) * | 2001-03-05 | 2009-04-09 | Cadence Design Systems Inc | 組込形ソフトウェアの実行時間の統計的評価のための方法及び装置 |
US20090312856A1 (en) * | 2008-06-11 | 2009-12-17 | Qualcomm Incorporated | Method and System For Measuring Task Load |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62245443A (ja) * | 1986-04-18 | 1987-10-26 | Mitsubishi Electric Corp | プログラムの実行時間測定方法 |
JPH05257830A (ja) * | 1992-03-13 | 1993-10-08 | Nippon Telegr & Teleph Corp <Ntt> | 入出力処理完了監視方法および装置 |
US6973417B1 (en) * | 1999-11-05 | 2005-12-06 | Metrowerks Corporation | Method and system for simulating execution of a target program in a simulated target system |
JP3901417B2 (ja) | 2000-01-25 | 2007-04-04 | オムロン株式会社 | Plcシミュレータ |
DE10238575A1 (de) * | 2002-08-22 | 2004-03-04 | Siemens Ag | Verfahren zur Messung der Nettolaufzeit eines Datenverarbeitungsprogramms |
JP4105102B2 (ja) * | 2004-01-09 | 2008-06-25 | 株式会社東芝 | パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法 |
US7099215B1 (en) * | 2005-02-11 | 2006-08-29 | North Carolina State University | Systems, methods and devices for providing variable-latency write operations in memory devices |
DE112011102727T5 (de) * | 2010-08-16 | 2013-06-27 | Mitsubishi Electric Corporation | Steuerprogramm-Erzeugungsvorrichtung, Steuerprogramm-Erzeugungsprogramm und Steuerprogramm-Erzeugungsverfahren |
US8977534B2 (en) | 2011-03-15 | 2015-03-10 | Omron Corporation | Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program |
-
2011
- 2011-03-15 JP JP2011056777A patent/JP4905597B1/ja active Active
- 2011-03-22 CN CN201180069923.7A patent/CN103477290B/zh active Active
- 2011-03-22 EP EP11861252.2A patent/EP2687928B1/en active Active
- 2011-03-22 US US14/005,317 patent/US10061281B2/en active Active
- 2011-03-22 WO PCT/JP2011/056774 patent/WO2012124138A1/ja active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08278804A (ja) * | 1995-04-06 | 1996-10-22 | Fanuc Ltd | シーケンス・プログラムの診断方式 |
JPH09128243A (ja) * | 1995-10-30 | 1997-05-16 | Fujitsu Ltd | ファイル制御装置のサポートシステム |
JPH1063603A (ja) * | 1996-08-27 | 1998-03-06 | Nec Corp | 周辺制御装置およびその負荷状況設定方法 |
JP2009076073A (ja) * | 2001-03-05 | 2009-04-09 | Cadence Design Systems Inc | 組込形ソフトウェアの実行時間の統計的評価のための方法及び装置 |
CN1580997A (zh) * | 2003-08-05 | 2005-02-16 | 发那科株式会社 | 可编程的控制器 |
WO2006113111A2 (en) * | 2005-04-15 | 2006-10-26 | Microsoft Corporation | Method and apparatus for performance analysis on a software program |
JP2008310748A (ja) * | 2007-06-18 | 2008-12-25 | Honda Motor Co Ltd | タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム |
US20090312856A1 (en) * | 2008-06-11 | 2009-12-17 | Qualcomm Incorporated | Method and System For Measuring Task Load |
Non-Patent Citations (1)
Title |
---|
陈杰 等: "分时多任务机制在汽油机电控单元中的应用", 《车用发电机》, no. 125, 28 February 2000 (2000-02-28), pages 21 - 24 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159656A (zh) * | 2014-06-16 | 2015-12-16 | 上海宝信软件股份有限公司 | Plc软件编程辅助设计方法 |
CN105278402A (zh) * | 2014-06-27 | 2016-01-27 | 欧姆龙株式会社 | 信息处理装置、信息处理方法以及程序 |
CN107132818A (zh) * | 2016-02-29 | 2017-09-05 | 发那科株式会社 | 机床的数值控制装置 |
US10120363B2 (en) | 2016-02-29 | 2018-11-06 | Fanuc Corporation | Numerical controller for machine tool |
CN109643093A (zh) * | 2016-08-30 | 2019-04-16 | 三菱电机株式会社 | 程序编辑装置、程序编辑方法及程序编辑程序 |
CN110402430A (zh) * | 2017-04-07 | 2019-11-01 | 欧姆龙株式会社 | 控制装置、控制方法以及控制程序 |
CN110402430B (zh) * | 2017-04-07 | 2023-01-10 | 欧姆龙株式会社 | 控制装置、控制方法以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2012124138A1 (ja) | 2012-09-20 |
JP2012194671A (ja) | 2012-10-11 |
JP4905597B1 (ja) | 2012-03-28 |
CN103477290B (zh) | 2016-06-29 |
EP2687928B1 (en) | 2017-05-10 |
US20140088734A1 (en) | 2014-03-27 |
US10061281B2 (en) | 2018-08-28 |
EP2687928A1 (en) | 2014-01-22 |
EP2687928A4 (en) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103477290A (zh) | 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 | |
US7174225B2 (en) | Method and system for simulating processing of a workpiece with a machine tool | |
JP6965798B2 (ja) | 制御システムおよび制御方法 | |
JP6247320B2 (ja) | 産業プラントの分散制御システムを試験するためのシステムおよび方法 | |
CN103403632B (zh) | 运算单元、辅助装置、输出控制方法、显示控制方法、以及程序 | |
US8977534B2 (en) | Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program | |
EP3441830B1 (en) | Information processing device, information processing method, and information processing program | |
JP2009510574A (ja) | 工作機械又は生産機械の制御挙動ないし機械挙動のシミュレーション方法 | |
CN109388097A (zh) | 信息处理装置、信息处理方法及记录媒体 | |
JP4748286B1 (ja) | コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法 | |
US8250343B2 (en) | Axial motion control processing by multiple cores respectively executing each of a sequence of functions in parallel for respective portions of a motion system | |
EP3441831B1 (en) | Information processing device, information processing method, and information processing program | |
US20150177723A1 (en) | Control unit, output control method and program | |
CN105278402A (zh) | 信息处理装置、信息处理方法以及程序 | |
CN110402430A (zh) | 控制装置、控制方法以及控制程序 | |
CN104903798A (zh) | 用于所模拟的可编程逻辑控制器的自动化输入模拟 | |
JP2003162304A (ja) | 設備制御のシミュレーション方法及びその装置 | |
JP2018020406A (ja) | シミュレーション装置 | |
EP3291112A1 (en) | Master and slave architecture for co-simulation of control systems | |
Skýpala et al. | Virtual commissioning of automated manufacturing systems—Quality-handling station case study | |
JP7375632B2 (ja) | 制御システムおよびサポート装置 | |
CN116056842A (zh) | 控制装置、控制系统以及程序 | |
JP2022182160A (ja) | 制御システム、システムプログラムおよびデバッグ方法 | |
CN116339246A (zh) | 一体化控制系统平台及其实现方法 | |
Wannagat et al. | Increasing flexibility and availability of manufacturing systems-dynamic reconfiguration of automation software at runtime on sensor faults |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |