CN1580997A - 可编程的控制器 - Google Patents
可编程的控制器 Download PDFInfo
- Publication number
- CN1580997A CN1580997A CNA2004100700378A CN200410070037A CN1580997A CN 1580997 A CN1580997 A CN 1580997A CN A2004100700378 A CNA2004100700378 A CN A2004100700378A CN 200410070037 A CN200410070037 A CN 200410070037A CN 1580997 A CN1580997 A CN 1580997A
- Authority
- CN
- China
- Prior art keywords
- sequencer
- execution
- programs
- program
- performance period
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15081—Period length ratio between application and communication task is settable
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
可编程控制器能够按照期望条件自动调整多个序列程序的每个序列程序的执行周期百分比。按照预定的执行百分比执行该序列程序,测量多个序列程序的每个序列程序的执行时间,即每个程序的一个执行的实际所需时间。得到测量的每个序列程序的执行时间总长度和这个总执行时间的执行循环的最小数。假定该序列程序在这个最小数的执行循环中执行,得到一个执行循环中执行每个序列程序所需的时间。基于这样得到的执行每个序列程序所需的时间计算和固定一个执行循环中每个序列程序的执行百分比。因而,在同样的扫描时间内完成序列程序的一个执行。同样可能在一个执行循环中分配序列程序的执行百分比,从而获得扫描时间的预定目标或者预定的扫描时间目标。
Description
技术领域
本发明涉及一种用于执行序列程序的可编程的控制器。
背景技术
可编程的控制器通过执行序列程序控制数控设备(M功能,T功能)、机器的外围设备(工件夹具,自动工具转换器(ATC))等的数字控制器。
近年来,机器的复杂化日益进展。在某些情况下,在一个机器系统上加入新的外围设备。在这样的情况下,通常在可编程控制器的序列程序中加入控制所加外围设备的附加程序。还有一些情况,为了自动化一个机器,用于自动化的控制程序加入到序列程序。结果,组成由该可编程控制器执行的序列程序的程序数目增加了,使得保持和管理序列程序变得困难。
在近期用于解决这个问题并使保持序列程序变得容易的技术中,用于控制机器基本部件的序列程序和用于控制所加的外围设备的序列程序分开制作,并且可编程控制器的处理器依次逐部分地执行那些序列程序,因此好像处理器并行地处理序列程序。
为了使处理器并行地执行序列程序,在一个执行周期中单个序列程序的执行周期的分配比率是预定的,使处理器根据预定的分配比率逐部分地处理序列程序。尚未听说本发明有关的、自动改变执行周期的分配比率的可编程序控制器,也没有公开这样的可编程控制器的出版物。
在多个序列程序按照预定的执行周期分配比率并行地逐部分执行的情况下,如果数字控制器的序列程序的执行周期和外围设备的序列程序的执行周期的比例不合适,整体地执行序列程序可能是低效的。
发明内容
本发明提供一种根据期望的条件对多个序列程序的每个程序自动地调节执行周期分配的比率的可编程控制器。
本发明的可编程控制器通过重复该多个序列程序的连续执行部分的执行循环执行多个序列程序。
根据本发明的第一方面,可编程控制器包括:测量装置,用于测量实际执行多个序列程序的每个程序的总执行时间;和执行周期分配比率计算装置,用于计算在一个执行循环中分配多个序列程序的每个程序的执行周期的比率,因此基于所测量的总执行时间多个序列程序的扫描时间的长度对于每个序列程序是一样的,因而按照计算的执行周期分配比率通过重复多个序列程序的连续执行部分的执行循环执行该多个序列程序。
根据本发明的第二方面,可编程控制器包括:对每个序列程序设定目标扫描时间的输入装置;测量实际执行多个序列程序的每个程序所需的总执行时间的测量装置;和执行周期分配比率计算装置,基于多个序列程序的每个程序设定的目标扫描时间和所测量的总执行时间计算在一个执行循环中多个序列程序的每个程序分配执行周期的比率,因而按照计算得的执行周期分配比率通过重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
根据本发明的第三方面,可编程控制器包括:设定多个序列程序的目标扫描时间的输入装置;测量实际执行多个序列程序的每个程序所需的总执行时间的测量装置;和执行周期分配比率确定装置,基于多个序列程序的每个程序的设定目标扫描时间比率和所测量的总执行时间确定在一个执行循环中多个序列程序的每个程序分配执行周期的比率,因而按照确定的执行周期分配比率通过重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
根据本发明的第四方面,可编程控制器包括:在多个序列程序的每个程序中确定步数的装置;和执行周期分配比率确定装置,基于在多个序列程序的每个程序中确定的步数确定在一个执行循环中的多个序列程序的每个程序的分配执行周期的比率,因而按照确定的执行周期分配比率通过重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
根据本发明的第五方面,可编程控制器包括:测量实际执行多个序列程序的每个程序所需的总执行时间的测量装置;条件输入装置,用于对一个执行循环中的多个程序的每个程序设定用于调整分配执行周期的执行周期分配比率的条件;和执行周期分配比率确定装置,基于多个序列程序的每个程序的测量的总时间和设定条件确定执行周期的分配比率,因而按照确定的执行周期分配比率通过重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
条件输入装置可允许从以下条件中选择并输入一个条件:设定该多个序列程序的相同扫描时间长度的条件,设定多个序列程序的每个程序的目标扫描时间的条件,设定多个序列程序的目标扫描时间比率的条件以及按照该多个序列程序中的步数比率计算执行周期分配比率的条件。
在本发明中,由于在一个执行循环中多个序列程序的每个程序的执行周期分配比率是按照期望的条件自动地确定的,该序列程序可以有效地执行。而且,当增加外围设备或其类似设备并且序列程序的数目增加时,同样可以得到各个程序的分配执行周期的最佳比率。
附图说明
图1是表示本发明实施例共同的可编程控制器的相关部件的方框图,
图2是关于本发明第一实施例的流程图,
图3a-3e是说明在本发明第一实施例中执行周期百分比调整的一个例子的图,
图4是关于本发明第二实施例的流程图,
图5a-5g是说明在本发明第二实施例中执行周期百分比调整的一个例子的图,
图6是关于本发明第三实施例的流程图,
图7a-7f是说明在第三实施例中执行周期百分比调整的一个例子的图,
图8是关于本发明第四实施例的流程图,
图9a和9b是说明在本发明第四实施例中执行周期百分比调整的一个例子的图。
具体实施方式
图1是表示本发明实施例共同的可编程控制器的相关部件的框图。在一个可编程控制器10中,处理器11执行序列控制,RAM 12用于存储控制软件,由非易失RAM或类似物组成的程序存储器13用于存储序列程序,信号存储器14用于存储DI/DO信号(输入/输出信号),和工作RAM 15与总线20相连。而且,用于测量操作时间和类似项的定时器16,与I/O设备相连的I/O接口17,使用液晶、CRT等的显示设备18,用于输入数据和命令的数据输入设备19,诸如键盘也连接至总线20。注意,在该可编程控制器10通过总线20与设置在数控设备中的数控器相连时,为该数控器所提供的显示设备和输入设备兼作显示设备18和数据输入设备19。因此,在可编程控制器10中不需要提供显示设备18和数据输入设备19。
可编程控制器10的上述硬件结构无异于传统可编程控制器的硬件结构。该可编程控制器10与传统可编程控制器的差别在于在用于控制软件的RAM 12中存储调整在一个执行循环中每个序列程序的执行周期百分比的软件。
在下述的实施例中,在程序存储器13中存储有多个序列程序。在信号存储器14中提供用于按照该序列程序存储输入和输出信号的DI/DO信号表等。在工作RAM 15中,存储每个序列程序的扫描时间(每个序列程序一次执行所需的时间),在一个执行循环中每个序列程序的执行周期百分比等。
图2是表示在本发明第一实施例中由该可编程控制器10的处理器11执行的执行周期分配比率调整过程的流程图,而图3a-3e是说明在本发明第一实施例中执行周期百分比调整的图。在第一实施例中,实施调整以使得所执行的序列程序具有相同的扫描时间长度。
该可编程控制器10以所安装的序列程序的数目自动地均分一个执行循环的周期以确定各序列程序的执行周期。换言之,程序控制器10为所安装的序列程序分配相等的执行周期百分比。可选择地,执行序列程序的执行比率由操作者的每个序列程序输入的执行周期的操作确定。
图3a是使用安装了三个序列程序A、B和C的例子来说明自动调整,以得到相同长度的扫描时间的图。在自动调整前,序列程序A、B和C的扫描时间长度分别是24ms,16ms,8ms。在自动调整前,一个执行循环中单个序列程序的执行百分比被确定为相同。换句话说,执行周期8ms被均分为33%部分,以使得程序A、B和C在每个33%部分中执行。
在这个第一实施例中,当从数据输入设备19输入获得相同扫描时间长度的调整命令时,处理器11开始图2所示的过程。
首先,处理器根据预定的执行百分比执行程序A、B和C,并测量每个序列程序A、B和C的实际执行时间(步骤100)。图3b-3d是用于说明每个序列程序的执行时间的测量的图。图3b示出了序列程序A的执行时间的测量。序列程序A的扫描时间是24ms,因而在三个执行循环中完成了序列程序A的一个执行。假定根据该测量,在第一和第二执行循环中序列程序A执行了2.6ms,即为执行周期的三分之一,它等于分配的时间,而在第三执行循环中为2.1ms,因而序列程序A总的实际执行时间为7.3ms。
图3c是用于说明序列程序B实际执行时间的测量的图。序列程序B的扫描时间是16ms,因而在两个执行循环中完成了序列程序B的一个执行。假定根据该测量,在第一执行循环中执行程序B执行了2.6ms,而在第二执行循环中执行了2.4ms,因而序列程序B的总的实际执行时间为5.0ms。而且,序列程序C的扫描时间是8ms,它等于该执行周期,并且假定根据该测量,序列程序B的实际执行时间是2.5ms,如图3d所示。
通过将这样测量的单个序列程序的实际执行时间的长度相加,得到总执行时间(步骤101)。在图3a-3e的例子中,
总执行时间=7.3ms+5.0ms+2.5ms=14.8ms
下一步,通过将总执行时间除以一个执行循环的周期并将所得的商取最接近的整数,得到总执行时间的执行循环的最小数目(步骤102)。在图3a-3e中,
总执行时间/一个执行循环的周期=14.8ms/8ms=1.85→2。
通过将每个序列程序测量的执行时间除以所得到的执行循环的最小数目,得到在一个执行循环中每个序列程序的执行周期(步骤103)。在图3a-3e的例子中,
序列程序A=7.3ms/2=3.65ms,
序列程序B=5.0ms/2=2.5ms,和
序列程序C=2.5ms/2=1.25ms。
通过将所得到的在一个执行周期中的每个序列程序的执行周期除以一个执行循环的周期,得到每个序列程序的执行百分比(步骤104)。在图3a-3e的例子中
序列程序A=3.65ms/8ms=46%,
序列程序B=2.5ms/8ms=31%,和
序列程序C=1.25ms/8ms=16%。
设定所得到的百分比(步骤105),终止自动调整。在上述方式中,这样执行调整,使得所有安装的序列程序具有相同的扫描时间长度。在图3a-3e的例子中,如图3e所示,序列程序A,B和C的扫描时间长度均为16ms,并且分别将执行周期的46%、31%和16%分配给了程序A,B和C,因此在两个执行循环中将完成程序A,B和C的一个执行。由此开始,序列程序按照这样确定的执行百分比执行。
图4是说明在本发明第二实施例中由可编程控制器10的处理器11实现的执行周期百分比调整过程的流程图。在第二实施例中,确定各个序列程序的扫描时间的目标,并且调整各个序列程序的执行周期的百分比,以便得到扫描时间的目标。图5a-5g是使用安装三个序列程序A,B和C的例子说明第二实施例的图。在图5a中,在自动调整前,按照预定的执行百分比划分执行周期(8ms)。具体地说,一个执行循环的周期(8ms)被均分为对应于所执行序列程序的数目的三部分,以使得每个序列程序在执行周期的三部分之一被执行。这里假定序列程序A的扫描时间是24ms(三个执行循环),序列程序B的扫描时间是16ms(两个执行循环),而序列程序C的扫描时间是8ms(一个执行循环)。而且,如图5b所示,假设通过数据输入设备19,每个序列程序的扫描时间的目标设置如下:序列程序A=16ms(两个执行循环),序列程序B=16ms(两个执行循环),而序列程序C=8ms(一个执行循环)。当输入自动调整命令时,可编程控制器10的处理器11开始图4中的流程图所示的过程。
就像在第一实施例中,首先处理器11根据预定的执行百分比执行该序列程序,并且测量每个序列程序的实际执行时间(步骤200)。与第一实施例中的图3b-3d相同,图5c-5e表示三个程序A,B,C的每个序列程序的执行时间的测量。正如在第一实施例,假设每个序列程序测量的实际执行时间如下:
序列程序A=7.3ms,
序列程序B=5.0ms,和
序列程序C=2.5ms。
下一步,通过将每个序列程序所设定的扫描时间除以一个执行循环的周期(8ms),得到每个序列程序的一个执行所需的执行循环数。在图5a-5g的例子中,
序列程序A=16ms/8ms=2循环,
序列程序B=16ms/8ms=2循环,和
序列程序C=8ms/8ms=1循环。
下一步,将在步骤200得到的每个序列程序的实际执行时间除以在步骤201得到的每个序列程序的一个执行所需的执行循环数(步骤201),得到一个执行循环的每个序列程序的执行周期(步骤202)。在图5的例子中,
序列程序A=7.3ms/2循环=3.65ms,
序列程序B=5.0ms/2循环=2.5ms,和
序列程序C=2.5ms/1循环=2.5ms。
然后,得到相对于一个执行循环的周期(8ms)所得到的执行周期的百分比(步骤203)。在图5a-5g的例子中,
序列程序A=3.65ms/8ms=46%,
序列程序B=2.5ms/8ms=31%,和
序列程序C=2.5ms/8ms=31%。
然后确定得到的执行百分比之和是否超过100%(步骤204)。如果没有超过,则设定所得的执行百分比,结束自动调整。如果执行百分比之和超过100%,则实施重新调整,使得该序列程序的执行百分比之和不超过100%(步骤205)。在本实施例中,在每个序列程序的执行百分比与该执行百分比的和之间的比率的基础上,得到每个序列程序的重新调整的执行百分比。具体地说,通过将每个序列程序的执行百分比除以该执行百分比的和,再将商乘以100,得到每个序列程序的重新调整的执行百分比。在图5f的例子中,由于执行百分比的和超过100%,实施重新调整。
序列程序A=46%×100/(46+31+31)=42%,
序列程序B=31%×100/(46+31+31)=29%,和
序列程序C=31%×100/(46+31+31)=29%。
由此设定得到的执行百分比,如图5g所示(步骤206)。由此开始,按照这些执行百分比执行该序列程序。
当实施重新调整时,虽然得到了接近于目标的扫描时间长度,但是达不到扫描时间的目标。例如,在图5a-5g的例子中,序列程序A,B和C的扫描时间长度为相应于3个循环的24ms,相应于3个循环的24ms,和相应于2个周期的16ms,这些是不同于由指令设定的扫描时间的目标,即,序列程序A=16ms,序列程序B=16ms和序列程序C=8ms。需要重新调整的事实意味着该序列程序不能在作为目标设定的扫描时间长度中执行。在这种情况下,替代实施重新调整,扫描时间的当前目标可以认为是错误的并以新的目标取代。可选择地,可以给予通知使操作者确定是否替换扫描时间的目标。
在这种情况下,可作如下安排:当在步骤204中确定执行周期百分比之和超过100%时,给出一个告警,建议扫描时间的目标应该替换。当扫描时间的目标被替换时,执行步骤201以下的步骤。重复执行这些步骤直至确定该执行周期百分比之和不超过100%。在给出告警而使扫描时间的目标被替换的情况下,可作如下安排:确定在步骤202得到的一个执行循环中的单个序列程序的执行周期之和是否超过一个执行循环的周期(8ms)。如果该和超过一个执行循环的周期,建议应该替换扫描时间的目标。如果不超过,则执行步骤203,即得到单个程序的执行百分比,于是设定得到的执行百分比。
图6是表示由本发明第三实施例中的可编程控制器的处理器11实施的执行周期百分比调整过程的流程图。在第三实施例中,确定所执行序列程序的目标扫描时间的比率,并且调整各个序列程序的执行周期的百分比,以达到确定的目标扫描时间的比率。正如第一和第二实施例,图7a-7f是利用安装三个序列程序A,B和C的例子说明第三实施例的图。在图7a中,在自动调整前,按照预定的执行百分比划分一个执行循环的周期(8ms)。具体地讲,一个执行循环的周期(8ms)被均分为相应于所执行序列程序的数目的三部分,以使得每个序列程序在三个部分之一中执行。这里假定序列程序A的扫描时间是24ms(三个执行循环),序列程序B的扫描时间是16ms(两个执行循环),而序列程序C的扫描时间是8ms(一个执行循环)。而且假定,如图7b所示,通过数据输入设备19,目标扫描时间的比率设置如下:序列程序A:序列程序B:序列程序C=2∶3∶2。当输入自动调整命令时,可编程控制器10的处理器11开始图6的流程图所示的过程。
就像第一和第二实施例,首先处理器11根据预定的执行百分比执行该序列程序,并测量每个序列程序的实际执行时间(步骤300)。图7c-7e表示三个序列程序A,B和C的执行时间的测量。这与第一实施例中的图3b-3d是相同的,因而省略其说明。如图7a-7f所示,假定测量的实际执行时间如下:
序列程序A=2.6+2.6+2.1=7.3ms,
序列程序B=2.6+2.4=5.0ms,以及
序列程序C=2.5ms
下一步,通过将每个目标扫描时间的比率的数目乘以一个执行循环的周期(8ms),得到每个序列程序的扫描时间的目标(步骤301)。在图7a-7f的例子中,得到序列程序A,B和C的扫描时间的目标如下:
A∶B∶C=2∶3∶2=16ms∶24ms∶16ms。
下一步,得到相应于每个序列程序的扫描时间目标的执行循环数目(步骤302)。在图7a-7f的例子中,
序列程序A=16ms/8ms=2循环,
序列程序B=24ms/8ms=3循环,以及
序列程序C=16ms/8ms=2循环。
下一步,从在步骤300得到的实际执行时间和以上得到的执行循环数目,得到达到扫描时间目标所需的一个执行循环中的每个序列程序的执行周期(步骤303)。在图7a-7f的例子中,
序列程序A=7.3ms/2循环=3.65ms,
序列程序B=5.0ms/3循环≈1.67ms,和
序列程序C=2.5ms/2循环=1.25ms。
从得到的所需执行周期,得到在一个执行循环中每个序列程序的执行百分比(步骤304)。在图7a-7f的例子中,
序列程序A=3.65ms/8ms=46%,
序列程序B=1.67ms/8ms≈21%,和
序列程序C=1.25ms/8ms≈16%。
确定所得到的执行百分比之和是否超过100%(步骤305)。如果没有超过,设定所得到的执行百分比(步骤306)。如果该和超过100%,所得到的执行百分比是不可行的。在这种情况下,目标扫描时间的比率的每个数目所乘的周期增加了相应于一个执行循环周期的周期(步骤307),并且执行步骤301及后续步骤的处理。在上面的例子中,目标扫描时间的比率的每个数目所乘的周期是一个执行循环8ms的周期,因而它通过增加一个执行循环的周期增加到16ms。
这样,得到并固定达到目标扫描时间的比率的一个执行循环中的可行的执行百分比(步骤306)。
在图7a-7f的例子中,如上所述,通过将每个目标扫描时间比率的数目乘以执行周期8ms得到的扫描时间的目标得到一个执行循环中序列程序A,B和C的执行周期百分比为46%,21%和16%,其总和没有超过100%。因而,如图7f所示,设定在一个执行循环中序列程序A,B和C的扫描时间长度16ms,24ms和16ms以及序列程序A,B和C的执行周期百分比46%,21和16%。由此开始,按照这些固定的执行周期百分比执行该序列程序。
同样在第三实施例中,可作如下安排:确定在步骤303中得到的一个执行循环中分配给单个序列程序的执行周期之和是否超过一个执行循环的周期(8ms)。如果总和超过执行周期,则执行步骤307。当确定在步骤303中得到的一个执行循环中分配给单个序列程序的执行周期之和是在一个执行循环的周期(8ms)之内,则执行步骤304计算单个序列程序的执行周期百分比,并在步骤306,设定所得到的执行周期的百分比。可选择地,可以提供确定是否执行步骤307的过程的步骤。
可选择地,它可安排如下:确定在步骤303得到的一个执行循环中分配给单个序列程序的执行周期之和是否超过一个执行循环的周期(8ms)。如果该和超过执行周期,给出一个告警,建议应替换目标扫描时间比率。当替换目标扫描时间比率时,执行步骤301及后续步骤的处理。重复这些步骤直至确定该执行周期百分比之和不超过100%。在给出告警而使目标扫描时间的比率被替换的情况下,可作如下安排:确定在步骤303得到的一个执行循环中单个序列程序的执行周期之和是否超过一个执行循环的周期(8ms)。如果该和超过一个执行循环的周期,建议应当替换目标扫描时间比率。如果没有超过,则执行步骤304,即得到单个序列程序的执行百分比。然后设定所得到的执行百分比。
图8是表示由本发明的第四实施例中的可编程控制器的处理器11进行的执行周期百分比调整过程的流程图。在第四实施例中,依照每个序列程序所包含的步骤数目调整各个序列程序的执行周期百分比。图9a和9b是说明第四实施例的例子的图。在图9a和9b的例子中,假定在三个序列程序A,B和C中包含的步骤数目分别是“5000”、“3000”和“2000”,如图9a所示。当从数据输入设备19输入自动调整命令时,可编程控制器10的处理器11开始如图8的流程图所示的过程。
从在安装的每个序列程序开始所写的程序大小,读取每个序列程序包含的步骤数目(步骤400)。基于步骤数目之间的比率,得到并设定应当确定在一个执行循环中单个序列程序的执行周期百分比所依据的比率(步骤401,402),利用它终止该自动调整。
在图9a和9b的例子中,序列程序A,B和C所包含的步骤数目分别是5000、3000和2000。因而,正如图9b所示,执行周期按5∶3∶2的比率划分,因而,分别确定序列程序A,B和C的执行周期百分比为50%,30%和20%。
在上述的实施例中,通过给可编程控制器输入执行周期百分比自动调整命令等,进行自动调整,以便获得相同长度的扫描时间,获得预定的扫描时间目标,获得预定的目标扫描时间比率,或者获得取决于序列程序所包含的步骤数目的执行周期百分比。也可以安排为可从这些类型的执行周期百分比自动调整中可以选择一个类型。例如,在一个执行周期百分比自动调整模式中,在显示设备18上显示可行的自动调整的条件。通过从中选择一个期望的条件并输入要求作为自动调整的附加条件的信息,执行一种类型自动调整。
例如,作为该自动调整的条件,显示自动调整类型“获得相同扫描时间”,“获得扫描时间的目标”,“获得目标扫描时间的比率”,以及“获得取决于步骤数目的百分比”,因此操作者可使用数据输入设备19选择一个条件。当选择条件“获得相同扫描时间”时,可编程控制器10的处理器11进行图2所示的过程。当选择条件“获得扫描时间的目标”和设定扫描时间的目标时,处理器11进行图4所示的过程。当选择条件“获得目标扫描时间的比率”并设定目标扫描时间的比率时,处理器11进行图6所示的过程。当选择条件“获得取决于步骤数目的百分比”时,处理器11进行图8所示的过程。在每种情况下,可编程控制器10的处理器11自动地调整执行周期百分比。
Claims (6)
1.一种可编程控制器,通过重复多个序列程序的连续执行部分的执行循环执行多个序列程序,包括
测量装置,测量实际执行多个序列程序的每个序列程序所需的总执行时间;
执行周期分配比率计算装置,用于计算在一个执行循环中的多个序列程序的每个序列程序分配执行周期的比率,因此基于多个序列程序的每个序列程序的测量的总执行时间,多个序列程序的扫描时间长度是相同的,
其中按照计算的执行周期分配比率重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
2.一种可编程控制器,通过重复多个序列程序的连续执行部分的执行循环执行多个序列程序,包括
输入装置,用于设定每个序列程序的目标扫描时间;
测量装置,用于测量实际执行多个序列程序的每个序列程序所需的总执行时间;以及
执行周期分配比率计算装置,基于该设定目标扫描时间和多个序列程序的每个序列程序的测量的总执行时间计算在一个执行循环中的多个序列程序的每个序列程序分配执行周期的比率,
其中按照计算的执行周期分配比率重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
3.一种可编程控制器,通过重复多个序列程序的连续执行部分的执行循环执行多个序列程序,包括
输入装置,用于设定该多个序列程序的目标扫描时间比率;
测量装置,用于测量实际执行多个序列程序的每个序列程序所需总执行时间;以及
执行周期分配比率确定装置,基于该设定目标扫描时间比率和多个序列程序的每个序列程序的测量的总执行时间确定在一个执行循环中多个序列程序的每个序列程序的分配执行周期的比率,
其中按照确定的执行周期分配比率重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
4.一种可编程控制器,通过重复多个序列程序的连续执行部分的执行循环执行多个序列程序,包括
确定多个序列程序的每个序列程序的步骤数的装置;以及
执行周期分配比率确定装置,基于每个序列程序中确定的步数确定在一个执行循环中多个序列程序分配一个执行周期的一个比率,
其中按照所确定的执行周期分配比率重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
5.一种可编程控制器,通过重复多个序列程序的连续执行部分的执行循环执行多个序列程序,包括
测量装置,用于测量实际执行多个序列程序的每个序列程序所需的总执行时间;
条件输入装置,用于设定的条件调整一个执行循环中多个序列程序的每个序列程序分配执行周期的执行周期分配比率,以及
执行周期分配比率确定装置,基于为多个序列程序的每个序列程序的测量总时间和设定的条件确定执行周期分配比率,
其中按照所确定的执行周期分配比率重复该多个序列程序的连续执行部分的执行循环来执行该多个序列程序。
6.根据权利要求5的可编程控制器,其中所述的条件输入装置允许从以下条件中选择并输入一个条件:设定该多个序列程序的相同长度的扫描时间的条件,设定该多个序列程序的每个序列程序的目标扫描时间的条件,设定该多个序列程序的目标扫描时间比率的条件,和按照该多个序列程序中的步骤数比率计算执行周期分配比率的条件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003287017A JP2005056196A (ja) | 2003-08-05 | 2003-08-05 | プログラマブルコントローラ |
JP2003287017 | 2003-08-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1580997A true CN1580997A (zh) | 2005-02-16 |
Family
ID=33550015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100700378A Pending CN1580997A (zh) | 2003-08-05 | 2004-08-05 | 可编程的控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050034128A1 (zh) |
EP (1) | EP1505462A3 (zh) |
JP (1) | JP2005056196A (zh) |
CN (1) | CN1580997A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103477290A (zh) * | 2011-03-15 | 2013-12-25 | 欧姆龙株式会社 | 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 |
CN105339855A (zh) * | 2013-11-27 | 2016-02-17 | 株式会社东芝 | 可编程控制器 |
CN105426140A (zh) * | 2014-09-12 | 2016-03-23 | 发纮电机株式会社 | 带i/o控制功能的可编程显示器、控制系统 |
CN108227608A (zh) * | 2016-12-15 | 2018-06-29 | 台达电子工业股份有限公司 | 一种基于plc控制的动态扫描方法及系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006043390B4 (de) * | 2006-09-15 | 2010-05-27 | Dmg Electronics Gmbh | Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine |
EP1993009A1 (en) * | 2007-05-16 | 2008-11-19 | Tac AB | Controller, system, method and computer programs for building control |
EP2363769B1 (de) * | 2010-03-04 | 2012-12-12 | Siemens Aktiengesellschaft | Verfahren zur Ermittlung der Lastverteilung eines Automatisierungssystems |
US9372478B2 (en) * | 2012-01-04 | 2016-06-21 | General Electric Company | Control system for a power application |
EP2615511A1 (de) * | 2012-01-12 | 2013-07-17 | Siemens Aktiengesellschaft | Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem |
JP5715195B2 (ja) | 2013-07-03 | 2015-05-07 | ファナック株式会社 | プログラム実行ペースを指定できるモーションコントローラ |
RU2582858C1 (ru) * | 2015-01-12 | 2016-04-27 | Ольга Андреевна Оралова | Система управления двухкоординатного объекта |
CA3090944A1 (en) | 2017-02-08 | 2018-08-16 | Upstream Data Inc. | Blockchain mine at oil or gas facility |
WO2019139633A1 (en) | 2018-01-11 | 2019-07-18 | Lancium Llc | Method and system for dynamic power delivery to a flexible growcenter using unutilized energy sources |
US11016553B2 (en) | 2018-09-14 | 2021-05-25 | Lancium Llc | Methods and systems for distributed power control of flexible datacenters |
US10873211B2 (en) | 2018-09-14 | 2020-12-22 | Lancium Llc | Systems and methods for dynamic power routing with behind-the-meter energy storage |
US11031787B2 (en) | 2018-09-14 | 2021-06-08 | Lancium Llc | System of critical datacenters and behind-the-meter flexible datacenters |
US10367353B1 (en) | 2018-10-30 | 2019-07-30 | Lancium Llc | Managing queue distribution between critical datacenter and flexible datacenter |
US10452127B1 (en) | 2019-01-11 | 2019-10-22 | Lancium Llc | Redundant flexible datacenter workload scheduling |
CA3183109A1 (en) | 2019-05-15 | 2020-11-19 | Upstream Data Inc. | Portable blockchain mining system and methods of use |
US11868106B2 (en) | 2019-08-01 | 2024-01-09 | Lancium Llc | Granular power ramping |
US11397999B2 (en) | 2019-08-01 | 2022-07-26 | Lancium Llc | Modifying computing system operations based on cost and power conditions |
US11016458B2 (en) | 2019-10-28 | 2021-05-25 | Lancium Llc | Methods and systems for adjusting power consumption based on dynamic power option agreement |
US11042948B1 (en) | 2020-02-27 | 2021-06-22 | Lancium Llc | Computing component arrangement based on ramping capabilities |
WO2022036239A1 (en) * | 2020-08-14 | 2022-02-17 | Lancium Llc | Power aware scheduling |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3648253A (en) * | 1969-12-10 | 1972-03-07 | Ibm | Program scheduler for processing systems |
US5193189A (en) * | 1987-10-07 | 1993-03-09 | Allen-Bradley Company, Inc. | Programmable controller with multiple priority level task processing |
JPH03253965A (ja) * | 1990-03-05 | 1991-11-13 | Mitsubishi Electric Corp | コントローラによるマルチタスク処理方式 |
JPH08278804A (ja) * | 1995-04-06 | 1996-10-22 | Fanuc Ltd | シーケンス・プログラムの診断方式 |
US5627745A (en) * | 1995-05-03 | 1997-05-06 | Allen-Bradley Company, Inc. | Parallel processing in a multitasking industrial controller |
US5812844A (en) * | 1995-12-07 | 1998-09-22 | Microsoft Corporation | Method and system for scheduling the execution of threads using optional time-specific scheduling constraints |
CA2200929C (en) * | 1996-03-28 | 2008-05-13 | Tadashi Takeuchi | Periodic process scheduling method |
JPH103307A (ja) * | 1996-06-17 | 1998-01-06 | Fanuc Ltd | 数値制御装置 |
JPH10133889A (ja) * | 1996-10-28 | 1998-05-22 | Omron Corp | コントローラの制御周期設定方法および装置 |
US6317774B1 (en) * | 1997-01-09 | 2001-11-13 | Microsoft Corporation | Providing predictable scheduling of programs using a repeating precomputed schedule |
KR100422132B1 (ko) * | 2001-09-06 | 2004-03-11 | 엘지전자 주식회사 | 실시간 시스템의 씨피유 타스크 점유율 측정장치 |
US20050028160A1 (en) * | 2003-08-01 | 2005-02-03 | Honeywell International Inc. | Adaptive scheduler for anytime tasks |
-
2003
- 2003-08-05 JP JP2003287017A patent/JP2005056196A/ja active Pending
-
2004
- 2004-07-28 US US10/900,324 patent/US20050034128A1/en not_active Abandoned
- 2004-08-02 EP EP04254651A patent/EP1505462A3/en not_active Withdrawn
- 2004-08-05 CN CNA2004100700378A patent/CN1580997A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103477290A (zh) * | 2011-03-15 | 2013-12-25 | 欧姆龙株式会社 | 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 |
CN103477290B (zh) * | 2011-03-15 | 2016-06-29 | 欧姆龙株式会社 | 控制器辅助装置 |
CN105339855A (zh) * | 2013-11-27 | 2016-02-17 | 株式会社东芝 | 可编程控制器 |
US10496062B2 (en) | 2013-11-27 | 2019-12-03 | Kabushiki Kaisha Toshiba | Programmable controller for controlling automatic machines, having CPU to received control with respect to own apparatus, when external storage is authenticated based on authentication information |
CN105426140A (zh) * | 2014-09-12 | 2016-03-23 | 发纮电机株式会社 | 带i/o控制功能的可编程显示器、控制系统 |
CN105426140B (zh) * | 2014-09-12 | 2018-07-10 | 发纮电机株式会社 | 带i/o控制功能的可编程显示器、控制系统 |
CN108227608A (zh) * | 2016-12-15 | 2018-06-29 | 台达电子工业股份有限公司 | 一种基于plc控制的动态扫描方法及系统 |
CN108227608B (zh) * | 2016-12-15 | 2020-11-06 | 台达电子工业股份有限公司 | 一种基于plc控制的动态扫描方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1505462A2 (en) | 2005-02-09 |
JP2005056196A (ja) | 2005-03-03 |
EP1505462A3 (en) | 2006-05-17 |
US20050034128A1 (en) | 2005-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1580997A (zh) | 可编程的控制器 | |
US20180356803A1 (en) | Method and system for batch scheduling uniform parallel machines with different capacities based on improved genetic algorithm | |
CN1140031C (zh) | 电力系统控制设备和电力系统控制方法 | |
JP5602878B2 (ja) | 発電プラントに対する負荷スケジューリングを最適化する方法及び制約解析モジュール | |
CN1416540A (zh) | 过程控制系统 | |
CN102878102B (zh) | 风扇调速处理方法及装置 | |
JP6407316B2 (ja) | 複数のプリント基板を各実装ラインへと割り当てるための方法 | |
CN2886745Y (zh) | 数字混合器和混合器配置编辑装置 | |
CN1221212A (zh) | 控制由加工半导体的沉积设备所形成的膜层厚度的方法 | |
CN1749358A (zh) | 计算机控制的炼焦配煤优化系统 | |
CN1716739A (zh) | 直流电压转换器及转换直流电压的方法 | |
CN1050712C (zh) | 一种用来控制资源交换设备的装置 | |
CN1212551C (zh) | 控制设备 | |
CN1580994A (zh) | 用于工业自动化的cil代码程序的在线修改 | |
CN1834666A (zh) | 功率调节器 | |
CN105496437A (zh) | 一种空气校正方法和装置 | |
CN1755661A (zh) | 信息处理装置以及方法和程序 | |
CN101068111A (zh) | 一种模拟/数字转换电路及方法 | |
CN1272701C (zh) | 调整中央处理器工作频率方法 | |
CN1862506A (zh) | 一种实时指示计算机系统运行状态的装置及方法 | |
CN1278338A (zh) | 用于确定加工设备可行的构形的方法 | |
CN101727533B (zh) | 一种自适应参数调节的自动分配bug的方法 | |
CN105824687A (zh) | 一种Java虚拟机性能自动调优的方法及装置 | |
CN1591253A (zh) | 可编程的控制器 | |
CN109784543B (zh) | 基于加权轮转调度的平衡排产方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |