程序创建辅助装置、程序创建辅助装置的控制方法、以及程序创建辅助装置的控制程序与流程

文档序号:15884096发布日期:2018-11-09 18:30阅读:165来源:国知局
程序创建辅助装置、程序创建辅助装置的控制方法、以及程序创建辅助装置的控制程序与流程

本发明涉及辅助梯形程序的创建的程序创建辅助装置等。

背景技术

可编程逻辑控制器(plc;programmablelogiccontroller)对输入或者输出设备的时序控制的方法,作为一个例子,有时由使用梯形图语言描述的梯形图所规定。梯形图具有如下结构:连结隔着间隔描绘且表现动力的两条母线(左母线和右母线),从而由触点以及线圈等表现的逻辑电路被绘制成梯子状。

以往,上述梯形图用于将物理继电器电路示为逻辑电路。另一方面,近年,开发了一种将由该梯形图规定的时序控制作为程序数据(以下,称为梯形程序)来保存和编辑的程序创建辅助装置。程序创建辅助装置使与梯形程序对应的梯形图显示在显示装置等上。例如,在下述专利文献1中,公开了一种从梯形图中检索具有开闭由用户指定的检索对象块(具有触点或线圈的电路上的块)中包含的“触点”的线圈的电路块的技术。在专利文献1中公开的技术中,通过反复进行该检索来确定以及显示各块的层级关系,从而提高梯形图的可视性。

现有技术文献

专利文献

专利文献1:日本公开专利公报“特开2016-004414号”(2016年1月12日公开)



技术实现要素:

发明所要解决的问题

另外,在专利文献1中记载的技术中,为了知道某个程序元素的导通状态或者非导通状态的基本原因,用户需要从上述某个程序元素开始在上层逐个地目视地追踪梯形图上的程序元素。例如,当进行梯形程序的调试或者故障原因的追究等时,用户追溯并阅读梯形图耗费时间和劳力,是低效的。

本发明是鉴于所述的问题点而提出,其目的在于,实现使用户能够有效地进行梯形程序的调试或故障原因的追究的程序创建辅助装置等。

用于解决问题的技术方案

为解决上述课题,本发明的程序创建辅助装置是辅助梯形程序的创建的程序创建辅助装置,所述程序创建辅助装置包括:存储部,存储包含多个程序元素的梯形程序;以及处理部,从所述存储部读取所述梯形程序并执行,所述处理部将与所述梯形程序对应的梯形图和在执行所述梯形程序时各程序元素是导通状态还是非导通状态与所述梯形图相关联地显示在显示部上,所述处理部检测从显示在所述显示部上的所述各程序元素中选择第一程序元素的用户的指示,所述处理部判定所述第一程序元素是导通状态还是非导通状态,根据所述第一程序元素是导通状态还是非导通状态,所述处理部确定所述第一程序元素成为导通状态或者非导通状态的原因的一个以上的原因元素,在所述梯形图中,所述处理部将确定的所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

为解决上述课题,本发明的程序创建辅助装置的控制方法是辅助梯形程序的创建的程序创建辅助装置的控制方法,所述控制方法包括:处理步骤,从存储包含多个程序元素的梯形程序的存储部读取所述梯形程序并执行,在所述处理步骤中,执行如下步骤:梯形图显示步骤,将与所述梯形程序对应的梯形图和在执行所述梯形程序时各程序元素是导通状态还是非导通状态与所述梯形图相关联地显示在显示部上;检测步骤,检测从显示在所述显示部上的所述各程序元素中选择第一程序元素的用户的指示;判定步骤,判定所述第一程序元素是导通状态还是非导通状态;程序元素确定步骤,根据所述第一程序元素是导通状态还是非导通状态,确定所述第一程序元素成为导通状态或者非导通状态的原因的一个以上的原因元素;以及程序元素显示步骤,在所述梯形图中,将在所述程序元素确定步骤中确定的所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

为解决上述课题,本发明的程序创建辅助装置的控制程序是辅助梯形程序的创建的程序创建辅助装置的控制程序,所述控制程序包括:处理步骤,从存储包含多个程序元素的梯形程序的存储部读取所述梯形程序并执行,在所述处理步骤中,执行如下步骤:梯形图显示步骤,将与所述梯形程序对应的梯形图和在执行所述梯形程序时各程序元素是导通状态还是非导通状态与所述梯形图相关联地显示在显示部上;检测步骤,检测从显示在所述显示部上的所述各程序元素中选择第一程序元素的用户的指示;判定步骤,判定所述第一程序元素是导通状态还是非导通状态;程序元素确定步骤,根据所述第一程序元素是导通状态还是非导通状态,确定所述第一程序元素成为导通状态或者非导通状态的原因的一个以上的原因元素;以及程序元素显示步骤,在所述梯形图中,将在所述程序元素确定步骤中确定的所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

发明效果

根据本发明,能够使用户有效地进行梯形程序的调试或故障原因的追究。

附图说明

图1是示出本发明的实施方式一的pc以及plc的主要部分结构的框图。

图2(a)是示出显示在上述pc的显示部上且与上述梯形程序对应的梯形图的具体例的图。图2(b)是示出在上述梯形图中的原因触点检索的输入操作以及结果的显示的具体例的图。

图3是示出上述梯形程序中包含的程序元素的数据结构的表。

图4是示出上述pc的整体的处理的流程的一例的流程图。

图5是示出由上述pc进行的原因触点检索处理的流程的一例的流程图。

图6是示出与上述梯形程序的另一例对应的梯形图的图。

图7是示出本发明的实施方式二的pc以及plc的主要部分结构的框图。

图8是示出本发明的实施方式四的pc的整体的处理的流程的一例的流程图。

图9(a)是示出与实施方式四的梯形程序对应的梯形图的具体例的图。图9(b)是示出与梯形程序的另一例对应的梯形图。

具体实施方式

本发明涉及例如集中管理设置在工厂等的生产设备的fa(factoryautomation;工厂自动化)系统。本发明也涉及将各种生产设备中包含的输入设备或者输出设备(以后,将两者简称为“设备”)的连接关系以及使fa系统运转时的各设备以及设备中包含的结构元素的导通状态向用户图示的管理系统。输入设备是指例如传感器以及限位开关等。输出设备是指例如灯或致动器等。

〔实施方式一〕

以下,使用图1~5对本发明的第一实施方式进行说明。以往,在程序创建辅助装置中,例如,当检索某个程序元素(线圈等)成为非导通状态的原因的触点时,用户需要在梯形图上目视地追踪处于该程序元素的上层的程序元素,确定原因耗费时间和劳力。并且,用户为了探究某个程序元素的非导通状态的原因,需要按顺序目视地追踪块。

以下说明的本实施方式的pc1解决所述问题点,并且能够自动地确定梯形程序的特定的程序元素成为非导通状态的原因。

《主要部分结构》

图1是示出本实施方式的管理系统100中包含的装置的主要部分结构的框图。管理系统100包括:设备3;可编程逻辑控制器(plc;programmablelogiccontroller)2,集中管理设备3;以及pc(程序创建辅助装置)1,监视设备3的连接关系和运转状态。与plc2连接的设备3的台数没有特别的限定。plc2和设备3可以经由通信耦合器或从动装置间接地连接。

(plc2的主要部分结构)

plc2是进行设备3的时序控制的装置。plc2以程序模式和运行模式中的任一模式运转。程序模式是plc2不控制设备3的模式。plc2例如当与pc1收发数据时以程序模式运转。另一方面,运行模式是控制设备3的模式。在运行模式下,plc2执行用于控制设备3的梯形程序。梯形程序是指用梯形图语言描述的程序。梯形程序由pc1创建,并被下载到plc2中。

更详细地,plc2包括:通信单元70、cpu单元80、以及存储单元90。通信单元70是用于与pc1通信的单元。存储单元90存储plc2的各种数据。存储单元90例如存储梯形程序51。

cpu单元80统一控制plc2。cpu单元80进行plc2的模式的切换。另外,cpu单元80在程序模式和运行模式下进行不同的处理。

例如,在程序模式下,cpu单元80从pc1下载梯形程序51。cpu单元80将下载的梯形程序51存储在存储单元90中。

另一方面,在运行模式下,cpu单元80从存储单元90读取梯形程序51并执行,从而进行设备3的时序控制。

(pc1的主要部分结构)

pc1是根据用户的输入操作来创建描述了设备3的控制方法的梯形程序51的程序创建装置。pc1也是辅助梯形程序51的创建的程序创建辅助装置。pc1通过在pc1内虚拟地执行创建的(或者创建中的)梯形程序51,从而确定在执行了梯形程序51时程序元素是导通状态还是非导通状态。其中,程序元素是指触点、线圈等,对应于在用梯形图表示了梯形程序的情况下的各种部件。需要说明的是,汇总规定的处理的功能块的实例也可以作为梯形程序上的一程序元素。

pc1在显示部(后述)上显示与梯形程序51对应的梯形图,同时在显示部(后述)上显示该梯形图中所示的各程序元素的导通状态。由此,pc1能够以较好的可视性向用户提示梯形程序51以及程序元素的导通状态。因此,pc1能够辅助用户创建梯形程序51。

pc1具有控制部(处理部)10、输入部20、显示部30、通信部40以及存储部50。输入部20接收用户的输入操作。例如,输入部20是内置在或连接到pc1中的鼠标或键盘等输入设备。输入部20将表示接收到的输入操作的输入信号发送给控制部10的输入控制部11(后述)。

显示部30是内置在或连接到pc1中的显示装置。显示部30根据控制部10的显示控制部15(后述)的控制,显示与梯形程序51对应的梯形图。通信部40是用于pc1与plc2通信的通信设备。

存储部50存储用于pc1操作的各种数据(pc1自身的控制程序等)以及在pc1中创建的(或者创建中的)梯形程序51。梯形程序51由控制部10根据用户的规定的指示读取,并经由通信部40发送到plc2。

控制部10是统一控制pc1的cpu(centralprocessingunit;中央处理单元)。控制部10通过将存储在存储部50中的pc1的控制程序读取到ram(randomaccessmemory;随机存取存储器,未图示)等中并执行,从而实现以下说明的输入控制部11、程序创建部12、搜索部14以及显示控制部15的功能块。

输入控制部11从输入部20接收输入信号,并从该信号检测出用户对pc1进行的指示。当检测到创建梯形程序51的指示时,输入控制部11将表示该指示内容的信息发送给程序创建部12。另外,当检测到显示梯形程序51(显示梯形图)的指示时,输入控制部11将表示该指示内容的信息发送给显示控制部15。另外,当检测到选择梯形图中包含的程序元素的指示时,输入控制部11将表示该指示内容的信息发送给搜索部14。

程序创建部12根据从输入控制部11接收到的指示内容来创建梯形程序51。程序创建部12将创建的梯形程序51存储在存储部50中。

如果从输入控制部11接收到选择程序元素的指示,则搜索部14判定由用户选择的程序元素(以下,称为第一程序元素)是导通状态还是非导通状态。将表示0和1、真(true)和假(false)或者on和off这两个值中的任意一个值的变量分配到程序元素中。“导通状态”意味着分配给程序元素的变量的值为1、真或者on的状态。另一方面,“非导通状态”意味着上述变量的值为0、假或者off的状态。搜索部14通过从梯形程序51读取各程序元素的变量的值并确认,来确定各程序元素是导通状态还是非导通状态。当第一程序元素为非导通状态时,搜索部14追溯并搜索在梯形程序51中配置在第一程序元素的上层的非导通状态的触点。通过反复进行该搜索,搜索部14能够确定第一程序元素成为非导通状态的原因的触点(原因触点,原因元素的一种)。如果搜索部14确定原因触点,则将表示该原因触点的信息发送给显示控制部15。更详细地,搜索部14包括触点确定部141和元素确定部142。

