用于对安全控制器进行编程的方法与流程

文档序号:12716815阅读:308来源:国知局
用于对安全控制器进行编程的方法与流程

本申请依据巴黎公约要求于2015年11月24日提交的德国专利申请10 2015 120 314.6的优先权。该优先权申请的全部内容通过引用合并在本文中。

技术领域

本发明涉及用于对安全控制器进行编程的方法并且涉及安全控制器,所述安全控制器具有用于接收传感器信号的多个输入、用于输出致动器信号的多个输出以及用于执行程序代码的至少一个处理器。



背景技术:

安全控制器的典型示例可从德国的奥斯菲尔敦的Felix-Wankel街2,72760号的Pilz GmbH&Co.KG以品牌名称“Automation System PSS 4000(自动化系统PSS 4000)”获得。这在2015年的标题为“Automation System PSS 4000-Building Block System(自动化系统PSS 4000-构建块系统)”的公司宣传册中有所描述。

DE 10 2009 019096 A1公开了安全控制器的另一示例。该已知安全控制器包括多个硬件部件和软件部件,用户能够根据用户的个人需求将所述多个硬件部件和软件部件装配成自动化系统。取决于应用的大小,该系统可以包括经由通信网络彼此连接的多个控制单元,每个控制单元控制复杂设备内的子过程。

然而,本发明不限于具有多个联网的控制单元的复杂系统,并且可以同样地用于对“小”安全控制器进行编程,所述“小”安全控制器具有紧凑设计并且控制自动操作机器或设备中的若干安全功能。此外,本发明也不限于“纯”安全控制器。当然,本发明还可以用于对安全相关过程(所谓的FS或故障安全过程)和非安全相关过程(所谓的标准过程)两者进行控制的控制系统。非安全相关标准过程通常涉及自动化设备的正常操作。该过程的控制系统的故障由于经济原因而可能有问题,因此如果可能的话则应当要避免。然而,此故障不会对设备附近的操作员或其他人员的健康或生命造成威胁。相比之下,安全相关的控制功能主要用于管理源自自动化设备的危害。为此,关于防止故障以及管理故障,对自动化技术中的安全相关过程的控制系统提出了特殊需求。安全相关的控制系统和控制部件需要较高水平的开发能力,并且通常需要专项认证,尤其是根据标准EN ISO 13849、EN/IEC 61508、EN IEC 62061等。

由于PSS 4000自动化系统包含许多具有用于控制安全关键过程所需的认证的部件,所以PSS 4000自动化系统是满足前述标准的要求的安全控制器。特别地,许多部件满足按照SIL 2和根据EN/IEC 61508的更高标准以及/或者按照EN ISO 13849的PL d和更高标准的要求。另外,然而,自动化系统PSS 4000还被设计成控制复杂设备的标准过程。因此,如果在复杂的设备内必须控制大量的安全相关过程和非安全相关过程,则对已知安全控制器的编程在个别情况下可能是非常复杂和综合性的。

对于这样的系统典型的是,在多个部分或模块中创建所谓的用户程序,该用户程序限定设备内的传感器信号与致动器信号之间的逻辑相关性,其中,用户通常使用基于国际标准IEC 61131的高级编程语言。随后对各个程序部分进行编译,即,将各个程序部分转换成机器可读代码并且链接在一起。然后,将所得到的程序代码下载到要执行相关程序代码的所有控制单元中。

以单个步骤来创建复杂的用户程序往往是不可行的。通常,在调试安全控制器之后,由于仅当设备运行时才可以识别所有相关性,所以需要进行修改和/或添加。在已知的安全控制器中,用户可以用高级编程语言修改用户程序的一个或多个部分。随后,必须重新编译经修改的用户程序,并且必须重新链接经编译的部分,以获得具有相关修改的机器可读程序代码。然后,将经修改的程序代码重新加载至安全控制器中,并且重写先前的(原始的)程序代码。在已知的安全控制器中,进行修改因此需要停止控制过程以使得能够下载经修改的程序代码。随后,必须重启设备,这可能是耗时的,特别是在复杂设备的情况下。

在来自Pilz GmbH&Co.KG的以品牌名称PSS 3000提供的早期控制系统中,即使在机器运行时也仍然可以将标准部件传送至控制系统的存储器。这便利于用户程序的后续修改。然而,该更新选项严格地限于与非安全相关标准过程有关的程序部分。该功能的实际应用因此受到限制。



技术实现要素:

针对此背景,本发明的目的是提供上述类型的方法,该方法使得能够更迅速地修改用于安全控制器的程序代码。本发明的另一个目的是提供可以通过这样的方法更简单迅速地编程的安全控制器。

根据本发明的第一方面,提供了一种用于对安全控制器进行编程的方法,所述安全控制器具有用于接收传感器信号的多个输入、用于输出致动器信号的多个输出以及用于执行程序代码的至少一个处理器,所述方法包括以下步骤:使用程序编辑器来创建对传感器信号与致动器信号之间的逻辑相关性进行限定的用户程序,其中,用户程序具有第一程序部分和至少一个附加程序部分,并且其中,第一程序部分限定选择的传感器信号与致动器信号之间的安全相关的逻辑相关性;对第一程序部分和至少一个附加程序部分进行编译和链接以获得用于至少一个处理器的可执行原始程序代码,其中,原始程序代码具有表示第一程序部分的原始第一代码部分以及表示至少一个附加程序部分的至少一个原始附加代码部分;将可执行原始程序代码传送至安全控制器的第一存储器;借助于至少一个处理器来执行可执行原始程序代码,以根据传感器信号生成致动器信号;使用程序编辑器来修改第一程序部分,以获得修改的第一程序部分;以及编译所述修改的第一程序部分以获得修改的第一代码部分,其中,在借助于至少一个处理器来执行原始程序代码的同时,将所述修改的第一代码部分传送至安全控制器的第二存储器,并且其中,借助于至少一个处理器除了执行原始附加代码部分之外,执行所述修改的第一代码部分而不执行原始第一代码部分,以根据所述修改的第一程序部分生成致动器信号。

根据另一方面,提供了一种用于对安全关键过程进行故障安全控制的安全控制器,所述安全控制器包括用于接收传感器信号的多个输入、用于输出致动器信号的多个输出、用于循环地执行程序代码的至少一个处理器、第一非易失性存储器、第二易失性存储器、以及用于创建用户程序的编程工具,所述用户程序限定选择的传感器信号与选择的致动器信号之间的逻辑相关性,其中,编程工具具有程序编辑器,程序编辑器被设计成生成第一程序部分和至少一个附加程序部分,其中,第一程序部分限定选择的一些传感器信号与选择的一些致动器信号之间的安全相关的逻辑相关性,其中,编程工具还具有编译器,编译器被设计成对第一程序部分和至少一个附加程序部分进行编译和链接以形成用于至少一个处理器的可执行原始程序代码,其中,原始程序代码具有表示第一程序部分的原始第一代码部分以及表示至少一个附加程序部分的至少一个原始附加代码部分,并且其中,编程工具被配置用于将原始程序代码传送至第一存储器中,其中,编程工具还被设计成将第一程序部分独立于附加程序部分进行修改和编译以获得修改的第一代码部分,其中,编程工具还被配置用于在借助于至少一个处理器执行原始程序代码同时,将修改的第一代码部分传送至第二存储器中,并且其中,安全控制器被配置成:借助于至少一个处理器除了执行原始附加代码部分之外,执行所述修改的第一代码部分而不执行原始第一代码部分,以根据修改的第一程序部分生成致动器信号。

新方法和新安全控制器可以通过计算机程序以特别有利的方式实现,该计算机程序一旦在安全控制器上被实现就能够实现前述方法。

新方法和新安全控制器使得对第一程序部分的修改能够独立于对至少一个附加程序部分的修改,以及对经修改的第一程序部分进行后续孤立编译以生成经修改的第一代码部分,将经修改的第一代码部分作为孤立的程序代码段加载至安全控制器的第二存储器中。优选地,将修改的第一代码部分加载至第二存储器中,而不需要在先链接至另一代码部分。由于具有原始程序代码的第一存储器因而没有被重写,所以易于在借助于至少一个处理器执行原始程序代码的同时下载经修改的第一代码部分。因此,下载经修改的第一代码部分不需要中断和停止控制过程。换言之,可以修改第一程序部分并且可以在安全控制器执行原始程序代码的同时将经修改的第一代码部分传送至安全控制器的第二存储器,从而控制自动化设备中的至少部分安全关键过程。对经修改的第一程序部分的孤立编译以及对与至少一个附加程序部分的链接的优选省略使得能够更迅速地生成机器可读的修改的代码部分。因此,已经能够更迅速地修改安全控制器的编程。

另外,可以在不中断控制过程的情况下执行安全控制器的经修改的第一代码部分。有利地,安全控制器可以使用受控设备的当前过程值来执行经修改的第一代码部分。这使得可以节省大量时间,由于安全控制器和受控设备在重启之前必须首先被置于定义的状态,而这在复杂设备的情况下会非常耗时。这由于新方法而可以被省略。

在一些有利的示例性实施方式中,在安全控制器的操作期间实现经修改的第一代码部分的并入,其中,安全控制器被编程工具提示以如下方式改变程序代码指针:一旦在程序代码的循环执行内准备开始第一代码部分的执行,则执行来自第二存储器的经修改的第一代码部分,而不执行来自第一存储器的原始第一代码部分。在一些有利的示例性实施方式中,程序代码指针的修改发生在程序循环结束时,使得经修改的第一代码部分从一个程序循环到下一程序循环被执行。在此情况下,有利地保留所有变量的当前过程值。然而,原则上可以设想到,特别地如果不是直接执行来自第一存储器的程序代码而是执行例如来自特定主存储器的程序代码,则原始第一代码部分被经修改的第一代码部分重写。

在优选的示例性实施方式中,保留安全控制器的物理输入与输出之间的所有I/O映射以及在程序代码中所使用的变量。优选地,经修改的第一代码部分中的修改因此仅限于选择的传感器信号与致动器信号之间的修改的逻辑相关性。这便利于将经修改的代码部分迅速并入控制过程。

由于经修改的第一代码部分表示选择的传感器信号与致动器信号之间的安全相关的逻辑相关性,所以新方法和新安全控制器使得能够在安全控制器的操作期间修改安全相关的控制过程。一方面,这是非常有利的,由于安全相关的控制系统部件可能妨碍和削弱对设备的非安全相关操作的控制。因此,新方法和对应的安全控制器使得能够消除例如安全相关的控制过程的时间限制,以例如便利于非安全相关的控制过程的故障排解。

在有利的示例性实施方式中,新方法和新安全控制器还使得能够在操作期间修改至少一个附加程序部分,其中,单独修改并编译至少一个附加程序部分,并且将经修改的附加代码部分传送至第二存储器。然而,虽然如此,但是新方法和新安全控制器的特定特征在于:可以以所描述的方式孤立地对包括安全相关的逻辑相关性的第一程序部分进行修改、编译并且传送至安全控制器的第二存储器。因此,在一些有利的示例性实施方式中,仅在对用户成功识别和/或授权并且由安全控制器的操作系统对应地启用之后,由此才可以修改第一程序部分并且将经修改的第一代码部分传送到安全控制器的第二存储器。

另外,在一些有利的示例性实施方式中,可以在原始程序代码的执行期间禁止执行来自第二存储器的经修改的第一代码部分,使得在执行原始程序代码期间在两个通道中有利地监测该禁止。因此,这些示例性实施方式根据当前执行的原始程序代码防止对安全相关的控制过程的任何干预,从而提供增强的安全性,但是在个别情况下妨碍修改的实现。有利地,新方法和新安全控制器通常具有以下选项:将孤立地编译的第一代码部分加载至安全控制器的第二存储器中,以及提示至少一个处理器在操作期间执行该代码部分,其中,该一般性选项可以被特定地停用。

总之,新方法和新安全控制器使得能够更迅速地并入表示安全相关的逻辑相关性的经修改的代码部分。因此,与先前情况下相比,用户能够更快地对新安全控制器进行重新编程。从而完全实现了前述目标。

在本发明的优选改进方案中,仅在有限的时间段期间执行经修改的第一代码部分而不执行原始第一代码部分。

在该改进方案中,根据新方法的程序代码的修改仅仅暂时可行。因此,在有限的时间段过去之后,至少一个处理器再次执行原始第一代码部分而不执行经修改的第一代码部分。在一些示例性实施方式中,这可以自动发生。然而,如下面基于优选的示例性实施方式进一步说明的,返回至原始第一代码部分优选地需要手动干预。在一些有利的示例性实施方式中,有限的时间段≤24小时,有利地≤12小时。在其他的有利的示例性实施方式中,有限的时间段可以≤5小时或甚至≤0.5小时。该改进方案具有下述优点:由于新方法,可以不绕开这样做的已确立且证实的方式来执行安全相关程序代码的永久修改。因此,增加了安全相关的控制过程中的故障安全性。特别地,在调试便利于故障排解的设备时会有利的安全等级的持续降低是有时间限制的。长期地,新安全控制器使用原始程序代码来操作。

