CN103403634A - 控制装置以及系统程序 - Google Patents

控制装置以及系统程序 Download PDF

Info

Publication number
CN103403634A
CN103403634A CN2012800112006A CN201280011200A CN103403634A CN 103403634 A CN103403634 A CN 103403634A CN 2012800112006 A CN2012800112006 A CN 2012800112006A CN 201280011200 A CN201280011200 A CN 201280011200A CN 103403634 A CN103403634 A CN 103403634A
Authority
CN
China
Prior art keywords
task
variable
program
reference data
collection unit
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
Application number
CN2012800112006A
Other languages
English (en)
Other versions
CN103403634B (zh
Inventor
太田政则
阪口泰规
矢尾板宏心
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of CN103403634A publication Critical patent/CN103403634A/zh
Application granted granted Critical
Publication of CN103403634B publication Critical patent/CN103403634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

控制装置包括:任务执行部、存储能够在程序中更新以及参照的变量的存储部、在执行任务时收集变量的收集部。在存储部中存储与变量对应的参照用数据。多个任务包含能够更新以及参照变量的更新任务和能够参照参照用数据的参照任务。收集部在执行多个任务时,收集参照用数据。

Description

控制装置以及系统程序
技术领域
本发明涉及对控制对象设备进行控制的控制装置以及由该控制装置执行的系统程序。
背景技术
以往,已知对工厂的生产线上设置的工业用机械等进行控制的PLC(Programmable Logic Controller:可编程逻辑控制器)(例如,参照专利文献1)。
PLC包括控制PLC的CPU单元、输入来自传感器的信号的输入单元、对工业用机械等输出控制信号的输出单元。CPU单元具有存储用于控制工业用机械等的用户程序的存储器。该用户程序可由CPU单元所连接的工具装置编辑。
而且,PLC中,重复进行将输入单元输入的信号取入到CPU单元的存储器的处理、执行用户程序的处理、将用户程序的执行结果(运算结果)写入存储器并发送到输出单元的处理、在与工具装置之间进行数据的发送接收等的周边处理。由此,PLC基于来自传感器的输入来控制工业用机械等。
此外,以往,也已知具有个人计算机的高度的软件功能和PLC的可靠性的PAC(Programmable Automation Controller:可编程自动化控制器)(例如,参照专利文献1)。
上述专利文献1的PAC通过分时方式并行执行多个任务,并且,将多个任务的各任务以对应于各任务的周期执行。即,该PAC中,通过多任务进行处理。另外,任务包括与各任务对应的用户程序的执行等。
【现有技术文献】
【专利文献】
【专利文献1】特开2009-181443号公报
发明内容
但是,专利文献1所公开的以往的PAC中,多个任务访问对程序整体定义的全局变量(广域变量)的情况下,例如,在规定的任务的执行开始到结束期间,由于规定的任务以外的任务被执行而更新了全局变量的值的情况下,存在规定的任务不能进行使用全局变量的具有一贯性的运算的问题。
本发明为了解决上述课题而完成,本发明的目的在于提供一种即使在多个任务访问变量的情况下,也能够进行具有一贯性的运算的控制装置以及在该控制装置中执行的系统程序
用于解决课题的手段
本发明的控制装置是一种对控制对象设备进行控制的控制装置,其特征在于,包括:任务执行部,执行包含程序的任务;存储部,存储能够在程序中参照以及更新的变量;以及收集部,在任务执行部执行包含程序的任务时,收集变量,任务执行部并行执行多个任务,并且,将多个任务的各任务以对应于各任务的周期执行,存储部中存储与变量对应的参照用数据,多个任务包括能够更新以及参照变量的更新任务和能够参照参照用数据的参照任务,收集部在任务执行部执行多个任务时,收集参照用数据。
另外,并行执行多个任务包含同时并行执行多个任务的情况,以及通过分时方式并行执行多个任务的情况。此外,与变量对应的参照用数据是变量的参照用的缓冲。
通过这样构成,只有更新任务对变量进行更新以及参照,参照任务参照变量对应的参照用数据,从而在参照任务的执行中(参照任务的程序开始到结束的期间),即使在由更新任务更新了变量的值的情况下,由于参照任务参照参照用数据,所以也能够在参照任务中进行具有一贯性的运算。即,在参照任务的执行中,由参照任务参照的参照用数据不会被更新任务更新,所以在参照任务中能够进行具有一贯性的运算。此外,在更新任务中,只有更新任务更新以及参照变量,因此能够在更新任务中进行具有一贯性的运算。因此,即使在多个任务访问变量的情况下,通过使参照任务参照参照用数据,从而能够进行具有一贯性的运算。进而,收集部在任务被执行时,收集参照用数据,从而对于由参照任务参照的参照用数据能够进行数据跟踪。由此,在多个任务访问变量的情况下,即使为了进行具有一贯性的运算,而让参照任务参照参照用数据的情况下,也能够对参照任务的参照目的地即参照用数据适当地进行数据跟踪。
上述控制装置中,收集部也可以在任务执行部执行多个任务时,收集由更新任务更新以及参照的变量。
如果这样构成,则收集部在任务被执行时收集变量,从而能够对由更新任务更新以及参照的变量进行数据跟踪。
上述控制装置中,也可以多个任务包含1个更新任务和多个参照任务,存储部中对多个参照任务的每个存储与变量对应的参照用数据,收集部在任务执行部执行多个任务时,收集多个参照用数据。
如果这样构成,即使有多个参照任务的情况下,也能够在各参照任务中进行具有一贯性的运算。进而,在有多个参照任务的情况下,也能够对各参照任务的参照目的地即参照用数据适当地进行数据跟踪。
上述控制装置中,也可以包括参照用数据管理部,对存储部中存储的参照用数据进行管理,参照用数据管理部在参照任务被执行之前,将参照用数据的值变更为变量的值。
如果这样构成,则能够使参照用数据与变量对应,同时在更新任务中进行具有一贯性的运算。
上述控制装置中,也可以包括设定部,设定收集部的收集对象,收集部在任务执行部执行多个任务时,收集由设定部设定的收集对象的值。
如果这样构成,则通过设定部能够容易地设定数据跟踪的对象。
上述控制装置中,也可以包括通信部,用于从工具装置接收收集部的收集对象和对收集对象的值进行收集的收集周期,收集部在任务执行部执行多个任务时,以通信部接收到的收集周期收集由通信部接收到的收集对象的值。
如果这样构成,则用户可以使用工具装置设定数据跟踪的收集对象以及收集周期。
在该情况下,通信部也可以具有将由收集部收集的收集结果发送给工具装置的功能。
如果这样构成,则由于工具装置能够得到收集结果,因此用户能够使用工具装置确认收集结果。
上述控制装置中,存储部也可以存储由收集部收集的收集结果。
如果这样构成,则可以将收集结果存储在存储部中。
本发明的系统程序使对控制对象设备进行控制的控制装置完成以下各部的功能:任务执行部,执行包含程序的任务;存储部,存储能够在程序中参照以及更新的变量;以及收集部,在任务执行部执行包含程序的任务时,收集变量,存储部中存储与变量对应的参照用数据,任务执行部并行执行包括能够更新以及参照变量的更新任务和能够参照参照用数据的参照任务的多个任务,并且,将多个任务的各任务以对应于各任务的周期执行,收集部在任务执行部执行多个任务时,收集参照用数据。
通过这样构成,通过使参照任务参照参照用数据,从而使控制装置进行具有一贯性的运算,同时能够对参照任务的参照目的地即参照用数据适当地进行数据跟踪。
发明效果
根据本发明,可以提供一种即使多个任务访问变量的情况下,也能够进行具有一贯性的运算的控制装置以及其控制装置中执行的系统程序。
附图说明
图1是表示本发明的一实施方式的包括CPU单元的PAC的结构的硬件方框图。
图2是表示图1所示的PAC的CPU单元的结构的硬件方框图。
图3是用于说明图2所示的CPU单元的ROM中存储的任务相关的信息的图。
图4是用于说明图2所示的CPU单元的ROM中存储的对于全局变量的设定信息的图。
图5是图2所示的CPU单元的CPU的功能方框图。
图6是用于说明图2所示的CPU单元的对于全局变量任务间的排他控制的图。
图7是用于说明图2所示的从工具装置对CPU单元发送的数据跟踪信息的图。
图8是表示在图2所示的工具装置中通过曲线图显示跟踪结果的状态的图。
图9是用于说明本发明的一实施方式的CPU单元的数据跟踪时的动作的时序图。
图10是用于说明图2所示的CPU单元的RAM中存储的跟踪结果的图。
具体实施方式
以下,参照附图说明本发明的实施方式。
首先,参照图1~图8,说明本发明的一实施方式的包括CPU单元1的PAC100的结构。
PAC100如图1所示,包括:控制PAC100的CPU单元1、输入来自传感器50的信号的输入单元2、对工业用机械等控制对象设备60输出控制信号的输出单元3、对各单元供给电力的电源单元4、将各单元进行连接的内部总线5。另外,CPU单元1是本发明的“控制装置”的一例。
PAC100通过执行任务,基于来自传感器50的输入对控制对象设备60进行控制。这里,任务中包含用于对控制对象设备60进行控制的用户程序的执行。
CPU单元1中,安装了包含用户程序的系统程序121(参照图2),通过执行该系统程序121,控制CPU单元1的动作。
另外,系统程序121包含用于执行将输入单元2输入的信号取入CPU单元1的处理的程序,以及用于执行将CPU单元1的运算结果发送到输出单元3的处理的程序等。此外,系统程序121包含对程序整体定义的全局变量(广域变量)。全局变量是能够从多个任务(程序)访问的变量。
CPU单元1如图2所示,包括CPU11、ROM12、RAM13、通信接口(以下,称作“通信IF”)14以及15。另外,RAM13是本发明的“存储部”的一例,通信IF15是本发明的“通信部”的一例。
CPU11具有执行系统程序121的功能。CPU11通过分时方式并行执行多个任务。即,CPU11中,多任务执行处理。
ROM12是非易失性存储器,例如,是闪存存储器。ROM12中存储系统程序121,并且存储在CPU单元1中执行的任务相关的信息L1(参照图3)。任务相关的信息L1包括各任务的名称、各任务的优先级、各任务执行的周期、各任务中执行的程序。另外,任务中,优先级的值小的任务优先执行。此外,CPU单元1中,采用预先设定的时间间隔(例如,1ms)的控制循环作为处理全体的共同周期。此外,程序例如是用户程序,由阶梯式语言记述。
在图3的例子中,任务A比任务B以及C优先执行,并且以1ms的周期执行程序P1以及P2。即,任务A将1次的控制循环(1ms的时间间隔)作为执行循环。此外,任务B比任务C优先执行,而且以2ms的周期执行程序P3以及P4。即,任务B以2次的控制循环(2ms的时间间隔)作为执行循环。此外,任务B的周期设定为任务A的周期的整数倍(2倍)。此外,任务C比任务A以及B滞后执行,而且以4ms的周期执行程序P5。即,任务C以4次的控制循环(4ms的时间间隔)作为执行循环。此外,任务C的周期设定为任务A的周期的整数倍(4倍)。
此外,ROM12中存储由系统程序121定义的对于全局变量的设定信息L2(参照图4)。设定信息L2中包含全局变量的名称、更新任务的名称、参照任务的名称。这里,更新任务是可以更新以及参照全局变量的任务,参照任务是可以参照全局变量但不能更新的任务。更新任务对于1个全局变量可以仅设定1个,参照任务对于1个全局变量可以设定1个以上。另外,如后所述,参照任务实际上参照与全局变量对应的参照用数据。
在图4的例子中,作为全局变量GV1的更新任务设定任务A,作为全局变量GV1的参照任务设定了任务B以及C。即,在任务A中,可以对全局变量GV1进行更新以及参照。另一方面,任务B以及C中,对于全局变量GV1仅能进行参照,对于全局变量GV1不能进行更新。
RAM13是易失性存储器,例如,是DRAM。RAM13具有临时存储由CPU11执行的系统程序121等的功能。具体来说,RAM13具有存储在执行系统程序121时,由更新任务即任务A更新以及参照的全局变量GV1(参照图6)、以及由参照任务即任务B以及C参照的参照用数据RD1以及RD2(参照图6)的功能。这里,参照用数据RD1以及RD2是全局变量GV1的参照用的缓冲,被设为分别对应于参照任务即任务B以及C。
通信IF14连接到内部总线5,被设置用于CPU单元1经由内部总线5与各单元进行通信。通信IF15连接到工具装置70,被设置用于CPU单元1与工具装置70进行通信。
此外,CPU单元1如图5所示,包括任务执行部21、参照用数据管理部22、收集部23、设定部24。另外,任务执行部21、参照用数据管理部22、收集部23以及设定部24通过CPU11执行系统程序121而实现。
任务执行部21并行执行多个任务,并且,将多个任务的各任务以对应于各任务的周期执行。具体来说,任务执行部21通过分时方式并行执行任务A,B以及C。此外,任务执行部21将任务A以1ms的周期执行,将任务B以2ms的周期执行,将任务C以4ms的周期执行。
参照用数据管理部22具有在系统程序121被执行时,管理RAM13中存储的参照用数据的功能。具体来说,参照用数据管理部22在参照任务被执行之前(在开始执行参照任务的程序之前),将参照用数据的值变更为全局变量的值。即,参照用数据管理部22在参照任务即任务B被执行之前,将参照用数据RD1的值变更为全局变量GV1的值,在参照任务即任务C被执行之前,将参照用数据RD2变更为全局变量GV1的值。
收集部23具有在任务执行部21执行任务时,收集全局变量的值的功能。此外,收集部23具有在任务执行部21执行任务时,收集参照用数据的值的功能。具体来说,收集部23具有收集全局变量GV1、参照用数据RD1以及RD2的值的功能。由此,CPU单元1中,可以收集系统程序121执行时的变量(全局变量GV1和参照用数据RD1以及RD2等)的经时变化。即,CPU单元1中,在执行系统程序121时,可以对变量进行数据跟踪。
设定部24具有设定收集部23的收集对象的功能。即,设定部24具有设定数据跟踪的变量的功能。具体来说,设定部24基于后述的数据跟踪信息T(参照图7)设定数据跟踪的变量。
此外,CPU单元1进行对于全局变量的任务间的排他控制。例如,CPU单元1中如图6所示,更新任务即任务A、参照任务即任务B以及C访问全局变量GV1。
具体来说,任务A的程序P1中注册了外部变量(全局变量)GV1。由于任务A是更新任务,因此该程序P1的外部变量P1.GV1直接访问RAM13的全局变量GV1的主体。
此外,任务B的程序P4中注册了外部变量GV1。由于任务B是参照任务,因此该程序P4的外部变量P4.GV1访问RAM13的任务B用的参照用数据RD1。该任务B用的参照用数据RD1的值在任务执行部21(参照图5)执行任务B时,由参照用数据管理部22(参照图5)变更(更新)为全局变量GV1的值。
此外,任务C的程序P5中注册了外部变量GV1。由于任务C是参照任务,因此该程序P5的外部变量P5.GV1访问RAM13的任务C用的参照用数据RD2。该任务C用的参照用数据RD2的值在由任务执行部21执行任务C时,由参照用数据管理部22变更(更新)为全局变量GV1的值。
工具装置70例如是个人计算机,具有在PAC100中执行的用户程序的生成、编辑功能。此外,工具装置70具有将用户程序从PAC100下载的功能,并且具有将用户程序上载到PAC100的功能。
此外,工具装置70具有变更在ROM12中存储的对于全局变量的设定信息L2(参照图4)的功能。由此,用户可以使用工具装置70,设定对于全局变量的更新任务以及参照任务。
此外,工具装置70具有指示CPU单元1执行数据跟踪的功能。具体来说,工具装置70将包含成为数据跟踪的对象的变量名和数据跟踪的采样周期(收集周期)的数据跟踪信息T(参照图7)发送给CPU单元1。
此外,工具装置70为了用户确认数据跟踪的结果,如图8所示,具有将CPU单元1的跟踪结果的曲线图显示在表示部(图示省略)的功能。
接着,参照图9以及图10,说明本实施方式的CPU单元1的数据跟踪时的动作。另外,以下的动作通过CPU单元1(参照图2)的CPU11执行系统程序121而进行。即,系统程序121是用于使CPU单元1执行以下的动作的系统程序。此外,数据跟踪在对程序进行调试时,为了确认程序的动作而进行。即,数据跟踪为了检测程序的缺陷而进行。
另外,以下,在开始数据跟踪之前,以全局变量GV1被设定为“0”,同时参照用数据RD1以及RD2被设定为0的情况为例进行说明。
首先,从工具装置70(参照图2)将数据跟踪信息T(参照图7)发送到CPU单元1。另外,该数据跟踪信息T中,包含数据跟踪的数据(值)的收集对象(变量名)以及对收集对象的数据进行收集的收集周期(采样周期)。在图7的例中,作为收集对象而制定程序P1の外部变量P1.GV1、程序P4的外部变量P4.GV1、程序P5的外部变量P5.GV1,作为收集周期而制定1ms。
CPU单元1中,在通信IF15(参照图2)从工具装置70接收到数据跟踪信息T的情况下,开始数据跟踪。此时,设定部24(参照图5)基于通信IF15接收到的数据跟踪信息T,设定收集部23(参照图5)的数据的收集对象。具体来说,程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、程序P5の外部变量P5.GV1被设定为收集对象。
然后,CPU11与控制循环同时开始任务A,B以及C的执行循环。另外,任务A以1ms的周期执行,任务B以2ms的周期执行,任务C以4ms的周期执行。
具体来说,首先,任务执行部21(参照图5)开始优先级最高的任务A的处理。此时,任务B和C比任务A的优先级低,因此处于等待状态而不开始实际的处理。
然后,执行更新任务即任务A的程序P1,在该程序P1中,对外部变量(全局变量)GV1写入“1”。由此,RAM13中存储的全局变量GV1的值从“0”更新为“1”。此时,任务A由于是更新任务,因此直接访问RAM13的全局变量GV1主体。然后,执行任务A的程序P2,任务A的处理完成。
然后,在执行比任务C优先级高的任务B之前,通过参照用数据管理部22,用于任务B的参照用数据RD1的值被变更为全局变量GV1的值。此时,由于全局变量GV1的值是“1”,因此参照用数据RD1的值从“0”更新为“1”。
然后,任务执行部21执行参照任务即任务B的程序P3以及P4。另外,程序P4中,进行外部变量GV1的读出。此时,任务B由于是参照任务,因此访问RAM13的参照用数据RD1。由此,读出参照用数据RD1的“1”。
接着,若任务A、B以及C的执行循环同时开始起经过1ms,则中断任务B的程序P4。然后,通过收集部23(参照图5),收集由设定部24设定的程序P1的外部变量P1.GV1、程序P4の外部变量P4.GV1以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“1”,参照用数据RD1为“1”,参照用数据RD2为“0”,外部变量P1.GV1为“1”,外部变量P4.GV1为“1”,外部变量P5.GV1为“0”。然后,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(1ms)相关联存储在RAM13中,从而在RAM13中存储跟踪结果L3(参照图10)。
然后,由于任务A的执行循环经过,因此任务执行部21执行任务A。此时,任务B以及C为等待状态。因此,执行更新任务即任务A的程序P1,在该程序P1中对外部变量(全局变量)GV1写入“2”。由此,RAM13中存储的全局变量GV1的值从“1”更新为“2”。然后,执行任务A的程序P2,若任务A的处理完成,则再开始中断的任务B的处理。另外,此时,由于任务B中断,因此参照用数据RD1的值不被更新。然后,任务执行部21执行任务B的程序P4的剩余,任务B的处理完成。
然后,在执行任务C之前,参照用数据管理部22将任务C所使用的参照用数据RD2的值变更为全局变量GV1的值。此时,全局变量GV1的值为“2”,因此参照用数据RD2的值从“0”更新为“2”。
然后,任务执行部21执行参照任务即任务C的程序P5。另外,在程序P5中进行外部变量GV1的读出。此时,任务C由于是参照任务,因此访问RAM13的参照用数据RD2。由此,读出参照用数据RD2的“2”。
接着,若任务A、B以及C的执行循环同时开始起经过2ms,则任务C的程序P5中断。然后,收集部23收集程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“2”,参照用数据RD1为“1”,参照用数据RD2为“2”,因此外部变量P1.GV1为“2”,外部变量P4.GV1为“1”,外部变量P5.GV1为“2”。然后,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(2ms)相关联存储在RAM13中,在RAM13中存储跟踪结果L3。
然后,由于任务A的执行循环经过,所以任务执行部21执行任务A。此时,由于任务B的执行循环也经过,所以任务B以及C为等待状态。因此,执行更新任务即任务A的程序P1,在该程序P1中对外部变量(全局变量)GV1写入“3”。由此,RAM13中存储的全局变量GV1的值从“2”更新为“3”。然后,执行任务A的程序P2,任务A的处理完成。
然后,在执行比任务C优先级高的任务B之前,参照用数据管理部22将任务B所使用的参照用数据RD1的值变更为全局变量GV1的值。此时,由于全局变量GV1的值为“3”,因此参照用数据RD1的值从“1”更新为“3”。
然后,任务执行部21执行参照任务即任务B的程序P3以及P4。另外,在程序P4中进行外部变量GV1的读出。此时,任务B由于是参照任务,因此访问RAM13的参照用数据RD1。由此,参照用数据RD1的“3”被读出。
接着,若任务A、B以及C的执行循环同时开始起经过3ms,则任务B的程序P4被中断。然后,收集部23收集程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“3”,参照用数据RD1为“3”,参照用数据RD2为“2”,外部变量P1.GV1为“3”,外部变量P4.GV1为“3”,外部变量P5.GV1为“2”。然后,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(3ms)相关联存储在RAM13中,从而在RAM13中存储跟踪结果L3。
然后,由于任务A的执行循环经过,因此任务执行部21执行任务A。此时,任务B以及C为等待状态。因此,执行更新任务即任务A的程序P1,在该程序P1中对外部变量(全局变量)GV1写入“4”。由此,RAM13中存储的全局变量GV1的值从“3”被更新为“4”。然后,执行任务A的程序P2,若任务A的处理完成,则再开始中断的任务B的处理。另外,此时,由于任务B中断,所以参照用数据RD1的值被更新。此时,任务C为等待状态。然后,任务执行部21执行任务B的程序P4的剩余。然后,若任务B的处理完成,则开始中断的任务C的处理。另外,此时,由于任务C被中断,所以参照用数据RD2的值不被更新。
然后,任务执行部21执行参照任务即任务C的程序P5的剩余。另外,在程序P5中进行外部变量GV1的读出。此时,任务C由于是参照任务,因此访问RAM13的参照用数据RD2。由此,参照用数据RD2的“2”被读出。
然后,任务C的处理完成后,若任务A、B以及C的执行循环同时开始后经过4ms,则收集部23收集程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“4”,参照用数据RD1为“3”,参照用数据RD2为“2”,因此外部变量P1.GV1为4,外部变量P4.GV1为“3”,外部变量P5.GV1为“2”。而且,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(4ms)相关联存储在RAM13中,从而在RAM13中存储跟踪结果L3。
然后,因为任务A的执行循环经过,因此通过任务执行部21执行任务A。此时,任务B以及C的执行循环也经过,因此任务B以及C为等待状态。
然后,重复进行与上述动作同样的动作。
然后,若CPU单元1的数据跟踪结束,则通过CPU11,从通信IF15将跟踪结果L3发送给工具装置70。由此,工具装置70中,基于接收到的跟踪结果L3,如图8所示,可以将曲线图显示在表示部(省略图示)中。图8所示的曲线图中,通过折线示出对于数据跟踪的对象的程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1开始数据跟踪起的经过时间和各外部变量的值的关系。
本实施方式中,如上所述,只有更新任务即任务A对全局变量GV1进行更新以及参照,同时参照任务即任务B参照与全局变量GV1对应的参照用数据RD1,从而任务B的程序P3开始到程序P4结束期间,即使任务A更新了全局变量GV1的值的情况下,由于任务B参照参照用数据RD1,所以在任务B中能够进行具有一贯性的运算。即,任务B的程序P3开始之前,与全局变量GV1对应地更新,程序P3开始到程序P4结束期间任务B参照一定的参照用数据RD1,从而在程序P3开始到程序P4结束的期间,不会对参照用数据RD1进行任务B未预期的更新,因此能够在任务B中进行具有一贯性的运算。
同样,只有更新任务即任务A对全局变量GV1进行更新以及参照,同时参照任务即任务C参照与全局变量GV1对应的参照用数据RD2,从而即使在任务C的程序P5开始到结束期间,任务A更新了全局变量GV1的值的情况下,由于任务C参照参照用数据RD2,所以在任务C中中能够进行具有一贯性的运算。即,任务C的程序P5开始之前与全局变量GV1对应地更新,程序P5开始到结束期间,任务C参照一定的参照用数据RD2,从而在程序P5开始到结束的期间,不会对参照用数据RD2进行任务C未预期的更新,所以在任务C中能够进行具有一贯性的运算。
此外,更新任务即任务A中,只有任务A对全局变量GV1进行更新以及参照,从而在任务A中能进行具有一贯性的运算。因此,即使在多个任务A、B以及C访问全局变量GV1的情况下,通过使参照任务即任务B以及C分别参照参照用数据RD1以及RD2,从而能够进行具有一贯性的运算。其结果,能够适当地进行对于全局变量GV1的任务A、B以及C间的排他控制。
此外,本实施方式中,由收集部23执行任务A、B以及C时,收集全局变量GV1的值,从而能够对由更新任务即任务A更新以及参照的全局变量GV1(外部变量P1.GV1)进行数据跟踪。此外,收集部23执行任务A、B以及C时,收集参照用数据RD1以及RD2的值,从而能够对由参照任务即任务B以及C参照的全局变量GV1(外部变量P4.GV1以及P5.GV1)进行数据跟踪。因此,在任务A、B以及C访问全局变量GV1的情况下,即使为了进行具有一贯性的运算而分别使参照任务即任务B以及C参照参照用数据RD1以及RD2的情况下,也可以对任务B以及C的参照目的地即参照用数据RD1以及RD2适当地进行数据跟踪。
此外,本实施方式中,在执行参照任务即任务B时,将参照用数据RD1的值变更为全局变量GV1的值,在执行参照任务即任务C时,将参照用数据RD2的值变更为全局变量GV1的值,从而使参照用数据RD1以及RD2对应于全局变量GV1,同时在更新任务即任务B以及C中能够进行具有一贯性的运算。
此外,本实施方式中,通信IF15基于从工具装置70接收到的数据跟踪信息T,设定数据跟踪的收集对象和收集周期,从而用户可以使用工具装置70设定收集对象以及收集周期。
此外,本实施方式中,通过从通信IF15对工具装置70发送跟踪结果L3,从而工具装置70可以得到跟踪结果L3,所以用户可以使用工具装置70确认跟踪结果L3。
此外,本实施方式中,CPU11通过分时方式并行执行多个任务,从而能够有效地利用CPU11的处理能力。
另外,本次公开的实施方式在所有方面都是例示,不能作为限定解释的根据。因此,本发明的技术范围不是仅由上述实施方式解释,根据权利要求范围而划定。此外,本发明的技术范围中,包含与专利权利要求范围等同的意思和和范围内的所有变更。
例如,本实施方式中,示出了PAC100包括CPU单元1、输入单元2、输出单元3、电源单元4的例子,但不限于此,PAC也可以包括通信单元等其他单元,也可以不在PAC中设置输入单元。
此外,本实施方式中,示出了PAC100由多个单元构成的例子,但不限于此,也可以PAC由1个筐体构成,该筐体中组装各单元的功能。
此外,本实施方式中,任务A的程序P2中也可以注册外部变量(全局变量)GV1。该情况下,该程序P2的外部变量P2.GV1中,由于任务A为更新任务,因此直接访问RAM13的全局变量GV1的主体。
此外,本实施方式中,任务B的程序P3中也可以注册外部变量GV1。该情况下,由于任务B是参照任务,因此该程序P3的外部变量P3.GV1访问RAM13的任务B用的参照用数据RD1。
此外,本实施方式中,示出了CPU11通过分时方式并行执行多个任务的例子,但不限于此,CPU也可以是多核,同时并行执行多个任务。如果这样构成,能够实现任务的处理能力的提高。
此外,本实施方式中,示出了通过CPU11执行系统程序121,从而实现任务执行部21、参照用数据管理部22、收集部23以及设定部24的例子,但不限于此,任务执行部21、参照用数据管理部22、收集部23以及设定部24也可以分别由硬件构成。
此外,本实施方式中,示出了数据跟踪信息T中包含的采样周期通过时间间隔设定的例子,但不限于此,也可以通过指定的任务的周期设定采样周期。
此外,本实施方式中,为了简化说明,示出了1ms~8ms的跟踪结果L3,但实际上,数据跟踪执行更长期间。例如,数据跟踪执行10秒(10000ms)。
此外,本实施方式中,示出了跟踪结果L3中包含收集结果和经过时间的例子,但不限于此,跟踪结果也可以包含收集数据的时刻信息、表示收集的顺序的索引信息等。
此外,本实施方式中,示出了跟踪结果L3存储在RAM13中的例子,但不限于此,跟踪结果L3也可以存储在ROM12中。
此外,本实施方式中,示出多个任务中包含1个更新任务(任务A)和2个参照任务(任务B以及C)的例子,但不限于此,如果更新任务为1个,参照任务也可以是1个,参照任务也可以是3个以上。
此外,本实施方式中,任务中,除了定期执行的任务(定周期任务)之外,还可以包含在预先设定的执行条件成立的情况下执行的任务(事件任务)。
产业上的可利用性
本发明可利用于对控制对象设备进行控制的控制装置以及其控制装置中执行的系统程序。
标号说明
1CPU单元(控制装置)
13RAM(存储部)
15通信IF(通信部)
21任务执行部
22参照用数据管理部
23收集部(收集部)
24设定部(设定部)
60控制对象设备
70工具装置
121系统程序

Claims (9)

1.一种控制装置,对控制对象设备进行控制,其特征在于,包括:
任务执行部,执行包含程序的任务;
存储部,存储能够在程序中参照以及更新的变量;以及
收集部,在所述任务执行部执行包含程序的任务时,收集所述变量,
所述任务执行部并行执行多个所述任务,并且,将所述多个任务的各任务以对应于所述各任务的周期执行,
所述存储部中存储与所述变量对应的参照用数据,
所述多个任务包括能够更新以及参照所述变量的更新任务和能够参照所述参照用数据的参照任务,
所述收集部在所述任务执行部执行所述多个任务时,收集所述参照用数据。
2.如权利要求1所述的控制装置,其特征在于,
所述收集部在所述任务执行部执行所述多个任务时,收集由所述更新任务更新以及参照的变量。
3.如权利要求1或权利要求2所述的控制装置,其特征在于,
所述多个任务包括1个所述更新任务和多个所述参照任务,
所述存储部中,按照所述多个参照任务的每个存储与所述变量对应的参照用数据,
所述收集部在所述任务执行部执行所述多个任务时,收集多个所述参照用数据。
4.如权利要求1至权利要求3的任何一项所述的控制装置,其特征在于,
包括参照用数据管理部,对所述存储部中存储的参照用数据进行管理,
所述参照用数据管理部在所述参照任务被执行之前,将所述参照用数据的值变更为所述变量的值。
5.如权利要求1至权利要求4的任何一项所述的控制装置,其特征在于,
包括设定部,设定所述收集部的收集对象,
所述收集部在所述任务执行部执行所述多个任务时,收集由所述设定部设定的收集对象的值。
6.如权利要求1至权利要求5的任何一项所述的控制装置,其特征在于,
包括通信部,用于从工具装置接收所述收集部的收集对象和对所述收集对象的值进行收集的收集周期,
所述收集部在所述任务执行部执行所述多个任务时,以所述通信部接收到的收集周期收集由所述通信部接收到的收集对象的值。
7.如权利要求6所述的控制装置,其特征在于,
所述通信部具有将所述收集部收集的收集结果发送给所述工具装置的功能。
8.如权利要求1至权利要求7的任何一项所述的控制装置,其特征在于,
所述存储部存储由所述收集部收集的收集结果。
9.一种系统程序,使对控制对象设备进行控制的控制装置完成以下各部的功能:
任务执行部,执行包含程序的任务;
存储部,存储能够在程序中参照以及更新的变量;以及
收集部,在所述任务执行部执行包含程序的任务时,收集所述变量,
所述存储部中存储与所述变量对应的参照用数据,
所述任务执行部并行执行包括能够更新以及参照所述变量的更新任务和能够参照所述参照用数据的参照任务的多个任务,并且,将所述多个任务的各任务以对应于所述各任务的周期执行,
所述收集部在所述任务执行部执行所述多个任务时,收集所述参照用数据。
CN201280011200.6A 2011-03-15 2012-03-06 控制装置及其控制方法 Active CN103403634B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011056872A JP5218585B2 (ja) 2011-03-15 2011-03-15 制御装置およびシステムプログラム
JP2011-056872 2011-03-15
PCT/JP2012/055675 WO2012124542A1 (ja) 2011-03-15 2012-03-06 制御装置およびシステムプログラム

Publications (2)

Publication Number Publication Date
CN103403634A true CN103403634A (zh) 2013-11-20
CN103403634B CN103403634B (zh) 2016-08-10

Family

ID=46830617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280011200.6A Active CN103403634B (zh) 2011-03-15 2012-03-06 控制装置及其控制方法

Country Status (5)

Country Link
US (1) US9778630B2 (zh)
EP (1) EP2687931B1 (zh)
JP (1) JP5218585B2 (zh)
CN (1) CN103403634B (zh)
WO (1) WO2012124542A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104397A (zh) * 2014-03-14 2016-11-09 欧姆龙株式会社 控制装置及控制系统
CN106233211A (zh) * 2014-04-24 2016-12-14 三菱电机株式会社 Plc单元以及可编程逻辑控制器
CN107615189A (zh) * 2015-05-19 2018-01-19 三菱电机株式会社 可编程逻辑控制器、工程设计工具及工程设计工具程序
CN111052683A (zh) * 2018-03-15 2020-04-21 欧姆龙株式会社 网络系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9429962B2 (en) * 2010-11-19 2016-08-30 Google Inc. Auto-configuring time-of day for building control unit
JP5252014B2 (ja) * 2011-03-15 2013-07-31 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
US10191887B2 (en) * 2013-07-18 2019-01-29 Microsoft Technology Licensing, Llc Context affinity in a remote scripting environment
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
DE102016202305A1 (de) 2016-02-16 2017-08-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Steuergeräts
KR102492399B1 (ko) * 2016-07-27 2023-01-26 엘에스일렉트릭(주) 감시제어장치
JP2018133037A (ja) 2017-02-17 2018-08-23 オムロン株式会社 制御装置
JP6859922B2 (ja) * 2017-10-24 2021-04-14 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP6761158B1 (ja) * 2019-12-16 2020-09-23 株式会社安川電機 プログラム作成装置、プログラム作成方法、及びプログラム

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10511484A (ja) * 1994-12-21 1998-11-04 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 技術的プロセスの制御方法
JP2001154711A (ja) * 1999-11-29 2001-06-08 Omron Corp 工程歩進型プログラムのデバッグ方法および装置
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
CN1938658A (zh) * 2004-04-15 2007-03-28 三菱电机株式会社 可编程逻辑控制器的外围装置及其程序生成方法
JP2007219920A (ja) * 2006-02-17 2007-08-30 Omron Corp データ収集管理システム
CN101048761A (zh) * 2004-10-25 2007-10-03 罗伯特·博世有限公司 用于在多处理器系统中进行同步的方法和设备
CN101467111A (zh) * 2006-06-13 2009-06-24 三菱电机株式会社 可编程逻辑控制器的外围装置以及程序的自动验证方法
JP2009146040A (ja) * 2007-12-12 2009-07-02 Omron Corp Plcを用いたデータトレースシステム
JP2009181443A (ja) * 2008-01-31 2009-08-13 Omron Corp 産業用コントローラ用機器
CN101770215A (zh) * 2008-12-26 2010-07-07 欧姆龙株式会社 可编程控制器
JP2010181923A (ja) * 2009-02-03 2010-08-19 Yaskawa Electric Corp ロボットの制御システムおよびリアルタイムos

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114908A (ja) * 2001-10-05 2003-04-18 Omron Corp データ収集装置及びデータ収集システム並びにプログラム製品
JP4660058B2 (ja) * 2002-09-24 2011-03-30 株式会社東芝 監視計測用ネットワーク情報端末
US20070067373A1 (en) * 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
JP2005275846A (ja) * 2004-03-25 2005-10-06 Hitachi Information Systems Ltd データファイル自動収集システム、データファイル自動収集方法およびそのためのプログラム
US20070198978A1 (en) * 2006-02-22 2007-08-23 David Dice Methods and apparatus to implement parallel transactions
JP4609381B2 (ja) * 2006-06-14 2011-01-12 株式会社デンソー 異常監視用プログラム、記録媒体及び電子装置
WO2008008989A2 (en) * 2006-07-13 2008-01-17 Kalat Software, Inc. Voip service over a regular phone
JP5186334B2 (ja) * 2008-11-06 2013-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 変換装置、プログラムおよび変換方法
US8776061B2 (en) * 2010-12-16 2014-07-08 International Business Machines Corporation Real-time distributed monitoring of local and global processor resource allocations and deallocations
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

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10511484A (ja) * 1994-12-21 1998-11-04 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 技術的プロセスの制御方法
US5974346A (en) * 1994-12-21 1999-10-26 Robert Bosch Gmbh Method for controlling technical processes
JP2001154711A (ja) * 1999-11-29 2001-06-08 Omron Corp 工程歩進型プログラムのデバッグ方法および装置
JP2003233403A (ja) * 2002-02-06 2003-08-22 Toshiba Corp 制御装置およびプログラミング装置
CN1938658A (zh) * 2004-04-15 2007-03-28 三菱电机株式会社 可编程逻辑控制器的外围装置及其程序生成方法
CN101048761A (zh) * 2004-10-25 2007-10-03 罗伯特·博世有限公司 用于在多处理器系统中进行同步的方法和设备
JP2007219920A (ja) * 2006-02-17 2007-08-30 Omron Corp データ収集管理システム
CN101467111A (zh) * 2006-06-13 2009-06-24 三菱电机株式会社 可编程逻辑控制器的外围装置以及程序的自动验证方法
JP2009146040A (ja) * 2007-12-12 2009-07-02 Omron Corp Plcを用いたデータトレースシステム
JP2009181443A (ja) * 2008-01-31 2009-08-13 Omron Corp 産業用コントローラ用機器
CN101770215A (zh) * 2008-12-26 2010-07-07 欧姆龙株式会社 可编程控制器
JP2010181923A (ja) * 2009-02-03 2010-08-19 Yaskawa Electric Corp ロボットの制御システムおよびリアルタイムos

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104397A (zh) * 2014-03-14 2016-11-09 欧姆龙株式会社 控制装置及控制系统
US10162328B2 (en) 2014-03-14 2018-12-25 Omron Corporation Controller and control system
CN106233211A (zh) * 2014-04-24 2016-12-14 三菱电机株式会社 Plc单元以及可编程逻辑控制器
CN106233211B (zh) * 2014-04-24 2019-03-08 三菱电机株式会社 Plc单元以及可编程逻辑控制器
CN107615189A (zh) * 2015-05-19 2018-01-19 三菱电机株式会社 可编程逻辑控制器、工程设计工具及工程设计工具程序
CN107615189B (zh) * 2015-05-19 2019-04-12 三菱电机株式会社 可编程逻辑控制器、工程设计工具及存储有工程设计工具程序的存储装置
CN111052683A (zh) * 2018-03-15 2020-04-21 欧姆龙株式会社 网络系统

Also Published As

Publication number Publication date
US20140018939A1 (en) 2014-01-16
WO2012124542A1 (ja) 2012-09-20
JP5218585B2 (ja) 2013-06-26
EP2687931B1 (en) 2019-05-08
EP2687931A1 (en) 2014-01-22
EP2687931A4 (en) 2015-08-26
CN103403634B (zh) 2016-08-10
JP2012194683A (ja) 2012-10-11
US9778630B2 (en) 2017-10-03

Similar Documents

Publication Publication Date Title
CN103403634A (zh) 控制装置以及系统程序
CN103430111B (zh) 控制装置、控制系统、以及工具装置
US9740186B2 (en) Monitoring control system and control device
CN103403692B (zh) 数据传输装置
JP6388050B1 (ja) 制御装置
CN109522033B (zh) 一种基于器件运行自编程和双中断向量表的ecu程序与数据升级方法
US11199821B2 (en) Configuring and operating control systems using a database
EP2733613B1 (en) Controller and program
JP2018133037A (ja) 制御装置
CN111267111B (zh) 一种机器人控制方法、装置及系统
JP4906286B2 (ja) ソフトウェア開発環境システム
JP6808090B1 (ja) 制御装置および分散処理方法
EP3015931B1 (en) Plc system with a webserver and a partitioned memory
EP3879366A2 (en) Production system, control method, and program
JP4890497B2 (ja) プラント監視制御システム
CN113874802B (zh) 控制系统、可编程逻辑控制器以及信息处理方法
CN111586087A (zh) 通信系统、通信方法和程序
EP4365690A1 (en) Control device, system program, and method
EP3879367A2 (en) Production system, data transmission method, and program
JP2009075803A (ja) プログラマブルコントローラのデータ処理方法、プログラマブルコントローラ及び端末

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