可编程控制器的制作方法

文档序号:6281989阅读:239来源:国知局
专利名称:可编程控制器的制作方法
技术领域
本发明涉及可编程控制器,特别涉及在用户程序的执行处理或输入输出更新处理的执行中,通过并行执行对高层系统、通信单元等的周边组件的周边服务处理(事件处理),来缩短可编程控制器的CPU单元的循环时间,改善其响应性的可编程控制器及其控制方法。
背景技术
一般地,可编程控制器由连接传感器、开关、调节器的I/O单元、执行预定的用户程序的CPU单元、通过网络与高层系统通信的通信单元等组合构成。而且,在可编程控制器的中型、小型机种中,在CPU单元中设置一个MPU(Micro Processing Unit;微处理单元),通过这一个MPU进行序列控制。该控制从I/O单元取入传感器等的输入信号,依靠用户程序的逻辑式开始运算,将该运算结果作为输出信号送至I/O单元,驱动调节器等控制对象,控制制造装置等。再有,I/O数据可存储在CPU单元的I/O存储器中。
图3是表示这种可编程控制器的CPU单元中的上述处理的概略的图。在图3的处理中,可编程控制器通过接通电源,首先进行存储器初始化、被组合的各单元的识别等的电源接通时的处理(步骤301)。然后,进行电池异常检查等公用处理(步骤302),以便确认供给电源的状态。接着,进行执行用户程序等的运算处理(步骤303)。再有,第1次循环的输入数据存储上次电源断开时的输入信号,可以将该存储数据在步骤301中调回,进行运算。于是,作为电源关断时的处理的延续,可以进行运算处理。作为其他方法,根据步骤301的存储器初始化数据,也可以进行运算。接着,进行将来自外部的开关等控制装置的输入数据写入到I/O存储器,根据运算结果,将更新后的I/O数据作为输出数据向控制对象输出的输入输出更新处理(步骤304)。然后,进行与通过网络连接的所谓工具的数据交换、以及与通信单元的数据交换等通信处理等的周边服务处理(事件处理)(步骤305)。然后,将ST302~ST305作为一连串的循环处理依次重复执行。这里,将从上述公用处理(步骤302)至上述周边服务处理(步骤305)的时间一般称为该CPU单元的循环时间。
此外,在这种可编程控制器中,例如,如图4所示,有在由个人计算机等构成的高层系统401和多个子可编程控制器(子PLC)403、404、405、…之间,插入父可编程控制器(父PLC)402,构筑能够进行各种控制的可编程控制器系统的情况。这种情况下,父PLC收集子PLC的数据,通过将该数据发送给高层系统,高层系统可以监视整个系统的控制状态。
在构筑上述图4所示的可编程控制器系统的情况下,作为上述父可编程控制器402,如果采用装载一个MPU的机种,则将图3所示的从公用处理(步骤302)至周边服务处理(步骤305)的一连串的循环处理时间作为循环时间来操作。此时,经过上述步骤303的运算处理的用户程序执行时间,在输入输出更新处理未结束时,不移动至周边服务处理,所以通过高层系统或通信单元,即使CPU单元要进行优先级高的周边处理(事件处理),也要等待至周边服务处理的循环定时,存在不能满足响应性、即快速的事件响应性的问题。
另一方面,为了缩短循环时间,在可编程控制器的CPU单元中,除了现有的一个MPU(相当于通用运算处理装置)以外,有的还安装专用的作为硬件电路的ASIC(Application Specific Integrated Circuit;相当于特定用途控制装置)。下面说明特定用途控制装置。该装置用硬件电路来获得执行用户程序的部分命令的功能。由于用硬件电路来进行执行处理,所以与以软件执行处理的通用运算处理装置的处理速度相比,具有非常快速的特征。但是,如果要执行复杂的应用命令,则需要为此开发设计专用的硬件电路,在ASIC上难以实现。因此,现状是开发设计可以处理限于位运算和所谓基本命令程度的几个命令指令的硬件电路,并制作ASIC。即,现状是设计ASIC芯片,以便执行适合硬件处理的命令指令。另一方面,作为MPU的通用运算处理装置进行软件处理,所以无论是需要进行所谓的应用命令的复杂运算的命令指令,还是作为简单的运算的位运算和基本命令,都可以进行处理。但是,由于是软件处理,所以处理速度比硬件电路慢。安装了上述两个装置的可编程控制器可以稍微缩短用户程序执行的运算处理时间。这是因为在用户程序中,能够用特定用途控制装置处理的不用通用运算处理装置进行处理,而用特定用途控制装置快速处理。实际上,在执行用户程序时,对每个执行对象的命令用特定用途控制装置进行能否执行的判断,如果判断为可执行,则原封不动地由特定用途控制装置来执行,而如果判断为不可执行,则将执行权传到通用运算处理装置,由通用运算处理装置执行该命令。这样,可以缩短循环时间。这种情况下,用户程序执行处理、输入输出更新处理、事件处理也作为一连串的循环处理而依次重复逐一进行处理,所以在用户程序执行处理和输入输出更新处理未结束时,不移动至事件处理,所以不能以优先级来执行周边处理,存在不能满足快速的事件响应性的问题。