在另一改进方案中,安全控制器在经过有限时间段之后进入定义的安全状态。

依据该改进方案,定义的安全状态是一种使危险的致动器进入安全状态的状态。通常,安全状态需要对安全控制器进行手动重置或手动重启以进行重新调试。在优选的示例性实施方式中,优选地用两个通道冗余在安全控制器的固件中实现有限时间段的监视。有利地,安全状态不能被用户重写。该改进方案提供了关于安全相关控制系统的进一步增加的安全性。

在另一改进方案中,第一存储器是非易失性存储器,第二存储器是易失性存储器。依据该改进方案,非易失性存储器是即使在操作电压或电源电压丢失的情况下仍保留所传送的程序代码的存储器,而易失性存储器在操作电压或电源电压丢失的情况下丢失所存储的代码部分。该改进方案具有下述优点:重启和优选的手动重置能够可靠地终止经修改的第一代码部分的使用。当第二存储器的易失性特性限制了故障排解时,新方法更具灵活性和便利性,从而有利于改进对设备的保护。

在另一改进方案中,改变安全控制器的程序代码指针以执行经修改的第一代码部分而不执行原始第一代码部分。

在该改进方案中,安全控制器具有有效共存的两个第一代码部分。通过改变以本身已知的方式指向控制系统的存储器中的下一机器代码命令的程序代码指针,可以非常迅速地切换到经修改的第一代码部分。另外,由于两个代码部分的共存,所以可以易于切换回原始代码部分。可替选地,通常能够设想到,经修改的第一代码部分从第二存储器被传送至第一存储器,并且重写第一存储器中的原始第一代码部分。相比之下,优选的改进方案简化了前述的经修改的第一代码部分的临时执行。

在另一改进方案中,至少一个处理器循环地执行原始程序代码,并且在完成程序循环之后,执行经修改的第一代码部分而不执行原始第一代码部分。

该改进方案使得能够实现在安全控制器的操作期间从原始第一代码部分到经修改的第一代码部分的定义的无缝转换。在该改进方案中,经修改的第一代码部分有利地接收当前过程值,使得可以不管修改而无缝地执行控制过程。

在另一改进方案中,安全控制器具有视觉指示器,通过所述视觉指示器在视觉上指示经修改的第一代码部分的执行。在有利的示例性实施方式中,视觉指示器在下述整个时间段期间指示经修改的第一代码部分的执行:从并入经修改的第一代码部分开始直至经过有限时间段为止以及/或者直至手动重置或重启为止,即只要经修改的第一代码部分是“有效”的即可。由于与原始程序代码的偏差可能导致安全等级的变化并且在该改进方案中有利地指示了偏差,所以该改进方案针对受控过程操作的故障安全性是有利的。

在另一改进方案中,将经修改的第一程序部分连同至少一个附加程序部分一起进行编译和链接以获得修改的可执行程序代码,并且在停止原始程序代码的执行之后,将经修改的可执行程序代码传送至第一存储器。

在该改进方案中,经修改的第一程序部分被永久地集成至可执行程序代码中,并且作为“新的原始程序代码”被有效地加载至安全控制器中而没有时间限制。该改进方案对于在第一测试阶段后的新安全控制器中永久地实现对第一程序部分的修改是有利的。有利地,经修改的可执行程序代码重写第一存储器中的原始可执行程序代码。

在另一改进方案中,将经修改的第一程序部分编译两次以生成经修改的第一代码部分和经修改的第二代码部分,其中,将经修改的第一代码部分和经修改的第二代码部分传送至第二存储器,并且借助于至少一个处理器冗余地执行经修改的第一代码部分和经修改的第二代码部分。

