CN103415819A - 控制装置、系统程序以及记录介质 - Google Patents
控制装置、系统程序以及记录介质 Download PDFInfo
- Publication number
- CN103415819A CN103415819A CN2011800688410A CN201180068841A CN103415819A CN 103415819 A CN103415819 A CN 103415819A CN 2011800688410 A CN2011800688410 A CN 2011800688410A CN 201180068841 A CN201180068841 A CN 201180068841A CN 103415819 A CN103415819 A CN 103415819A
- Authority
- CN
- China
- Prior art keywords
- task
- program
- user program
- tasks
- control device
- 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
-
- 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/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- 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/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25347—Multitasking machine control
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供一种在以多任务方式进行处理时能够适当地切换动作模式的控制装置。CPU单元(1)包括:任务执行单元(21),并行执行多个任务,并按照与各任务对应的周期执行各任务;模式切换单元(22),切换动作模式。任务执行单元(21)在运行模式时在各任务中执行用户程序,在程序模式时在各任务中不执行用户程序,模式切换单元(22)在任务执行单元(21)执行的多个任务同步时切换动作模式。
Description
技术领域
本发明涉及对控制对象设备进行控制的控制装置、在该控制装置中执行的系统程序以及记录该系统程序的记录介质。
背景技术
目前,控制设置在工厂的生产线的工业用机械等的PLC(Programmable Logic Controller:可编程逻辑控制器)已经众所周知。
PLC包括:控制PLC的CPU单元、被输入来自传感器的信号的输入单元以及向工业用机械等输出控制信号的输出单元。CPU单元具有:存储用于控制工业用机械等的用户程序的存储器。该用户程序能够被与CPU单元连接的工具装置编辑。
接着,在PLC中重复进行如下处理:将输入到输入单元的信号送入CPU单元的存储器的处理、执行用户程序的处理、将用户程序的执行结果(运算结果)写入存储器并送到输出单元的处理、与工具装置之间进行数据的发送、接收等的周边处理。由此,PLC根据来自传感器的输入来控制工业用机械等。
目前,具有个人计算机的高度的软件功能和PLC的可靠性的PAC(Programmable Automation Control:可编程自动化控制器)也已被众所周知(例如,参见专利文献1((日本)特开2009-181443号公报))。
上述专利文献1((日本)特开2009-181443号公报)的PAC通过分时方式并行执行多个任务,并按照各任务所对应的周期执行各任务。即,该PAC以多任务方式进行处理。
在这种PAC中考虑以下结构,即能够在各任务中执行用户程序的运行模式与在各任务中不执行用户程序的程序模式之间进行切换。
另外,运行模式是通过执行用户程序,实际地控制工业用机械等的模式,程序模式是不执行用户程序,使用者利用工具装置编辑用户程序的模式。因此,通过从运行模式切换到程序模式来停止执行用户程序,通过从程序模式切换到运行模式来开始执行用户程序。
专利文献1:(日本)特开2009-181443号公报
发明内容
发明要解决的课题
然而,在上述PAC中,在以多任务方式进行处理时,由于各任务的周期不同,存在难以适当地进行模式切换的问题。具体地,在从运行模式切换到程序模式时,即使周期短的任务的用户程序执行结束,在周期长的任务的用户程序执行中对模式进行切换时,在周期长的任务的用户程序中不能得到正常的运算结果,因此,存在PAC不能正常地控制工业用机械等的问题。
本发明是鉴于上述问题而作出的,本发明的目的在于提供一种以多任务方式进行处理时能够适当地切换动作模式的控制装置、在该控制装置执行的系统程序以及记录了该系统程序的记录介质。
用于解决课题的手段
本发明的一个方面提供的控制装置是对控制对象设备进行控制的控制装置,包括:任务执行单元,其并行执行多个任务,并按照各任务所对应的周期执行各任务;模式切换单元,其对所述任务执行单元的动作模式进行切换。所述任务执行单元构成为,在第一模式时在各任务中执行用户程序,在第二模式时在各任务中不执行用户程序。所述模式切换单元构成为,在所述任务执行单元执行的所述多个任务同步时,切换所述任务执行单元的动作模式。
另外,并行执行多个任务包括:同时并行地执行多个任务;以及通过分时并行执行多个任务。任务同步时是指,按照与各任务对应的周期执行的多个任务执行结束后,且该多个任务的执行循环同时开始前。用户程序是用于对控制对象设备进行控制的程序,第一模式是对控制对象设备进行控制的动作模式,第二模式是不对控制对象设备进行控制动作模式。
根据上述结构,在执行的多个任务同步时,通过切换任务执行单元的动作模式,即使在各任务的周期不同时,各任务的用户程序的执行也不会中断。因此,在以多任务方式进行处理时,能够适当地切换动作模式。其结果,在各任务的用户程序中能够得到正常的运算结果,因此,控制装置能够对控制对象设备进行正常控制。
上述控制装置还可以包括:管理单元,其对所述任务执行单元的多个任务的执行进行管理,并管理通过所述模式切换单元切换所述任务执行单元的动作模式的定时。
根据上述结构,通过管理单元,在执行的多个任务同步时,能够容易地切换任务执行单元的动作模式。
在具有上述管理单元的控制装置中还可以包括,接受所述任务执行单元的动作模式的切换指令的接受单元,所述管理单元也可以构成为,在所述接受单元接受了所述切换指令后,在通过所述任务执行单元执行的所述多个任务同步时,通过所述模式切换单元切换所述任务执行单元的动作模式。
根据上述结构,在接受了切换指令后,在执行的多个任务同步时,能够切换任务执行单元的动作模式。
此时,也可以包括:存储单元,其存储用户程序;通信单元,其与编辑所述存储单元中存储的用户程序的工具装置进行通信,所述接受单元也可以构成为,通过所述通信单元接受从所述工具装置发出的所述切换指令。
根据上述结构,使用者能够利用工具装置切换任务执行单元的动作模式。
在上述控制装置中,所述任务执行单元也可以同时并行地执行多个任务。
根据上述结构,能够提高任务的处理能力。
在上述控制装置中,所述任务执行单元也可以通过分时来并行执行多个任务。
根据上述结构,能够有效地进行任务的处理。
在上述控制装置中,多个任务包括:基准任务和基准任务以外的任务,所述基准任务以外的任务的周期也可以设定为所述基准任务的周期的整数倍。
根据上述结构,能够容易地使多个任务同步。
本发明的另一方面提供一种系统程序,在控制装置中执行,所述控制装置包括:通过在各任务中执行用户程序,对控制对象设备进行控制的第一模式;以及在各任务中不执行用户程序的第二模式,其特征在于,所述系统程序使所述控制装置执行:按照与各任务对应的周期并行执行多个任务的步骤,在执行的多个任务同步时,在所述第一模式与所述第二模式之间切换的步骤。
根据上述结构,能够在控制装置中以多任务方式进行处理的同时,适当地切换动作模式。
本发明的另一方面提供一种记录有上述系统程序的、计算机可读取的记录介质。
发明的效果
根据本发明,能够提供一种在以多任务方式进行处理时能够适当地切换动作模式的控制装置、在该控制装置中执行的系统程序以及记录该系统程序的记录介质。
附图说明
图1是表示本发明的第1实施方式提供的包括CPU单元的PAC的结构的硬件框图。
图2是表示图1所示的PAC的CPU单元的结构的硬件框图。
图3是图2所示的CPU单元的功能框图。
图4是用于说明图2所示的CPU单元的ROM中存储的任务的信息的图。
图5是说明本发明的第1实施方式提供的CPU单元的运行模式时的动作的时间图。
图6是说明本发明的第1实施方式提供的CPU单元的程序模式时的动作的时间图。
图7是用于本发明的第1实施方式提供的CPU单元从运行模式切换到程序模式时的动作的时间图。
图8是说明本发明的第1实施方式提供的CPU单元从程序模式切换到运行模式时的动作的时间图。
图9是表示本发明的第2实施方式提供的CPU单元的结构的硬件框图。
图10是说明与图9所示的CPU单元的ROM中存储的任务相关的信息的图。
图11是说明本发明的第2实施方式提供的CPU单元的运行模式时的动作的时间图。
附图标记的说明
1、1a CPU单元(控制装置)
12、12a ROM(存储部)
15 通信IF(通信部)
21 任务执行部(任务执行单元)
22 模式切换部(模式切换单元)
23 接受部(接受单元)
24 管理部(管理单元)
60 控制对象设备
80 工具装置
121、121a 系统程序
具体实施方式
下面,参照附图对本发明的实施方式进行说明。
(第一实施方式)
首先,参照图1~图4,对第一实施方式提供的具有CPU单元1的PAC100的结构进行说明。
如图1所示,PAC100包括:控制PAC100的CPU单元1;被输入来自传感器50的信号的输入单元2;向工业用机械等控制对象设备60输出控制信号的输出单元3;用于与其他PAC70通信的通信单元4;向各单元供给电力的电源单元5;连接各单元的内部总线6。另外,CPU单元1是本发明的“控制装置”的一例。
PAC100通过执行任务,基于来自传感器50的输入对控制对象设备60进行控制。在这里,任务包括用于对控制对象设备60进行控制的用户程序的执行。
在CPU单元1中,安装有系统程序121(参照图2),通过执行该系统程序121,控制CPU单元1的动作。另外,系统程序121包括:执行将输入到输入单元2的信号送入CPU单元1的处理的程序;执行将CPU单元1的运算结果发送到输出单元3的处理的程序等。
如图2所示,CPU单元1包括CPU11、ROM12、RAM13、通信界面(下面称为“通信IF”)14、15。另外,ROM12是本发明的“存储部”的一例,通信IF15是本发明的“通信部”的一例。
CPU11具有执行系统程序121的功能。CPU11是单核的,通过分时并行执行多个任务。即,在CPU11中,以多任务方式执行处理。
ROM12是非易失性存储器,例如,闪速存储器。ROM12中不仅存储有系统程序121,而且存储着关于CPU单元1中执行的任务的信息L1(参照图4)。关于任务的信息L1包括:各任务的名称、各任务的优先度、执行各任务的周期、在各任务执行的用户程序的结构、构成各任务的用户程序的程序构成单位(Program Organization Unit:POU)。并且,CPU单元1中,采用预先设定的时间间隔(例如,1ms)的控制循环作为整个处理的公共循环。另外,任务中的优先度的值小的任务被优先执行。用户程序是用例如梯形图语言(ladder language)记载的。
在这里,程序构成单位是程序管理的最小单位,包括程序、功能以及功能块。并且,程序构成单位的功能和功能块能够再利用。即,程序构成单位的功能和功能块能够在多个用户程序中共用。另外,功能是指,在输入了规定的输入值时,输出与规定的输入值对应的固定的输出值的函数,功能块是指,通过维持内部状态,相对于输入值的输出值不固定的函数。
在图4的例子中,任务A比任务B和C优先执行,且按照1ms的周期执行。即,任务A将1次控制循环(1ms的时间间隔)作为执行循环。并且,任务A包括由程序Pa1和Pa2构成的用户程序UPa。任务A包括被程序Pa1利用的功能块FB1。另外,任务A是本发明的“基准任务”的一例。
任务B比任务C优先执行,且按照2ms的周期执行。即,任务B将两次控制循环(2ms的时间间隔)作为执行循环。并且,任务B的周期被设定为任务A的周期的整数倍(两倍)。任务B包括由程序Pb1和Pb2构成的用户程序UPb。任务B包括被程序Pb2利用的功能块FB1。另外,任务B是本发明的“基准任务以外的任务”的一例。
任务C在任务A和B后执行,且以4ms的周期执行。即,任务C以四次控制循环(4ms的时间间隔)作为执行循环。任务C的周期被设定为任务A的周期的整数倍(四倍)。任务C包括由程序Pc1构成的用户程序UPc。任务C包括被程序Pc1利用的功能块FB2和FB3。另外,任务C是本发明的“基准任务以外的任务”的一例。
在ROM12中存储有用户程序UPa~UPc。因此,ROM12中存储有程序构成单位的程序Pa1、Pa2、Pb1、Pb2以及Pc1,以及程序构成单位的功能块FB1~FB3。
RAM13是易失性存储器,例如,DRAM。RAM13具有暂时存储由CPU11执行的系统程序121等的功能。通信IF14与内部总线6连接,为了CPU单元1通过内部总线6与各单元通信而设置。通信IF15与工具装置80连接,为了使CPU单元1与工具装置80通信而设置。
工具装置80是例如个人电脑,具有PAC100中执行的用户程序的创建、编辑功能。并且,工具装置80不仅具有从PAC100下载用户程序的功能,而且具有将用户程序上传到PAC100的功能。另外,工具装置80具有发送CPU单元1的动作模式的切换指令的功能。
如图3所示,CPU单元1包括:任务执行部21、模式切换部22、接受部23以及管理部24。另外,任务执行部21、模式切换部22、接受部23以及管理部24是通过CPU11(参照图2)执行系统程序121实现的。并且,任务执行部21是本发明的“任务执行部”的一例,模式切换部22是本发明的“模式切换部”的一例,接受部23是本发明的“接受部”的一例,管理部24是本发明的“管理部”的一例。
任务执行部21在并行执行多个任务的同时,按照与各任务对应的周期执行各任务。具体地,任务执行部21通过分时来并行执行任务A、B以及C。另外,任务执行部21按照1ms的周期执行任务A、按照2ms的周期执行任务B、按照4ms的周期执行任务C。
任务执行部21在运行模式时在各任务中执行用户程序,在程序模式时在各任务中不执行用户程序。具体的,任务执行部21在运行模式时,在任务A中执行用户程序UPa和用户程序以外的程序SPa,在任务B中执行用户程序UPb和用户程序以外的程序SPb,在任务C中执行用户程序UPc和用户程序以外的程序SPc。任务执行部21在程序模式时,在任务A中仅执行用户程序以外的程序SPa,在任务B中仅执行用户程序以外的程序SPb,在任务C中仅执行用户程序以外的程序SPc。另外,用户程序以外的程序程序Spa、SPb以及程序SPc是构成系统程序121的一部分的程序。
另外,运行模式是指,通过执行用户程序来实际地控制工业用机械等控制对象设备60(参照图1)的模式,程序模式是指,不执行用户程序,使用者使用工具装置80(参照图2)编辑用户程序的模式。即,运行模式是对控制对象设备60进行控制的模式,程序模式是不对控制对象设备60进行控制的模式。因此,通过从运行模式向程序模式的切换,停止执行用户程序,通过从程序模式向运行模式的切换,开始执行用户程序。另外,运行模式是本发明的“第一模式”的一例,程序模式是本发明的“第二模式”的一例。
模式切换部22在任务执行部21执行的多个任务同步时(多个任务的执行循环一致时),切换动作模式。另外,动作模式包括运行模式和程序模式。具体地,模式切换部22在按照1ms的周期执行的任务A、按照2ms的周期执行的任务B以及按照4ms的周期执行的任务C同步时,切换动作模式。另外,任务同步时是指,按照各任务所对应的周期执行的多个任务的执行结束后,且该多个任务的执行循环同时开始前。
接受部23具有接受动作模式的切换指令的功能。具体地,接受部23通过通信IF15(参照图2)接受来自工具装置80的切换指令。在这里,来自工具装置80的切换指令包括:从运行模式切换到程序模式的切换指令(用户程序的停止指令)和从程序模式切换到运行模式的切换指令(用户程序的开始指令)。
管理部24是调度器,具有管理任务执行部21执行的多个任务的同时,管理模式切换部22切换动作模式的定时的功能。具体地,管理部24在接受部23接受了切换指令后,在任务执行部21执行的多个任务同步时,通过模式切换部22切换动作模式。
另外,在运行模式时,即使在以多任务方式进行处理时,CPU单元1也能够编辑用户程序。即,CPU单元1能够进行在线编辑。
接着,参照图5,对第1实施方式提供的CPU单元1的运行模式时的动作进行说明。另外,在运行模式下执行各任务的用户程序。并且,下述动作是通过CPU单元1(参照图2)的CPU11执行系统程序121来进行的。即,系统程序121是使CPU单元1执行下述动作的系统程序。
在运行模式中,在控制循环开始时,通过管理部24(参照图3),使任务A、B以及C的执行循环同时开始。另外,任务A按照1ms的周期执行,任务B按照2ms的周期执行,任务C按照4ms的周期执行。
具体地,首先,通过任务执行部21(参照图3),开始处理优先度最高的任务A。此时,任务B和C由于比任务A优先度低,还没有开始实际的处理、处于待机状态。
接着,执行任务A的用户程序UPa和用户程序以外的程序SPa,在任务A的处理结束后,开始处理比任务C优先度高的任务B。此时,任务C依然处于待机状态。之后,执行任务B的用户程序UPb。
接着,在任务A、B以及C的执行循环同时开始后经过1ms,由于经过任务A的执行循环,通过管理部24,中断任务B的用户程序UPb,开始执行任务A。此时,任务B和C处于待机状态。
之后,执行任务A的用户程序UPa和用户程序以外的程序SPa,任务A的处理结束后,再次开始被中断的任务B的处理。由此,任务B的用户程序UPb的剩余部分和用户程序以外的程序SPb被执行。之后,在任务B的处理结束后,开始任务C的处理,执行任务C的用户程序UPc。
接着,在任务A、B以及C的执行循环同时开始经过2ms后,由于经过任务A的执行循环,通过管理部24,中断任务C的用户程序UPc,开始执行任务A。此时,由于也经过任务B的执行循环,所以任务B和C处于待机状态。即,在任务A、B和C的执行循环同时开始经过2ms后,任务A和B的执行循环再次同时开始。
之后,执行任务A的用户程序UPa和用户程序以外的程序SPa,在任务A的处理结束后,开始任务B的处理。此时,任务C处于待机状态。之后,执行任务B的用户程序UPb。
接着,在任务A、B以及C的执行循环同时开始经过3ms后,由于经过任务A的执行循环,通过管理部24,中断任务B的用户程序UPb,开始执行任务A。此时,任务B和C处于待机状态。
接着,执行任务A的用户程序UPa和用户程序以外的程序SPa,在任务A的处理结束后,再次开始被中断的任务B的处理。由此,任务B的用户程序UPb的剩余部分和用户程序以外的程序SPb被执行。之后,在任务B的处理结束后,再次开始被中断的任务C的处理。由此,任务C的用户程序UPc的剩余部分和用户程序以外的程序SPc被执行。之后,在任务C的处理结束后,在任务A、B以及C的执行循环同时开始经过4ms后,由于经过任务A的执行循环,通过管理部24,使任务执行部21执行任务A。此时,由于也经过任务B和C的执行循环,所以任务B和C处于待机状态。即,任务A、B以及C的执行循环同时开始经过4ms后,任务A、B以及C的执行循环再次同时开始。之后,重复进行上述动作。
这样,在运行模式,通过执行任务A的用户程序UPa、任务B的用户程序UPb以及任务C的用户程序UPc,控制对象设备60(参照图1)被PAC100(参照图1)控制。
接着,参照图6,对第一实施方式提供的CPU单元1的程序模式时的动作进行说明。另外,在程序模式中,不执行各任务的用户程序,仅执行用户程序以外程序。并且,下述动作是通过CPU单元1(参照图2)的CPU11执行系统程序121来进行的。即,系统程序121是使CPU单元1执行下述动作的系统程序。
在程序模式时,在控制循环开始时,通过管理部24(参照图3),同时开始任务A、B以及C的执行循环。另外,任务A按照1ms的周期执行,任务B按照2ms的周期执行,任务C按照4ms的周期执行。
具体地,首先,通过任务执行部21(参照图3)开始处理优先度最高的任务A。此时,任务B和C由于优先度比任务A低,还没有开始实际的处理,处于待机状态。
接着,执行任务A的用户程序以外的程序SPa,任务A的处理一结束,就开始优先度比任务C高的任务B的处理。此时,任务C依然处于待机状态。
接着,执行任务B的用户程序以外的程序SPb,任务B的处理一结束,就开始任务C的处理。之后,执行任务C的用户程序以外的程序SPc,任务C的处理结束。
接着,在任务A、B以及C的执行循环同时开始经过1ms后,由于经过任务A的执行循环,通过管理部24,使任务执行部21执行任务A。由此,任务A的用户程序以外的程序SPa被执行,任务A的处理结束。
接着,在任务A、B以及C的执行循环同时开始经过2ms后,由于经过任务A的执行循环,通过管理部24,使任务执行部21执行任务A。由此,任务A的处理开始。此时,由于也经过任务B的执行循环,任务B处于待机状态。即,在任务A、B以及C的执行循环同时开始经过2ms后,任务A和B的执行循环再次同时开始。
之后,执行任务A的用户程序以外的程序SPa,任务A的处理一结束,开始任务B的处理。之后,执行任务B的用户程序以外的程序SPb,任务B的处理结束。
接着,在任务A、B以及C的执行循环同时开始起经过3ms后,由于经过任务A的执行循环,通过管理部24,使任务执行部21执行任务A。由此,任务A的用户程序以外的程序SPa被执行,任务A的处理结束。
接着,在任务A、B以及C的执行循环同时开始经过4ms后,由于经过任务A的执行循环,通过管理部24,使任务执行部21执行任务A。此时,由于也经过任务B和C的执行循环,所以任务B和C处于待机状态。即,在任务A、B以及C的执行循环同时开始经过4ms后,任务A、B以及C的执行循环再次同时开始。之后,重复进行上述动作。
这样,在程序模式,不执行任务A的用户程序UPa、任务B的用户程序UPb以及任务C的用户程序UPc,使用者能够利用工具装置80(参照图2)编辑用户程序UPa、UPb以及UPc。另外,在程序模式,虽然在各任务中省略了用户程序的执行,但各任务按照与运行模式相同的执行循环进行执行。
接着,参照图7,对第1实施方式的CPU单元1从运行模式向程序模式切换时的动作进行说明。另外,从运行模式向程序模式切换是指,通过停止执行用户程序,停止PAC100(参照图1)对控制对象设备60(参照图1)的控制。下面,在上述运行模式中,通过工具装置80(参照图2)发出切换指令(停止指令)、通信IF15(参照图2)接受切换指令,对接受部23(参照图3)在时间P1接受切换指令时的动作进行说明。
另外,下述动作是通过CPU单元1(参照图2)的CPU11执行系统程序121来进行的。即,系统程序121是使CPU单元1执行下述动作的系统程序。
在运行模式,在控制循环开始时,通过管理部24(参照图3),同时开始任务A、B以及C的执行循环。另外,此时的任务A、B以及C的处理如上所述。接着,通过接受部23,在时间P1接受切换指令。
因此,通过管理部24,在任务A、B以及C下次同步时(任务A、B以及C的执行循环同时开始时),模式切换部22(参照图3)从运行模式切换到程序模式。即,在时间P2中任务A、B以及C的执行循环一致时,从运行模式切换到程序模式。
由此,即使接受部23接受了切换指令,在时间P2中任务A、B以及C的执行循环同时开始之前,也会执行任务A的用户程序UPa、任务B的用户程序UPb以及任务C的用户程序UPc。因此,任务A的用户程序UPa、任务B的用户程序UPb以及任务C的用户程序UPc的执行不会在中途中断。
接着,在时间P2中任务A、B以及C的执行循环同时开始时,按照程序模式执行任务A、B以及C。由此,在任务A,仅执行用户程序以外的程序SPa,在任务B,仅执行用户程序以外的程序SPb,在任务C,仅执行用户程序以外的程序SPc。
接着,参照图8,对第1实施方式提供的CPU单元1从程序模式到运行模式切换时的动作进行说明。另外,从程序模式到运行模式的切换是指,通过开始执行用户程序,开始PAC100(参照图1)对控制对象设备60(参照图1)的控制。下面对在上述程序模式中,通过工具装置80(参照图2)发出切换指令(开始指令)、通信IF15(参照图2)接受切换指令,接受部23(参照图3)在时间P3接受切换指令时的动作进行说明。
并且,下述动作是通过CPU单元1(参照图2)的CPU11执行系统程序121而进行的。即,系统程序121是使CPU单元1执行下述动作的系统程序。
在程序模式中,在控制循环开始时,通过管理部24(参照图3),同时开始任务A、B以及C的执行循环。另外,此时的任务A、B以及C的处理如上所述。接着,通过接受部23,在时间P3接受切换指令。
因此,通过管理部24,在任务A、B以及C下次同步时(任务A、B以及C的执行循环同时开始时),模式切换部22(参照图3)从程序模式切换到运行模式。即,在时间P4任务A、B以及C的执行循环一致时,从程序模式切换到运行模式。
由此,即使在接受部23接受了切换指令后,在时间P4任务A、B以及C的执行循环同时开始前,不执行任务A的用户程序UPa、任务B的用户程序UPb以及任务C的用户程序UPc。因此,例如,不会产生执行任务A的用户程序UPa和任务B的用户程序UPb,而不执行任务C的用户程序UPc的状态。
接着,在时间P4同时开始任务A、B以及C的执行循环时,按照运行模式执行任务A、B以及C。由此,在任务A,执行用户程序UPa和用户程序以外的程序SPa,在任务B,执行用户程序UPb和用户程序以外的程序SPb,在任务C,执行用户程序UPc和用户程序以外的程序SPc。
在第一实施方式,如上所述,接受部23接受了切换指令后,通过在执行的多个任务(任务A、B以及C)同步时切换动作模式,各任务的用户程序的执行不会中途中断,也不会仅执行部分任务的用户程序。因此,在以多任务方式进行处理时,能够适当地切换动作模式。其结果,在各任务的用户程序中能够得到正常的运算结果,因此,PAC100能够正常地控制对象设备60。
另外,在第一实施方式中,CPU11是单核的,通过利用分时并行执行多个任务,能够有效地利用CPU11的处理能力。
在第一实施方式中,任务B和C的周期是任务A的周期的整数倍,由此,能够容易地使任务A、B以及C同步。
(第二实施方式)
首先,参照图9和图10,对第二实施方式提供的CPU单元1a的结构进行说明。另外,与第1实施方式提供CPU单元1相同的部分使用相同符号,不进行重复说明。
在CPU单元1a中,如图9所示,安装系统程序121a,通过执行该系统程序121a,控制CPU单元1a的动作。另外,CPU单元1a是本发明的“控制装置”的一例。
CPU单元1a包括:CPU11a、ROM12a、RAM13、通信IF14和15。另外,ROM12a是本发明的“存储部”的一例。
CPU11a具有执行系统程序121a的功能。CPU11a是双核的,同时地并行执行多个任务。即,CPU11a以多任务方式执行处理。另外,CPU11a的其他结构与上述CPU11相同。
ROM12a中不仅存储系统程序121a,还存储有CPU单元1a中关于执行的任务的信息L2(参照图10)。关于任务的信息L2包括:各任务的名称、各任务的优先度、执行各任务的周期、各任务中执行的用户程序的结构、构成各任务的用户程序的程序构成单位。另外,ROM12a的其他结构与上述ROM12相同。
在图10的例子中,任务D比任务E优先执行,且以1ms的周期执行。即,任务D将1次的控制循环(1ms的时间间隔)作为执行循环。并且,任务D包括:由程序Pd1以及Pd2构成的用户程序UPd。任务D包含程序Pd1所利用的功能块FB4。另外,任务D是本发明的“基准任务”的一例。
任务E在任务D后执行,且以2ms的周期执行。即,任务E以两次控制循环(2ms的时间间隔)作为执行循环。任务E的周期被设定为任务D的周期的整数倍(两倍)。任务E包含由程序Pe1和Pe2构成的用户程序UPe。任务E包含程序Pe2所利用的功能块FB4。另外,任务E是本发明的“基准任务以外的任务”的一例。
接着,参照图11,对第二实施方式提供的CPU单元1a的运行模式时的动作进行说明。另外,在运行模式下执行各任务的用户程序和用户程序以外的程序。下述动作是通过利用CPU单元1a(参照图9)的CPU11a执行系统程序121a而进行的。即,系统程序121a是使CPU单元1a执行下述动作的系统程序。
在运行模式时,在控制循环开始时,通过管理部24(参照图3),同时开始任务D和E的执行循环。另外,任务D以1ms的周期执行,任务E以2ms的周期执行。
在第2实施方式提供的CPU单元1a中,任务D和E被同时处理。接着,在任务D的处理结束后,在任务D和E的执行循环同时开始经过1ms后,由于进行任务D的执行循环,所以通过管理部24,使任务执行部21执行任务D执行。之后,在任务D的处理结束,任务E的处理结束后,在任务D和E的执行循环同时开始经过2ms后,由于经过任务D和E的执行循环,所以通过管理部24,使任务执行部21再次执行任务D和E。之后,重复上述动作。
另外,第二实施方式提供的CPU单元1a的程序模式时的动作、运行模式向程序模切换时的动作以及从程序模式向运行模式切换时的动作除了任务D和E被同时并行处理之外,与第1实施方式提供的CPU单元1相同。
在第二实施方式中,如上所述,CPU11a是双核的,通过同时并行执行多个任务,能够提高对任务的处理能力。
另外,第二实施方式的其他效果与上述第一实施方式相同。
另外,这里公开的实施方式全部的方面仅仅是示例,不是限定性解释的依据。因此,本发明的技术范围,不是仅由上述实施方式解释的,而是由权利要求限定。并且,本发明的技术范围内包括与权利要求书均等的意思和范围内的所有变更。
例如,在第一实施方式中,示出PAC100包括CPU单元1、输入单元2、输出单元3、通信单元4、电源单元5的例子,但不限于此,PAC也可以包括其他单元,也可以不在PAC设置输入单元或通信单元。
在第一实施方式中,示出PAC100由多个单元构成的例子,但不限于此,PAC也可以由一个筐体构成,在该筐体中组装入各单元的功能。
在第一实施方式中,示出接受部23接受工具装置80发出的切换指令的例子,但不限于此,接受部23也可以通过通信单元4接受从其他PAC70发出的切换指令。接受部23也可以接受通过CPU单元1中执行的用户程序产生的切换指令。
第一实施方式中,示出CPU11通过执行系统程序121,实现任务执行部21、模式切换部22、接受部23以及管理部24的例子,但不限于此,任务执行部21、模式切换部22、接受部23以及管理部24也可以分别由硬件构成。
在第一和第二实施方式中,在任务中,除了定期执行的任务(固定周期任务),还可以包括在预先设定的执行条件成立时执行的任务(事件任务)。
在第二实施方式,示出CPU11a是双核的例子,但不限于此,例如,CPU也可以是四核的。即,CPU11的核数不限。
Claims (9)
1.一种对控制对象设备进行控制的控制装置,其特征在于,包括:
任务执行单元,并行执行多个任务,并按照与各任务对应的周期执行各任务;以及
模式切换单元,切换所述任务执行单元的动作模式,
所述任务执行单元构成为,在第一模式时在各任务中执行用户程序,在第二模式时在各任务中不执行用户程序,
所述模式切换单元构成为,在通过所述任务执行单元执行的所述多个任务同步时切换所述任务执行单元的动作模式。
2.根据权利要求1所述的控制装置,其特征在于,包括:
管理单元,管理所述任务执行单元的多个任务的执行,并管理通过所述模式切换单元切换所述任务执行单元的动作模式的定时。
3.根据权利要求2所述的控制装置,其特征在于,包括:
接受单元,接受所述任务执行单元的动作模式的切换指令,
所述管理单元构成为,在所述接受单元接受了所述切换指令后,在通过所述任务执行单元执行的所述多个任务同步时,通过所述模式切换单元切换所述任务执行单元的动作模式。
4.根据权利要求3所述的控制装置,其特征在于,包括:
存储单元,存储用户程序;以及
通信单元,与用于编辑所述存储单元中存储的用户程序的工具装置进行通信,
所述接受单元构成为,经由所述通信单元接受从所述工具装置发送的所述切换指令。
5.根据权利要求1所述的控制装置,其特征在于,
所述任务执行单元构成为,同时并行地执行多个任务。
6.根据权利要求1所述的控制装置,其特征在于,
所述任务执行单元构成为,通过分时方式并行执行多个任务。
7.根据权利要求1所述的控制装置,其特征在于,
多个任务包括:基准任务和基准任务以外的任务,
所述基准任务以外的任务的周期被设定为所述基准任务的周期的整数倍。
8.一种系统程序,在控制装置中执行,所述控制装置包括:通过在各任务中执行用户程序,对控制对象设备进行控制的第一模式;以及在各任务中不执行用户程序的第二模式,其特征在于,
所述系统程序使所述控制装置执行:
按照与各任务对应的周期并行执行多个任务的步骤;以及
在执行的多个任务同步时,在所述第一模式与所述第二模式之间切换的步骤。
9.一种计算机可读取的记录介质,其特征在于,记录有权利要求8所述的系统程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011056871A JP5796311B2 (ja) | 2011-03-15 | 2011-03-15 | 制御装置およびシステムプログラム |
JP2011-056871 | 2011-03-15 | ||
PCT/JP2011/071861 WO2012124198A1 (ja) | 2011-03-15 | 2011-09-26 | 制御装置およびシステムプログラムならびに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103415819A true CN103415819A (zh) | 2013-11-27 |
CN103415819B CN103415819B (zh) | 2016-01-06 |
Family
ID=46830299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180068841.0A Active CN103415819B (zh) | 2011-03-15 | 2011-09-26 | 控制装置以及控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10025281B2 (zh) |
EP (1) | EP2682830B9 (zh) |
JP (1) | JP5796311B2 (zh) |
CN (1) | CN103415819B (zh) |
WO (1) | WO2012124198A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345451A (zh) * | 2014-12-30 | 2018-07-31 | 北京纵横机电技术开发公司 | 一种连续功能图编程方法 |
CN110799909A (zh) * | 2017-06-26 | 2020-02-14 | 三菱日立电力系统株式会社 | 控制切换装置、工厂、控制切换方法及程序 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5252014B2 (ja) * | 2011-03-15 | 2013-07-31 | オムロン株式会社 | 制御装置、制御システム、ツール装置および収集指示プログラム |
JP6171387B2 (ja) * | 2013-02-15 | 2017-08-02 | オムロン株式会社 | コントローラ、情報処理装置およびプログラム |
JP5937637B2 (ja) * | 2014-04-30 | 2016-06-22 | ファナック株式会社 | シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置 |
JP6295914B2 (ja) * | 2014-10-10 | 2018-03-20 | 富士電機株式会社 | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ |
FR3038990B1 (fr) * | 2015-07-13 | 2019-04-05 | Tlogic Automation | Procede de surveillance et d'expertise du fonctionnement d'une installation industrielle pilotee par un controleur programmable et equipement mettant en œuvre ledit procede |
JP6520545B2 (ja) * | 2015-08-10 | 2019-05-29 | オムロン株式会社 | サポート装置およびサポートプログラム |
JP7241989B1 (ja) * | 2022-06-07 | 2023-03-17 | 三菱電機株式会社 | プログラム作成装置、プログラム作成方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181515A (ja) * | 1998-12-11 | 2000-06-30 | Matsushita Electric Works Ltd | プログラマブルコントローラ用デバッグツールおよびその処理方法 |
JP2005293312A (ja) * | 2004-03-31 | 2005-10-20 | Omron Corp | コントローラおよびツール |
CN101048761A (zh) * | 2004-10-25 | 2007-10-03 | 罗伯特·博世有限公司 | 用于在多处理器系统中进行同步的方法和设备 |
CN101770215A (zh) * | 2008-12-26 | 2010-07-07 | 欧姆龙株式会社 | 可编程控制器 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371887A (en) * | 1989-09-05 | 1994-12-06 | Matsushita Electric Industrial Co., Ltd. | Time-shared multitask execution device |
US7035898B1 (en) * | 1997-09-10 | 2006-04-25 | Schneider Automation Inc. | System for programming a factory automation device using a web browser |
DE502005006496D1 (de) | 2004-10-25 | 2009-03-05 | Bosch Gmbh Robert | Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten |
CN100520730C (zh) | 2004-10-25 | 2009-07-29 | 罗伯特·博世有限公司 | 在具有至少两个执行单元的计算机系统中对程序代码的执行进行分离的方法和设备 |
US20070294559A1 (en) | 2004-10-25 | 2007-12-20 | Thomas Kottke | Method and Device for Delaying Access to Data and/or Instructions of a Multiprocessor System |
KR20070062567A (ko) | 2004-10-25 | 2007-06-15 | 로베르트 보쉬 게엠베하 | 적어도 2개의 처리 유닛들을 갖는 컴퓨터 시스템에서 모드전환 및 신호 비교를 위한 방법 및 장치 |
DE102005037242A1 (de) | 2004-10-25 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung und zum Signalvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten |
RU2007119322A (ru) | 2004-10-25 | 2008-12-10 | Роберт Бош ГмбХ (DE) | Способ и устройство для переключения в вычислительной системе, включающей в себя по меньшей мере два обрабатывающих блока |
US20080288758A1 (en) | 2004-10-25 | 2008-11-20 | Robert Bosch Gmbh | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units |
DE102005037213A1 (de) | 2004-10-25 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal |
EP1810149A1 (de) | 2004-10-25 | 2007-07-25 | Robert Bosch Gmbh | Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten |
EP1807760B1 (de) | 2004-10-25 | 2008-09-17 | Robert Bosch Gmbh | Datenverarbeitungssystem mit variabler taktrate |
EP1807764A2 (de) | 2004-10-25 | 2007-07-18 | Robert Bosch Gmbh | Vorrichtung und verfahren zur modusumschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten |
US20080163035A1 (en) | 2004-10-25 | 2008-07-03 | Robert Bosch Gmbh | Method for Data Distribution and Data Distribution Unit in a Multiprocessor System |
KR101052994B1 (ko) | 2004-10-25 | 2011-07-29 | 로베르트 보쉬 게엠베하 | 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서전환을 위한 방법 및 장치 |
US20080313384A1 (en) | 2004-10-25 | 2008-12-18 | Ralf Angerbauer | Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units |
DE102005037222A1 (de) | 2004-10-25 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Auswertung eines Signals eines Rechnersystems mit wenigstens zwei Ausführungseinheiten |
US20090119540A1 (en) | 2004-10-25 | 2009-05-07 | Reinhard Weiberle | Device and method for performing switchover operations in a computer system having at least two execution units |
JP2008518339A (ja) | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの実施ユニットを有する計算機において切り替える装置および方法 |
JP2008518298A (ja) | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 複数のコンポーネントを有する計算機システムで信号を生成するための方法および装置 |
US20080270746A1 (en) | 2004-10-25 | 2008-10-30 | Bernd Mueller | Method and Device for Performing Switchover Operations and for Comparing Signals in a Computer System Having at Least Two Processing Units |
DE102005018837A1 (de) * | 2005-04-22 | 2006-10-26 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Synchronisation zweier Bussysteme sowie Anordnung aus zwei Bussystemen |
JP5039428B2 (ja) | 2007-05-14 | 2012-10-03 | 株式会社キーエンス | プログラマブルコントローラ及びplcシステム |
JP4993208B2 (ja) | 2008-01-31 | 2012-08-08 | オムロン株式会社 | 産業用コントローラ用機器 |
US9377769B2 (en) | 2011-03-15 | 2016-06-28 | Omron Corporation | Control apparatus for updating a user program while processing is being performed and recording medium |
-
2011
- 2011-03-15 JP JP2011056871A patent/JP5796311B2/ja active Active
- 2011-09-26 CN CN201180068841.0A patent/CN103415819B/zh active Active
- 2011-09-26 EP EP11860899.1A patent/EP2682830B9/en active Active
- 2011-09-26 WO PCT/JP2011/071861 patent/WO2012124198A1/ja active Application Filing
- 2011-09-26 US US14/005,345 patent/US10025281B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181515A (ja) * | 1998-12-11 | 2000-06-30 | Matsushita Electric Works Ltd | プログラマブルコントローラ用デバッグツールおよびその処理方法 |
JP2005293312A (ja) * | 2004-03-31 | 2005-10-20 | Omron Corp | コントローラおよびツール |
CN101048761A (zh) * | 2004-10-25 | 2007-10-03 | 罗伯特·博世有限公司 | 用于在多处理器系统中进行同步的方法和设备 |
CN101770215A (zh) * | 2008-12-26 | 2010-07-07 | 欧姆龙株式会社 | 可编程控制器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345451A (zh) * | 2014-12-30 | 2018-07-31 | 北京纵横机电技术开发公司 | 一种连续功能图编程方法 |
CN108345451B (zh) * | 2014-12-30 | 2020-07-14 | 北京纵横机电技术开发公司 | 一种连续功能图编程方法 |
CN110799909A (zh) * | 2017-06-26 | 2020-02-14 | 三菱日立电力系统株式会社 | 控制切换装置、工厂、控制切换方法及程序 |
CN110799909B (zh) * | 2017-06-26 | 2024-01-05 | 三菱重工业株式会社 | 控制切换装置、工厂、控制切换方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2682830A4 (en) | 2014-07-16 |
EP2682830A1 (en) | 2014-01-08 |
US20140088735A1 (en) | 2014-03-27 |
US10025281B2 (en) | 2018-07-17 |
JP5796311B2 (ja) | 2015-10-21 |
WO2012124198A1 (ja) | 2012-09-20 |
EP2682830B9 (en) | 2017-08-23 |
EP2682830B1 (en) | 2017-04-05 |
JP2012194682A (ja) | 2012-10-11 |
CN103415819B (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103415819A (zh) | 控制装置、系统程序以及记录介质 | |
CN102804086B (zh) | 控制装置和系统程序以及记录介质 | |
US10365626B2 (en) | Extending the functionality of a programmable logic controller (PLC) with apps without changing the PLC programming | |
EP2711798B1 (en) | Cpu unit for plc, plc-use system program, recording medium in which plc-use system program is stored, plc system, plc support device, plc support program, and recording medium in which plc support program is stored | |
US9377769B2 (en) | Control apparatus for updating a user program while processing is being performed and recording medium | |
JP5218585B2 (ja) | 制御装置およびシステムプログラム | |
JP2012524354A (ja) | 自動化システムを制御する安全コントローラおよびユーザプログラムを生成する方法 | |
CN103430111A (zh) | 控制装置、控制系统、工具装置以及收集指示程序 | |
JP2010505167A (ja) | 工作機械を操作するための操作装置 | |
CN106062649A (zh) | 控制装置及控制系统 | |
EP2733613B1 (en) | Controller and program | |
CN109784647A (zh) | 一种用于空间站的主动电位控制系统的任务调度方法 | |
US20130081054A1 (en) | Method for Enabling Sequential, Non-Blocking Processing of Statements in Concurrent Tasks in a Control Device | |
JP2009181443A (ja) | 産業用コントローラ用機器 | |
Wang et al. | Function block design for adaptive execution control of job shop machining operations | |
US10108166B2 (en) | PLC functional modules for energy management functionalities | |
Hummer et al. | Towards zero-downtime evolution of distributed control applications via evolution control based on IEC 61499 | |
Carpanzano et al. | Constraint-based Scheduling for Closed-loop Production Control in RMSs | |
Wang et al. | Function block design to enable adaptive job shop operations | |
Carpanzano et al. | Closed-loop production and automation schedule execution in RMSs under uncertain environmental conditions | |
Neubacher et al. | A hierarchical control simulation model to support maintenance planning in flexible production systems | |
Albertos et al. | Control co-design: Algorithms and their implementation | |
CN117632206A (zh) | 一种工业控制器的基础算法和控制逻辑程序在线更新方法及系统 | |
CN113985826A (zh) | 面向多运算周期的实时值加载方法和系统、设备及存储介质 | |
CN114578763A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |