可编程控制器的制作方法

文档序号:6269327阅读:240来源:国知局
专利名称:可编程控制器的制作方法
技术领域
本发明涉及对各种类型的机器和设备进行顺序控制的可编程控制器。
背景技术
在可编程控制器中使用的顺序程序通过由如图10中的梯形图所示的梯形图程序构成,且由主程序和主程序所调用的子程序组成。根据图10中所示的例子,顺序程序由主程序1和2以及子程序P1,P2和P3组成。“END 1”指令意味着主程序1的结束。直到“END 1”指令的程序是主程序,END 1”指令之后直到“END 2”指令的是主程序2。“END 2”指令表示了主程序2的结束。“CALL”指令表示子程序的调用。例如,“CALL P1”读出并执行了子程序P1。“SP”指令表示子程序的开始,而“SPE”指令表示子程序的结束。因此,从“SP”指令到“SPE”指令的处理是“调用”指令选定的子程序。此外,“结束”指令表示所有程序的结束。
需要时间来编辑上述的顺序程序(梯形图程序)并且需要时间在顺序程序(梯形图程序)发生问题的情况下在屏幕上显示顺序程序(梯形图程序)并找出目标点。由于这个原因,根据如图11所示的连接了监视器的公知可编程控制器,在显示器屏幕左部显示了程序列表,右部显示了梯形图程序。通过从显示器屏幕左边部分显示的程序列表选择子程序,把子程序的梯形图显示出来,并且滚动该梯形图来找到目标点(参考JP5-341815A)。
如图12所示,梯形图部分可以用放大的尺度显示在屏幕上。通常,为了检查显示的梯形图中触点和线圈的导通/断开状态,用特别显示特性显示处于导通状态的触点和线圈来和其他区别。在图11和12中,通过以与其它触点和线圈不同的方式来显示,指出了由参考标记a和激活的阴影显示的恒定关闭触点(连接为断开)。
尽管能够选定子程序显示梯形图并显示梯形图中信号的导通/断开状态,然而并不知道是否实际执行了子程序。由于这个原因,当在子程序中出现问题时,必需追踪回到梯形图中子程序的调用源,确认发出了对子程序的调用,然后接着调查程序中问题的原因。
例如在图10中,在子程序P2中问题发生的情况下,追查梯形图来确定是否发出了对子程序P2的调用,并且如参考标记a所示,确认了CALL(调用)指令网络关于子程序P2的触点“CALL P2”是导通的。只有这样以后,才能够确认调用并执行了子程序P2。
如上所述,当在顺序程序中发生问题时会有问题,需要时间来调查问题原因。

发明内容
本发明提供了在顺序程序中出现问题的情形下使得顺序程序的调查变得容易的可编程控制器。
根据本发明,具有用于监视顺序程序的监视设备的可编程控制器包括用于记录执行中的顺序程序中子程序的执行状态的记录装置;用于读取记录装置记录的执行状态的读取装置;以及显示控制装置,用于根据读取装置读取的执行状态,在监视设备上显示顺序程序中需要相互区别的已执行的子程序和未执行的子程序,从而使得顺序程序的调查变得容易。
显示控制装置可以通过不同的显示亮度或不同的显示颜色来显示已执行的子程序和未执行的子程序。
由于已执行的子程序和未执行的子程序在监视设备上是相互区别的,顺序程序在子程序出现问题的情形下顺序程序的调查变得容易了。