需要说明的是,在本实施方式以及以后的实施方式中,“上层”表示当执行梯形程序51时先执行处理。

当第一程序元素为非导通状态时,触点确定部141确定位于第一程序元素的上层、且通过将该触点设为导通状态从而第一程序元素成为导通状态的触点。另外,触点确定部141确定位于由后述的元素确定部142确定作为下一个搜索的开始点(搜索对象)的程序元素的上层、且通过将该触点设为导通状态从而第一程序元素成为导通状态的触点。触点确定部141将确定的触点传达给元素确定部142。

触点确定部141的触点的确定方法并没有特别的限定。例如,触点确定部141确定在某个程序元素的上游上连接线与该程序元素连接、且是非导通状态的触点。另外,当触点确定部141可以根据在将梯形程序51视为过程性语言的程序数据时的各程序元素的从属关系,确定位于上述某个程序元素的上层(连接线的上游)的触点(与该触点相对应的变量),并可以在这些确定的触点中进一步地确定非导通状态的触点。

元素确定部142将位于由触点确定部141确定的触点的上游、且使该触点动作(设为导通状态)的程序元素,确定为下一个搜索对象的程序元素。换言之,元素确定部142将通过设为导通状态而能够将由触点确定部141确定的触点设为导通状态的程序元素(线圈等),确定为下一个搜索对象的程序元素。如果例如由触点确定部141确定的触点是继电器触点,则元素确定部142将与该继电器触点对应(即,被分配了与该继电器触点相同的变量)的线圈,确定为下一个搜索对象的程序元素。元素确定部142将确定的程序元素传达给触点确定部141。

搜索部14通过这样重复确定触点确定部141中的触点以及确定元素确定部142中的程序元素,从而在梯形图中从第一程序元素开始追踪上层的非导通状态的触点和程序元素。然后,当触点确定部141或者元素确定部142不能确定非导通状态的触点或者程序元素时,搜索部14将上一次确定的触点确定为原因触点。换言之,搜索部14将由触点确定部141最后确定的非导通状态的触点确定为原因触点。

显示控制部15将与梯形程序51对应的梯形图和各程序元素的导通状态显示在显示部30上。显示控制部15根据来自输入控制部11的指示内容,从存储部50读取梯形程序51,并将与该梯形程序51对应的梯形图显示在显示部30上。显示控制部15此时确认梯形程序51的逻辑形式,并将在执行了该梯形程序51时各程序元素是导通状态还是非导通状态以能够区分的方式显示在显示部30上。导通状态的显示方法并没有特别的限定,例如显示控制部15通过用粗线或标记等强调显示导通状态的程序元素、以及连结导通状态的程序元素的连接线,从而向用户表示各程序元素以及连接线是导通状态还是非导通状态。

进一步地,当在搜索部14中确定了原因触点时,显示控制部15使该原因触点以能够与梯形图上的其他触点进行区分的状态显示在显示部30上。原因触点的显示方法并没有特别的限定,例如原因触点可以用围框或阴影强调显示,或者可以仅将原因触点用与其他触点不同的颜色显示。以下,使用图2~3对显示控制部15进行的显示控制具体地说明。

(显示部30的画面例)

图2(a)是示出与梯形程序51对应的梯形图的具体例的图。在显示部30上,显示由plc2正在执行的梯形程序51的一部分或者全部的梯形图。在图2(a)的例子中,显示有梯形程序51中的第一行~第五行的连接线,在各行中配置(描述)有a触点(常开触点,以下,简称为触点)500、502、504、506以及508、和线圈501、503、505、507以及509(描述)作为程序元素。需要说明的是,附在各触点以及线圈的字母表示分配给该程序元素的变量的变量名。关于变量的分配,稍后将详细描述。

另外,在显示部30上以能够区分的方式显示各程序元素的导通以及非导通。在图2(a)的例子中,所有程序元素为非导通状态。另外,关于连接线,从左母线到最靠近左母线的程序元素始终为导通状态。并且,当该最近的程序元素为导通状态时,从该程序元素到下一个程序元素的连接线成为导通状态。另一方面,当该最近的程序元素为非导通状态时,从该程序元素到下一个程序元素的连接线成为非导通状态。在图2(a)的例子中,涂满并显示导通状态的程序元素。另外在图2(a)的例子中,用粗线显示连结导通状态的程序元素的连接线。针对以后示出梯形图的图面,也同样地示出导通状态以及非导通状态。

图3是示出图2的(a)以及(b)所示的梯形图的梯形程序51中的、各程序元素的数据结构的表。需要说明的是,程序元素的数据结构并不限定于图3所示的表。像图3示出那样的确定程序元素的信息被记述在梯形程序51内。

如图3所示,程序元素包括程序元素的种类(触点、线圈等)、配置位置、变量等属性。其中,“变量”是具有规定类型(如果是触点或线圈,则为boolean型)的变量名,该变量被分配到预先规定的地址中。根据图3,例如,作为梯形图第一行第二个程序元素的线圈501和作为梯形图第二行第一个程序元素的触点502是不同的元素的种类(线圈和触点),被分配了相同的变量名(a)。由此,如果线圈501为on,则触点502成为导通状态(触点502的变量a的值成为1、真或者on)。当线圈501动作时,触点502成为导通状态。