该改进方案对于确保在执行安全相关的第一程序部分期间以及在修改之后的单个故障安全性是特别有利的。有利地,将原始第一程序部分编译两次,其中,以所描述的方式执行经修改的第一代码部分和经修改的第二代码部分而不执行原始第一代码部分和原始第二代码部分。此外,优选的是,在独立的处理器上执行第一代码部分和第二代码部分,以由此实现用作多个通道冗余设计的一部分的两个独立的通道。该改进方案提供高度的故障安全性,这也被保存用于迅速地修改安全相关程序部分的新选项。另外,该改进方案具有下述优点:在实际情况下在安全控制器中执行经修改的第一程序部分,因此便利于依据上述改进方案的永久并入。

在另一改进方案中,安全控制器是包括多个联网的控制单元的分布式安全控制器,在每个联网的控制单元上执行各个程序代码,其中,在执行原始程序代码的同时将经修改的第一代码部分传送至至少两个不同的控制单元。在优选的示例性实施方式中,分布式安全控制器包括提供经修改的第一代码部分的中央存储器,并且至少两个不同的控制单元将经修改的第一代码部分从中央存储器加载至它们相应的第一存储器中。该改进方案使得能够以简单、便利且迅速的方式修改分布式安全控制器中的复杂局面和/或面向对象的用户程序,其中,可以在实际情况下在多个控制单元中执行这些修改并且因此测试这些修改。在有利的示例性实施方式中,编程工具被设计成确定在其上执行原始第一程序部分的所有联网的控制单元,以便随后提示所有受到影响的控制单元将经修改的第一代码部分加载至相应的第二存储器中并且以所描述的方式执行经修改的第一代码部分。在一些优选的示例性实施方式中,编程工具被设计成针对至少两个不同的控制单元不同地编译经修改的第一程序部分,以在不同硬件平台上执行经修改的第一程序部分。

在另一改进方案中,根据用户识别来启用或禁用对第一程序部分的修改。

在该改进方案中,想要修改第一程序部分的用户必须首先成功地经历识别过程。在一些示例性实施方式中,用户识别可以包括密码的输入。可替选地或另外,可以基于电子和/或机械密钥来执行用户识别。该改进方案针对安全相关的控制过程中的操纵和无意干预提供了增强的安全性。

在另一改进方案中,将经修改的第一代码部分到第二存储器的传送连同日期戳一起记录在另外的存储器中。优选地,另外的存储器是非易失性存储器。

该改进方案具有下述优点:即使仅临时可行也仍然自动记录对安全相关的第一程序部分的任何修改,并且也可以因此随后追踪所述修改。一方面,这便利于当对安全控制器进行编程时对程序代码进行故障排解和优化。另一方面,更容易识别和防止操纵或操纵尝试。

应当理解,在不背离本发明的范围的情况下,前述特征和下文要说明的特征不仅可适用于每个指定的组合而且可适用于其他组合或单独使用。

附图说明

在附图中示出了本发明的示例性实施方式,并且在下面的描述中更详细地说明这些示例性实施方式。在附图中:

图1示出了根据本发明的示例性实施方式的包括分布式安全控制器的复杂设备的高度示意性表示;

图2示出了来自图1的设备的单个控制单元的示意性表示;以及

图3示出了用于说明新方法的示例性实施方式的流程图。

具体实施方式

在图1中,附图标记10整体上表示设备,所述设备经由示例性实施方式的新安全控制器被控制。设备10包括多个设备部件12。在本示例性实施方式中,设备部件12为放置站14、处理站16、测试站18、输送单元20以及封装和堆垛站22。经由例如可包括机器人的放置站14将工件自动供应给处理站16。在处理站16中处理这些工件。随后,将经处理的工件转发给测试站18,在测试站18中检查经处理的工件是否满足预定义的测试标准。如果满足这些测试标准,则借助于输送单元20将工件传送至封装和堆垛站22。在封装和堆垛站22中,将多个工件组合成封装件,然后将封装件堆叠在栈板上。因此,设备10是被自动控制的多个设备的示例,其中,安全相关过程和非安全相关过程构成整个过程。

在此,附图标记24整体上表示根据本发明的示例性实施方式的安全控制器。安全控制器24包括:多个硬件部件26,具体地呈可编程控制单元28、传感器装置30和致动器装置32的形式;以及软件部件,包括在此根据新方法创建的用户程序。在优选的示例性实施方式中,传感器装置30和致动器装置32是可以将多个不同的传感器和致动器如位置开关、旋转编码器、温度传感器、电磁阀、接触器和/或电力驱动器连接在一起的模块化组装的I/O装置。在优选的示例性实施方式中,如原则上从前述自动化系统PSS 4000已知的,控制单元可以与模块化传感器和致动器装置一起形成组合型组件。

