安全CPU必须使用安全IO模块吗?普通CPU是否需要安全模块?
安全模块的输入输出地址是否可以在标准程序中使用?是否可以使用监控表操作、强制安全地址?
为什么安全信号模块同时占用输入输出地址,而且地址长度大于信号通道数,信号点是如何分配的?
为什么F-CPU进入STOP模式,并且在诊断缓冲区中出现“Data falsification in the safety program ...”消息?
当ET200SP/MP的F-IO模块无法分配 F 目标地址时应该检查哪些方面?
在标准用户程序修改后,S7-1200F/1500F CPU为什么必须在停止模式下载?
与 PROFIsafe 地址惟一性相关的 PROFIsafe 地址类型1 和类型2 有什么区别?
如何将PROFIsafe 地址设置成在网络范围和CPU范围是唯一的?
为什么 S7-1500 F CPU 在启动时 Profisafe 报文不能自动去钝?
如果 S7-1500 F CPU 因为内部错误 16#7501 导致停止应该如何操作?
哪些模块可以用在 ET 200SP 的电源模块 F-PM-E 的负载组内?
为什么使用ET200SP的F-RQ 模块 (1x24VDC/24..230VAC/5A) 时,继电器触点会短暂地打开?
为什么在编译被配置为I-device的F CPU的F组件时,会出现地址同步错误?
如何通过程序评估钝化状态?如何进行重新集成?答:安全CPU具有标准CPU的所有功能,所以既可以使用安全信号模块也可以使用标准信号模块,但安全功能部分必须使用安全输入、输出模块实现。在不需要达到安全等级的功能上使用标准信号模块。有些故障安全信号模块支持安全和标准两种模式,与普通CPU一起使用时只能操作在普通模式。仅支持安全模式的故障安全模块,不能与普通CPU一起使用。
答:没有专门的安全型接口模块,ET200系列的接口模块分为两类,支持安全模块和不支持安全模块的,可以通过样技术手册来确定是否支持安全模块扩展。
TIA博途中 STEP 7 V1x编程工具需要购买对应版本的STEP7 Safety Advanced V1x或 STEP7 Safety Basic V1x软件包并安装才能配置安全模块。
S7-1200F CPU 不支持上载。
S7-1500/ET200SP F CPU可上载,但需满足3个条件:更多的关于安全程序上载的信息请参考链接。
安全模块的输入输出地址可以在标准程序中读操作,但是不能进行写操作,同样也包括F-DB块中的数据,因此在激活CPU安全模式下也不能使用监控表修改和强制操作。具体可以参考下图说明:
图1 标准程序和安全程序对输入输出模块的地址读写使用 图2 标准程序和安全程序对DB操作的说明(只写/只读表示对DB中的同一个数据只能进行一种操作)答:可能的原因
1、模块被钝化
2、安全程序中没编写此模块地址相关的程序
详细信息,请参考链接。
答:西门子故障安全信号模块与故障安全CPU之间的数据交换采用的是PROFIsafe安全通信,除了信号状态外还附加有一些安全措施的数据彼此交换,因此同时占用输入输出地址而且长度会大于信号点数。
举例说明
ET200SP中的数字量输入模块 F-DI 8×24VDC HF 将占用 F-CPU 中的以下地址范围:x = 模块的起始地址
图3 F-DI 8×24VDC HF 占用地址
该模块相应输入通道数据在 F-CPU 中占用已分配输入地址中的以下地址:
图4 F-DI 8×24VDC HF 分配输入位占用地址
ET200SP中的数字量输出模块模块F-DQ 4×24VDC/2A PM HF 将占用 F-CPU 中的以下地址范围:
x = 模块的起始地址
图5 F-DQ 4×24VDC/2A PM HF 占用地址
该模块相应输出通道在 F-CPU 中占用已分配输出地址中的以下地址:
图6 F-DQ 4×24VDC/2A PM HF 分配输出位占用地址
在TIA Portal软件中,可以直接在安全模块的F-parameters属性中查到。
图7 TIA Portal软件中F-IO DB在F-parameters中直接显示F-I/O DB 的变量具体说明请参考链接。
HW Config 中保存并编译硬件配置时,将自动插入并扩展 F 共享数据块。 F 共享数据块是一个故障安全块,其中包含 F 系统所需的安全程序的所有共享数据,以及附加信息,可以在标准用户程序中评估安全程序的这些数据。
S7-1500F/1200F系统,安全编译器编译后的签名和日期时间存放在RTG1SysInfo(程序块->系统块->STEP 7 Safety下)中,且该F-DB可打开,调用如下:
“RTG1SysInfo”.F_SYSINFO.F_PROG_SIG (安全程序的集体签名,DWORD类型);
“RTG1SysInfo”.F_SYSINFO.F_PROG_DAT (安全程序的编译日期,DTL数据类型)RTG1SysInfo的具体说明请参考链接。
如果安全数据发生毁坏,F-CPU会进入STOP模式,并在诊断缓冲区中会出现下列任一个故障消息:“Data falsification before output to F IO (75D6)”和“Data falsification in the safety program before output to partner F-CPU (75D7)”。
下列的情况可能导致这个现象。详细信息,请参考链接。
如果在给F-IO模块分配F目标地址时,收到提示信息“模块不可用”,需要检查以下几点:
注:编码元件(备件)订货号:
模块 | 数量 | 订货号 |
---|---|---|
ET200SP 不包含F-AI 4xU 0..10V HF | 5 | 6ES7193-6EF00-1AA0 |
ET200SP F-AI 4xU 0..10V HF | 5 | 6ES7592-6EH00-1AA0 |
S7-1500/ET200MP | 5 | 6ES7592-6EF00-1AA0 |
ET200ecoPN | 1 | 6ES7194-6KB00-0AA0 |
当使用ET200SP还需要检查额外几点:
在编译硬件组态时,安全系统会为每个F-IO模块自动创建一个F-IO DB。可在程序中评估其中的变量PASS_OUT和QBAD, 如果F-I/O 发生钝化,则变量 PASS_OUT = 1 和 QBAD = 1 。
下图是在TIA Portal软件中ET200S 4/8 F-DI模块发生故障进入钝化状态时的F-IO DB变量PASS_OUT和QBAD状态。
图9 TIA Portal中F-IO DB显示安全模块钝化在极少数情况下,安全程序在编译后可能仍然会不一致。
编译后,按照以下步骤获取一致的安全程序:
1.如果可能,设置最新的Safety system version。 使用此参数指定安全系统版本(包括F系统模块和自动生成的F模块的版本),选择出现的最高版本。
2.点击 "Clean up" 按钮。
注意 这将删除不同安全程序的系统模块。
图10 修改安全系统版本和清除系统
3.在项目导航中标记项目分别选择"Hardware(rebuild all)"和“Software(rebuild all)”进行编译(通过弹出菜单)。
图11 完全编译
以下三个场景描述了下载时需要停机的原因和避免停机的补救措施。
场景 1
描述
如果是安全程序和标准程序之间交换的数据,在这种情形下,标准程序的修改系统有时需要在停机模式下载。例子
在安全程序中,编写了对标准用户程序里背景数据块中静态变量的读访问,则这个数据块跟安全程序相关联而编译并下载。现在,如果修改相关功能块的接口,则背景数据块也被修改,于是安全程序必须被编译。结果,安全相关的修改需要在停机模式下载。补救
对于标准用户程序和安全程序之间交换的数据,推荐定义一个特殊数据块(传输数据块),用于交换数据的存储,这个数据块和标准/安全程序都相连接。这样,在标准程序修改时不会改变这些传输数据块,从而不会影响安全程序,反过来也一样。更多信息
更多信息可从这里获得SIMATIC S7-1200/1500 安全编程指导,在第3.9章节"标准程序和安全程序的数据交换"。场景2
描述
安全程序正在多用户环境下工作,如果在标准程序中做以下操作可能需要在停机模式下载。例子
在本地多用户会话中修改了安全程序,于是直接下载修改的程序到控制器,然后会将改变同步到多用户服务器项目中。如果没有标记产生的F系统块,那么这些F块也不会传递给服务器项目。下次在多用户服务器项目中做编译和下载标准修改时,F系统块必须再次修改,这个修改会导致下载停机。
补救
仅在多用户服务器项目中下载安全程序的更改。场景3
描述
工程工作使用安装了不同界面语言的STEP 7(TIA)软件的多种PC机,在标准系统环境中项目语言改变,系统需要故障安区那控制器在停机模式下载程序。例子
项目有多个项目语言(例如,德,英)用户A仅安装了英文项目语言,完全编译后保存项目。
用户B安装了德文项目语言。
在操作过程中,重新编译安全项目,签名没有改变,但是需要在停机模式下载程序。
补救
所有用户需要选择相同的项目语言。可以在TIA Portal 中增加更多的项目语言。
PROFIsafe 地址就像 IP 地址是为了唯一的寻址F IO和为了保护标准地址的机制。这个唯一性的界定在PROFIsafe 地址类型1 的F IO中和PROFIsafe 地址类型2 的F IO中有区别,这个区别在下面解释。
PROFIsafe 地址的定义
PROFIsafe 地址(术语命名依据 IEC 61784-3-3: 2010) 是源和目标的唯一标识。每个F-IO都具有两部分地址:PROFIsafe 地址类型 1
PROFIsafe 地址的唯一性仅由 F 目标地址保证,F 源地址对 PROFIsafe 地址的唯一性没有影响。因此,F 目标地址在CPU范围1)和网络范围2)内必须是唯一的,而且要在安全打印输出中检查。下列 F 模板使用 PROFIsafe 地址类型1:
F 目标地址由 IO 上的 DIP 开关设置的模块通常是使用地址类型1。
故障安全 DP 标准从站和故障安全标准 IO 设备使用地址类型1,除非在其相关文档中明确说明。
PROFIsafe 地址类型 2
PROFIsafe 地址的唯一性是由 F 源地址和 F 目标地址共同保证的。PROFIsafe 地址在CPU范围1)和网络范围2)内必须是唯一的。达到目的需要同时满足两个条件:F CPU 的F 源地址 (参数 "PROFIsafe 地址的基数") 在网络范围2)内是唯一的。
F 模板的 F 目标地址在CPU范围1)是唯一的。 警告: 如果使用 F 源地址保证符合PROFIsafe 地址类型2的 F IO 的PROFIsafe 地址的唯一性, 必须要在安全打印输出中检查每个单独的 F IO 被分配了正确的 F 源地址。同样也需要检查 F 目标地址的唯一性。成批生产系列设备的厂家使用相同的操作设备在同一个 PROFIBUS/PROFINET 网段,只需要修改 F CPU 的 F 源地址。
这看起来类似:
机械 A: F-CPU S7-1500 的 F 源地址 1000 和 ET 200SP 的 F 目标地址 1, 2, 3。
机械 B: F-CPU S7-1500 的 F 源地址 2000 和 ET 200SP 的 F 目标地址 1, 2, 3。
下列 F IO 使用 PROFIsafe 地址类型2:
在一个网络中使用 PROFIsafe 地址类型1和2
如果在一个网络中使用地址类型1和地址类型2 的 F IO ,地址类型1 的 F IO 的F 目标地址必须继续保持在网络范围内2) 唯一。地址类型2 的 F IO 的F 目标地址必须不能包含任何在网络中地址类型1 的 F IO 的F 目标地址。备注
1)"CPU范围内-wide" 包含所有分配给 F CPU 的 F IO:位于F CPU中央机架上F IO 和 以F CPU作为 DP 主站/IO 控制器的F IO。 在智能从站与从站通信中分配给智能从站的F CPU 的F IO,而不是分配给作为 DP 主站/IO 控制器的F CPU。
2)一个网络由一个或多个子网构成。 "网络范围"意味着跨越子网边界。在PROFIBUS网络,一个网络包含所有PROFIBUS DP可以访问的节点。在在PROFINET IO 网络包括所有的可以通过RT_Class_1/2/3 (Ethernet/WLAN/Bluetooth, Layer 2) 和使用RT_Class_UDP (IP, Layer 3)访问的的节点。
在组态范围内唯一PROFIsate 地址的设置取决于:
下面的文档显示了不同设备的组态,解释了网络范围和CPU范围的唯一 PROFIsafe 地址的设置。图中两个设备中有PROFIsafe 地址类型1和2特性的F IO和主机架的F IO(参考下图)。
图12 两个设备中有PROFIsafe 地址类型1和2特性的F IO和主机架的F IO
详细信息,请参考链接。
在S7-1500 F CPU启动期间,PROFIsafe消息(例如驱动器S120、G120)不会自动去钝化。
说明
从手册中的描述可以看出,F IO的重新集成最早在F系统启动后F运行组的第二个周期自动进行。这与变量"ACK_NEC"或配置"通道道错误确认"的设置无关。
如果在F系统启动期间出现F通信/F IO/通道错误,请参阅以下手册章节了解更多信息:
如果在F CPU和F IO之间建立通信所花费的时间超过F IO属性中设置的F监视时间,则不会自动重新集成。
详细信息,请参考链接。
内部错误16#75D1表示在安全程序中检测到安全关键错误。
说明
如果收到上述错误消息,S7-1500 F-CPU的诊断缓冲区包含以下诊断:
x of xx; 事件ID:16#0D:75D1
错误:安全程序:内部CPU错误
F运行组:1
内部错误信息:2:0*
内部其他错误信息:0
软件PLC/软件PLC
进入事件
事件类型:错误
*除了错误信息2:0之外,还有其他含义不同的信息。
在STEP 7(TIA Portal)的联机帮助中,在"事件0D:75D1的帮助"下,将找到有关错误可能原因和故障排除方法的详细信息。
详细信息,请参考链接。
多种SIMATIC 标准输出模块可以实现故障安全关闭。下面条目中列出了哪些输出模块适用。
描述
下面的相关产品列表可以找到能够实现故障安全关闭的 SIMATIC 标准输出模块。只有在表中列出的 SIMATIC 标准输出模板才能应用于故障安全关闭。
列表中的模块没有安全功能,安全功能的触发是通过高层级的安全继电器。这使系统处于安全状态,应该遵守相应的安全继电器的安全注意事项。
以下内容适用于列出的模块所在的同一电势组(ET 200AL除外):
不能使用其它标准数字量输入模板,标准模拟量输入模板,计数模板等,必须为这些模板建立独立的电势组。注意
详细信息,请参考链接。
安装在电源模块 F-PM-E 24VDC/8A PPM ST (6ES7136-6PA00-0BC0) 右侧模块,只要基座单元没有打开新的电位组,那么模块在电源模块的负载组内。通过断开电源模块 F-PM-E 24VDC/8A PPM ST 的负载组可以实现这种方式的模块的安全停机。
标准模块的安全停机可达 SIL 2 / PL d。
电源模块 F-PM-E 24VDC/8A PPM ST和标准输出模块的组合可实现达到SIL 2和PL d 标准的安全停机。SIL 2 符合 IEC 61508:2010标准,PL d 符合 EN ISO 13849-1:2015标准。
详细信息,请参考链接。
使用如下所示的两款ET 200SP 故障安全模块:
F-RQ 模块与F-DQ 模块的连接方式如下图所示:
图13 连接示意图
行为
在个别情况下,继电器触点会在未预期的情况下短暂打开。原因
F-DQ 模块的dark test 会导致继电器触点短时间打开。硬件配置中(模块视图 F-DQ > "常规" 标签 > "DQ Parameters")最大回读时间 5ms 设置过长。关于此问题的更多信息可在F-DQ模块手册的"应用:连接 ET 200SP 数字量输出模块 F-RQ 1x24VDC/24..230VAC/5A (6ES7136-6RA00-0BF0)" 部分获得。
解决办法
如果可能,应该在模块组态中设置"Disable dark test for 48 hours"。 注意上述设备手册中"Disable dark test for 48 hours"部分的进一步信息。如果不能停用 dark test :
在 F-RQ 模块的24V DC 电源端接入一个二极管 (下图).。这使得F-DQ可以在预先设定的回读时间为1毫秒的情况下运行。
图14 连接示意图
当手动更改传输区域的地址时,可能会发生地址同步错误。
如果在编译时出现地址同步错误,那么需要更改传输区域的起始地址。
详细信息,请参考链接。
如果发生钝化,F-I/O 将切换到故障安全状态。故障修复后,可重新集成 F-I/O。重新集成存在不同的可能性,取决于 F-I/O 是否支持 RIOforFA-Safety PROFIsafe 配置文件。
如果 F-I/O 发生错误(例如通道故障),则 F-I/O(或相关通道)切换到安全模式。在这种"钝化"状态下,自动输出替代值而不是过程值。
清除导致钝化的错误后,可能会从替代值切换到过程值。切换可以自动完成,也可以在安全程序中的用户确认后完成。该切换称为"重新集成"。
本安全应用示例根据以下内容介绍了 F-I/O 的钝化和重新集成:
如果想重现此处介绍的功能,则可以使用可用于 S7-1200 和 S7-1500 的相应 TIA Portal 项目。
详细信息,请参考链接。