图2(b)是示出在图2(a)所示的梯形图中,当进行了原因触点检索的输入操作时的、该输入操作以及结果的显示的具体例的图。如图2(b)所示,如果用户进行选择线圈509的输入操作,则输入部20接收该输入操作,并向输入控制部11发送信号。输入控制部11根据该信号来确定所选择的程序元素(线圈509)并传达给搜索部14。搜索部14通过反复进行触点确定部141以及元素确定部142的处理,从所选择的程序元素追踪非导通状态的程序元素。在图2(b)的情况下,搜索部14从线圈509开始按照触点508、线圈507、触点506、线圈505、触点504、线圈503、触点502、线圈501、触点500的顺序追踪程序元素。然后,由于元素确定部142不能从触点500确定下一个非导通状态的程序元素,因此搜索部14将由触点确定部141上一次确定的触点500确定为原因触点,并传达给显示控制部15。如图2(b)所示,显示控制部15能够将作为原因触点的触点500以能够与其他触点以及线圈等程序元素进行区分的方式显示。需要说明的是,如图2(b)所示,显示控制部15也可以将用户指定为检索对象的程序元素(线圈509)以能够与其他程序元素进行区分的方式显示在显示部30上。

(处理的流程)

最后,使用图4~5对由pc1进行的处理的流程进行说明。图4是示出pc1整体的处理流程的一例的流程图。

如图4所示,如果在pc1的控制部10的输入控制部11中检测出显示梯形程序51的指示(s1),则控制部10从存储部50读取梯形程序51(s2),并执行随后的处理(处理步骤)。

显示控制部15将与该程序对应的梯形图和梯形程序51中包含的程序元素的导通状态显示在显示部30上(s3,梯形图显示步骤)。其中,如果用户在梯形图上选择程序元素,则输入控制部11检测出用户选择程序元素的指示(s4,检测步骤),并将该指示传达给搜索部14。需要说明的是,当在检测出上述选择的指示后,检测出将用户选择的程序元素作为搜索对象来进行检索的指示(检索指示)时(s5),输入控制部11可以将该指示传达给搜索部14。如果搜索部14从输入控制部11接收到该指示,则判定上述选择的程序元素即第一程序元素是导通状态还是非导通状态(s6,判定步骤)。当第一程序元素为非导通状态的程序元素时(s6为“否”),通过重复触点确定部141以及元素确定部142的处理,从而进行原因触点检索处理(s7,搜索步骤)。如果确定原因触点,则搜索部14将表示原因触点的信息发送给显示控制部15。显示控制部15将原因触点以能够与其他触点(以及程序元素)进行区分的状态显示在显示部30上(s8,程序元素显示步骤)。需要说明的是,当由用户选择的第一程序元素为导通状态的程序元素时(s6为“是”),搜索部14可以不进行s7~s8所示的处理。或者,搜索部14可以只将第一程序元素以能够与其他触点进行区分的状态显示在显示部30上。

接下来,使用图5对图4的s7中的原因触点检索处理的细节进行说明。图5是示出原因触点检索处理的流程的流程图。如果搜索部14从输入控制部11接收到表示由用户指定的程序元素(第一程序元素)的信息,则首先针对第一程序元素,确定元素的种类是触点还是触点以外的程序元素(s50)。

当程序元素为触点时(s50为“是”),搜索部14在触点确定部141中,将位于第一程序元素的上层、且通过将该触点设为导通状态从而第一程序元素成为导通状态的触点,确定为下一个搜索的开始点(s52)。另一方面,当第一程序元素为触点以外的程序元素时(s50为“否”),搜索部14在元素确定部142中,将位于触点的上层且将该触点动作(设为导通状态)的程序元素,确定为下一个搜索的开始点(s54)。搜索部14反复进行s50~s54(s56为“否”)的处理,直到触点确定部141不能确定触点或者元素确定部142不能从触点确定程序元素为止(直到s52或者s54的确定处理失败为止)。如果触点确定部141或者元素确定部142确定失败(s56为“是”),则搜索部14将触点确定部141上一次确定的触点确定为原因触点(s58,程序元素确定步骤)。

这样,根据图4~5所示的处理,pc1能够从由用户选择的第一程序元素自动地追溯并搜索非导通状态的触点,直到确定第一程序元素成为非导通状态的基本的原因的原因触点,并将该原因触点示出给用户。因此,具有能够自动地确定梯形程序51的特定的程序元素为非导通状态的原因并示出给用户这样的效果。

需要说明的是,显示控制部15可以将存在于上述指定的程序元素与原因触点之间的程序的梯形图省略或者压缩(缩小)显示,以使用户指定的程序元素和原因触点收敛在显示部30的一个画面上。

例如,显示控制部15可以显示配置有用户指定的程序元素的连接线以及其前后一行的连接线,同时针对原因触点显示配置有原因触点的连接线以及其前后一行的连接线,并可以省略它们之间的连接线以使由用户指定的程序元素和原因触点收敛在一个画面上。另外例如,显示控制部15可以缩小显示中间的连接线和在其上配置的程序元素以使由用户指定的程序元素和原因触点收敛在一个画面上。

由此,由于用户能够在不滚动或切换显示部30的画面的情况下确认想知道的非导通的原因的程序元素和作为非导通的原因的原因触点,因此提高原因触点的检索中的便利性。

在本实施方式中,搜索部14确定了原因触点。然而,当触点确定部141或者元素确定部142不能确定下一个搜索对象的程序元素时,本发明的pc1的搜索部14不仅可以将上一次确定的程序元素确定为触点,还可以确定为第一程序元素成为非导通状态的原因的原因元素。然后,显示控制部15可以将该原因元素以能够与其他程序元素进行区分的状态显示在显示部30上。

或者,当触点确定部141或者元素确定部142不能确定下一个搜索对象的程序元素时,搜索部14可以将在预先规定的预定格式的程序元素(例如线圈)中的、触点确定部141或者元素确定部142上一次(最后)确定的程序元素确定为原因元素。需要说明的是,由于触点是程序元素的一种,因此原因元素的确定以及显示的处理与原因触点的确定以及显示的处理相同。

〔实施方式二〕

当在搜索部14中确定了多个原因触点时,本发明的pc1可以将确定的多个触点以能够分别区分的状态显示在显示部30上。以下,对本发明的第二实施方式进行说明。