发明内容
因此,本发明的目的在于,在装载了通用运算处理装置和特定用途控制装置的可编程控制器的用户程序执行处理中,使事件处理并行执行来改善事件响应性。
为了实现上述目的,本发明的可编程控制器装载了通用运算处理装置和特定用途控制装置,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行用户程序的执行处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的用户程序的同时,执行事件处理。
本发明的可编程控制器装载了通用运算处理装置和特定用途控制装置,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行输入输出更新处理中的DMA传输处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的输入输出更新处理的DMA传输处理的同时,执行事件处理。
本发明的可编程控制器的控制方法用于控制装载了通用运算处理装置和特定用途控制装置的可编程控制器,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行用户程序的执行处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的用户程序中,执行事件处理。
本发明可编程控制器的控制方法用于控制装载了通用运算处理装置和特定用途控制装置的可编程控制器,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行输入输出更新处理中的DMA传输处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行委托的输入输出更新处理的DMA传输处理中,执行事件处理。
这里,所述通用运算处理装置包括装载于该可编程控制器的MPU,而特定用途控制装置包括装载于该可编程控制器的用于执行用户程序的专用ASIC。
所述事件处理包括对周边组件的周边服务处理,在该周边服务处理中,包括对高层系统、通信单元等周边组件的事件处理。
作为从所述通用运算处理装置对特定用途控制装置委托的用户程序,例如有在处理上需要时间的命令,在委托了这种命令的情况下,由于通用运算处理装置的空闲时间增加,所以可以充分确保执行事件处理所需的时间。