有利地,控制单元、传感器和致动器各自与设备部件12中之一相关联。控制系统硬件部件26有利地经由通信网络34互相连接。通信网络可以包括如由Pilz GmbH&Co.KG以品牌名称SafetyNET 提供和销售的基于以太网的总线系统。可替选地或另外,通信网络34可以包括为自动化控制系统中的循环数据业务专门设计的另外的总线系统。

可以例如通过安全门来保护各个站14、16、18和22的工作区域,所述安全门仅当相关联的控制单元已经使相应的站进入安全状态时才许可访问相应的站的危险工作区域。可替选地或另外,可以使用光栅或光幕。另外,各个站14、16、18和22可以设置有紧急停止按钮,其中可以通过所述紧急停止按钮特别是通过断开电源将每个站转换至安全状态。出于该目的,通常激活被布置在每个站的供电路径中的接触器。

前述安全门、光栅、光幕和紧急停止按钮是典型的安全相关传感器,其输出信号在逻辑上链接以根据输出信号激活安全相关致动器,如各个站的供电路径中的接触器。另外,站的传感器30可以包括用于控制该操作所需的许多非安全相关传感器,并且例如检测用于控制该操作所需的操作旋转速度、角度、位置或速度。致动器32同样可以包括非安全相关致动器,具体地为电动机或致动气缸。

在本示例性实施方式中,单独的控制单元28与每个站14、16、18、22相关联。可替选地,可以通过公共控制单元来控制设备的多个站。设备部件可以在结构上和空间上彼此独立。然而,还能够设想到,将多个设备部件连接以形成集成站。

图1示出了具有相同附图标记的功能上相同的部件,其中,撇号表示可不同实现的各个部件。这同样适用于信号。这种类型的标识也适用于其他附图。

图2示出了单个控制单元28和编程工具36。在优选的示例性实施方式中,编程工具是在其上执行计算机程序(软件)40的PC 38。计算机程序40在PC 38上提供程序编辑器42,程序编辑器42使用户能够以用户方便的编程语言来创建用于控制单元28和/或用于多个控制单元28、28'、28"等的用户程序。优选地,程序编辑器提供基于标准EN 61131的一种或多种编程语言。这些编程语言包括例如下述编程语言,其使得能够具体地基于所谓的功能块以图形化的形式限定选择的传感器信号与选择的致动器信号之间的逻辑相关性。编程工具36还包括编译器44,其中可以借助于编译器44将用高级编程语言创建的程序部分转换成机器可读的并且能够由控制系统28执行的机器代码。在优选的示例性实施方式中,编程工具包括第一编译器44a和第二编译器44b,所述第一编译器44a和第二编译器44b基于安全相关程序部分45生成两个单独的可执行程序代码,随后一个或多个处理器冗余地执行所述两个单独的可执行程序代码以实现较高的故障安全性。在所示的示例性实施方式中,附图标记46a标识由第一编译器44a基于第一程序部分45生成的第一代码部分,所述第一代码部分以机器可读的形式限定安全相关的逻辑相关性。附图标记46b标识由第二编译器44b基于第一程序部分45生成的第二代码部分。第二代码部分46b表示与第一代码部分46a相同的逻辑相关性,但是第二代码部分46b用在冗余的实现中并且优选地用在不同的实现中。在一些优选的示例性实施方式中,可以将代码部分46a、46b编译用于不同处理器。然而,原则上,能够设想到在一个处理器上或在相同类型的多个处理器上执行代码部分46a、46b。

附图标记48标识在该示例性实施方式中借助于第一编译器44a基于附加程序部分49生成的附加代码部分。附加代码部分48表示选择的传感器信号与致动器信号之间的与安全相关功能无关的逻辑相关性。因此,在该示例性实施方式中,代码部分48是用于标准过程的代码部分,然而,冗余的代码部分46a、46b用于控制安全相关过程。

附图标记50标识链接器,其中可以借助于所述链接器对多个代码部分46a、48进行链接以形成用于控制系统28的可执行程序代码。应当注意,除了仅作为示例在此示出的代码部分之外,新方法还可以生成其中一些是安全相关的而另一些是非安全相关的多个代码部分。通常,链接器50将多个代码部分放在一起以形成可执行程序代码52。具体地,在一些示例性实施方式中,可以组装多个安全相关代码部分以形成可执行程序代码。