图6是示出与实施方式一所示的梯形程序51的另一例对应的梯形图。需要说明的是,图6所示的梯形图的读法与图2所示的梯形图相同。在图6所示的梯形图中,触点602a和602b为并联结构。另外,如图所示,在触点602a中分配有变量b1,602b中分配有变量b2。因此,当线圈601a从非导通状态成为导通状态时,触点602a成为导通状态。另外,当线圈601b从非导通状态成为导通状态时,触点602b成为导通状态。

然后,在触点602a以及602b中的至少一个成为导通状态时,线圈603成为导通状态。这样,当梯形程序51是在对应的梯形图中存在分支点的程序时,搜索部14在原因触点检索处理的过程中将会确定多个原因触点(图6的情况是触点602a以及602b)。在该情况下,搜索部14将确定的多个触点以能够分别区分的状态显示在显示部30上。例如,如图6所示,可以用围框显示各个触点(触点602a以及602b)。

由此,当在与梯形程序51对应的梯形图中存在分支等时,pc1能够向用户表示被认为是第一程序元素的非导通状态的原因的多个原因触点(原因触点的候选),提高用户的原因触点检索的便利性。

需要说明的是,在原因触点检索处理的过程中,触点确定部141确定了多个触点时(即,在原因触点检索处理的过程中产生了检索模式的分支时),搜索部14可以代替原因触点将该多个触点传达给显示控制部15,显示控制部15可以将该多个触点显示在显示部30上。然后,通过使用户经由输入部20选择上述多个触点中的任意一个,可以将该选择的触点作为第一程序元素(原因触点检索处理的开始的程序元素),再次开始原因触点检索处理。

需要说明的是,当如上述那样搜索部14确定了多个原因触点时,显示控制部15可以不将各个原因触点如图6所示那样在梯形图上以能够区分的方式显示,而是单独以列表等形式显示原因触点。

〔实施方式三〕

本发明的pc1可以设定为能够使plc2执行梯形程序51,且可以经由通信部(连接部)40获取plc2正在执行的梯形程序51中的程序元素的导通状态。以下,对本发明的第三实施方式进行说明。

图7表示本实施方式的pc1以及plc2的主要部分结构。本实施方式的pc1与上述各实施方式的pc1不同点在于,在控制部10中实现监视值获取部13的功能块。

监视值获取部13根据从输入控制部11接收到的指示内容,从plc2获取监视值。监视值至少包含分配给梯形程序51中包含的各程序元素的变量的变量值。监视值获取部13根据获取的监视值中包含的上述变量值,确定梯形程序51中包含的各程序元素的导通状态,并将表示各程序元素的导通状态的信息发送给显示控制部15。需要说明的是,监视值获取部13可以接收监视值的同时,接收用于指定在plc2中正执行的梯形程序51的信息,并将监视值和该信息发送给显示控制部15。例如当使多个梯形程序51下载到plc2中时(即,当存在plc2控制设备3的多个模式时),通过接收用于指定梯形程序51的信息,能够确定应将哪个梯形程序51显示在pc1上。

另外,本实施方式的plc2的cpu单元80在运行模式下,获取表示控制对象的设备3的各种部件的导通状态的信息作为监视值,并经由通信单元70发送给pc1。

然后,显示控制部15根据输入控制部11的指示内容,从存储部50读取与在plc2中执行的梯形程序51相同的梯形程序51,并使与该程序对应的梯形图,和在将从监视值获取部13获取的各物理部件的导通状态反映到程序元素的导通状态之后的各程序元素(正在执行的程序元素)的导通状态显示在显示部30上。

根据该结构,pc1能够发现在plc2实际执行了梯形程序51时的梯形程序51的问题部位(成为非导通状态的程序元素),并能够检索以及确定该问题部位的原因。

需要说明的是,监视值获取部13能够以规定的时间间隔获取在plc2正在执行的梯形程序51的各程序元素的导通状态,显示控制部15基于从监视值获取部13接收的信息,随时反映正在执行的梯形程序51的程序元素的导通状态。

由此,pc1能够将在plc2正在执行的梯形程序51的各物理部件的导通状态实时地反映到程序元素的导通状态中。因此,用户能够实时地发现在plc2正在执行的梯形程序51的问题部位(成为非导通状态的程序元素),并能够实时地检索以及确定该问题部位的原因触点。

〔实施方式四〕

本发明的pc1可以确定第一程序元素成为导通状态的原因的原因元素。更详细地,本发明的pc1可以将第一程序元素作为搜索对象的程序元素,在与搜索对象的程序元素同一电路内,进行确定第二程序元素的第一处理,该第二程序元素通过设为非导通状态而能够将所述搜索对象的程序元素设为非导通状态。

然后,当通过第一处理不能确定第二程序元素时,pc1可以判定在所述搜索对象的程序元素的上层是否存在第三程序元素,该第三程序元素被分配了与分配给搜索对象的程序元素的变量相同的变量。

然后,当判定为不存在第三程序元素时,可以将搜索对象的程序元素作为原因元素以能够与其他程序元素进行区分的状态显示,当判定为存在一个第三程序元素时,将第三程序元素作为下一个搜索对象的程序元素,再次进行第一处理。

另外,当通过第一处理确定了一个第二程序元素时,进一步地,pc1可以判定在第二程序元素的上层是否存在第四程序元素,该第四程序元素被分配了与分配给第二程序元素的变量相同的变量。然后,当判定为不存在第四程序元素时,可以将第二程序元素作为原因元素以能够与其他程序元素进行区分的状态显示,当判定为存在一个第四程序元素时,可以将第四程序元素作为下一个搜索对象的程序元素,再次进行第一处理。

另外,当存在多个所述第二程序元素、所述第三程序元素或者所述第四程序元素中的任意一个时,pc1可以将所述多个程序元素作为原因元素以能够与其他程序元素进行区分的状态显示。以下,使用图8~9,对本实施方式进行说明。