图1是说明了本发明的一个具体实施例中可编程控制器的基本部分的框图;图2是说明了相同实施例中顺序程序的执行处理的流程图;图3是说明了相同实施例中顺序程序的显示处理的流程图;图4是相同实施例中子程序信息表的说明性示图;图5是相同实施例中子程序执行状态工作存储的说明性示图;图6是相同实施例中子程序执行状态存储器的说明性示图;图7显示了相同实施例中顺序程序显示的例子;
图8显示了相同实施例中梯形图放大显示的例子;图9是用于解释梯形图显示中已执行状态的子程序和未执行状态的子程序之间区别的说明性示图;图10显示了梯形图的一个例子;图11显示了传统可编程控制器中顺序程序显示的例子;以及图12显示了传统可编程控制器中梯形图放大显示的例子。
具体实施例方式
下面将参考附图描述本发明的可编程控制器的一个具体实施例。
图1是说明了具体实施例的基本部分的框图。可编程控制器10由以下部分形成用于控制整个可编程控制器的处理器11,用于存储处理器11所执行软件的ROM 12,包括用于存储梯形图程序(顺序程序)的梯形图程序存储器的RAM 13,之后将提到的子程序信息表13b,子程序执行状态工作存储器13c,子程序执行状态存储器13d等,用于存储触点和线圈(继电器)导通/断开状态的信号存储器14,用于连接外部输入/输出设备31的输入/输出设备接口15等等。它们通过总线30相互连接。
监视设备20连接到总线30。在监视设备20中,用于控制整个监视器的处理器21,用于存储监视软件的ROM 22,工作存储器23,到显示器CRT 32的接口24,到键盘33的接口25通过总线相互连接。可以使用液晶或其它显示器作为显示设备。
监视设备20所连接的可编程控制器10与公知的一种可编程控制器实质上是相同。然而可编程控制器10与传统可编程控制器的区别在于在RAM 13中设置了子程序信息表13b,子程序执行状态工作存储器13c,子程序执行状态存储器13d,以及如下所述,以亮度之类的形式与其它梯形图相区别地显示处于已执行状态的子程序的梯形图。
图4是子程序信息表13b的说明性示图。子程序信息表13b是通过在顺序程序准备完成并存储在梯形图程序存储器13a中以后的一个处理生成的;输入“子程序信息获取”指令到可编程控制器;处理器11接着分析顺序程序(梯形图程序)并按照每个子程序编号(子程序名字)把开始网络编号(“SP”指令的网络编号)和结束网络编号(“SPE”指令的网络编号)写入子程序信息表13b。
子程序执行状态工作存储器13c按照如图5所示的每个子程序编号(子程序名字)存储关于每个子程序在当前顺序程序的执行周期中是否已经被执行的信息。当子程序已经被执行时,把“1”写入状态指示比特中。
在结束顺序程序的一个执行周期以后,在子程序执行状态存储器13d中复制子程序执行状态工作存储器13c的状态存储比特的存储内容,如图6中所示,按照每个子程序编号(子程序名字)存储前一周期中子程序的执行状态。当显示梯形图的时候,根据子程序执行状态存储器13d以包括显示亮度,颜色之类的显示性质改变子程序的梯形图,从而把该梯形图与其它相区别。
图2的流程图说明了一个处理,该处理重点集中在当可编程控制器10的处理器11执行顺序程序的时候与本发明相关的部分。
一旦输入了对于顺序程序的START(开始)指令,执行指针P首先设置为初始值“1”(步骤100)。从梯形图程序中读出由指针P指示的网络编号下的网络,并判断该网络指令是否是子程序的CALL(调用)指令(步骤101)。如果不是CALL指令,执行读出指令(步骤102),并将指针P加1(步骤103)。判断指针P指示的网络指令是顺序程序的END(结束)(步骤104)。如果指令不是END,程序回到步骤101,从而如上所述判断该网络指令是否是子程序的CALL指令。其后,重复执行从步骤101到104的处理直到读到SUBPROGRAM READ-OUT(子程序读出)指令。
当步骤101判断指令为SUBPROGRAM READ-OUT指令的时候,在子程序执行状态工作存储器13c中写入“1”作为用于读出子程序编号(子程序名字)的状态存储比特,并且存储了在该周期中执行了该子程序的事实。接着,在执行指针P的数值上加“1”,并在寄存器MP中存储主程序中下一网络编号的数值(步骤108)。从子程序信息表13b中读出指令所给向的子程序编号(名字)的开始网络编号,指针P设定到读出开始网络编号(步骤109)。当指针P被“1”所更新的时候执行由指针P指示的网络指令直到读到表示子程序结束的“SPE”(步骤110到112)。一旦读到表示子程序结束的“SPE”,把在步骤108中存储到寄存器MP中的指示主程序下一网络编号的数值设定在指针P中(步骤113),程序回到步骤101。
其后,执行从步骤101到104的处理。每次读到SUBPROGRAM CALL(子程序调用)指令,执行从步骤107到113的程序,从而执行顺序程序。
以这种方式,如果步骤104判断读到了顺序程序的END指令,把子程序执行状态工作存储器13c中指示每个子程序执行状态的比特数值复制并存储到子程序执行状态存储器13d中(参考图6)(步骤105)。接着,把子程序执行状态工作存储器13c中的状态存储值清“0”来准备下一周期中使用的子程序的存储(步骤106),并且程序回到步骤100。
图3是显示了监视设备20中的处理器21执行的顺序程序的显示处理的流程图。
当输入SEQUENCE PROGRAM DISPLAY(顺序程序显示)指令,监视器屏幕切换到如图7所示的顺序程序列表显示。在用于存储“显示网络编号”的寄存器中设置的选定程序的开始网络编号(步骤200)。通常,初始选定整个程序,从而“显示网络编号”设定为“1”。如果以前选定了子程序或主程序的等级编号,则设定该程序的开始网络编号。在是子程序的情况下,从图4所示的子程序信息表13b中读出需要被设定的选定子程序开始网络编号。如果主程序划分为等级,预先设定并存储了各个等级的开始网络编号。对应选定等级编号的预先设定开始网络编号被设定作为“显示网络编号”。在图7中显示的例子中,选择子程序P1。
在下一位置,根据存储在寄存器中的“显示网络编号”从RAM 13中的梯形图程序存储器13a中存储的梯形图程序中读出梯形图的一个网络(步骤201)。基于网络编号和子程序信息表13b(参考图4)判断读出网络是否是子程序。如果“显示网络编号”在子程序信息表13b存储的每个子程序的开始网络编号和结束网络编号之间不存在,程序进行到步骤211以通常亮度显示网络梯形图,接着进行到步骤206。
如果识别“显示网络编号”为子程序中的网络编号,根据该网络所属的子程序编号(名字)读取存储在子程序执行状态存储器13d中存储的状态(步骤203),判断该状态是否为表示该子程序已经被执行的“1”(步骤204)。如果状态是“1”,而子程序已经被执行,以通常亮度显示网络梯形图(步骤211),程序进行到步骤206。如果状态是“0”,而子程序没有处于已经执行状态,以低亮度显示网络梯形图(步骤205),程序接着进行到步骤206。
在步骤206,判断是否完成一个屏幕画面的显示。如果还没有完成一个画面屏幕的显示,程序前进到步骤212,并把“显示网络编号”寄存器加“1”。接着程序回到步骤201并执行上述处理。
当完成了一个画面的显示,从信号存储器14中读出在屏幕画面上显示的梯形图中触点和线圈的信号状态(步骤207)。根据读出的信号状态,更新显示的梯形图中每个触点和线圈的导通/断开状态(步骤208)。
判断是否输入了SCROLL(滚动)指令(步骤209),以及选定程序是否有变化(步骤210)。如果两者都没有输入,程序回到步骤207并重复执行从步骤207到步骤210的处理。
当输入了滚动指令,执行滚动程序。在SCROLL-UP(向上滚动)的情况下,把“显示网络编号”加1,并且该网络编号作为附加显示网络编号,从而回到步骤202。在SCROLL-DOWN(向下滚动)的情况下,显示向下滚动。把“显示网络编号”减1,并同时把比当前显示的最小网络编号小1的网络编号作为附加显示网络编号。接着程序进行到步骤202。当输入滚动指令,显示如同所述进行滚动。此外,以低亮度显示处于未执行状态的子程序的梯形图。而以通常亮度显示其他梯形图。
在从监视设备20的屏幕上显示的程序列表中选择了另一个程序(主程序,其中的等级,子程序之类)(步骤210),程序回到步骤200,并且从所述选定程序的开始网络编号开始梯形图的显示。
图7的例子中选定了子程序P1,显示了其中的梯形图。在这种情况下,由于子程序P1未执行(未在前一周期中执行),从而对应子程序P1的梯形图以低亮度显示。图7用虚线显示了梯形图来表示低亮度。对比图11显示的现有技术例子中相同屏幕的显示例子,显示根据本实施例的显示的图7的区别在于子程序P1的梯形图以较低亮度显示(以虚线)。
图8的示图显示了上面的屏幕中梯形图的放大显示。只有子程序P1以较低亮度显示(通过虚线),而其它部分以通常亮度显示(通过实线)。与显示了图8中相同屏幕的现有技术例子的图12相比很明显,尽管在图12显示的现有技术例子中所有的梯形图以相同亮度显示(通过实线),在图8中只有未执行的子程序P1以低亮度(虚线)显示。
换而言之,如图9中的箭头A所示,如果子程序P1被执行了,子程序梯形图以通常亮度显示。如图9中的箭头B所示,以低亮度(虚线)显示未执行子程序P2的梯形图(通过虚线)。在图10中,执行了子程序P2,只有子程序P2的梯形图以粗线显示从而与其它处于未执行状态的子程序区别。
在图7,8和9中,如同图11和12中一样,参考标记a表示处于工作状态的触点。
尽管在上面的实施例中,可以通过显示的梯形图区别的亮度相互区别处于已执行状态和未执行状态的子程序,可以通过显示颜色代替亮度来相互区别子程序。可供选择地,也可以对于未执行子程序区别背景颜色。总而言之,在已执行子程序和未执行子程序的梯形图中,可以使显示形式不同,从而已执行和未执行可以相互区分。
权利要求
1.具有用于监视顺序程序的监视设备的可编程控制器,包括用于记录执行中的顺序程序中子程序的执行状态的记录装置;用于读取所述记录装置记录的执行状态的读取装置;以及用于根据所述读取装置读取的执行状态,在监视设备上显示顺序程序中需要相互区别的已执行的子程序和未执行的子程序的显示控制装置。
2.如权利要求1所述可编程控制器,其中所述显示控制装置可以通过不同的显示亮度来显示要区别的已执行的子程序和未执行的子程序。
3.如权利要求1所述可编程控制器,其中所述显示控制装置可以通过不同的显示颜色来显示要区别的已执行的子程序和未执行的子程序。
全文摘要
使得调查顺序程序的情形下调查变得容易的可编程控制器。当显示顺序程序的梯形图时,以通常亮度显示主程序和已执行子程序的梯形图。以低亮度显示未执行子程序的梯形图。从而当显示梯形图的时候,能够容易地识别子程序是否已执行,这使得顺序程序的调查变得容易。
文档编号G05B19/05GK1755561SQ200510105708
公开日2006年4月5日 申请日期2005年9月27日 优先权日2004年9月27日
发明者长岛范武, 长谷川哲 申请人:发那科株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1