编程工具36具有第一接口54,其中可以经由所述第一接口54将可执行程序代码52传送至控制单元28的第一存储器56。在优选的示例性实施方式中,第一存储器56是被固定地集成至控制单元28中的例如EEPROM形式的非易失性存储器。可替选地或另外,第一非易失性存储器56可以是例如SD卡形式的闪速存储器。

附图标记58标识控制单元28中的第二存储器,所述第二存储器在优选的示例性实施方式中是易失性存储器。编程工具36具有另外的接口60,具体地可以经由所述另外的接口60将经修改的第一代码部分61a和经修改的第二代码部分61b传送至存储器58。

在此,附图标记62a、62b标识两个微处理器,这两个微处理器在控制单元28的优选示例性实施方式中相对于彼此冗余地操作。双箭头64指示微处理器62a、62b能够对它们的处理结果进行比较并且/或者相互检查。在优选的示例性实施方式中,微处理器62a执行第一安全相关代码部分46a和非安全相关代码部分48,而第二微处理器62b执行第二安全相关代码部分46b。通常,优选的是,由控制单元28冗余地在两个通道中执行至少安全相关代码部分以实现与依据前述标准的SIL3和/或PL e的要求对应的高故障安全性。然而,原则上,还可以以另一方式进行控制单元28的故障安全实现。

附图标记66标识I/O接口,控制单元28可以经由所述I/O接口从传感器30读入当前过程值并且可以输出用于控制致动器32的当前过程值。在优选的示例性实施方式中,I/O接口包括用于将控制单元28连接至通信网络34的总线接口。

在一些示例性实施方式中,I/O接口66包括用于对用户识别68进行路由的接口。在一些示例性实施方式中,用户识别可以包括输入密码以及/或者读入电子和/或机械密钥。可替选地或另外,可以在编程工具36中实现用于读入用户识别的接口(此处未示出)。

附图标记70表示例如以信号灯的形式实现的视觉指示器。在优选的示例性实施方式中,如下面说明的,视觉指示器70指示何时由控制单元28执行经修改的第一代码部分61a。

附图标记72表示另外的非易失性存储器,其中存储有控制单元28的所谓的固件。该固件包括操作系统,借助于所述操作系统使得控制单元28能够执行通过编程工具36加载至存储器56、58中的代码部分46a、46b和48。在优选的示例性实施方式中,在固件中存储对经修改的第一代码部分61a和经修改的第二代码部分61b的执行进行临时限制的限定时间段74。

在该示例性实施方式中,微处理器62a、62b中的每一者具有程序代码指针76,程序代码指针76以本身已知的方式分别指向要在循环地执行的程序代码内执行的下一指令代码。在一些优选的示例性实施方式中,借助于固件72并且借助于编程工具36以下述方式修改两个微处理器62a、62b中的每一者中的程序代码指针76:处理器62a临时执行经修改的第一代码部分61a,并且处理器62b临时执行经修改的第二代码部分61b。

图3基于简化的流程图示出了新方法的优选示例性实施方式。根据步骤80,想要对安全控制器24进行编程的用户创建至少一个第一程序部分,所述至少一个第一程序部分限定选择的传感器信号与选择的致动器信号之间的安全相关的逻辑相关性。简而言之,用户创建至少一个FS程序部分。在实际的示例性实施方式中,FS程序部分可以由多个FS程序模块构成,使得第一程序部分可以被划分成另外的子程序部分。

根据步骤82,用户创建至少一个附加程序部分,通常不在其中限定传感器信号与致动器信号之间的安全相关的逻辑相关性。简而言之,在步骤82中,用户创建ST程序部分。

根据步骤84,对来自步骤80、82的程序部分进行编译和链接以形成用于安全控制器24的可执行程序代码。在优选的示例性实施方式中,借助于这两个编译器44a、44b将第一程序部分(FS程序部分)编译两次以生成两个冗余的FS代码部分。在一些示例性实施方式中,将两个冗余的FS代码部分中的仅一个FS代码部分链接至来自步骤82的ST代码部分。然而,在其他示例性实施方式中,可以将ST代码部分链接至这两个FS代码部分中的每一个以形成可执行程序代码。