图8是示出本实施方式的pc1的整体的处理的流程的一例的流程图。需要说明的是,图8的各处理中,s100~s112的处理以外的处理是与图4中记载的处理相同的处理。如果接收到输入控制部11在s4或者s5中检测到的指示,则本实施方式的搜索部14判定由用户选择的程序元素即第一程序元素是导通状态还是非导通状态(s6)。当第一程序元素为导通状态时(s6为“是”),搜索部14首先将第一程序元素作为搜索对象的程序元素,在与该程序元素同一电路内,确定第二程序元素,该第二程序元素通过设为非导通状态而能够将所述第一程序元素设为非导通状态(s100,第一处理)。其中,电路表示能够从在梯形图上连接到右母线的某线圈出发,追踪到左母线为止的路径的集合。

当在s100中不能确定第二程序元素时(s100为“不能确定”),搜索部14判定在搜索对象的程序元素的上层是否存在程序元素(第三程序元素),该程序元素(第三程序元素)被分配了与分配给搜索对象的程序元素的变量相同的变量(s102)。

当存在一个第三程序元素时(s102为“存在一个”),搜索部14将第三程序元素作为下一个搜索对象的程序元素,再次进行第一处理(s100)。另一方面,当存在多个第三程序元素时(s102为“存在多个”),搜索部14将该多个第三程序元素作为显示对象(s104),传达给显示控制部15。显示控制部15将该多个程序元素以能够与梯形图上的其他程序元素进行区分的状态显示在显示部30上(s106)。另外,当不存在第三程序元素时(s102为“不存在”),搜索部14将在s100中的搜索对象的程序元素作为显示对象(s108)。然后,显示控制部15进行s106的处理。

当在s100中确定了一个第二程序元素时(s100为“确定一个”),搜索部14判定在第二程序元素的上层是否存在程序元素(第四程序元素),该程序元素(第四程序元素)被分配了与分配给第二程序元素的变量相同的变量(s110)。

当存在一个第四程序元素时(s110为“存在一个”),搜索部14将第四程序元素作为下一个搜索对象的程序元素,再次进行第一处理(s100)。另一方面,当存在多个第四程序元素时(s100为“存在多个”),搜索部14将该多个第四程序元素作为显示对象的原因元素(s104),传达给显示控制部15。显示控制部15将该多个程序元素以能够与梯形图上的其他程序元素进行区分的状态显示在显示部30上(s106)。另外,当不存在第四程序元素时(s110为“不存在”),搜索部14将在s100中确定的第二程序元素作为显示对象的原因元素(s112)。然后,显示控制部15进行s106的处理。

当在s100中确定了多个第二程序元素时(s100为“确定多个”),搜索部14搜索部14将该多个第二程序元素作为显示对象的原因元素(s104),传达给显示控制部15。显示控制部15将该多个程序元素以能够与梯形图上的其他程序元素进行区分的状态显示在显示部30上(s106)。

需要说明的是,各程序元素的显示方法并没有特别的限定,例如可以用围框或阴影强调显示显示对象的程序元素,或者可以仅将显示对象的程序元素用与其他程序元素不同的颜色显示。

根据上述的处理,pc1追溯并搜索导通状态的程序元素,当能够确定一个以上的原因元素时,将该原因元素以能够与其他程序元素进行区分的状态显示。其中,“当能够确定一个以上的原因元素时”,例如有在梯形图成为并联或者串联结构的部位确定了多个原因元素的候选的情况,或者,作为追溯检索的结果,确定了第一程序元素的最上层的程序元素的情况(即,在上层没有用于将该程序元素设为导通状态的程序元素的情况)等。

由此,用户通过经由pc1选择程序元素,从而能够容易地确定所选择的程序元素成为导通状态的原因的原因元素。因此,能够有效地进行梯形程序51的调试或故障原因的追究。

另外,当如上述那样将多个程序元素以能够与其他程序元素进行区分的方式显示时,优选显示控制部15将该多个程序元素以用户能够经由输入部20进行选择的状态显示在显示部30上。然后,当检测到从上述多个程序元素中选择任意一个程序元素的用户的指示时,可以将选择的程序元素作为下一个搜索对象,再次进行s100~s112的处理。由此,通过顺序地选择程序元素,用户能够追溯到上游并知道梯形图的程序元素。例如,当梯形图中存在分支化的部位时,用户能够在该分支部位选择分支目的地并追溯检索程序元素。

需要说明的是,当第一程序元素为非导通状态时(s6为”否”),搜索部14可以如实施方式1~3中说明的那样进行原因触点的检索以及显示(s7~s8)。

图9(a)是示出与本实施方式的梯形程序51对应的梯形图的具体例的图。在图9(a)以及(b)中,所有的程序元素为导通状态。在该状态下,如图9(a)所示,如果由用户进行选择线圈707的输入操作,则输入部20接收该输入操作,并将信号发送给输入控制部11。输入控制部11根据该信号来确定选择的程序元素(线圈707)并传达给搜索部14。

搜索部14判定线圈707是导通状态还是非导通状态。在图9(a)的情况下,由于线圈707是导通状态,因此搜索部14在与线圈707同一电路内,确定第二程序元素。在图9(a)的例子中,作为第二程序元素,确定一个触点706。接下来,搜索部14判定在触点706的上游是否存在程序元素(第四程序元素),该程序元素(第四程序元素)被分配了与分配给触点706的变量相同的变量。在图9(a)的例子中,确定一个被分配了与触点706相同变量d的线圈705。对于线圈705,搜索部14重复进行与触点706相同的处理。

如果这样追溯导通状态的程序元素,则在图9(a)的例子中,当将线圈703作为搜索对象的程序元素进行处理时,确定触点702a和触点702b这两个第二程序元素。如果这样确定多个程序元素,则如图9(a)所示,显示控制部15将该程序元素(触点702a和触点702b)以能够与其他程序元素进行区分的方式显示。需要说明的是,如图所示,显示控制部15可以将作为第一程序元素的线圈707也以能够与其他程序元素进行区分的方式显示在显示部30上。然后,当由用户选择了以能够区分的方式显示的程序元素时,可以将该选择的程序元素作为下一个搜索对象,再次进行追溯检索。

