控制装置、控制系统、工具装置以及收集指示程序的制作方法
【专利摘要】控制装置包括:任务执行部、收集在用户程序中参照以及更新的变量的收集部、管理收集的变量的管理部。用户程序包含指示由收集部收集变量的收集指示程序,收集指示程序具有用于用户识别用户程序中的该收集指示程序的位置的识别信息。管理部在由收集指示程序指示了收集变量的情况下,将由收集部收集的变量和收集指示程序的识别信息相关联。
【专利说明】控制装置、控制系统、工具装置以及收集指示程序
【技术领域】
[0001]本发明涉及对控制对象设备进行控制的控制装置、包括该控制装置的控制系统、用于生成在该控制装置中执行的用户程序的工具装置以及用户程序中包含的收集指示程序。
【背景技术】
[0002]以往,已知对工厂的生产线上设置的工业用机械等进行控制的PLC(ProgrammableLogic Controller:可编程逻辑控制器)(例如,参照专利文献I )。
[0003]专利文献I的PLC包括控制PLC的CPU单元、输入来自传感器的信号的输入单元、对工业用机械等输出控制信号的输出单元。CPU单元具有存储用于控制工业用机械等的用户程序的存储器。该用户程序可由CPU单元所连接的工具装置编辑。
[0004]而且,PLC中,重复进行将输入单元输入的信号取入到CPU单元的存储器的处理、执行用户程序的处理、将用户程序的执行结果(运算结果)写入存储器并发送到输出单元的处理、在与工具装置之间进行数据的发送接收等的周边处理。由此,PLC基于来自传感器的输入来控制工业用机械等。
[0005]此外,专利文献I的PLC在用户程序包含的TRSM命令(跟踪采样命令)被执行的情况下,收集在用户程序中参照以及更新的变量。由此,PLC中,能够对于伴随用户程序的执行的变量的变化进行数据跟踪。
[0006]【现有技术文献】`
[0007]【专利文献】
[0008]【专利文献I】特开2009-146040号公报
【发明内容】
[0009]发明要解决的课题
[0010]但是,专利文献I所公开的以往的PLC中,在用户程序包含多个TRSM命令的情况下,存在用户难以判断由哪个TRSM命令得到哪个收集结果的问题。
[0011]本发明为了解决上述课题而完成,本发明的目的在于提供一种用户能够判断收集结果由哪个收集指示程序收集的控制装置、包括该控制装置的控制系统、用于生成在该控制装置中执行的用户程序的工具装置以及用户程序中包含的收集指示程序。
[0012]用于解决课题的手段
[0013]本发明的控制装置是对控制对象设备进行控制的控制装置,包括:任务执行部,执行包含用户程序的任务;收集部,在由任务执行部执行任务时,收集在用户程序中参照以及更新的变量;以及管理部,管理由收集部收集的变量,用户程序包含指示收集部收集变量的收集指示程序,收集指示程序具有用于用户识别用户程序中的该收集指示程序的位置的识别信息,在由收集指示程序指示了收集变量的情况下,管理部将由收集部收集的变量和收集指示程序的识别信息相关联。[0014]通过这样构成,由于收集指示程序具有用于用户识别用户程序中的位置的识别信息,所以管理部能够将收集的变量(收集结果)和识别信息相关联。由此,用户能够根据识别信息判断收集结果由哪个收集指示程序收集。
[0015]上述控制装置中,收集指示程序也可以具有指定由收集部收集的变量的指定信
肩、O
[0016]如果这样构成,则能够通过收集部收集指定的变量。
[0017]上述控制装置中,任务执行部也可以并行执行多个任务,并且将多个任务的各任务以对应于各任务的周期执行。另外,并行执行多个任务包含同时并行执行多个任务的情况和分时并行执行多个任务的情况。
[0018]如果这样构成,则能够有效地进行任务的处理。
[0019]上述控制装置中,还可以包括第I通信部,将由收集部收集的变量和与变量相关联的识别信息发送到用于显示变量和识别信息的工具装置。
[0020]如果这样构成,则用户可以使用工具装置将收集结果与识别信息相关联进行确认。
[0021 ] 本发明的控制系统包括通过执行用户程序来对控制对象设备进行控制的控制装置,以及用于生成用户程序的工具装置,控制装置包括:任务执行部,执行包含用户程序的任务;收集部,在由任务执行部执行任务时,收集在用户程序中参照以及更新的变量;以及管理部,管理由收集部收集的变量,用户程序包含指示收集部收集变量的收集指示程序,收集指示程序具有用于识别用户程序中的该收集指示程序的位置的识别信息,在由收集指示程序指示了收集变量的情况下,管理部将由收集部收集的变量和收集指示程序的识别信息相关联。
[0022]通过这样构成,由于收集指示程序具有用于用户识别用户程序中的位置的识别信息,因此管理部能够将收集的变量(收集结果)和识别信息相关联。由此,用户可以根据识别信息判断收集结果由哪个收集指示程序收集。
[0023]本发明的工具装置用于生成在对控制对象设备进行控制的控制装置中执行的用户程序,包括:程序生成部,生成用户程序;以及第2通信部,用于将由程序生成部生成的用户程序发送给控制装置,用户程序包含指示收集在用户程序中参照以及更新的变量的收集指示程序,收集指示程序具有用于用户识别用户程序中的该收集指示程序的位置的识别信
肩、O
[0024]通过这样构成,由于收集指示程序具有用于用户识别用户程序中的位置的识别信息,因此能够将控制装置中收集变量(收集结果)和识别信息相关联。由此,用户可以根据识别信息判断收集结果由哪个收集指示程序收集。
[0025]上述工具装置中,收集指示程序还可以具有指定由控制装置收集的变量的指定信肩、O
[0026]如果这样构成,能够收集在控制装置中指定的变量。
[0027]上述工具装置中,还可以包括显示部,显示由程序生成部生成的用户程序,第2通信部从控制装置接收由控制装置收集的变量和与变量相关联的识别信息,显示部显示由第2通信部接收的变量和与变量相关联的识别信息。
[0028]如果这样构成,用户能够将收集结果与识别信息相关联进行确认。[0029]本发明的收集指示程序用于使控制装置执行指示收集部收集变量的步骤,控制装置包括:任务执行部,执行包含用户程序的任务;收集部,在由任务执行部执行任务时,收集在用户程序中参照以及更新的变量;以及管理部,管理由收集部收集的变量,具有识别信息,识别信息包含在用户程序中,用于用户识别用户程序中的位置,管理部将由收集部收集的变量和识别信息相关联。
[0030]通过这样构成,由于收集指示程序具有用于用户识别用户程序中的位置的识别信息,因此能够将控制装置中收集变量(收集结果)和识别信息相关联。由此,用户可以根据识别信息判断收集结果由哪个收集指示程序收集。
[0031]发明效果
[0032]通过本发明的控制装置、包括该控制装置的控制系统、用于生成在该控制装置中执行的用户程序的工具装置以及用户程序中包含的收集指示程序,用户能够判断收集结果由哪个收集指示程序收集。
【专利附图】
【附图说明】
[0033]图1是表示本发明的一实施方式的控制系统的全体结构的硬件方框图。
[0034]图2是表示图1所示的控制系统的CPU单元和工具装置的结构的硬件方框图。
[0035]图3是阶梯式显示CPU单元的ROM中存储的用户程序的TRSM命令的图。
[0036]图4是用于说明图2所示的CPU单元的ROM中存储的任务相关的信息的图。
[0037]图5是用于说明图2所示的CPU单元的ROM中存储的跟踪号码信息的图。
[0038]图6是图2所示的CPU单元的CPU的功能方框图。
[0039]图7是用于说明本发明的一实施方式的控制系统的数据跟踪时的动作的流程图。
[0040]图8是用于说明本发明的一实施方式的CPU单元的数据跟踪时的动作时序图。
[0041]图9是用于说明图2所示的CPU单元的RAM中存储的变量Vl的跟踪结果的图。
[0042]图10是用于说明图2所示的CPU单元的RAM中存储的变量V2的跟踪结果的图。
[0043]图1lA是用于说明本发明的一实施方式的工具装置的跟踪结果的显示时的动作的图,是表示变量Vl被选择的状态的图。
[0044]图1lB是用于说明本发明的一实施方式的工具装置的跟踪结果的显示时的动作的图,是表示光标C2被移动的状态的图。
[0045]图1lC是本发明的一实施方式的工具装置的跟踪结果的显示时的动作图,是表示变量V2被选择的状态的图。
【具体实施方式】
[0046]以下,参照图面说明本发明的实施方式。
[0047]首先,参照图1?图6说明本发明的一实施方式的控制系统300的结构。
[0048]控制系统300如图1所示,包括控制工业用机械等控制对象设备60的PLC100、用于生成、编辑PLC100中执行的用户程序的工具装置200。
[0049]PLC100包括控制PLC100的CPU单元1、输入来自传感器50的信号的输入单元2、对工业用机械等控制对象设备60输出控制信号的输出单元3、对各单元供给电力的电源单元4、连接各单元的内部总线5。另外,CPU单元I是本发明的“控制装置”的一例。[0050]PLClOO通过执行包含用户程序的任务,从而根据来自传感器50的输入控制控制对象设备60。即,用户程序是用于控制控制对象设备60的程序。
[0051]CPU单元I中,安装了包含用户程序的系统程序12A (参照图2),通过执行该系统程序12A,控制CPU单元I的动作。
[0052]另外,系统程序12A包含用于执行将由输入单元2输入的信号取入到CPU单元I的处理的程序,和用于执行将CPU单元I的运算结果送出到输出单元3的处理的程序等。
[0053]CPU单元I能够进行对控制对象设备60进行控制的通常的动作,并且,能够进行数据跟踪。这里,数据跟踪是指收集在用户程序中参照以及更新的变量。具体来说,数据跟踪是收集在包含用户程序的任务被执行时的变量的经时变化的功能。此外,数据跟踪是在调试用户程序时,为了确认用户程序的动作而进行的。即,数据跟踪是为了检测用户程序的缺陷而进行的。
[0054]CPU单元I如图2所示,包括CPUl1、ROMl2、RAMl3、通信接口(以下,称作“通信IF”)14和15。另外,通信IF15是本发明的“第I通信部”的一例。
[0055]CPUll具有执行系统程序12A的功能。CPUll为单核,通过分时方式并行执行多个任务。即,CPUll中,多任务执行处理。
[0056]R0M12是非易失性存储器,例如,是闪存存储器。R0M12中存储包含用户程序的系统程序12A,并且存储在CPU单元I中执行的任务相关的信息L I (参照图4)。任务相关的信息L I包括各任务的名称、各任务的优先级、各任务执行的周期、各任务中执行的用户程序。另外,任务中,优先级的值小的任务优先执行。此外,CPU单元I中,采用预先设定的时间间隔(例如,Ims)的控制周期作为处理全体的共同周期。此外,用户程序例如由阶梯式语言记述。
[0057]这里,用户程序由程序构成单位(Program Organization Unit:P0U)构成。程序构成单位是程序管理上的最小单位,包括程序、功能、功能块。而且,功能和功能块能够再利用。即,功能和功能块能够由多个用户程序共用。另外,功能是在输入了规定的输入值的情况下,输出与规定的输入值对应的一定的输出值的函数,功能块是通过具有内部状态,对于输入值的输出值不一定的函数。
[0058]此外,作为程序构成单位的功能块之一,如图3所示,有跟踪采样命令(以下,称作“TRSM命令”)P。该TRSM命令P在用户使用工具装置200生成、编辑用户程序时,可以插入用户程序的任意位置。另外,TRSM命令P是本发明的“收集指示程序”的一例。
[0059]对TRSM命令P输入使能输入EN,同时从TRSM命令P输出使能输出EN0。而且,TRSM命令P中,使能输入EN为“0”的情况下,不执行主体部分的程序(用于执行数据跟踪的程序)就从使能输出ENO输出“O”。此外,TRSM命令P中,使能输入EN为“ I ”的情况下,执行主体部分的程序,从使能输出ENO输出“I”。S卩,在CPU单元I中进行通常的动作的情况下,对使能输入输入“0”,在CPU单元I中进行数据跟踪的情况下,对使能输入EN输入“ I ”。
[0060]此外,对TRSM命令P输入输入参数(自变量)TraceNo和Point。输入参数TraceNo为跟踪号码,例如,输入“0”?“3”的值。此外,输入参数Point为点号码,例如,输入“0”?“255”的值。S卩,TRSM命令P具有跟踪号码和点号码。另外,跟踪号码是本发明的“指定信息”的一例,点号码是本发明的“识别信息”的一例。
[0061]跟踪号码是用于指定由TRSM命令P收集的变量的信息,用户使用工具装置200生成、编辑用户程序时,设定“0”?“3”中的所希望的值。即,在用户程序的任意位置插入的TRSM命令P的跟踪号码在用户程序的生成、编辑时由用户预先设定。
[0062]点号码是用于用户识别用户程序中的TRSM命令P的位置的信息,在用户使用工具装置200生成、编辑用户程序时,设定“0”?“255”中的所希望的值。即,在用户程序的任意位置插入的TRSM命令P的点号码在用户程序的生成、编辑时由用户预先设定。而且,用户程序中插入多个TRSM命令P的情况下,通过用户赋予各TRSM命令P不同的点号码,用户能够识别用户程序中的TRSM命令P的位置。
[0063]此外,从TRSM命令P输出输出参数(返回值)0ut。另外,输出参数Out (S,布尔(boolean)型,始终输出true。
[0064]在图4所示的任务相关的信息L I中,任务A比任务B和C优先执行,并且以Ims的周期执行用户程序Pl和P2。S卩,任务A以I次的控制周期(Ims的时间间隔)作为执行循环。这里,例如,用户程序Pl的最后,插入跟踪号码为“O”、点号码为“I”的TRSM命令P。此外,用户程序P2的最后,插入跟踪号码为“0”,点号码为“2”的TRSM命令P。
[0065]此外,任务B比任务C优先执行,并且以2ms的周期执行用户程序P3和P4。即,任务B以2次的控制周期(2ms的时间间隔)作为执行循环。此外,任务B的周期被设定为任务A的周期的整数倍(2倍)。这里,例如,用户程序P3的最后,插入跟踪号码为“O”、点号码为“3”的TRSM命令P。此外,用户程序P4的最后,插入跟踪号码为“O”、点号码为“4”的TRSM命令P。
[0066]此外,任务C比任务A和B滞后执行,并且以4ms的周期执行用户程序P5。即,任务C以4次的控制周期(4ms的时间间隔)作为执行循环。此外,任务C的周期被设定为任务A的周期的整数倍(4倍)。这里,例如,用户程序P5的最后,插入跟踪号码为“O”、点号码为“5”的TRSM命令P。
[0067]此外,ROMl2存储了跟踪号码所对应的变量相关的跟踪号码信息L 2 (参照图2)。跟踪号码信息L 2中,包含跟踪号码和与各跟踪号码对应的变量名。该跟踪号码信息L 2可由用户使用工具装置200编辑。即,用户使用工具装置200,可以变更与跟踪号码对应的变量。
[0068]在图5的例中,跟踪号码“0”中设定了变量Vl和V2。因此,在用户程序中进行具有跟踪号码“0”的TRSM命令P (参照图3)时,通过后述的数据收集部22 (参照图6)收集变量Vl和V2的值。此外,对跟踪号码“I”设定了变量V3。因此,在用户程序中进行具有跟踪号码“ I ”的TRSM命令P时,通过数据收集部22收集变量V3的值。
[0069]此外,对跟踪号码“2”设定了变量V4。因此,在用户程序中进行具有跟踪号码“2”的TRSM命令P时,通过数据收集部22收集变量V4的值。此外,对跟踪号码“3”设定变量V5、V6和Tl。因此,在用户程序中进行具有跟踪号码“3”的TRSM命令P时,由数据收集部22收集变量V5、V6和V7的值。
[0070]RAMl3是易失性存储器,例如,是DRAM。RAM13具有临时存储由CPUll执行的系统程序12A等的功能。具体来说,RAM13具有在执行用户程序存储在用户程序中参照以及更新的变量的功能。
[0071]通信IF14连接到内部总线5,被设置用来CPU单元I经由内部总线5与各单元进行通信。通信IF15连接到工具装置200的通信IF36(参照图2),被设置用来CPU单元I与工具装置200进行通信。
[0072]此外,如图6所示,CPU单元I包括任务执行部21、数据收集部22、跟踪号码设定部23、收集数据管理部24。另外,任务执行部21、数据收集部22、跟踪号码设定部23和收集数据管理部24通过CPUll执行系统程序12A而实现。
[0073]任务执行部21并行执行多个任务,并且,多个任务的各任务以对应于各任务的周期执行。具体来说,任务执行部21通过分时方式并行执行任务A、B和C。此外,任务执行部21以Ims的周期执行任务A,以2ms的周期执行任务B,以4ms的周期执行任务C。
[0074]数据收集部22具有在由任务执行部21执行任务时,收集伴随任务的执行的变量的变化的功能。具体来说,数据收集部22在由TRSM命令P (参照图3)只是了收集变量情况下,收集由跟踪号码指定的变量。另外,数据收集部22通过由CPUll执行TRSM命令P的主体部分而实现。
[0075]跟踪号码 设定部23具有基于从工具装置200接收的跟踪号码,设定成为数据跟踪的对象的跟踪号码(指定收集数据管理部24所管理的变量的跟踪号码)的功能。由此,例如,收集数据管理部24在由跟踪号码设定部23设定了跟踪号码“0”的情况下,在由数据收集部22收集的变量Vl?V7中,仅管理变量Vl和V2。
[0076]收集数据管理部24具有将由数据收集部22收集的数据(收集结果)以及指示了收集该数据的TRSM命令P的点号码相关联的功能。此外,收集数据管理部24也具有对由数据收集部22收集的数据,将该数据被收集的顺序的索引号码和数据跟踪开始后的经过时间相关联的功能。
[0077]工具装置200中,安装了支持程序32a (参照图2),通过执行该支持程序32a实现各种功能。工具装置200例如为个人计算机。
[0078]工具装置200,如图2所示,包括0?诎1、1?0102、狀103、操作部34、显示部35、通信IF36。另外,CPU31是本发明的“程序生成部”的一例,通信IF36是本发明的“第2通信部”的一例。
[0079]CPU31具有执行支持程序32a的功能。R0M32是非易失性的存储器,例如,闪存存储器。R0M32中存储了支持程序32a。支持程序32a中,例如,包含用户程序的生成、编辑用程序,以及由CPU单元I进行的数据跟踪的结果的显示控制程序等。
[0080]RAM33是易失性的存储器,例如,DRAM。RAM33具有临时存储由CPU31执行的支持程序32a等的功能。
[0081]操作部34被设置用于用户输入各种操作指令。显示部35例如是液晶显示器,具有显示生成、编辑的用户程序和数据跟踪的结果等的功能。通信IF36与CPU单元I的通信IF15连接,被设置用于工具装置200与CPU单元I进行通信。
[0082]工具装置200具有在PLC100的CPU单元I中执行的用户程序的生成、编辑功能。因此,用户使用工具装置200,可以在用户程序的任意位置插入TRSM命令P(参照图3)。此夕卜,用户使用工具装置200可以将用户程序中插入的TRSM命令P的跟踪号码和点号码设定为所希望的值。
[0083]此外,工具装置200通过通信IF36将用户程序从CPU单元I下载,并将用户程序上载到CPU单元I。由此,工具装置200可以将包含TRSM命令P的用户程序从通信IF36发送到CPU单元I。[0084]此外,工具装置200具有对CPU单元I指示执行数据跟踪的功能,并且为了用户确认数据跟踪的结果,具有将CPU单元I的跟踪结果的曲线图显示到显示部35的功能。
[0085]接着,参照图7,说明本实施方式的控制系统300的数据跟踪时的动作。
[0086]首先,工具装置200 (参照图2)中,步骤SI中,由CPU31判断是否接受数据跟踪。具体来说,例如,CPU31将指定跟踪号码的项目和数据跟踪开始点显示到显示部35。然后,用户操作操作部34,从而判断是否按压了数据跟踪开始点。而且,在判断没有接受数据跟踪的情况下,重复进行步骤SI。即,工具装置200等待直到接受数据跟踪。而且,在判断接受了数据跟踪的情况下,转移到步骤S2。
[0087]接着,步骤S2中,通过CPU31,数据跟踪开始指示从通信IF36发送到PLC100 (参照图1)。另外,该数据跟踪开始指示中包含用于指定成为数据跟踪的对象的变量的跟踪号码。然后,转移到步骤S3。
[0088]此夕卜,PLC100的CPU单元I (参照图2)中,步骤Sll中,CPUll判断通信IF15是否接收到数据跟踪开始指示。然后,在判断为没有接收到数据跟踪开始指示的情况下,重复进行步骤S11。即,CPU单元I等待直到接收到数据跟踪开始指示。然后,在判断为接收到数据跟踪开始指示的情况下,转移到步骤S12。
[0089]接着,步骤S12中,CPUll进行数据跟踪处理。由此,收集由跟踪号码指定的变量。例如,在跟踪号码为“0”的情况下,收集变量Vl和V2。换言之,CPU单元I中,收集由从工具装置200发送的跟踪号码指定的变量。而且,若数据跟踪处理结束,转移到步骤S13。另夕卜,后面详细说明数据跟踪处理。
[0090]接着,步骤S13中,通过CPU11,跟踪结果从通信IF15发送到工具装置200。然后,数据跟踪时的PLC100的动作结束。
[0091]此外,工具 装置200中,步骤S3中,CPU31判断通信IF36是否接收到跟踪结果。然后,在判断接收到跟踪结果的情况下,转移到步骤S4。另一方面,在判断没有接收到跟踪结果的情况下,重复进行步骤S3。
[0092]接着,步骤S4中,通过CPU31,由通信IF36接收到的跟踪结果被显示到显示部35。另外,后面详细说明跟踪结果的表示。然后,数据跟踪时的工具装置200的动作结束。
[0093]接着,参照图8?图10说明本实施方式的CPU单元I的数据跟踪时的动作。另外,以下的动作通过CPU单元I (参照图2)的CPUll执行系统程序12A从而进行。S卩,系统程序12A是使CPU单元I执行以下的动作的系统程序。
[0094]另外,以下,以从工具装置200 (参照图2)接收到跟踪号码为“0”的跟踪开始指示的情况为例进行说明。即,以由跟踪号码设定部23 (参照图6)设定跟踪号码“0”,由收集数据管理部24 (参照图6)管理的变量为变量Vl和V2的情况为例进行说明。此外,以下,以数据跟踪开始后,变量Vl每Ims按照“ 1,2,3,2,1,2,3…”变化,变量V2每Ims按照“5,4,5,4,5,4,5…”变化的情况为例进行说明。
[0095]首先,CPUll与控制循环同时开始任务A,B和C的执行循环。另外,任务A以Ims的周期执行,任务B以2ms的周期执行,任务C以4ms的周期执行。
[0096]具体来说,任务执行部21 (参照图6)开始优先级最高的任务A的处理。此时,任务B和C比任务A的优先级低,因此处于等待状态而不开始实际的处理。
[0097]然后,执行任务A的用户程序P1。这里,用户程序Pl的最后插入跟踪号码为“O”、点号码为“I”的TRSM命令P (参照图3)。因此,通过数据收集部22 (参照图6)收集由跟踪号码“0”指定的变量Vl和V2的值。而且,通过收集数据管理部24,如图9所示,对收集的变量Vl的值“1”,将表示收集的顺序的索引号码“I”、数据跟踪开始后的经过时间“0.15ms”、TRSM命令P的点号码“I”相关联存储在RAM13中。此外,通过收集数据管理部24,如同10所示,对收集的变量V2的值“5”,将表示收集的顺序的索引号码“I”、数据跟踪开始后的经过时间“0.15ms”、TRSM命令P的点号码“I”相关联存储在RAM13中。由此,变量Vl和V2的第一个收集结果存储在RAM13中。
[0098]然后,执行任务A的用户程序P2。这里,用户程序P2的最后插入跟踪号码为“O”、点号码为“ 2 ”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0 ”指定的变量Vl和V2的值。然后,收集数据管理部24,如图9所示,对收集的变量Vl的值“1”,将索引号码“2”、经过时间“0.3ms”、点号码“2”相关联存储在RAM13中。此外,收集数据管理部24,如图10所示,对收集的变量V2的的值“ 5 ”,将索引号码“ 2 ”、经过时间“0.3ms ”、点号码“ 2 ”相关联存储在RAM13中。由此,变量Vl和V2的第二个收集结果存储在RAM13中。
[0099]接着,若任务A的处理完成,则开始比任务C优先级高的任务B的处理。此时,任务C保持等待状态。
[0100]然后,执行任务B的用户程序P3。这里,用户程序P3的最后插入跟踪号码为“O”、点号码“3”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。而且,收集数据管理部24如图9所示,对收集的变量Vl的值“1”,将索引号码“3”、经过时间“0.6ms”、点号码“3”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“5”,将索引号码“3”、经过时间“0.6ms”、点号码“3相关联存储在RAM13中。由此,变量Vl和V2的第三个收集结果存储在RAM13中。
[0101]接着,执行任务B的用户程序P4。然后,若任务A、B和C的执行循环同时开始起经过1ms,则由于任务A的执行循环经过,任务B的用户程序P4被中断,任务执行部21执行任务A。此时,任务B和C为等待状态。
[0102]然后,执行任务A的用户程序P1。这里,用户程序Pl的最后插入跟踪号码为“O”、点号码“I”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“4”、经过时间“1.15ms”、点号码“I”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“4”,将索引号码“4”、经过时间“1.15ms”、点号码“I”相关联存储在RAM13中。由此,变量Vl和V2的第四个收集结果存储在RAM13中。
[0103]然后,执行任务A的用户程序P2。这里,用户程序P2的最后插入跟踪号码为“O”、点号码“2”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“5”、经过时间“ 1.3ms”、点号码“2”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“ 4 ”,将索引号码“ 5 ”、经过时间“ 1.3ms ”、点号码“2 ”相关联存储在RAM13中。由此,变量Vl和V2的第五个收集结果存储在RAM13中。
[0104]接着,若任务A处理完成,则再开始比任务C优先级高的任务B的处理。此时,任务C保持等待状态。而且,任务执行部21执行任务B的用户程序P4的剩余。
[0105]这里,用户程序P4的最后插入跟踪号码为“O”、点号码“4”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“6”、经过时间“1.45ms”、点号码“4”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“4”,将索引号码“6”、经过时间“1.45ms”、点号码“4”相关联存储在RAM13中。由此,变量Vl和V2的第六个收集结果存储在RAM13中。
[0106]接着,若任务B的处理完成,则任务C的处理开始。而且,任务执行部21执行任务C的用户程序P5。然后,若任务A、B和C的执行循环同时开始起经过2ms,则由于经过任务A的执行循环,任务C的用户程序P5被中断,通过任务执行部21执行任务A。此时,由于任务B的执行循环也经过,因此任务B和C为等待状态。
[0107]然后,执行任务A的用户程序P1。这里,用户程序Pl的最后插入跟踪号码为“O”、点号码“I”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“3”,将索引号码“7”、经过时间“2.15ms”、点号码“I”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“5”,将索引号码“7”、经过时间“2.15ms”、点号码“I”相关联存储在RAM13中。由此,变量Vl和V2的第七个收集结果存储在RAM13中。
[0108]然后,执行任务A的用户程序P2。这里,用户程序P2的最后插入跟踪号码为“O”、点号码“2”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“3”,将索引号码“8”、经过时间“2.3ms”、点号码“2”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“ 5 ”,将索引号码“ 8 ”、经过时间“ 2.3ms ”、点号码“ 2 ”相关联存储在RAM13中。由此,变量Vl和V2的第八个收集结果存储在RAM13中。
[0109]接着,若任务A的处理完成,则比任务C优先级高任务B的处理开始。此时,任务C为等待状态。
[0110]然后,执行任务B的用户程序P3。这里,用户程序P2的最后插入跟踪号码为“O”、点号码“3”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“3”,将索引号码“9”、经过时间“2.6ms”、点号码“3”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“5”,将索引号码“9”、经过时间“2.6ms”、点号码“3”相关联存储在RAM13中。由此,变量Vl和V2的第九个收集结果存储在RAM13中。
[0111]接着,执行任务B的用户程序P4。然后,若任务A、B和C的执行循环同时开始起经过3ms,则由于任务A的执行循环经过,因此任务B的用户程序P4中断,通过任务执行部21执行任务A。此时,任务B和C为等待状态。
[0112]然后,执行任务A的用户程序P1。这里,用户程序Pl的最后插入跟踪号码为“O”、点号码“I”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“10”、经过时间“3.15ms”、点号码“I”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“4”,将索引号码“10”、经过时间“3.15ms”、点号码“I”相关联存储在RAM13中。由此,变量Vl和V2的第十个收集结果存储在RAM13中。
[0113]而且,然后,执行任务A的用户程序P2。这里,用户程序P2的最后插入跟踪号码为“O”、点号码“2”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“11”、经过时间“3.3ms”、点号码“2”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“4”,将索引号码“11”、经过时间“3.3ms”、点号码“2”相关联存储在RAM13中。由此,变量Vl和V2的第i^一个收集结果存储在RAM13中。
[0114]接着,若任务A的处理完成,则再开始比任务C优先级高的任务B的处理。此时,任务C为等待状态。而且,任务执行部21执行任务B的用户程序P4的剩余。
[0115]这里,用户程序P4的最后插入跟踪号码为“O”、点号码“4”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“12”、经过时间“3.45ms”、点号码“4”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“4”,将索引号码“ 12”、经过时间“3.45ms”、点号码“4”相关联存储在RAM13中。由此,变量Vl和V2的第十二个收集结果存储在RAM13中。
[0116]接着,若任务B的处理完成,则再开始任务C的处理。而且,任务执行部21执行任务C的用户程序P5的剩余。
[0117]这里,用户程序P5的最后插入跟踪号码为“O”、点号码“5”的TRSM命令P。因此,数据收集部22收集由跟踪号码“0”指定的变量Vl和V2的值。然后,收集数据管理部24如图9所示,对收集的变量Vl的值“2”,将索引号码“13”、经过时间“3.8ms”、点号码“5”相关联存储在RAM13中。此外,收集数据管理部24如图10所示,对收集的变量V2的值“4”,将索引号码“ 13 ”、经过时间“ 3.8ms ”、点号码“ 5 ”相关联存储在RAMl3中。由此,变量Vl和V2的第十三个收集结果存储在RAM13中。
[0118]而且,若任务A、B和C的执行循环同时开始后经过4ms经过,则因为任务A的执行循环经过,因此由任务执行部21执行任务A。此时,因为任务B和C的执行循环也经过,因此任务B和C为等待状态。
[0119]然后,通过重复进行与上述动作同样的动作,由跟踪号码“0”指定的变量Vl和V2不断存储到RAM13中。而且,若经过规定期间(例如,10秒),则数据跟踪结束。另外,在图8?图10中,为了简化图面,示出了数据跟踪开始起经过8ms为止的状态。而且,收集结果积累成的跟踪结果从通信IF15发送给工具装置200。
[0120]接着,参照图1lA?图11C,说明本实施方式的工具装置200的跟踪结果的显示时的动作。
[0121]工具装置200中,如图1lA所示,在显示部35显示表示跟踪号码的项目Wl以及表示通过跟踪号码指定而成为数据跟踪的对象的变量的项目W2。在图1lA的例中,项目Wl显示跟踪号码“0”,项目W2显示变量Vl和V2。显示部35显示用于选择项目W2的变量的光标Cl。图1lA中,光标Cl选择了变量VI。光标Cl被设置用于选择由后述的光标C2选择的变量(主动变量)。
[0122]此外,显示部35中,跟踪结果被显示为曲线图G。该曲线图G中,由光标Cl选择的变量Vl以实线的折线表示,未被光标Cl选择的变量V2以虚线的折线表示。另外,曲线图G中,横轴为经过时间,纵轴为变量的值。
[0123]这里,曲线图G中,水平方向(横轴方向)上配置了可移动的光标C2。而且,在光标C2的近傍配置了用于显示与光标C2选择的数据有关的信息(索引号码、经过时间、点号码)的项目W3。在图1lA的例中,项目W3中显示索引号码“12”、经过时间“3.45ms”、点号码“4”。另外,项目W3中,对于由光标Cl选择变量,显示由光标C2选择的数据(收集结果)相关的信息。
[0124]而且,通过用户操作操作部34,如图1lB所示,光标C2在水平方向移动的情况下,光标C2所选择的数据变更,从而项目W3所显示的内容变更。由此,在图1lB的例中,项目W3中显示索引号码“ 22 ”、经过时间“6.6ms ”、点号码“ 3 ”。
[0125]此外,通过用户操作操作部34,如图1lC所示,光标Cl被切换,光标Cl选择变量V2的情况下,在曲线图G中,变量Vl由虚线的折线表示,变量V2由实线的折线表示。
[0126]本实施方式中,如上所述,由于TRSM命令P具有用于用户识别用户程序中的位置的点号码,因此收集数据管理部24能够将收集的变量(收集结果)和点号码相关联。由此,用户能够根据点号码判断收集结果由哪个TRSM命令P收集。从而,用户能够判断收集结果是在用户程序的哪个位置被收集的。其结果,用户在对用户程序进行调试时,能够容易地检测出用户程序的缺陷。
[0127]此外,本实施方式中,由于TRSM命令P具有跟踪号码,能够通过数据收集部22收集由跟踪号码指定的变量。此外,由于可以对跟踪号码设定多个变量,所以可以对用户所希望的变量群收集收集结果。
[0128]此外,本实施方式中,在用户程序中,将TRSM命令P插入用户所希望的位置,从而能够在用户所希望的定时收集变量。
[0129]此外,本实施方式中,通过在显示部35的项目W3中显示点号码,从而用户能够将收集结果与点号码相关联进行确认。
[0130]此外,本实施方式中,通过将收集结果累积所得的跟踪结果显示为曲线图G,从而能够使用户以视觉上容易理解的状态确认跟踪结果。
[0131]此外,本实施方式中,CPUll是单核,通过分时方式并行执行多个任务,从而能够有效地利用CPUll的处理能力。
[0132]另外,本次公开的实施方式在所有方面都是例示,不能作为限定解释的根据。因此,本发明的技术范围不是仅由上述实施方式解释,而根据权利要求范围而划定。此外,本发明的技术范围中,包含与专利权利要求范围等同的意思和和范围内的所有变更。
[0133]例如,本实施方式中,示出了 PLC100包括CPU单元1、输入单元2、输出单元3、电源单元4的例子,但不限于此,PLC也可以包括通信单元等其他单元,PLC也可以设置输入单
J Li o
[0134]此外,本实施方式中,示出了 PLC100由多个单元构成的例子,但不限于此,也可以PLC由一个筐体构成,该筐体中组装各单元的功能。
[0135]此外,本实施方式中,示出了 CPUll为单核,通过分时方式并行执行多个任务的例子,但不限于此,CPU也可以是多核,同时并行执行多个任务。如果这样构成,则能够提高任务的处理能力。
[0136]此外,本实施方式中,示出了 CPUll执行系统程序12A,从而实现任务执行部21、数据收集部22、跟踪号码设定部23和收集数据管理部24的例子,但不限于此,任务执行部21、数据收集部22、跟踪号码设定部23和收集数据管理部24也可以分别由硬件构成。[0137]此外,本实施方式中,示出了收集的变量的值、表示收集的顺序的索引号码、数据跟踪开始起到经过时间、TRSM命令P的点号码被相关联存储在RAM13中的例子,但不限于此,也可以收集的变量的值、表示收集的顺序的索引号码、数据跟踪开始起的经过时间、TRSM命令P的点号码相关联存储在R0M12中。
[0138]此外,本实施方式中,示出了收集的变量的值、数据跟踪开始起的经过时间被相关联的例子,但不限于此,也可以收集的变量的值和变量被收集的时刻信息被相关联。另外,时刻信息中也可以包含日期相关的信息,也可以不包含。
[0139]此外,本实施方式中,示出了跟踪号码为“O”的TRSM命令P被插入用户程序Pl?P5,通过跟踪号码设定部23设定跟踪号码“O”的例子,但不限于此,例如,也可以跟踪号码为“I”的RSM命令P被插入用户程序Pl?P5,通过跟踪号码设定部23设定跟踪号码“I”。在该情况下,通过收集数据管理部24,仅管理由数据收集部22收集的变量Vl?V7中的变量V3。由此,关于变量V3的跟踪结果可以显示在显示部35中。另外,同样也可以将跟踪号码设定为“2”或“3”。
[0140]此外,本实施方式中,示出了 TRSM命令P被插入用户程序Pl?P5的最后的例子,但不限于此,TRSM命令P也可以插入用户程序的开头。此外,TRSM命令P可以插入用户程序的任意位置,可以插入用户所希望的位置。
[0141]此外,本实施方式中,示出了对用户程序Pl?P5全部插入TRSM命令P的例子,但不限于此,对用户程序Pl?P5中的至少一个插入TRSM命令即可。
[0142]此外,本实施方式中,示出了一个用户程序中插入一个TRSM命令P的例子,但不限于此,一个用户程序中也可以插入多个TRSM命令。
[0143]此外,本实施方式中,示出了将所有收集结果进行曲线图显示的例子,但不限于此,也可以仅选择规定的点号码(例如,点号码“I”)的收集结果进行曲线图表示。如果这样构成,则在用户调试用户程序时,能够更容易地检测出用户程序的缺陷。
[0144]此外,本实施方式中,示出了将关于多个变量的跟踪结果显示在一个曲线图G中的例子,但不限于此,也可以对于多个变量的跟踪结果按照每个变量显示为曲线图。此外,也可以仅将有效的变量显示为曲线图。
[0145]此外,本实施方式中,任务中,除了定期执行的任务(定周期任务)之外,还可以包含预先设定的执行条件成立的情况下执行的任务(事件任务)。
[0146]产业上的可利用性
[0147]本发明可用于对控制对象设备进行控制的控制装置、包括该控制装置的控制系统、用于生成在该控制装置中执行的用户程序的工具装置以及用户程序中包含的收集指示程序。
[0148]标号说明
[0149]I CPU单元(控制装置)
[0150]15通信IF (第I通信部)
[0151]21任务执行部(任务执行部)
[0152]22数据收集部(收集部)
[0153]24收集数据管理部(管理部)
[0154]31 CPU (程序生成部)[0155]35显示部
[0156]36通信IF (第2通信部)
[0157]60控制对象设备
[0158]200工具装置
[0159]300控制系统
【权利要求】
1.一种对控制对象设备进行控制的控制装置,其特征在于,包括: 任务执行部,执行包含用户程序的任务; 收集部,在由所述任务执行部执行任务时,收集在所述用户程序中参照以及更新的变量;以及 管理部,管理由所述收集部收集的变量, 所述用户程序包含指示所述收集部收集变量的收集指示程序, 所述收集指示程序具有用于用户识别所述用户程序中的该收集指示程序的位置的识别信息, 在由所述收集指示程序指示了收集变量的情况下,所述管理部将由所述收集部收集的变量和所述收集指示程序的识别信息相关联。
2.如权利要求1所述的控制装置,其特征在于, 所述收集指示程序具有用于指定由所述收集部收集的变量的指定信息。
3.如权利要求1或权利要求2所述的控制装置,其特征在于, 所述任务执行部并行执行多个所述任务,并且将所述多个任务的各任务以对应于所述各任务的周期执行。
4.如权利要求1至权利要求3的任何一项所述的控制装置,其特征在于, 包括第I通信部,将由所述收集部收集的变量和与所述变量相关联的识别信息发送到用于显示所述变量和所述识 别信息的工具装置。
5.一种控制系统,包括通过执行用户程序来对控制对象设备进行控制的控制装置以及用于生成所述用户程序的工具装置,其特征在于,所述控制装置包括: 任务执行部,执行包含所述用户程序的任务; 收集部,在由所述任务执行部执行任务时,收集在所述用户程序中参照以及更新的变量;以及 管理部,管理由所述收集部收集的变量, 所述用户程序包含指示所述收集部收集变量的收集指示程序, 所述收集指示程序具有用于用户识别所述用户程序中的该收集指示程序的位置的识别信息, 在由所述收集指示程序指示了收集变量的情况下,所述管理部将由所述收集部收集的变量和所述收集指示程序的识别信息相关联。
6.一种工具装置,用于生成在对控制对象设备进行控制的控制装置中执行的用户程序,其特征在于,包括: 程序生成部,生成所述用户程序;以及 第2通信部,用于将由所述程序生成部生成的用户程序发送给所述控制装置, 所述用户程序包含指示收集在所述用户程序中参照以及更新的变量的收集指示程序,所述收集指示程序具有用于用户识别所述用户程序中的该收集指示程序的位置的识别信息。
7.如权利要求6所述的工具装置,其特征在于, 所述收集指示程序具有指定由所述控制装置收集的变量的指定信息。
8.如权利要求6或权利要求7所述的工具装置,其特征在于,包括显示部,显示由所述程序生成部生成的用户程序, 所述第2通信部从所述控制装置接收由所述控制装置收集的变量和与所述变量相关联的识别息, 所述显示部显示由所述第2通信部接收的变量和与所述变量相关联的识别信息。
9.一种收集指示程序,用于使控制装置执行指示收集部收集变量的步骤,所述控制装置包括:任务执行部,执行包含用户程序的任务;收集部,在由所述任务执行部执行任务时,收集在所述用户程序中参照以及更新的变量;以及管理部,管理由所述收集部收集的变量,其特征在于, 具有识别信息,所述识别信息包含在所述用户程序中,用于用户识别所述用户程序中的位置, 所述管理部将由所述 收集部收集的变量和所述识别信息相关联。
【文档编号】G05B19/05GK103430111SQ201280011199
【公开日】2013年12月4日 申请日期:2012年3月6日 优先权日:2011年3月15日
【发明者】矢尾板宏心, 太田政则, 阪口泰规 申请人:欧姆龙株式会社