根据步骤86,将可执行程序代码下载至安全控制器的第一存储器。随后,根据步骤88,使安全控制器24进入操作,使得借助于安全控制器中的处理器执行所下载的程序代码。安全控制器24以本身已知的方式以循环地重复方式执行来自第一存储器的程序代码,其中,安全控制器24从传感器30读入当前过程值,并且在每个循环中确定用于致动器32的当前过程值,并且经由I/O接口将当前过程值输出至致动器(步骤89)。

根据优选的示例性实施方式,用户可以在程序代码的执行期间对第一程序部分进行修改(步骤90),重新编译经修改的第一程序部分(步骤92),并且根据步骤94,将如此获得的经修改的代码部分下载到安全控制器的第二存储器中。在优选的示例性实施方式中,预先需要进行例如包括密码查询96的用户识别。如上面已经示出的,步骤92可以包括对经修改的第一程序部分的两次编译以获得两个冗余的经修改的代码部分61a、61b。

根据步骤98,用时间戳记录经修改的第一代码部分的下载。在优选的示例性实施方式中,将日志连同时间戳存储在编程工具36和/或安全控制器24的非易失性存储器中。此外,根据步骤100,激活指示器70。

根据还可以在激活视觉指示器之前执行的步骤102,借助于编程工具36和/或固件72以下述方式改变安全控制器的至少一个处理器的程序代码指针:一旦安全相关的第一代码部分要在来自第一存储器56的程序代码的循环执行的范围内被执行,则程序代码指针立刻指向易失性存储器58中的经修改的第一代码部分。因此,目前执行来自易失性存储器58的经修改的第一代码部分61a,而不执行来自第一存储器56的原始第一代码部分46a。在优选的示例性实施方式中,同样地执行易失性存储器58的冗余的经修改的第二代码部分61b,而不执行来自存储器56的冗余的原始第二代码部分46b。

在优选的示例性实施方式中,包括经修改的安全相关代码部分的程序代码的循环执行是有时间限制的。因此,根据步骤104,查询安全控制器是否要通过软件重置或重启而返回至原始程序代码。如果安全控制器不通过软件重置或重启而返回至原始程序代码,则根据步骤106,检查是否已经达到用于临时执行经修改的程序代码的最大时间限制74。如果已经达到用于临时执行经修改的程序代码的最大时间限制74,则在优选的示例性实施方式中,安全控制器24的固件确保安全控制器进入需要手动重启的安全状态,并且因此设备10进入需要手动重启的安全状态(步骤108)。根据步骤110,安全控制器在手动重启之后执行原始的未修改的程序代码。

如果用户想要使经修改的程序代码被永久地执行,则根据步骤112,用户必须将经修改的第一程序部分与附加程序部分一起进行重新编译和链接。经修改的程序代码因而作为新的原始程序代码被传送至安全控制器24的非易失性存储器56中。

在优选的示例性实施方式中,可以使用新方法仅修改第一程序部分45中的逻辑相关性,而不修改安全控制器24的物理连接与过程变量之间的I/O分配(所谓的I/O映射)。在优选的示例性实施方式中,只要安全控制器24执行程序代码,则还排除对安全控制器24的硬件的修改。换言之,如果安全控制器24被停用而不执行当前的控制功能,则这样的修改必须由用户执行。

在优选的示例性实施方式中,第一程序部分的修改和第一代码部分的最终修改是非永久性的。这意味着最初被传送至安全控制器的程序代码没有被重写,而是保持不变。在优选的示例性实施方式中,根据新方法,仅在易失性存储器58中执行修改。因此,在执行重置命令之后或者通过重启,例如在断开电源电压之后,安全控制器返回至原始程序代码。在优选的示例性实施方式中,程序代码的永久修改需要重新下载全编译并链接的程序代码。

如上面已经示出的,在优选的示例性实施方式中,编程工具36确定要在其上执行经修改的第一代码部分61a的所有控制单元28、28'和28"等。在优选的示例性实施方式中,随后,编程工具36提供经修改的第一代码部分(并且优选地提供用于冗余执行的经修改的第二代码部分),用于并入所有受影响的控制单元。因此,随后将所有受影响的控制单元中的程序代码指针临时重新路由至经修改的代码部分。

从组织结构的观点看,用户有责任对第一程序部分45中的修改进行特定风险分析。如果适用的话,用户必须确保在安全等级降低的情况下,以不同的方式来管理对受控设备附近的人的危害。

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