图9(b)是示出与本实施方式的梯形程序51的另一例对应的梯形图。即使在图9(b)的例子中,如图9(a)的例子中说明的那样,搜索部14也进行从第一程序元素追溯并检索导通状态的程序元素的处理。在图9(b)的例子中,当在追溯检索的过程中将线圈803作为搜索对象的程序元素进行了处理时,确定触点802a和触点802b。然后,显示控制部15能够将触点802a和触点802b以能够与其他程序元素进行区分的方式显示。然后,当由用户选择了以能够区分的方式显示的程序元素时,可以将该选择的程序元素作为下一个搜索对象,再次进行追溯检索。

需要说明的是,当如上所述那样搜索部14确定了显示对象的程序元素时,显示控制部15可以不将各个程序元素在梯形图上以能够区分的方式显示,而是单独以列表等形式显示该程序元素。

〔变形例〕

在上述各实施方式中,作为pc1是具有梯形程序51的创建功能的程序创建辅助装置进行了说明。然而,pc1可以不具有梯形程序51的创建功能,而是读取预先存储在存储部50中的梯形程序51,并显示与该梯形程序51对应的梯形图和各程序元素的导通状态。然后,可以在该梯形图中从程序元素确定原因元素并显示。

在该情况下,在pc1中程序创建部12不是必须的,pc1的控制部10经由通信部40从其他pc1等程序创建装置或者plc2接收梯形程序51,并存储在存储部50中即可。然后,根据对于输入部20的用户的输入操作,只要进行存储的梯形程序51的读取以及显示即可。

〔软件的实现例〕

pc1的控制块(控制部10)可以由形成在集成电路(ic芯片)等中的逻辑电路(硬件)来实现,也可以使用cpu(centralprocessingunit;中央处理单元)由软件来实现。

在后者的情况下,pc1包括:执行作为实现各功能的软件的程序的命令的cpu;记录能够在计算机(或者cpu)上读取上述程序以及各种数据的rom(readonlymemory:只读存储器)或者存储装置(这些称为“记录介质”),以及展开上述程序的ram(randomaccessmemory;随机存取存储器)等。然后,通过计算机(或者cpu)从上述记录介质读取并执行上述程序,从而能达成本发明的目的。作为上述记录介质,能够使用“非临时的有形的介质”,例如,磁带、磁盘、卡、半导体存储器、可编程逻辑电路等。另外,上述程序可以经由能够传输该程序的任意的传输介质(通信网络或广播波等)供给至上述计算机。需要说明的是,通过上述程序通过电子传输而被具体化的、嵌入载波中的数据信号的方式,也可以实现本发明。

本发明的一方式的程序创建辅助装置是辅助梯形程序的创建的程序创建辅助装置,所述程序创建辅助装置包括:存储部,存储包含多个程序元素的梯形程序;以及处理部,从所述存储部读取所述梯形程序并执行,所述处理部将与所述梯形程序对应的梯形图和在执行所述梯形程序时各程序元素是导通状态还是非导通状态与所述梯形图相关联地显示在显示部上,所述处理部检测从显示在所述显示部上的所述各程序元素中选择第一程序元素的用户的指示,所述处理部判定所述第一程序元素是导通状态还是非导通状态,根据所述第一程序元素是导通状态还是非导通状态,所述处理部确定所述第一程序元素成为导通状态或者非导通状态的原因的一个以上的原因元素,在所述梯形图中,所述处理部将确定的所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

本发明的一方式的程序创建辅助装置的控制方法是辅助梯形程序的创建的程序创建辅助装置的控制方法,所述控制方法包括:处理步骤,从存储包含多个程序元素的梯形程序的存储部读取所述梯形程序并执行,在所述处理步骤中,执行如下步骤:梯形图显示步骤,将与所述梯形程序对应的梯形图和在执行所述梯形程序时各程序元素是导通状态还是非导通状态与所述梯形图相关联地显示在显示部上;检测步骤,检测从显示在所述显示部上的所述各程序元素中选择第一程序元素的用户的指示;判定步骤,判定所述第一程序元素是导通状态还是非导通状态;程序元素确定步骤,根据所述第一程序元素是导通状态还是非导通状态,确定所述第一程序元素成为导通状态或者非导通状态的原因的一个以上的原因元素;以及程序元素显示步骤,在所述梯形图中,将在所述程序元素确定步骤中确定的所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

本发明的一方式的程序创建辅助装置的控制程序是辅助梯形程序的创建的程序创建辅助装置的控制程序,所述控制程序包括:处理步骤,从存储包含多个程序元素的梯形程序的存储部读取所述梯形程序并执行,在所述处理步骤中,执行如下步骤:梯形图显示步骤,将与所述梯形程序对应的梯形图和在执行所述梯形程序时各程序元素是导通状态还是非导通状态与所述梯形图相关联地显示在显示部上;检测步骤,检测从显示在所述显示部上的所述各程序元素中选择第一程序元素的用户的指示;判定步骤,判定所述第一程序元素是导通状态还是非导通状态;程序元素确定步骤,根据所述第一程序元素是导通状态还是非导通状态,确定所述第一程序元素成为导通状态或者非导通状态的原因的一个以上的原因元素;以及程序元素显示步骤,在所述梯形图中,将在所述程序元素确定步骤中确定的所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

根据所述结构,当用户选择的第一程序元素为导通状态时,程序创建辅助装置确定该程序元素成为导通状态的原因的一个以上的原因元素。另外,当第一程序元素为非导通状态时,程序创建辅助装置确定该程序元素成为非导通状态的原因的原因元素。然后,程序创建辅助装置将确定的原因元素提示给用户。

