CN101482736A - 安全控制器的程序开发支持装置 - Google Patents
安全控制器的程序开发支持装置 Download PDFInfo
- Publication number
- CN101482736A CN101482736A CNA2008102463939A CN200810246393A CN101482736A CN 101482736 A CN101482736 A CN 101482736A CN A2008102463939 A CNA2008102463939 A CN A2008102463939A CN 200810246393 A CN200810246393 A CN 200810246393A CN 101482736 A CN101482736 A CN 101482736A
- Authority
- CN
- China
- Prior art keywords
- functional block
- input
- template
- row
- side template
- 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.)
- Pending
Links
Images
Abstract
本发明涉及一种安全控制器的程序开发支持装置。根据功能块配置模板的引导来执行将功能块布置到编程区,在该功能块配置模板中,水平且垂直地定义块可布置位置,并且将行方向的一个端侧定义为输入端子侧,且将另一个端侧定义为输出端子侧;并且,该模板被分为位于输入侧的输入侧模板和位于输出侧的输出侧模板,所述输入侧模板包括分别接受与输入信号相关的预定类型的功能块的布置的多个连续列,且所述输出侧模板包括分别接受与输出信号相关的预定类型的功能块的布置的多个连续列。
Description
技术领域
本发明涉及一种安全控制器的程序开发支持装置,其中,安全控制器程序通过一系列的用户操作而自动产生,该一系列的用户操作用于描述与在图像显示器屏幕上的编程区中的所期望的控制规范对应的逻辑电路图。
背景技术
与通用可编程控制器(PLC)类似,除逻辑计算功能以及输入/输出控制功能之外,安全控制器合并了用于安全方面的自诊断功能以确保其控制期间的高度安全性和可靠性,同时,安全控制器也具有强制执行安全控制的功能(故障/安全功能),以使得当在自诊断结果中检测出异常时,其控制不会导致危险。
更具体地,这里所指的安全性是标准化的安全标准。安全标准包括IEC61508以及EN标准。在IEC 61508(涉及可编程电子系统的功能安全的国际电工委员会)中,定义了每小时的危险故障概率(每小时的故障概率),并且SIL级别(安全完整性级别)根据该概率被分成四级。在EN标准中,评估机器的风险(risk)等级,其中强制性地采取措施以减少风险,并且在EN954-1中定义了5个安全类别。这里所指的安全控制器、安全I/O端子等等与这样的安全标准中的一个对应。
图37示出了用于创建安全控制器控制程序的传统程序开发支持装置(由日本的Omron公司制造的安全网络控制器)的逻辑电路图显示示例。
该程序开发支持装置(第一相关技术)被配置为使得通过一系列的用户操作而自动产生安全控制器控制程序,该一系列的用户操作通过下述而完成与所期望的控制规范对应的逻辑电路图:依序在图像显示器的屏幕上的编程区(filed)801中布置从预先准备的多种类型的功能块中选择出的一类功能块(FB81到FB85),并且为每一个功能块设置必要的唯一的参数(未示出)(在这个例子里,通过鼠标的拖拽操作为拉丝(wire draw)自动设置参数)。
与用户在编程区801绘制的逻辑电路对应创建的电路图数据(未示出)经过预定的编译过程,并且被转换成安装(setting)文件,安全控制器能够直接在该安装文件上执行译码。以上述方式获得的用于执行的安装文件通过通信或者通过便携式记录介质被安装在目标安全控制器中。
根据第一相关技术,关于功能块和端子显示器(这里指电路元件)的布置位置在编程区801中并不固定,并且因此所期望的电路元件可以被布置在编程区801中的任意位置上,而且电路元件的布置自由度较高。为了容纳所有所期望的电子元件并且布置(布局)这样的电子元件以便整个的电路操作在有限大小的编程区801内可以被容易地理解,在设计方面需要一定的判断力和资格,因此,对于那些判断力较差以及不够资格的人(例如,指Omron公司的目录(可从URL http://www.fa.omron.co.jp/product/32.html获得))来说可能并非是用户友好的。
图38示出了用于创建安全控制器控制程序的另一个传统程序开发支持装置(由德国的PILZ公司制造)的逻辑电路图显示示例。
该程序开发支持装置(第二相关技术)也被配置为使得通过一系列的用户操作而自动产生安全控制器控制程序,该一系列的用户操作通过下述而完成与所期望的控制规范对应的逻辑电路图:依序在图像显示器的屏幕上的编程区901中布置从预先准备的多种类型的功能块中选择出的一类功能块(FB91到FB95),并且为每一个功能块设置必要的唯一的参数(未示出)(在这个例子里,通过鼠标的拖拽操作为拉丝自动设置参数)。
此外,在第二相关的技术中,根据在编程区901上显示的功能块布置模板900的指导来执行对于编程区901的功能块的布置,其中,利用作为参考方向的屏幕的垂直方向来定义多个行(R1,R2,R3......)和多个列(C1,C2,C3......),行(R)方向的一端(左端)被定义为输入侧,另一端(右端)被定义为输出侧,与行(R1,R2,R3......)和列(C1,C2,C3......)的每一个交叉位置对应而定义多个块可布置的位置(A11到A33)。
与第一相关技术类似,与用户在编程区901绘制的逻辑电路对应创建的电路图数据经过预定的编译过程,并且被转换成安装文件,安全控制器能够直接在该安装文件上执行译码。以上述方式获得的用于执行的安装文件通过通信或者通过便携式记录介质被安装在目标安全控制器中。
根据第二相关技术,由于在编程区901中提前限定了电路元件的布置位置,所以选择所期望的电路元件。此后,当通过鼠标的拖拽操作等将相关的电路元件带到靠近预定的布置位置时,所拖拽的电路元件被自动引领到该预定的布置位置。因此,即使是那些对于布局的设计缺乏判断力或者资格的人也能在编程区901中有效地布置多个所选择的电路元件,并且不需要像在第一相关技术(例如,指PILZ公司的目录(从URLhttp://www.pilz.jp/p_saferelay7.htm可获得))中那样为所选择的电路元件的布局而感到烦恼。
发明内容
在这种类型的程序开发支持装置中,必要的功能块需要被合适地布置在逻辑电路图的必要的位置,同时不仅要考虑在输入和输出之间的信号逻辑,而且要考虑在产生与所希望的安全控制器规范对应的逻辑电路图期间的安全控制器的特有的各种情况。
例如,当创建逻辑电路图以便如果从一个、或两个或多个输入端子获得的输入信号指示预定的逻辑值(危险),则从一个、或两个或多个输出端子传送具有预定逻辑值(停止危险源)的输出信号时,如果逻辑电路图是没有安全规范的正常控制器(PLC等),则相应于输入/输出逻辑的逻辑计算功能块仅仅需要被布置在输入/输出端子列之间。
然而,如果逻辑电路图是具有安全规范的控制器,则即使从输入端子获得指示某类危险的输入信号,相关的输入信号也可能来自其自身检测危险的输入设备(安全紧急停止开关、安全灯窗帘、安全限制开关、安全门开关等等)的故障,并且因此这样的输入信号不能被立即检索并提供给必要的逻辑计算。因此,对于每一个输入设备的、结合了合适的故障诊断功能等的输入系统功能块需要至少被布置在逻辑计算功能块(例如,AND功能块)级之前。
即使通过这样的输入系统功能块而获得了指示某类危险的输入信号,这样的输入信号也可能来自当知晓危险的工人进入危险区域进行调节和维护时,并且因此这样的输入信号不能被立即检索并提供给必要的逻辑计算。当满足与调节和维护时机对应的预定条件时,具有使输入信号无效的功能的无效功能块需要至少被布置在逻辑计算功能块级之前。
当通过这样的输入系统功能块和/或无效功能块而获得指示某类危险的输入信号时,由于安全配置的原因,这样的输入信号可能不能被立即检索并提供给必要的逻辑计算(特别地,在输入信号来自于即时操作/即时恢复,接触点的情况下),这是,所述安全配置的原因在于,输出信号的状态不能随着从指示危险的状态恢复到指示安全的状态而被立即恢复。因此,具有保持输入信号的危险状态的设置功能、释放保持危险状态的重置功能以及定义重置条件的功能的设置/重置功能块有时候可能需要至少被布置在逻辑计算功能块级之前。
考虑到输出设备自身故障的可能性,将逻辑计算输出条件功能块的输出信号无条件地传送到输出设备不一定合适。因此,结合了合适的故障诊断功能等(例如,EDM/功能块)的外部输出设备监视功能块需要至少被布置在每一个输出设备的输出条件功能块级之前。
考虑到每一个输出设备的唯一操作延迟时间,同时传送来自多个输出端子的每一个的输出信号不一定合适。因此,具有延迟输出信号的开启(ON)定时和/或关断(OFF)定时的功能的端子模式功能块需要至少被布置在输出条件功能块级之后。
因此,在对插入逻辑电路图的安全控制器的编程期间,用户被请求来执行将必要的功能块合适地布置到从输入端子到输出端子的信号路径的必要位置上的任务。在充分考虑到上述安全控制器的特有情形后适当地执行这项任务,因此对于不熟悉安全控制器的编程的初学者来说是不容易的,并且,可能会遗漏必要的功能块,且可能发生例如必要的功能块出现了但是被布置在错误的位置上这样的编程错误。
在第一和第二相关的技术中,在每一个功能块要被布置到编程区的位置和在相关位置处布置的功能块类型之间不存在严格的关系,因此即使最初要被布置的多个功能块中的一个因为错误而遗漏或者被布置在错误的位置,也难以从每一个功能块的布局中立即识别出这样的缺陷。
因此,在相关的技术中,为了找到编程错误,需要在考虑特定控制情形的同时按顺序追踪从输入端子到输出端子的信号路径的安全验证任务,并且这样验证任务的复杂性是使这种类型的安全控制器的广泛使用受到约束的一个原因。
假设随着安全控制器的广泛使用,在安全控制器的编程中使用的功能块的类型会越来越多地增加,因此期望有更不太可能导致编程错误的安全控制器的编程开发支持装置,并且其能够在即使假定存在众多类型的功能块的未来的情形中发生编程错误也能容易地发现该错误。
此外,由于在上述的第一和第二相关技术中用于限定功能块之间的连接关系的唯一参数的设置被设计为通过连接相关功能块的信号线的拖拽操作来执行,所以当依赖于输出电路图尝试验证在所完成的程序中的输出条件功能块的设置参数时,必然需要用于检验所完成的逻辑电路图的布线以及在安全输入/输出设备对应表(图39)上的输入/输出关系的复杂的操作,因而验证变得比较麻烦。
考虑到上述的问题,本发明的一个目的是提供一种安全控制器的编程开发支持装置,其中更不太可能发生诸如功能块被布置在错误的位置或以错误的顺序被布置的错误,并且即使发生这样的编程错误,也能够容易地发现该编程错误,并且其中便于对所完成的程序中的输出条件功能块的参数验证。
上述技术问题能够通过具有下述配置的安全控制器的编程开发支持装置来解决。
安全控制器的编程开发支持装置具有基本的配置,包括处理单元,操作以使得通过一系列的用户操作而自动产生安全控制器的控制程序,该一系列的用户操作用于通过顺序地将从提前准备的多种类型的功能块中选择出的一种类型的功能块布置在图像显示器的屏幕上的编程区中,并且通过为每一个功能块设置必要的唯一参数,来完成与所希望的控制规范对应的逻辑电路图。
除了这样的基本配置,编程开发支持装置包括引导显示设备,显示在所述编程区上,用于使得能够根据功能块布置模版的引导来将所述功能块布置到所述编程区中,所述功能块布置模版以块可布置位置来定义,以便与行和列的每一个交叉位置对应,并且功能块布置模版将行方向的一个端侧定义为输入端子侧,且将另一个端侧定义为输出端子侧。
功能块配置模板被分成:位于模板输入侧的输入侧模板,其包括分别接受与输入信号相关的预定类型的功能块的布置的多个连续列;以及位于模板输出侧的输出侧模板,其包括分别接受与输出信号相关的预定类型的功能块的布置的多个连续列。
根据包括如上操作的引导显示设备的配置,将对于编程区的功能块的布置引导到在编程区上显示的块可布置位置,该块可布置位置被限定为与行和列的每一个交叉位置位置,因此,当在自动地垂直和水平对准每一个功能块的同时对其进行布置,由此用户不需要关注功能块的布局。
由于在所完成的逻辑电路上对于每一个功能块来说相同的类型按列方向排列,所以可以以列为单位来检验相同类型的功能块是否排成一列以对所完成的逻辑电路进行验证,或者如果在一行中遗漏了功能块,则可以检验用于检验相关功能块的布置是否被遗忘的机械校验任务,因此便于所完成的逻辑电路的验证。
由于功能块配置模板被分成位于模板输入侧的输入侧模板和位于模板输出侧的输出侧模板,所述输入侧模板包括分别接受与输入信号相关的预定类型的功能块的布置的多个连续列,所述输出侧模板包括分别接受与输出信号相关的预定类型的功能块的布置的多个连续列,所以布置在输入侧模板的每一行上的一系列功能块处理一个公共的输入信号,并且布置在输出侧板的每一行上的一系列功能块也处理一个公共的输出信号,由此,在所创建的逻辑电路中的每一个输入/输出信号系统之间以及每一个模版的每一行之间的对应关系是清楚的,并且因此更不太可能发生将一个输入(或输出)信号系统的功能块布置到其他输入(或输出)信号系统中的编程错误。
如果输入侧模板和输出侧模板在引导显示设备中的编程区上交替显示,则可以专用于输入侧逻辑电路或输出侧逻辑电路中的一个,以便对相关侧功能块的布置给予全部的关注,并且变得进一步更不太可能发生编程错误。
此外,如果在引导显示设备中的编程区上首先显示输入侧模板并且随后显示输出侧模板,则用户在完成了与输入侧逻辑电路相关的编程后,进行与输出侧逻辑电路相关的编程,其中输入侧逻辑电路的编程结果在输出侧逻辑电路的编程期间是必要的,因此更不太可能发生编程错误。
在本发明的优选实施例的编程开发支持装置中,引导显示设备可以包括指引设备,用于根据提前定义的布置过程,将每一个功能块指引到提前定义的布置列中,从而使得根据为每一种类型提前定义的布置列和布置过程将由用户选择的功能块布置到每一个模板的相应列的块可布置位置。
根据这样的配置,由于引导显示设备包括上述的“用于指引的指引设备”,所以由用户选择的功能不仅被配置在为每一种类型提前定义的布置列中,而且根据提前定义的布置过程(时间布置顺序)而被布置在每一个模版的相关列的块可布置位置上,这样,可以通过定义布置过程来抑制由于在布置时布置另一个必要功能块的失败而导致发生的编程错误,从而提前完成在每一个功能块的布置时需要参考的另一个功能块的布置。
在这种情况下,根据计划的布置顺序将每一个功能块指引到所计划的布置列的指引设备可以是引导显示器,用于促使用户的必要的操作。
按照这样的配置,通过经由引导显示器对用户的思维进行作用,可以通过用户的操作根据预定的布置过程将每一个功能块指引到所计划的布置列。
用于根据所计划的布置过程将每一个功能块指引到所计划的布置列的指引设备可以检测下述操作并且禁止所述操作,或者检测所述操作以发出警告:在所述操作中,根据除了为每一种类型提前定义的布置列之外的布置列或者根据除了提前定义的布置过程之外的布置过程来将用户选择的功能块布置到每一个模板上。
根据这样的配置,通过禁止措施或者警告,能够消除错误的功能块布置操作,使得可以通过用户的有意操作或者强制性的操作,根据所计划的布置过程将每一个功能块指引到所计划的布置列。
用于根据所计划的布置过程将每一个功能块指引到所计划的布置列的指引设备强制性地拒绝将除了计划被布置的功能块之外的功能块布置到相应列中。
根据这样的强制性拒绝方法,每一个功能块可以被可靠地布置在从输入端到输出端的行方向上的信号路径的相应列上,而不管用户通过施加外界力(phasical force)而表达的意愿如何。
用于将每一个功能块的配置指引到相应的列的指引设备可以一起使用引导显示方法和强制性拒绝方法。
根据这样的配置,通过使用视觉对用户的思维产生影响并施加外界力,每一个功能块可意被更可靠地布置在从输入端到输出端的行方向上的信号路径的相应列上。
可以采用各种模式来用于引导显示,以促使用户将每一个功能块布置在相应的列上。
第一方面包括将显示要被配置在相关列上的功能块的名或者功能块所属的类型名的索引布置在模板上与每一列对应的位置。
第二方面包括对模板上的每一列以及要被布置在相关列上的功能块提供相同的或公共的可视特征(例如,相同的色彩、相同的或公共的背景图案、相同的或公共的标记等等)。
第三方面包括使得模板上的每一列的布置计划区域以及要被布置在相关列上的功能块具有相同的轮廓外形。
根据上述的引导显示方法,沿着行方向从输入端侧延伸到输出端侧的每个信号路径横穿一系列的列,因此通过以检验列表的方式连续搜索沿着相同的信号路径与每一条信号路径交叉的列显示,可以减少忘记布置或者错误布置功能块。即使在功能块的布置完成之后,也可以以检验列表的形式类似地连续搜索沿着相同的信号路径与每一条信号路径交叉的列显示,以便容易地验证忘记布置或者错误布置功能块。
可以采用各种模式来用于强制性拒绝功能,该强制性拒绝功能用于强制性地拒绝将除了计划被布置的功能块之外的功能块布置到相关列。
第一方面包括对于每一列仅仅向用户呈现在相关列上可布置的类型的功能块作为菜单(小窗口、下拉菜单等等),并且允许仅当用户在菜单上做出选择操作时才将功能块布置到相关列。
第二方面包括将可选功能块的组布置在屏幕上的特定区域,其中即使在除了相关功能块可以被布置的列之外的列上做出了放下操作,功能块可以通过鼠标的拖拽操作而被移动到编程区,但是功能块不能被固定位置。
第三方面包括将可选功能块的组布置在屏幕上的特定区域,其中功能块的显示和每一列的指定一起操作,并且仅仅相关列中可布置的功能块被激活,且仅在激活状态下通过拖放操作而被移动到编程区并且被固定在相关列。
在这种情况下,当模板是输入侧模板时,提前定义的布置过程可以是从靠近输入端侧的列开始依序布置每一个功能块的布置过程。
当将多个功能块在输入侧模板的每一列中布置成一条直线以便从靠近输入端侧的功能块开始依序进行处理,从而便于对于电路操作的理解时,这样的配置在抑制编程错误方面是有效的。
当模板是输出侧模板时,提前定义的布置过程可以是从靠近输出端侧的列开始依序布置每一个功能块的布置过程。
当将多个功能块在输出侧模板的每一列中布置成一条直线以便从靠近输出端侧的功能块开始依序进行处理,从而便于对于电路操作的理解时,这样的配置在抑制编程错误方面是有效的。
此外,当将每一个功能块布置在输入侧模版时,关于至少在输入端子和输入到该输入端子的输入设备之间的对应关系的设置对于每一个功能块来说是需要的,当在输入侧模板完成该设置时,所设置的对应关系被记录在装置的存储介质中作为输入设备表;当将每一个功能块布置在输出侧模板上时,至少需要设置输入信号作为输出条件功能块的唯一参数,该输出条件功能块是功能块之一;进一步布置输入信号设置设备,用于使得当设置该输入信号时能够通过参考输入设备表从菜单显示的输入信号列表中选择所希望的输入信号,并且从而与相关技术的例子中需要返回追踪逻辑电路图上的布线相反,在完成程序后,任何人可以通过检验通常在这种类型的编程之前创建的安全输入/输出设备对应表和菜单显示的输入信号列表来容易地执行验证,并且分别记录输入信号数据的任务对于菜单显示来说变得没有必要。
通过将要设置的输入信号名布置在于图像显示器的屏幕上打开的菜单窗口内来执行输入信号列表的菜单显示,输入信号的选择操作以及程序完成后的验证任务将进一步变得容易。
应该注意的是,可以采用各种其他模式来用于输入信号列表的菜单显示模式。例如,如果输入端子的数量增加诸如16点、32点以及64点,则要被选择的输入信号的数量相应于所增加的输入端子的数量而增加,在这种情况下,通过将输入信号分成几个组来分几次对输入信号进行菜单显示。
当输入点的数量非常多时,如果与目标输出条件功能块相关的输入信号的范围可以被逻辑地估计为一定的程度,则可以提供AI功能,以使得通过优选地限制(narrow)属于高可能性组的输入信号或者限制属于相关组的输入信号来执行菜单显示,由此可以有效地执行选择操作。
关于在菜单显示的输入信号列表中的输入信号显示,除了表示输入信号的名、符号等之外,可以使用目标输入端子的名、符号等,并且在显示屏幕具有额外空间的条件下,如果已知要被比较的安全输入/输出设备对应表的通常形式,则可以通过基于为每一个输出条件功能块设置的输入信号数据以及被分配给每一个输出端子的安全输出设备数据执行逆装配处理,来以图形的形式显示安全输入/输出设备对应表,以进一步利于检验。
根据本发明,提供了一种安全控制器的程序开发支持装置,其中更不太可能发生诸如功能块被布置在错误的位置或以错误的顺序被布置的错误,并且即使发生这样的编程错误,也能够容易地发现该编程错误,并且其中便于对所完成的程序中的输出条件功能块的参数验证。
附图说明
图1A和1B示出了包括安全控制器的安全控制系统的概念视图;
图2示出了概念性地表示程序开发支持装置的功能的框图;
图3示出了程序开发支持装置的电子硬件配置的示意框图;
图4示出了安全控制器的电子硬件配置的示意框图;
图5示出了程序开发支持装置(第一实施例)的软件配置的流程图(第1号);
图6示出了程序开发支持装置(第一实施例)的软件配置的流程图(第2号);
图7示出了程序开发支持装置(第一实施例)的软件配置的流程图(第3号);
图8示出了输入侧电路图数据产生过程的详细流程图(与无效功能块对应的过程);
图9示出了输入侧电路图数据产生过程的详细流程图(与设置/重置功能块对应的过程);
图10示出了输出侧电路图数据产生过程的详细流程图(与端子模式功能块对应的过程);
图11示出了输出侧电路图数据产生过程的详细流程图(与EDM功能块对应的过程);
图12示出了输出侧电路图数据产生过程的详细流程图(与输出条件功能块对应的过程);
图13示出了程序开发支持装置(第二实施例)的软件配置的流程图(第1号);
图14示出了程序开发支持装置(第二实施例)的软件配置的流程图(第2号);
图15示出了程序开发支持装置(第三实施例)的软件配置的流程图(第1号);
图16示出了程序开发支持装置(第三实施例)的软件配置的流程图(第2号);
图17示出了安全输出条件设置过程的详细流程图;
图18示出了安全程序模板数据(输入侧)的一个例子的示范性视图;
图19示出了安全程序模板数据(输出侧)的一个例子的示范性视图;
图20示出了用户创建的逻辑电路数据(10b)的一个例子的示范性视图;
图21示出了输入设备表的示范性视图;
图22示出了输出条件设置表的示范性视图;
图23示出了将下载的参数数据(控制程序)设置到安全控制器的一个例子的示范性视图;
图24示出了在输入侧模板上开始FB布置的初始阶段的屏幕示范性视图;
图25A和25B示出了FB选择菜单窗口的示范性视图;
图26A和26B示出了输入无效条件设置菜单窗口的示范性视图;
图27A和27B示出了重置条件设置菜单窗口的示范性视图;
图28示出了利用输入FB、无效条件FB以及重置FB布置的输入侧模板的屏幕示范性视图;
图29示出了在输出侧模板上开始FB布置设置的初始阶段的屏幕示范性视图;
图30A、30B示出了和焊接检验相关的各种菜单窗口的屏幕示范性视图;
图31A和31B示出了端子模式设置菜单窗口的示范性视图;
图32示出了输出条件设置窗口的示范性视图;
图33示出了在输入侧模板上完成FB布置的检验屏幕示范性视图;
图34示出了在输出侧模板上完成FB布置的检验屏幕示范性视图;
图35示出了当FB的布置过程有错误的时候显示的警告窗口的屏幕示范性视图;
图36示出了每一个FB的优选的布置示例以及配置过程的示范性视图;
图37示出了根据程序开发支持装置(第一相关技术)的逻辑电路图显示示例;
图38示出了根据程序开发支持装置(第二相关技术)的逻辑电路图显示;示例;以及
图39示出了安全输入/输出设备对应表的示范性视图。
具体实施方式
将参考附图详细地描述根据本发明的安全控制器的程序开发支持装置的合适的实施例。
图1示出了表示根据本发明的包括作为程序开发支持装置的目标的安全控制器的安全控制系统的概念视图。通过经由总线网络2a将一个安全控制器1和两个或多个安全I/O端子5连接起来而配置如图1A中示出的安全控制系统。在图1A示出的安全控制系统中,安全控制器1充当主动装置(master),安全I/O端子5充当从动装置(slave)。
输入设备3和输出设备4分别连接到安全控制器1和安全I/O端子5。输入设备3可以是安全紧急停止开关、安全灯帘、安全限制开关、安全门开关等。输出设备4可以是安全继电器、安全触点等。
当被应用到图1A所示的主-从安全控制系统时,本发明的程序开发支持装置10可以被连接到连接安全控制器1和每一个安全I/O端子5的总线网络2a。另一方面,当被应用到图1B所示的独立控制系统时,本发明的程序开发支持装置10通过预定线缆2b而被直接连接。然后,在程序开发支持装置10中产生的和安全性相关的控制程序被转换成可由每个安全控制器1执行的格式,并且然后被发送给安全控制器1。
图3示出了表示根据本发明的程序开发支持装置的电子硬件配置的示意框图。参考图1和图3明显的是,在所示出的例子中利用膝上型电脑作为主体来配置程序开发支持装置10。
如本领域技术人员所熟知的那样,通过由系统总线17将CPU 11、输入操作单元12、图像显示器13、工作RAM 14、存储设备15以及通信单元16进行连接来配置膝上型电脑的硬件配置。
利用微处理器作为主体来配置CPU 11,并且其全面控制整个膝上型电脑。利用鼠标、键盘等作为主体来配置输入操作单元12,并且其充当用于向膝上型电脑给出各种指令的人机接口。
利用液晶显示器等来配置图像显示器13,其中在图像显示器13的屏幕13a上显示根据本发明的编程区201,如在下文中参考图24等将详细描述的。当CPU 11执行要在下面描述的系统程序、应用程序等时,工作RAM 14用作工作区域。
用硬盘等来配置存储设备15,并且其中包括输出图像存储器15a、系统存储器15b以及程序存储器15c。涉及到本发明,输出图像存储器15a用于当在图像显示器13的屏幕13a上显示各种图像时存储各种图像数据,并且系统存储器15b用于存储用来配置膝上型电脑的基本功能的固件(包括操作系统)。程序存储器15c用于存储要在膝上型电脑中执行的各种应用程序。
如上所述的,众所周知,当存储在输出图像存储器15a、系统存储器15b和程序存储器15c中的各种程序和数据被CPU 11执行时,它们在工作RAM14的工作区域内被开发和执行。
图4示出了安全控制器1的电子硬件配置的示意框图。如图所示,安全控制器1包括通信I/F单元101、中央处理单元102、输入端子单元104a和输出端子单元104b。
提供通信I/F单元101以当在安全控制器1和网络2a、2b之间执行通信时实现接口功能。中央处理单元102全面控制整个安全控制器1,并且利用微处理器、ROM、RAM等作为主体来配置该中央处理单元102。
输入端子单元104a包括用于从输入设备3接收信号的多个输入端子(端子1、端子2、......、端子n)。输出端子单元104b包括用于将输出信号发送给输出设备4的多个输出端子(端子1、端子2、......、端子n)。
输入侧的端子异常诊断单元103a包括分别与输入端子单元104a的每一个输入端子对应的单独的诊断单元。每一个单独的诊断单元被配置为与多个输入设备类型对应的通用目的诊断单元,其中,利用与每一种输入设备类型对应的参数来设置诊断单元,以使得以相关设备类型的专用形式来构成诊断单元。在以后将要描述的编程任务中,用于将端子异常诊断单元103a指定给每一种输入设备类型的参数表现为输入系统功能块的参数。
在输出侧的端子异常诊断单元103b类似地包括分别与输出端子单元104b的每一个输出端子对应的单独的诊断单元。每一个单独的诊断单元被配置为与多个输出设备类型对应的通用目的诊断单元,其中,利用与每一种输出设备类型对应的参数来设置诊断单元,以使得其被指定为与相关输出设备类型对应的诊断单元。
图2示出了概念性地表示程序开发支持装置10的功能的框图。如图所示,当关注于用于实现本发明的配置时,程序开发支持装置10所必需的功能组件包括安全输入设备表10a、逻辑电路图数据10b、用于创建设置参数的编译器10c、以及通过编译器10c从逻辑电路图数据10b转换过来的设置参数10d。将参考图18至图23中所示的图以及图5至图17中所示的描述根据本发明的程序开发支持装置的操作的流程图来详细描述所述功能组件。
将参考图5至图17描述根据本发明的程序开发支持装置的操作。在各个流程图里示出的应用程序被存储在上面参考图3而描述的程序存储器15c中。在流程图中示出的操作在与处理单元对应的CPU 11的控制下被执行处理。
图5至图17示出了表示程序开发支持装置的软件配置的流程图。
在图5中,当处理开始时,执行接收对于设置安全输入/输出端子的用户动作的处理(步骤101)。用户动作包括配置程序开发支持装置10的膝上型电脑中的预定键输入操作、鼠标操作等。通过这样的用户动作来设置与安全输入/输出端子相关的各种数据。以这种方式获得的与安全输入/输出端子相关的各种数据被存储在工作RAM 14中(步骤102)。
图24示出了在输入侧模板上开始功能块(这里被称作“FB”)布置的初始阶段的屏幕示范性视图,并且图29示出了在输出侧模板上开始FB布置设置的初始阶段的屏幕示范性视图。
如图24所示,关于输入安全逻辑向导(wizard)的窗口200在配置程序开发支持装置10的膝上型电脑的图像显示器13的屏幕13a上打开。这里,“安全逻辑向导”是关于创建与安全控制器的控制程序对应的逻辑电路图的各种用户支持功能的共同术语。
在打开的窗口200中定义具有水平边较长的矩形形状的编程区201,并且在编程区201中显示本发明主要部分的输入模板202。
在输入侧模板202上,提供了多个块可布置位置以便与沿屏幕的水平方向延伸的行(R1,R2,R2,......)和沿屏幕的垂直方向延伸的列(C1,C2,C3)的每一个交叉点对应。在输入侧模板202的左侧边缘上与每一行(R1,R2,R3,R4,......)对应地显示与相关行的输入端子有关的信息。
在这个例子中,第一行(R1)被指派给两个输入端子[IN0/1],并且这样的输入端子被设置为接收来自复制(duplication)规范的安全紧急停止开关的一对NC(正常关断)信号。第二行(R2)被指派给两个输入端子[IN2/3],并且这样的输入端子被设置为接收来自复制规范的安全门开关的一对NC信号。第三行(R3)被指派给一个输入端子[IN4],并且这样的输入端子被设置为接收来自非复制规范的门开关的信号。
相应于这样的输入端子的设置,布置用于实现与各个端子相关的自诊断功能的功能块以便与输入侧模板202的第一列(C1)中的每一行(R1,R2,R3)的端子设置对应。
换句话说,分别地,安全紧急停止开关功能块(FB11)被布置在与第一列(C1)的第一行(R1)对应的块可布置位置(水平边较长的矩形形状的小区域),复制规范的安全灯帘功能块(FB12)被布置在与第二行对应的功能块可布置位置,并且非复制规范的安全灯帘功能块(FB13)被布置在与第三行(R3)对应的功能块可布置位置。
返回到图5的流程图,在执行步骤101、102的处理后,执行上述输入端子的设置以及功能块的布置。
输入无效功能块或输入/输出传送功能块(FB01)被设计为布置在输入侧模板202的第二列(C2)中的每一行的块布置位置,类似地,设置/重置块或输入/输出传送功能块(FB01)被设计为布置在第三列(C3)的每一行的块布置位置上。通过使得对于每一列可选的功能块仅仅可以从菜单窗口中选择来实现这样的设计。
表示要被布置在相关列的功能块的内容的索引203-1至203-3与每一列(C1,C2,C3)相应地显示在输入侧模板202的上部边缘。与第一列(C1)相应的索引203-1的内容是表示输入系统功能块的“输入”,与第二列(C2)相应的索引203-2的内容是表示输入无效功能块的“无效”,并且与第三列(C3)相应的索引203-3的内容是表示设置/重置功能块的“重置”。
对于每一行(R1,R2,R3,R4,......),与输入侧模板202的左侧边缘上的输入显示信息相同的输入显示信息被显示在该模板的右侧边缘上。也就是说,在输入侧模板上,以行为单位对每一行分配一个输入信号。
这样,根据具有这种结构的输入侧模板202,与相同的输入信号相关的功能块被布置在同一行中,并且相同类型的功能块被布置在同一列中,因此,比较不太可能发生诸如把要被布置在某一输入信号路径上的功能块布置在另外的输入信号路径上、或者把要以某一顺序布置的多个功能块以另外的顺序布置的编程错误。
图29示出了在输出侧模板上的开始FB布置设置的初始阶段的屏幕示范性视图。如图所示,在这个例子中,输出侧模板210被显示于在屏幕上打开的窗口200的编程区201中。在输出侧模板210上,与行(R1,R2,R3,R4,......)和列(C4,C5,C6)的每一个交叉点对应地定义块可布置位置(水平边较长的矩形形状的小区域)。
在输出侧模板210的右侧边缘上对应于每一行(R1,R2,R3,R4,......)显示与相关行有关的端子信息。在所示出的例子中,第一行(R1)被分配了两个具有安全规范的输出端子[OUT0/1],并且这样的输出端子的每一个被有线地连接到两个安全继电器。第二行(R2)被分派了一个输出端子[OUT2],并且这样的输出端子被有线地连接到一个安全继电器。在这个例子中,第三行(R3)以及第四行(R4)分别被分配了一个输出端子[OUT3]和[OUT4],但是这样的输出端子的布线连接目的地不是确定的。
位于输出侧模板210的第一级的第四列(C4)被分配以输出条件功能块,第五列(C5)或者下一列被分配以焊接检验(EDM)功能块,并且第六列(C6)或者随后的列被分配以端子模式功能块。
为了阐明上述内容,表示要被布置在相关列的功能块的索引203-4至203-6对应于每一列(C4,C5,C6)而被显示在输出侧模板210的上部边缘。
特别地,索引203-4的内容是“输出条件”,表示确定是一个、或两个或多个输入信号的逻辑值将产生输出的输出条件功能块。索引203-5的内容是“焊接检验(EDM)”,表示用于执行连接到输出端子的安全继电器的焊接检验的焊接检验(EDM)功能块。索引203-6的内容是“端子模式”,表示用于将端子模式设置为启动延迟、关断延迟等的端子模式功能块。
在这个初始阶段的屏幕中,远程I/O功能块(FB61)被布置在第六列(C6)的第一行(R1)的块可布置位置,并且远程I/O功能块(FB62)被布置在第二行(R2)的块可布置位置。
应当注意,重要的一点是,类似于上述输入侧模板的情形,每一列(C4,C5,C6)被分别分配了特定类型的功能块,并且具体而言,位于第一级的列(C4)在输出侧模板上被分配以输出条件功能块,这样,与满足输出条件而获得的输出信号相关的功能块被布置在行的块可布置位置上,在所述行中,输出条件功能块被布置在至少该列上(C4)。
根据这样的输出侧模板,执行与相同的输出信号相关的处理的功能块可以被布置在与布置用于产生相关输出信号的输出条件功能块的行相同的行中,并且相同类型的功能块分别被布置在特定的列中,这样,类似于输入侧模板,比较不太可能发生诸如把要被布置在某一输入信号路径上的功能块布置在另外的输入信号路径上、或者把要以某一顺序布置的多个功能块以另外的顺序布置的编程错误。
根据本发明的程序开发支持装置,整个模板被分开显示为输入侧模板202和输出侧模板210,如图24和图29分开示出的那样,因此,与集成地结合并显示模板的情况相比,比较不太可能发生编程错误。
此外,通过不仅将模板分成输入侧和输出侧,而且在分离的屏幕上交替地显示输入侧模板202和输出侧模板210,可以更可靠地防止由于错误地识别输入信号路径和输出信号路径而导致的功能块的布置错误。
在上述的图24和图29中,D1是用于在垂直方向滚动屏幕的滚动条,D2是用于强制返回先前屏幕的“返回”按钮,D3是用于强制移动到下一个屏幕的“下一个”按钮,以及D4是用于取消各种命令的取消按钮。
通过滚动条D1而显而易见的是,当所需的输入端子增加到8个点、16个点、32个点、64个点等时,输入侧模板202和输出侧模板210能够在垂直方向以任意的长度进行扩展,在这样的情况下,通过操作滚动条D1可以将从屏幕上隐藏的特定行带到编程区200。
在本发明中,采用上述安全逻辑向导来防止由于上述输入侧模板202和输出侧模板210上的各种原因而导致的编程错误。将在下面参考图18至图23的图表来详细描述安全逻辑向导的内容。
返回到图5,在安全输入/输出端子设置的存储完成之后(步骤102),执行对应用了安全逻辑向导的输入侧模板202的显示(步骤103),如图24所示。此后,执行输入侧电路图数据产生过程(步骤104),其是本发明的主要部分。在安全逻辑向导的支持下执行输入侧电路图数据产生过程。
如图5所示,每次执行对于输入侧模板的FB布置的用户动作时(步骤104a),输入侧电路数据产生过程(步骤104)确定FB是否根据预定的“布置列”和“布置过程”(步骤104b)来布置,其中,如果FB是根据预定的“布置列”和“布置过程”配置的(步骤104b中的是),则存储(记录)相关FB的布置内容(步骤104c),确认用户侧继续FB布置的意图(步骤105),并且等待下一个用户动作(步骤104a)以重复类似的过程。如果确定FB不是根据预定的“布置列”和“布置过程”布置的(步骤104b中的否),则不存储(记录)这样的FB的布置内容,并且重复在屏幕上显示预定的警告的过程(步骤104d),直到确认在用户的输入侧继续FB布置的意图(步骤105)。
充当确定标准的预定的“布置列”定义了输入侧模板202上的哪一列用来布置每一个功能块,并且该预定的“布置列”被存储在工作RAM14等中,作为安全程序模板数据(输入侧),如图18所示。
如图18所示,通过下述来配置安全程序模板数据(输入侧):以表格的形式,对每一列(第一列,第二列,第三列,......)存储允许被存储在相关列中的功能块的“类型名”(输入系统功能块等)并且存储包括在彼此相关的、相关“类型名”中的各个功能块的列表。
返回到图5,利用图17所示的安全程序模板数据(输入侧)来检验在用户动作(104a)中指定的“列”以及特定“功能块名”的组合,以确定FB是否是根据步骤104b的确定过程中的预定“布置列”来布置的。
在图24示出的输入侧模板202上,例如,当希望将逻辑操作OR功能块(FB21)布置到第一行(R1)的第二列(C2)的块可布置位置时,利用鼠标点击第一行(R1)的下拉按钮(PB2)。然后,菜单窗口204被打开,从而与输入侧模板202重叠,如图25A所示。
在菜单窗口204上通过三层垂直显示三个功能块。这三个功能块是输入/输出传送功能块(FB01)、逻辑操作OR功能块(FB21)以及逻辑操作AND和OR功能块(FB22)。在这种情况下,如果通过鼠标的预定操作等选择了逻辑操作OR功能块(FB21),则所选择的功能块(FB21)被布置在由第一行(R1)以及第二列(C2)所指定的块可布置位置。
类似的,当希望将设置/重置功能块(FB31)布置到位于第一行(R1)的第三列(C3)的块可布置位置上时,操作第三列的下拉按钮PB3。然后,菜单窗口205被打开,如图25B所示。
在菜单窗口205中通过两层垂直显示所选择的功能块。所述功能块是输入/输出传送功能块(FB01)以及设置/重置功能块(FB31)。在这种情况下,如果通过鼠标的操作等选择了设置/重置功能块(FB31),则所选择的功能块(FB31)被布置到位于第一行(R1)的第三列(C3)的块可布置位置上。当从这种状态设置输入无效条件时,通过鼠标的预定操作进一步打开图26示出的菜单窗口206。
如图所示,在菜单窗口206上显示关于AND条件设置的信号名列以及关于OR条件设置的信号名列,并且在配置相应信号名列的信号名的前端显示复选框列207、208。
如果在图25A所示的菜单窗口204中选择了OR操作,则在菜单窗口206的OR条件设置区域内,用鼠标的点击操作等做出复选标记,如图26A所示。如果在图25A所示的菜单窗口204中选择了AND操作(未示出),则在菜单窗口206的AND条件设置区域内,对于相应输入信号名的复选框207,用鼠标操作等做出复选标记,如图26B所示。通过这样的操作,任何人可以容易地执行对输入无效功能块的选择和对于输入无效条件的设置。
当在选择设置/重置功能块后设置重置条件时,打开如图27所示的菜单窗口209以执行相应重置条件的设置。也就是说,如图27A所示,当在菜单窗口209用鼠标操作下拉菜单按钮D7时,显示重置条件列表,从而设置最佳重置条件,此后,如图27B所示,操作确定按钮D8以容易地设置所希望的重置条件。当取消以重做重置条件时,操作取消按钮D9。
图28示出了在执行功能块的选择以及每一个条件的设置之后的输入侧模板的例子。如图所示,可以通过选择和指定操作以希望的方式来布置输入系统功能块、无效条件功能块以及重置功能块。
回到图5,在安全逻辑向导支持下执行的输入侧电路图数据产生过程104中也做出关于FB是否是根据预定的“布置过程”来布置的确定。这里,预定的“布置过程”是这样的规则:其中,即使顺序是相同的,关于作为例子的图28中使用块布置例子的每一行(R1,R2,R3,......)的布置的时间顺序,功能块也需要按照从最近的一个到输入端子的顺序来布置。
图8和图9示出了引导每一个FB以便根据预定的“布置过程”来布置的过程的例子。需要对关于功能块当前怎样被布置在输入侧模板上以执行处理做出确定。为此,由用户创建的逻辑电路数据(10b)被存储在工作RAM14中,如图20所示。
如图所示,在逻辑电路数据中(10b)存储什么功能块当前正被布置在行和列所指定的每一个块可布置位置。如下面所述的,通过参考逻辑电路数据(10b)来做出关于是否尝试根据预定的“布置过程”来布置FB的确定。
在图8的流程图中示出布置无效FB期间的“布置过程”的确定过程。如图所示,如果要被用户动作布置的FB是输入无效FB,则对于用户动作指定的“行”,通过参考图20所示的逻辑电路数据(10b)而做出在相关点是否已经完成输入系统FB的布置的确定(步骤1042a)。
如果已经完成输入系统FB的布置(步骤1042a中的是),则用户动作中希望布置的输入无效FB被存储在存储器中作为图20所示的逻辑电路数据(步骤1043a)。相反,如果确定在相关点还没有完成输入系统FB的配置(步骤1042a),则在屏幕上显示预定警告(步骤1044a)。
图9示出了在尝试布置设置/重置FB的情况下的“布置过程”的确定过程。如图所示,如果用户动作希望布置的FB是设置/重置FB,则类似于先前的情况,对于输入系统FB的布置是否完成做出确定(步骤1042b),。如果确定完成输入系统FB的布置(步骤1042b中的是),则处理进行到步骤1043b,如果确定在相关点还没有完成输入系统FB的布置(步骤1042b中的否),则在屏幕上显示预定警告(步骤1044b)。
如果确定已经完成输入系统FB的布置(步骤1042b中的是),则对于输入无效FB的不知是否完成做出确定(步骤1043b).
如果确定已经完成输入无效FB的布置(步骤1043b中的是),则用户动作所希望的设置/重置FB被存储(记录)到如图20所示的相应的块可布置位置中(步骤1045b)。如果已经完成输入系统FB的布置(步骤1042b中的是)但是还没有完成输入无效FB的布置(步骤1043b),那么在屏幕上显示预定警告(步骤1046b)。
因此,在图5所示的输入侧电路图数据产生过程(步骤104)中,每一次当相关功能块被用户动作所布置时,对于功能块是否是根据预定的“布置列”以及“布置过程”布置的做出确定(步骤104a),其中仅仅当“布置列”以及“布置过程”都是肯定的时候,所希望的FB的布置内容才被反映到逻辑电路数据(10b)上,并且如果“布置列”或者“布置过程”被确定为不是预定的列或过程(步骤104b中的否),则FB的布置被拒绝且在屏幕上显示预定警告。
在上述的实施例中,使用菜单方法作为从布置在每一个模板的列上功能块中拒绝除了提前预定的类型的功能块之外的类型的功能块的方式,但是可替换该方式的是,可以在显示屏上的一部分上布置要被选择的一系列功能块,以使得通过鼠标的拖放方法可以将功能块移动到模板上的每一列,其中对每一列检验由拖放方法移动的功能块的类型以及被分配给它自身的行的功能块的类型,如果其类型不匹配,则可以通过设计而实现类似的强制拒绝功能,以使得即使执行了放下操作,功能块也不能被放在相关的列中。在这种情况下,当功能块被拖放操作放下时,已经被移动或者搬运的功能块返回到原始的布置位置,并且不能被搬运到目标列。
根据在安全逻辑向导支持下所执行的输入侧电路图数据产生过程,每一个功能块被正确地布置在具有合适的“布置列”的输入侧模板202上。
如果所有所希望的功能块被布置在输入侧模板202上(步骤105中的否),则过程进行到图6,并且等待操作“下一个”按钮D3的用户动作(步骤106)以执行与输出侧模板相关的处理。
在与输出侧模板相关的处理中,在编程区201中首先显示结合了安全逻辑向导的输出侧模板210(步骤107)。
图29示出了在窗口200的编程区201上显示的输出侧模板210的例子。如上所述,利用块可布置位置(水平边较长形状的区域)来限定输出侧模板,以便对应于行(R1,R2,R3,R4,......)和列(C4,C5,C6)的每一个交叉点,并且定义行方向的输出信号流从左侧到右侧。
每一列(C4,C5,C6)被分配给与输出信号相关的预定类型的功能块。特别地,在这个例子中,位于第一级的列(C4)被分配给输出条件功能块,下一列(C5)被分配给焊接检验(EDM)功能块,以及下一列(C6)被分配给端子模式功能块。
回到图6,在显示输出侧模板(步骤107)之后执行在安全逻辑向导的支持下执行的输出侧电路图数据产生过程(步骤108)。
输出侧电路图数据产生过程(步骤108)类似于上述的输入侧电路图数据产生过程,并且每一次当执行用于将FB布置到输出侧模板210的用户动作时(步骤108a),对于FB是否是根据预定的“布置列”以及“布置过程”来布置的做出确定(步骤108b),其中,如果确定是肯定的(步骤108b中的是),则只要在输出侧的FB布置在继续(步骤109的是),就重复用于存储(记录)要以这种方式布置的FB的布置内容的处理(步骤108c)。如果确定是否定的(步骤108b中的否),则拒绝这样的FB的布置,并且在屏幕上显示预定警告。
基于图19所示的安全程序模板数据(输出侧)的内容来做出对于FB是否是根据预定的“布置列”来布置的确定。也就是说,如图19所示,对于每一列来说,通过存储允许被布置在相关列的功能块的类型名并且存储包括在彼此相关的类型名中的特定功能块的列表,来配置安全程序模板数据(输出侧)。
在所示出的例子中,当安全控制器通过通信主控单元连接到远程I/O端子(从动装置)时,来自于第三列的端子模式功能块的主控的接收数据(远程I/O)指的是通过通信主控从远程I/O端子(从动装置)接收的数据的输出。来自逻辑的输出指的是安全控制器内的逻辑操作所获得的操作结果的输出。辅助输出指的是将安全控制器的输出进行分支得到的辅助输出。
每一次检测关于在输出侧模板上的FB布置的某种类型的用户动作(步骤108a)时,利用图19所示的安全程序模板数据(输出侧)来检验用户动作所指定的“块可布置位置”以及“功能块名”,以确定要被布置的FB是否是根据预定的“布置列”而布置的。
更具体地是,在图29所示的输出侧模板210的前提下假定这样的情况,即将焊接检验(EDM)功能块布置在由行(R1)以及列(C5)所指定的块可布置位置上。
在这样的情况下,首先用鼠标来操作行(R1)的下拉按钮PB5。然后,菜单窗口211被打开以便与输出侧模板210重叠,如图30A所示。在菜单窗口211通过两层垂直布置两个功能块。也就是说,所述功能块是输入侧分支功能块FB51和EDM功能块FB52。用户用鼠标操作来选择EDM功能块(FB52)。所选择的功能块(FB52)被布置在由行(R1)以及列(C5)所指定的块可布置位置上。
当在EDM功能块(FB52)上设置焊接检验(EDM)反馈时,通过预定的鼠标操作,菜单窗口212被打开,如图30B所示。在菜单窗口212中布置有下拉按钮D10、确定按钮D11以及取消按钮D12。在这种情况下用户用鼠标操作下拉按钮D10以显示反馈信号列表,从中选择所希望的反馈信号,并且操作确定按钮D11以建立焊接检验(EDM)反馈的设置。在图30B的例子中,输入信号IN7被选择并且被设置为反馈信号。
当将复制处理过的远程I/O功能块布置在由行(R1)和列(C6)所指定的块可布置位置时,利用鼠标来操作位于由行(R1)和列(C6)所指定的块可布置位置的右侧的下拉按钮PB6。然后,预定的菜单窗口213被打开,以与输出侧模板210重叠,如图31A所示。
在菜单窗口213中显示以两层垂直布置的两个功能块。在这个例子里,所述功能块是复制对应远程I/O功能块(FB61)和非复制对应逻辑功能块(FB62)。
用户利用鼠标的操作从菜单中选择复制对应远程I/O功能块(FB61)。然后,所选择的功能块(FB61)被布置在由行(R1)和列(C6)所指定的块可布置位置上。
进一步地,当将非复制对应逻辑功能块(FB64)布置在由行(R2)和列(C6)所指定的块可布置位置上时,利用鼠标来操作位于块可布置位置的右侧的下拉按钮PB6。然后,菜单窗口214被打开,以与输出侧模板210重叠,如图31B所示。
在菜单窗口214中通过三层垂直显示三个功能块。所述功能块是非复制对应远程I/O功能块(FB63)、非复制对应逻辑功能块(FB64)以及辅助输出功能块(FB65)。然后,用户选择非复制对应逻辑功能块(FB64)。所选择的逻辑功能块(FB64)接着被布置在由行(R2)和列(C6)所指定的块可布置位置上。
类似于图30A所示的焊接检验(EDM)功能块(FB52)的情况,通过使用菜单窗口进行选择和设置来执行对输出条件功能块的选择和设置,这样,当进一步对如上这样选择和设置的输出条件功能块执行输出条件的设置时,在本实施例中提供了将用户的可用性考虑在内的极好的功能。
也就是说,如图32所示,当为所选择和设置输出条件功能块设置输出条件时,输出条件设置窗口215响应于鼠标的预定操作而被打开。,其是,在输出条件设置窗口215中顺序显示作为输出条件的成为AND操作的输入候选的输入信号名,复选框216被布置在每一个输入信号名的前端。通过用鼠标在复选框216中简单地插入预定的复选标记来执行对成为输出条件的输入信号的选择。利用鼠标来操作确定按钮D13以建立选择,并且利用鼠标来操作取消按钮D14以取消设置。
如上所述,当执行这种类型的编程任务时,通常预先创建如图39所示的安全输入/输出设备对应表,并且依赖于安全输入/输出设备对应表而做出对输出条件的设置。
在图37和图38所示的传统的程序开发支持装置的情况下,通过连接到功能块的线的拖拽操作而做出对输出条件的设置。因此,在验证输出条件是否被正确设置期间,需要检验安全输入/输出对应表以及布线图的这样麻烦的工作。
另一方面,在本发明中,用于定义输入信号和输出信号的逻辑关系的输出条件的设置操作包括利用复选框的复选操作从在菜单窗口215中显示的一系列输入信号名中选择相应的输入信号名,如图32所示。因此,在输出条件的设置中,可以通过简单地选择复选框216利用简单的操作而做出目标输出条件的设置,如在图39所示的安全输入/输出设备对应表中的那样。
当验证输出条件是否在已完成的程序中被正确地设置时,仅仅需要检验菜单窗口215中的复选框的所选状态以及预先创建的输入/输出设备对应表,并且不需要像在图37和图38所示的相关技术的例子中那样返回追踪功能块之间的布线,从而可以在较短的时间段内容易地执行验证任务。
在图21中所示的输入设备表中的数据被用于与在菜单窗口215中显示的输入信号相关的数据。通过输入端子的设置操作来设置该输入设备表,也就是说,执行正常的操作以设置信号将通过哪个输入设备被输入到在图24中所示的输入侧模板202的输入端子。专用的输入信息设置操作对于输出条件的设置来说是不必要的。
当通过菜单窗口215中的复选框的鼠标操作的选择而选择输入信号名时,激活图17的流程图所示的安全输出条件设置过程。从而,完成输出条件设置表,如图22所示。在上述安全逻辑向导的支持下执行的输出电路图数据产生过程108中执行图17所示的安全输出条件设置过程。
也就是说,如图17的流程图所示,当执行用于设置选择安全输出条件的用户动作时(步骤1071),从输入设备表(见图21)中检索并提取安全输入设备(步骤1072),并且基于所提取的输入设备数据来显示在图32中示出的菜单窗口215中的输入信号的列表。以复选框形式显示安全输入端子号、设备名等,作为安全输出条件选择屏幕显示(步骤1073)。
当在该状态下执行用于检验复选框216以选择相应的安全输出条件并按下“确定”按钮以确认的用户动作时(步骤1074),存储用这种方式选择的安全输出条件(步骤1075),该过程被重复必要的次数(步骤1076中的是),并且完成图22所示的输出条件设置表。
图28示出了利用端子模式FB、输出条件FB以及焊接检验FB布置的输出侧模板的状态。如从图中显而易见的,可以认识到通过上述的选择和设置过程,所选择的功能块(FB62,FB65,FB52,FB41)被分别布置在每一个指定的块可布置位置中。
最后,图33示出了在输入侧模板上完成FB布置时的检验屏幕的示范性视图,并且图34示出了在输出侧模板上完成FB布置时的检验屏幕的示范性视图。
如从这些图中显而易见的是,通过重复上述的功能块选择和设置操作,必要的功能块被合适地布置在输入侧模板和输出侧模板的必要的位置。
当在这种状态下操作预定的完成按钮时,所创建的电路图被确认,执行先前参考图7描述的数据转换过程(步骤111至113)以及下载参数产生过程(步骤114),并且最终产生安全控制器控制程序。
在图6的流程图所示的输出侧电路图数据产生过程中(步骤108),对于FB是否是根据预定的“布置列”而布置的做出确定,其中存储(记录)希望布置的FB的布置内容,并且仅当确定FB是根据预定的“布置列”而布置的时(步骤108b中的是),才产生图20所示的逻辑电路数据(10b)。
返回到图7,在完成输出侧模板210上的必要的功能块的布置之后,等待对应于“下一个”按钮D3的操作的用户动作(步骤110)。然后,对于所有的功能块,在上述的功能块布置操作中产生的如图23所示的逻辑电路数据(10b)被转换成安全控制器可解释的数据形式(步骤111至113)。因此,所转换的数据被收集以产生下载参数(安全控制器控制程序)(步骤114)。
以这种方式产生的下载参数通过类似于相关技术的通信或者便携式记录介质而被安装在目标安全控制器中。
因此,根据上述的每一个实施例的程序开发支持装置,由于整个模板被分成输入侧模板和输出侧模板,所以与相同信号相关的信号路径存在于每一个模板的同一行中,如图36所示。
在每一个模板的每一列(C1至C6)中,通过安全逻辑向导的操作来引导布置相同类型的功能块。此外,通过安全逻辑向导的操作,相同类型的功能块被自动布置在同一列,因此即使忘记了布置任一功能块,在完成程序之后也能通过列来检验功能块的存在,并且,如果功能块不存在于任一行中,则相关的部分被彻底检验,从而,能够容易地执行这种类型的安全控制器控制程序的调试。
根据这样的输入侧模板或输出侧模板的结构,通过简单地习惯性地将与相同的信号相关的功能块布置在同一行中,可以可靠地防止错误地将要被布置在同一信号路径上的功能块布置在不同的信号路径、或者将要被布置在输入信号路径上的功能块布置在输出路径上的编程错误。
并不限制于简单地将模板分成两个模板,可以在输出侧模板之前向用户呈现输入侧模板,以使得在输出侧模板上布置功能块的阶段时已经完成了在输入侧模板上的功能块的布置,由此,可以提前防止用户的编程错误。
如图32所示,输出条件的设置是基于复选框形式的输入信号的列表而做出的,因此,与相关技术中以布线图形式的程序开发支持装置不同,可以利用安全输入/输出设备对应表做出直接检验,这有助于编程任务以及程序验证任务的简化。
Claims (11)
1.一种安全控制器的程序开发支持装置,其中通过一系列的用户操作而自动产生安全控制器的控制程序,该一系列的用户操作用于通过顺序地将从提前准备的多种类型的功能块中选择出的一种类型的功能块布置在图像显示器的屏幕上的编程区中,并且通过为每一个功能块设置必要的唯一参数,来完成与所希望的控制规范对应的逻辑电路图;该程序开发支持装置包括:
输入操作单元,用于使能所述一系列的用户操作;以及
引导显示单元,显示在所述编程区上,用于使得能够根据功能块布置模版的引导来将所述功能块布置到所述编程区中,所述功能块布置模版具有与行和列的每一个交叉位置对应的块可布置位置,并且将行方向的一个端侧定义为输入端子侧,且将另一个端侧定义为输出端子侧;其中
所述功能块布置模板被分成,
位于模板输入侧的输入侧模板,其包括分别接受与输入信号相关的预定类型的功能块的布置的多个连续列,以及
位于模板输出侧的输出侧模板,其包括分别接受与输出信号相关的预定类型的功能块的布置的多个连续列。
2.根据权利要求1所述的程序开发支持装置,其中,所述引导显示单元在所述编程区上交替显示所述输入侧模板和输出侧模板。
3.根据权利要求2所述的程序开发支持装置,其中,所述引导显示单元在所述编程区上进行显示,使得首先显示所述输入侧模板,随后显示所述输出侧模板。
4.根据权利要求1所述的程序开发支持装置,其中,所述引导显示单元进一步包括指引单元,用于根据提前定义的布置过程,将每一个功能块指引到提前定义的布置列中,从而使得根据为每一种类型提前定义的布置列和布置过程将由用户选择的功能块布置到每一个模板的相应列的块可布置位置。
5.根据权利要求4所述的程序开发支持装置,其中,所述指引单元是引导显示器,用于允许用户执行必要的操作。
6.根据权利要求4所述的程序开发支持装置,其中,所述指引单元检测下述操作并且禁止所述操作,或者检测所述操作以发出警告:在所述操作中,根据除了为每一种类型提前定义的布置列之外的布置列或者根据除了提前定义的布置过程之外的布置过程来将用户选择的功能块布置到每一个模板上。
7.根据权利要求4所述的程序开发支持装置,其中,所述指引单元强制性地拒绝将计划布置的功能块之外的功能块布置到相应列中。
8.根据权利要求4所述的程序开发支持装置,其中,在所述模板是输入侧模板的情况下提前定义的布置过程是按照从靠近输入端子侧的列开始的顺序来布置每一个功能块。
9.根据权利要求4所述的程序开发支持装置,其中,在所述模板是输出侧模板的情况下提前定义的布置过程是按照从靠近输出端子侧的列开始的顺序来布置每一个功能块。
10.根据权利要求1所述的程序开发支持装置,其中,当在所述输入侧模板上布置每一个功能块时,对于每一个功能块需要设置在至少一个输入端子和输入到该输入端子的输入设备之间的对应关系,当在所述输入侧模板上完成所述设置时,所设置的对应关系被记录在该装置的存储介质中作为输入设备表;
当在所述输出侧模板上布置每一个功能块时,至少需要设置输入信号来作为功能块之一的输出条件功能块的唯一参数;以及
进一步布置输入信号设置单元,使得能够在设置所述输入信号时进行通过参考输入设备表从菜单显示的输入信号列表中选择所希望的输入信号的操作。
11.根据权利要求10所述的程序开发支持装置,其中,通过将要设置的输入信号名布置在于图像显示器的屏幕上打开的菜单窗口内来执行输入信号列表的菜单显示。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP154900/07 | 2007-06-12 | ||
JP2007154900A JP4888717B2 (ja) | 2007-06-12 | 2007-06-12 | 安全コントローラのプログラム開発支援装置 |
JP156217/07 | 2007-06-13 | ||
JP156216/07 | 2007-06-13 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103717578A Division CN102411331A (zh) | 2007-06-12 | 2008-06-12 | 安全控制器的程序开发支持方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101482736A true CN101482736A (zh) | 2009-07-15 |
Family
ID=40237963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102463939A Pending CN101482736A (zh) | 2007-06-12 | 2008-06-12 | 安全控制器的程序开发支持装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4888717B2 (zh) |
CN (1) | CN101482736A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221956A (zh) * | 2010-11-19 | 2013-07-24 | 三菱电机株式会社 | 系统构筑辅助工具及系统构筑辅助装置 |
CN104217068A (zh) * | 2014-08-22 | 2014-12-17 | 深圳市汇川控制技术有限公司 | 一种plc图形化组态设计系统和方法 |
CN104750514A (zh) * | 2013-12-31 | 2015-07-01 | 洛克威尔自动控制技术股份有限公司 | 配置工业安全继电器的系统和安全继电器程序配置方法 |
CN104750063A (zh) * | 2013-12-31 | 2015-07-01 | 洛克威尔自动控制技术股份有限公司 | 用于配置工业安全继电器的系统和工业安全系统配置方法 |
CN104749993A (zh) * | 2013-12-31 | 2015-07-01 | 洛克威尔自动控制技术股份有限公司 | 用于配置工业安全继电器的系统和方法 |
CN105739463A (zh) * | 2014-12-12 | 2016-07-06 | 恩格尔奥地利有限公司 | 成型设备或者用于成型设备的外围设备 |
CN105938358A (zh) * | 2015-03-06 | 2016-09-14 | 洛克威尔自动控制技术股份有限公司 | 安全继电器配置编辑器 |
CN106773887A (zh) * | 2015-11-24 | 2017-05-31 | 沈阳新松机器人自动化股份有限公司 | 一种用于机器人的可编程io安全控制器 |
US10152030B2 (en) | 2013-12-31 | 2018-12-11 | Rockwell Automation Technologies, Inc. | Safety relay configuration system with safety monitoring and safety output function blocks |
CN112147988A (zh) * | 2020-10-15 | 2020-12-29 | 济宁科力光电产业有限责任公司 | 一种危险失效的同步逻辑诊断方法 |
CN112543898A (zh) * | 2019-03-13 | 2021-03-23 | 欧姆龙株式会社 | 图表显示装置、图表显示方法以及图表显示程序 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5155228B2 (ja) * | 2009-03-27 | 2013-03-06 | メタウォーター株式会社 | エンジニアリング支援装置およびエンジニアリング支援方法 |
DE102013000250A1 (de) * | 2013-01-09 | 2014-07-10 | Kuka Laboratories Gmbh | Konfigurierbare Sicherheitsüberwachung für eine Roboteranordnung |
JP5829780B1 (ja) * | 2014-03-07 | 2015-12-09 | 三菱電機株式会社 | プログラミング装置 |
JP7188198B2 (ja) * | 2019-03-13 | 2022-12-13 | オムロン株式会社 | グラフ表示装置、グラフ表示方法、及びグラフ表示プログラム |
CN113553182A (zh) * | 2021-07-22 | 2021-10-26 | 工银科技有限公司 | 终端控制策略的配置方法、装置、设备、介质和程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3677985B2 (ja) * | 1997-09-25 | 2005-08-03 | 富士電機システムズ株式会社 | プログラマブルコントローラのプログラミング装置、並びに配置・結線方法、及び記録媒体 |
JP4062492B2 (ja) * | 2002-03-07 | 2008-03-19 | オムロン株式会社 | 安全条件設定支援装置及びプログラム並びに記録媒体 |
JP4424198B2 (ja) * | 2004-12-27 | 2010-03-03 | 三菱電機株式会社 | ファンクションブロックダイアグラムのプログラム装置 |
JP2006330865A (ja) * | 2005-05-24 | 2006-12-07 | Keyence Corp | ユーザプログラム表示装置及びこれに適用されるプログラム |
JP4556787B2 (ja) * | 2005-06-30 | 2010-10-06 | 株式会社ジェイテクト | プログラマブルコントローラの編集装置 |
JP4849261B2 (ja) * | 2007-05-14 | 2012-01-11 | オムロン株式会社 | 安全アプリケーション作成支援装置 |
-
2007
- 2007-06-12 JP JP2007154900A patent/JP4888717B2/ja active Active
-
2008
- 2008-06-12 CN CNA2008102463939A patent/CN101482736A/zh active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221956A (zh) * | 2010-11-19 | 2013-07-24 | 三菱电机株式会社 | 系统构筑辅助工具及系统构筑辅助装置 |
US9229441B2 (en) | 2010-11-19 | 2016-01-05 | Mitsubishi Electric Corporation | System construction supporting tool and system construction supporting device |
CN103221956B (zh) * | 2010-11-19 | 2017-03-15 | 三菱电机株式会社 | 系统构筑辅助工具及系统构筑辅助装置 |
CN104749993A (zh) * | 2013-12-31 | 2015-07-01 | 洛克威尔自动控制技术股份有限公司 | 用于配置工业安全继电器的系统和方法 |
US10152030B2 (en) | 2013-12-31 | 2018-12-11 | Rockwell Automation Technologies, Inc. | Safety relay configuration system with safety monitoring and safety output function blocks |
CN104750063A (zh) * | 2013-12-31 | 2015-07-01 | 洛克威尔自动控制技术股份有限公司 | 用于配置工业安全继电器的系统和工业安全系统配置方法 |
CN104750514B (zh) * | 2013-12-31 | 2018-09-21 | 罗克韦尔自动化技术公司 | 配置工业安全继电器的系统和安全继电器程序配置方法 |
CN104749993B (zh) * | 2013-12-31 | 2017-12-26 | 罗克韦尔自动化技术公司 | 用于配置工业安全继电器的系统和方法 |
CN104750514A (zh) * | 2013-12-31 | 2015-07-01 | 洛克威尔自动控制技术股份有限公司 | 配置工业安全继电器的系统和安全继电器程序配置方法 |
US10020151B2 (en) | 2013-12-31 | 2018-07-10 | Rockwell Automation Technologies, Inc. | Safety relay configuration system with multiple test pulse schemes using graphical interface |
US9977407B2 (en) | 2013-12-31 | 2018-05-22 | Rockwell Automation Technologies, Inc. | Safety relay configuration system for safety mat device using graphical interface |
CN104750063B (zh) * | 2013-12-31 | 2018-02-27 | 罗克韦尔自动化技术公司 | 用于配置工业安全继电器的系统和工业安全系统配置方法 |
CN104217068B (zh) * | 2014-08-22 | 2018-05-22 | 深圳市汇川控制技术有限公司 | 一种plc图形化组态设计系统和方法 |
CN104217068A (zh) * | 2014-08-22 | 2014-12-17 | 深圳市汇川控制技术有限公司 | 一种plc图形化组态设计系统和方法 |
CN105739463B (zh) * | 2014-12-12 | 2019-11-19 | 恩格尔奥地利有限公司 | 成型设备和用于成型设备的外围设备 |
US10606239B2 (en) | 2014-12-12 | 2020-03-31 | Engel Austria Gmbh | Shaping plant and safety program |
CN105739463A (zh) * | 2014-12-12 | 2016-07-06 | 恩格尔奥地利有限公司 | 成型设备或者用于成型设备的外围设备 |
US9971330B2 (en) | 2015-03-06 | 2018-05-15 | Rockwell Automation Technologies, Inc. | Safety relay configuration editor |
CN105938358B (zh) * | 2015-03-06 | 2019-03-29 | 罗克韦尔自动化技术公司 | 安全继电器配置编辑器 |
CN105938358A (zh) * | 2015-03-06 | 2016-09-14 | 洛克威尔自动控制技术股份有限公司 | 安全继电器配置编辑器 |
CN106773887A (zh) * | 2015-11-24 | 2017-05-31 | 沈阳新松机器人自动化股份有限公司 | 一种用于机器人的可编程io安全控制器 |
CN106773887B (zh) * | 2015-11-24 | 2020-08-04 | 沈阳新松机器人自动化股份有限公司 | 一种用于机器人的可编程io安全控制器 |
CN112543898A (zh) * | 2019-03-13 | 2021-03-23 | 欧姆龙株式会社 | 图表显示装置、图表显示方法以及图表显示程序 |
CN112543898B (zh) * | 2019-03-13 | 2024-04-12 | 欧姆龙株式会社 | 图表显示装置、图表显示方法以及记录介质 |
CN112147988A (zh) * | 2020-10-15 | 2020-12-29 | 济宁科力光电产业有限责任公司 | 一种危险失效的同步逻辑诊断方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2008310390A (ja) | 2008-12-25 |
JP4888717B2 (ja) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101482736A (zh) | 安全控制器的程序开发支持装置 | |
CN102411331A (zh) | 安全控制器的程序开发支持方法 | |
CN102460397B (zh) | 用于创建安全控制装置的应用程序的方法和装置 | |
USRE42017E1 (en) | Configurable safety system for implementation on industrial system and method of implementing same | |
JP5636378B2 (ja) | 安全コントローラ用のユーザプログラムを作成するための方法および機器ならびにコンピュータプログラム | |
JP2004524620A (ja) | フェイルセーフ制御システムのプログラミング方法及び装置 | |
US8694135B2 (en) | Programming programmable logic controllers using exertion influence in establishing matrix parameters | |
JP6111675B2 (ja) | 安全コントローラのユーザプログラムの設計を支援する方法、装置およびプログラム | |
CN104583969A (zh) | 具备自监视功能的计算机、监视程序 | |
KR20180032531A (ko) | 원자력 발전소용 안전제어시스템 | |
CN104461850B (zh) | 列控车载设备的复现方法、装置及系统、人机界面设备 | |
CN107193250A (zh) | 评价系统和评价方法 | |
US20150088286A1 (en) | Method and Apparatus for Automatically Creating an Executable Safety Function for a Device | |
CN108572611B (zh) | 信息处理装置、信息处理方法及计算机可读取记录媒体 | |
CN104991506B (zh) | 基于plc与触摸屏控制的产线设定系统及其设定方法 | |
JP4924851B2 (ja) | 安全コントローラのプログラム開発支援装置 | |
JP4849261B2 (ja) | 安全アプリケーション作成支援装置 | |
JP4656335B2 (ja) | 安全デバイスの設定ファイル作成支援装置 | |
CN114860518A (zh) | 功能安全系统的检测方法、系统、电子设备、存储介质 | |
Combéfis et al. | A bisimulation-based approach to the analysis of human-computer interaction | |
CN107193251A (zh) | 评价系统和评价方法 | |
JP4793588B2 (ja) | 安全コントローラのプログラム開発支援装置 | |
JP2008027156A (ja) | シミュレーション装置 | |
CN103294653B (zh) | 用于产生高质量的正式可执行软件特征需求的系统和方法 | |
DE102004020994B4 (de) | Verfahren und Vorrichtung zum computergestützten Konstruieren einer sicherheitsgerichteten elektrischen Schaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090715 |