图1是表示本发明的可编程控制器的CPU单元部的整体结构的方框图。
图2是说明选择了图1所示的MPU的并行执行模式情况下的内部处理的图。
图3是表示现有的可编程控制器的CPU单元的基本循环处理的流程图。
图4是说明现有的可编程控制器系统的问题的方框图。
具体实施例方式
以下,参照附图详细说明本发明的可编程控制器的一实施例。
图1是表示本发明的可编程控制器的CPU单元部的整体结构的方框图。
在图1中,该可编程控制器的CPU单元部包括MPU(Micro ProcessingUnit;通用运算处理装置)101;ROM(Read Only Memory;只读存储器)102;RAM(Random Access Memory;随机存取存储器)104;用户存储器105;ASIC(Application Specific Integrated Circuit;特定用途控制装置)106;I/O存储器107;以及I/O总线108。
这里,MPU101是管理该CPU单元部的整体工作的微处理单元,与现有的可编程控制器同样,循环进行用户程序执行处理、输入输出更新处理和事件处理。然后,通过内部总线,与ROM102、RAM104、ASIC106连接。
ROM102是存储该CPU单元部的系统固件的存储器。具体地说,在该ROM102中,存储与输入输出更新处理等的整体操作有关的程序、以及由MPU101执行的用户程序命令实体的程序。BUM103是备用的用户存储器。
RAM104是作为该CPU单元部的系统工作使用的存储器。在该RAM104中,存储为了使上述的系统固件工作而瞬时使用的数据。例如,包含运算的中间数据的数据。而用户存储器105是存储用户利用工具使用指针(rudder)语言等PLC语言而作成的用户程序的存储器。
ASIC106通过内部总线与MPU101、ROM102、RAM104连接。也与用户存储器105和I/O存储器107直接连接。而且,还与I/O存储器108连接,使I/O单元和通信单元进行总线通信。因而,ASIC106是专用的控制装置,它读出用户存储器105中存储的用户程序,执行该命令能否用ASIC执行的判断处理、用ASIC可执行命令的执行处理、输入输出更新处理中的DMA传输处理、功能总线108的总线接口处理、以及I/O存储器的协调处理等。该ASIC106和MPU101的协同操作将后述。
I/O存储器107具有存储数据的功能,该数据是在该可编程控制器的控制中需要的输入输出数据、即在执行用户存储器105中存储的用户程序时使用的输入数据和作为运算结果的输出数据。需要该I/O存储器107的数据的原因是用于传送到通过MPU101、ASIC106、I/O总线108连接的多个I/O单元和通信单元(未图示),通过ASIC106进行存储器存取的协调,进行正确的数据的交换。
而且,在本实施例的可编程控制器的CPU单元部的I/O存储器107内有系统设定区域,来设置指定该可编程控制器的工作模式的区域。
在I/O存储器107中,该区域中存储的工作模式有1)通常模式2)并行执行模式这两类。
这里,通常模式是不将后述的用户程序的执行处理或输入输出更新处理、事件处理并行执行的模式,是与以往相同的模式。
另一方面,并行执行模式是作为本发明特征的可编程控制器的执行处理方法。其第1要点在于,在ASIC执行用户程序期间,MPU101进行以往作为一连串循环处理之一进行处理的事件处理。即,不是在一连串循环处理中的输入输出更新处理结束后才进行事件处理的执行,而是在ASIC的用户程序执行处理期间中由MPU并行地执行。这样,一连串的循环处理中没有事件处理,而形成依次重复执行两个处理的可编程控制器,这两个处理是用户程序执行和事件执行的并行处理、以及输入输出更新处理。作为其第2要点,在ASIC106的输入输出中的DMA传输期间,MPU101进行以往的事件处理的执行。即,不是在一连串循环处理中的输入输出更新处理结束时才进行事件处理的执行,而是在ASIC的DMA传输处理期间中由MPU101并行地执行。这样,形成依次重复执行两个处理的可编程控制器,这两个处理是用户程序执行、输入输出执行和事件执行处理的并行处理。
在本实施例中,以下举例说明同时具有第1要点和第2要点的可编程控制器。
MPU101在该可编程控制器的运转开始时读入上述I/O存储器107的系统设定区域中存储的工作模式的指定内容,选择内部处理来与该读入的工作模式对应。
图2是说明选择了并行执行模式的情况下图1所示的MPU101的内部处理的图。
在图2中,MPU101在执行公用处理201后,在用户程序的命令执行初始处理202中,对ASIC106进行用户程序的命令的执行委托,起动ASIC命令203。ASIC106一旦接受委托后,就读取用户存储器105中存储的用户程序。然后,相继取入用户程序中的命令内容,判断能否由ASIC106执行。这里的ASIC被设计开发为可执行多个命令,所以连续地判断为可执行,由ASIC106相继处理可执行的命令。执行图示的ASIC命令203,直至出现不能由ASIC106执行的命令。再有,从MPU101委托ASIC106进行ASIC命令的执行,例如在ASIC106的起动用寄存器中通过MPU101进行写入处理来进行。然后,MPU101在委托上述ASIC106进行ASIC命令的执行后,在由ASIC106用户程序运算处理进行的期间,可以进行其他处理,利用该时间来执行周边服务处理等的事件处理204。
下面进行事件处理204的说明,MPU101在该期间中从连接到I/O总线108的通信单元(未图示)中检查是否有事件处理请求。在没有事件处理请求时,原封不动地保持待机状态,而在有事件处理请求的情况下,执行事件处理。作为事件处理的实例,有读出I/O存储器107的一部分内容并送至通信单元和工具等的处理、相反地由CPU单元取入通信单元具有的I/O数据并写入I/O存储器107的处理、由工具改写I/O存储器的数据的处理等。也有在事件处理204期间中有多个事件请求到来的情况。再有,在进行事件处理时,I/O存储器107的存取由ASIC106进行协调。该协调处理和ASIC命令203的执行之间的关系是串行处理、即ASIC106对于一个命令进行能否用ASIC执行的判断处理、以及可执行的命令的执行处理后,根据需要进行存储器的协调处理。该协调处理结束后,读出下个命令。当然,也可以将命令处理和协调处理单独地进行并行处理。无论怎样,MPU101都能够对应事件处理,并且ASIC106能够同时进行用户程序的命令执行,所以可以说,在该状态中,并行执行ASIC106的用户程序的命令的执行即ASIC命令203的执行和MPU101的事件处理204的执行。
然后,ASIC106从用户存储器105中相继读出用户程序的命令,在用户程序的命令中,如果判断为不是可由ASIC执行的命令(从最初起不是ASIC处理命令,而是MPU处理的命令),则中止ASIC命令203的执行,ASIC106向寄存器中输出该信号,委托MPU执行。实际上,从ASIC106向MPU101通知中断,由此,MPU101中止上述事件处理204,但直至区分事件处理的场所才结束处理,由MPU101进行要执行的用户程序的命令的处理。即,开始图示的MPU命令205。
如果作为MPU命令205的一个命令处理结束,则MPU101再次对ASIC106进行执行委托。然后,ASIC106从用户存储器105中读出下个命令,由ASIC判断该命令能否执行。如果是可执行的命令,由ASIC106执行,起动图示的ASIC命令206。而在命令被判断为不能由ASIC106执行时,而应由MPU处理之前,持续ASIC命令,在该期间,MPU101利用该时间执行周边服务处理等的事件处理207。
即使该状态,与上述的并行执行同样,也并行执行ASIC106的用户程序的命令的执行、即ASIC命令206的执行和MPU101的事件处理207的执行。
上述的ASIC106的处理和MPU101的处理重复进行至用户程序的命令全部执行结束。
如果用户程序结束,则MPU101在进行命令执行结束处理后,开始输入输出更新处理209的执行。该处理是I/O存储器107的更新处理。下面说明如下取入连接到I/O总线108的I/O单元(未图示)的输入数据,写入到I/O存储器107的输入数据区域,同时将存储在I/O存储器107中的用户程序执行结果作为输出数据发送到I/O单元。即,在I/O存储器107和I/O单元的共有存储器之间进行数据交换。除了I/O单元以外,还有模拟运算单元等所谓的高功能单元对象。
在该输入输出更新处理209中,在数据交换量大的情况下,MPU101起动ASIC106的DMA传输211,进行DMA传输211。ASIC106除了如上所述进行存储器的存取协调的功能以外,还具有DMA传输的功能。该功能例如在I/O存储器的更新数据集中存在于存储器中的连续区域时,将该数据集中,通过I/O总线108传输到外部单元的共有存储器的连续区域情况下,使用DMA传输的方法。再有,在将外部单元的共有存储器的连续区域的数据取入到I/O存储器108的连续区域的情况下,也利用DMA传输。特别是在高功能单元之间交换模拟数据的情况下,常常利用DMA传输。
MPU101在进行输入输出更新处理时,随时判断更新对象的数据是否适合DMA传输,如果更新I/O单元的个别数据,则判断为“否”,如图示的209那样,由MPU101进行处理。如果更新模拟运算单元的集中数据,则判断为“是”,向ASIC106进行处理委托,如图所示,作为ASIC处理,执行DMA传输211。
再有,也可以由外部单元侧指定DMA传输,读出该指定使MPU101判断进行DMA传输。这种情况下,向ASIC106处理委托期间,MPU101可进行其他处理,利用该时间、即从DMA传输211的开始至结束的时间,可执行MPU的周边服务处理等的事件处理212。
于是,在进行DMA传输的期间,并行执行ASIC106的DMA传输211的执行和MPU的事件处理212的执行。该事件处理212是进行与上述事件处理204或207相同的处理的事件处理。如果ASIC106的DMA传输211结束,则从ASIC106向MPU101通知中断,由此,MPU101中止事件处理212,或结束一个事件处理,再次移动至输入输出更新处理213。在输入输出更新处理中,如果有应该DMA传输的对象数据,则从MPU101对ASIC106发送DMA传输的处理委托,进行与作为上述的ASIC处理的DMA传输211、作为MPU处理的事件处理212同样的处理。以后,按照需要重复进行这样的输入输出更新处理、DMA传输和事件的并行执行处理。如果输入输出更新处理全部结束,则返回到公用处理,而不进行以往进行的周边服务处理(事件处理)。即,该可编程控制器的一连串的循环处理因工作模式而所有不同。如果重复说明,则在通常模式中,如以往那样,将公用处理、用户程序执行处理、输入输出更新处理、事件处理作为一连串的循环处理依次重复执行。另一方面,在并行执行模式中,将公用处理、用户程序执行处理、输入输出更新处理作为一连串的循环处理依次重复执行。然后,在用户程序执行中,ASIC106在进行命令执行时,MPU101对事件处理进行并行处理。此外,在输入输出更新处理中,在ASIC106进行DMA传输时,MPU101对事件处理进行并行处理。
以下补充说明本实施例,如果输入输出更新处理213结束,则返回到公用处理而不进行周边服务处理。
但是,有在可编程控制器的CPU单元中增设存储卡的情况。在该存储卡中,使用小型快闪存储器,例如有存储与CPU单元的处理历史、异常或错误历史有关的数据的情况。而且,有用外部工具(tool)收集该历史数据的情况。在这样的情况下,与通常的通信单元的数据交换等事件处理相比,需要相当多的时间。如果将这样的处理用上述并行处理的事件处理(204、207、212等)来进行,则在中途中止,用工具不能进行数据收集,事件处理时间比通常长许多,成为不好的状况。在需要进行花费这样时间的事件处理的情况下,在输入输出更新处理213之后,也可以例外地设置事件处理。实际上,MPU101在事件处理204、207、212期间,如果判断有需要时间的事件处理的请求,则存储该请求而不在该期间进行处理,在作为该循环处理的最后处理的输入输出更新处理213结束后,才进行该事件请求的事件执行。因此,在该循环中为并行执行模式,但在输入输出更新处理之后进行事件处理。
此外,作为工作模式,示出了1)通常模式、2)并行执行模式,但作为其他方式,可考虑以下模式,本发明包含这样的模式。
3)进行与通常模式相同的一连串的循环处理,同时进行图2中的ASIC执行203、206和事件处理204、207,而且进行DMA传输211和事件处理212的模式。
4)与2)或3)的模式相似,但在DMA传输时不进行事件处理212的模式。
根据上述结构,为了有效地利用MPU101的可处理时间,在ASIC106执行中,MPU101通过采用进行事件处理的结构,可以缩短可编程控制器的CPU单元部的循环时间。此外,与以往相比,可以提高事件响应性。
在上述实施例中,不选择上述并行执行模式的情况也可以进行与现有相同的操作。
如以上说明,根据本发明,在装载了通用运算处理装置和特定用途控制装置的可编程控制器中,在从上述通用运算处理装置委托上述特定用途控制装置进行用户程序的执行处理或输入输出更新处理的DMA传输处理而起动该特定用途控制装置的情况下,上述通用运算处理装置在该特定用途控制装置执行被委托的用户程序或输入输出更新处理的DMA传输处理的同时,由于具有执行事件处理的结构,所以具有可以缩短装载了通用运算处理装置和特定用途控制装置的可编程控制器的循环时间,同时改善事件响应性的效果。
权利要求
1.一种可编程控制器,装载了通用运算处理装置和特定用途控制装置,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行用户程序的执行处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的用户程序的同时,执行事件处理。
2.一种可编程控制器,装载了通用运算处理装置和特定用途控制装置,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行输入输出更新处理中的DMA传输处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的输入输出更新处理的DMA传输处理的同时,执行事件处理。
3.一种可编程控制器的制造方法,用于控制装载了通用运算处理装置和特定用途控制装置的可编程控制器,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行用户程序的执行处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的用户程序中,执行事件处理。
4.一种可编程控制器的制造方法,用于控制装载了通用运算处理装置和特定用途控制装置的可编程控制器,其特征在于在从所述通用运算处理装置委托所述特定用途控制装置进行输入输出更新处理中的DMA传输处理并起动该特定用途控制装置的情况下,所述通用运算处理装置在所述特定用途控制装置执行被委托的输入输出更新处理的DMA传输处理中,执行事件处理。
全文摘要
缩短装载了通用运算处理装置和特定用途控制装置的可编程控制器中的循环时间,改善其响应性。MPU(101)在委托了ASIC(106)执行用户程序或输入输出更新处理之后,开始执行事件处理,按来自ASIC(106)的上述用户程序或输入输出更新处理的处理结束通知来中止上述事件处理,并且进行返回到通常处理的所谓内部处理,由此,可实现用户程序的执行处理以及输入输出更新处理与事件处理的并行执行。
文档编号G05B19/042GK1384410SQ0212370
公开日2002年12月11日 申请日期2002年3月30日 优先权日2001年3月30日
发明者冈田和智 申请人:欧姆龙株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1