由此,用户通过经由程序创建辅助装置来选择某个程序元素,从而能够容易地确定该程序元素成为导通状态或者非导通状态的原因的程序元素。因此,能够有效地进行梯形程序的调试或故障原因的追究。

在所述程序创建辅助装置中,当所述第一程序元素为非导通状态时,所述处理部将通过设为导通状态而能够将所述第一程序元素设为导通状态的程序元素确定为下一个搜索对象的程序元素,并反复从该搜索对象的程序元素进一步确定下一个搜索对象的程序元素,当不能确定下一个搜索对象的程序元素时,所述处理部将上一次确定的程序元素确定为所述第一程序元素成为非导通状态的原因的所述原因元素,在所述梯形图中,所述处理部将所述原因元素以能够与其他程序元素进行区分的状态显示在所述显示部上。

根据所述结构,程序创建辅助装置通过从用户选择的第一程序元素开始按顺序自动地追溯并检索上层的非导通状态的程序元素,从而能够确定第一程序元素成为非导通状态的基本的原因的原因元素,并将该原因元素示出给用户。因此,程序创建装置能够自动地确定梯形程序的特定的程序元素是非导通状态的原因并示出给用户。

在所述程序创建辅助装置中,当确定了多个所述原因元素时,所述处理部可以将确定的多个所述原因元素以能够区分的状态显示在所述显示部上。

根据所述结构,程序创建辅助装置能够将多个原因元素示出给用户。由此,例如在与梯形程序对应的梯形图上存在分支等时,能够将被认为是第一程序元素的非导通状态的原因的多个原因元素(原因元素的候选)示出给用户,提高用户检索原因元素的便利性。

在所述程序创建辅助装置中,当所述第一程序元素为导通状态时,所述处理部将所述第一程序元素作为搜索对象的程序元素,在与所述搜索对象的程序元素同一电路内,进行确定第二程序元素的第一处理,该第二程序元素通过设为非导通状态而能够将所述搜索对象的程序元素设为非导通状态,当通过所述第一处理不能确定所述第二程序元素时,判定在所述搜索对象的程序元素的上层是否存在第三程序元素,该第三程序元素被分配了与分配给所述搜索对象的程序元素的变量相同的变量,当通过所述第一处理确定了一个所述第二程序元素时,判定在所述第二程序元素的上层是否存在第四程序元素,该第四程序元素被分配了与分配给该第二程序元素的变量相同的变量,当不存在所述第三程序元素时,将所述搜索对象的程序元素以能够与其他程序元素进行区分的状态显示,当不存在所述第四程序元素时,将所述第二程序元素以能够与其他程序元素进行区分的状态显示,当存在一个所述第三程序元素或者所述第四程序元素时,将所述第三程序元素或者所述第四程序元素作为下一个搜索对象的程序元素,再次进行所述第一处理,当所述第二程序元素、所述第三程序元素和所述第四程序元素中的任意一个确定有多个时,将所述多个程序元素作为所述原因元素以能够与其他程序元素进行区分的状态显示。

根据所述结构,程序创建辅助装置追溯并搜索导通状态的程序元素。然后,当能够确定一个以上的原因元素时,程序创建辅助装置将该原因元素以能够与其他程序元素进行区分的状态显示。其中,“当能够确定一个以上的原因元素时”,例如有在梯形图成为并联或者串联结构的部位确定了多个原因元素的候选的情况,或者,作为追溯检索的结果,确定了第一程序元素的最上层的程序元素的情况(即,在上层没有用于将该程序元素设为导通状态的程序元素的情况)等。

由此,用户通过经由程序创建辅助装置选择程序元素,从而能够容易地确定选择的程序元素成为导通状态的原因的原因元素。因此,能够有效地进行梯形程序的调试或故障原因的追究。

在所述程序创建辅助装置中,当检测出在以能够区分的方式显示在所述显示部上的所述原因元素中选择一个程序元素的用户的指示时,所述处理部可以将所选择的所述原因元素作为下一个搜索对象,再次进行所述第一处理。

根据所述结构,程序创建辅助装置对选择的原因元素进一步地尝试进行第一处理。由此,通过用户按顺序选择所显示的原因元素,从而能够追溯并知道该原因元素的上游的原因元素。

所述程序创建辅助装置还包括连接到可编程逻辑控制器的连接部,所述处理部设定为,能够代替所述处理部而经由所述连接部使所述可编程逻辑控制器执行所述梯形程序,并获取所述可编程逻辑控制器正在执行的梯形程序中的所述各程序元素的导通状态。

根据所述结构,程序创建辅助装置能够确认在可编程逻辑控制器正在执行的梯形程序中的各程序元素是导通状态还是非导通状态。因此,用户能够实时地发现在可编程逻辑控制器实际执行了梯形程序时的分支部位或故障部位(成为非导通状态的程序元素),能够检索以及确定该部位的原因。

在所述程序创建辅助装置中,所述处理部以规定的时间间隔获取所述各程序元素的导通状态,并将获取的所述各程序元素的导通状态显示在所述显示部上。

根据所述结构,程序创建辅助装置实时地监视在可编程逻辑控制器正在执行的梯形程序,同时能够以规定的时间间隔更新该梯形程序的各程序元素是导通状态还是非导通状态。因此,用户能够实时地发现在可编程逻辑控制器正在执行的梯形程序的问题部位(成为非导通状态的程序元素),能够实时地检索以及确定该问题部位的原因。

本发明并不限于上述的各实施方式,在权利要求所示的范围内能够进行各种变更,针对适当地组合在不同的实施方式中分别公开的技术手段而获得的实施方式也包含在本发明的技术范围中。

附图标记说明

1pc(程序创建辅助装置)

10控制部(处理部)

11输入控制部

12程序创建部

13监视值获取部

14搜索部

141触点确定部

142元素确定部

15显示控制部

20输入部

30显示部

40通信部(连接部)

50存储部

51梯形程序

2plc(可编程逻辑控制器)

70通信单元

80cpu单元

90存储单元

3设备

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1