湖南西控自动化设备有限公司
主营产品: 西门子一级代理商 PLC 变频器 工控机 伺服电机 触摸屏 软件 电线电缆 电源 S7-200CN S7-200SMART S7-300 S7-400 S7-1200 S7-1500 ET-200 全新原装正品 全国服务
SIEMENS西门子代理商6AG1277-1AA10-4AA0

概览

可通过以下几种不同的错误处理机制进行参数跟踪或编程或访问错误:

机制任务错误处理
使能输入 EN 或 IF 指令阻止程序代码的执行本地
使能输出 ENO 或二进制结果位指示一个错误
参数输出 RET_VAL、STATUS 和 ERROR
GET_ERROR 和 GET_ERR_ID 指令响应一个错误
组织块全局

参数值错误时的本地错误处理

错误发生后,除了通过本地错误处理机制立即进行响应,也可通过程序代码内进行特定响应。此时,可以在程序块(OB、FB 或 FC)中直接编写本地错误处理方式,但系统仅对发生在该程序块中的错误进行处理。

本地错误处理的优势

可根据该错误信息编写程序块中发生相应错误时的响应措施。

所编写的错误评估和错误响应不会中断程序的循环运行。

本地错误处理不会影响系统性能。如果错误未发生,则不会执行所编写的错误分析和响应措施。

下标列出了各种不同的本地错误处理方式:

错误处理方式适用范围说明
EN/ENO 机制 1)S7-300 / S7-400 / S7-1200 / S7-1500通过使能输出 ENO 检测特定的运行时错误并进行相应处理。后续指令的执行取决于该使能输出的信号状态。通过 EN/ENO 机制,可有效避免程序崩溃。块状态将以布尔型变量形式进行传递。
有关 EN/ENO 机制的更多信息,请参见:
EN/ENO 机制的基本知识
输出参数 STATUS 和 ERRORS7-300 / S7-400 / S7-1200 / S7-1500STATUS 和 ERROR 参数作为系统函数块 (SFB) 的返回值时,可查询块特定的错误信息,并按照预定义的结构进行输出。
有关输出参数的更多信息,请参见信息系统中相应指令的说明。
输出参数 RET_VALS7-300 / S7-400 / S7-1200 / S7-1500输出参数 RET_VAL 作为顺序功能图 (SFC) 的返回值时,可显示常规的错误代码或特定的错误代码。所谓常规的错误代码对应于所有指令,而特定的错误代码仅适用于特定指令。多可以输出一个 INT 或 WORD 数据类型的变量。
有关 RET_VAL 输出参数的更多信息,请参见:
通过输出参数 RET_VAL 评估错误
1) 如果指令的参数未导致任何存储器访问错误,则相关的使能输出 ENO 将返回信号状态“1”,并在输出中返回可查询的有效值。

发生编程错误时的全局和本地错误处理

通过全局和本地错误处理,可立即对发生的错误进行响应而无需将 CPU 切换为“STOP”模式。可通过以下方式处理编程错误和访问错误:

全局错误处理的类型适用范围说明
程序执行错误 OB (OB 85)S7-300 / S7-400如果未使用 OB 85,则在发生程序执行错误时 CPU 将从 RUN 模式切换为 STOP 模式,并在诊断缓冲区内生成一个条目。
有关 OB 85 的更多信息,请参见:
优先等级错误组织块 (OB 85)
发生编程和访问错误时的 CPU 内部错误处理S7-1200发生错误时,CPU 将在诊断缓冲区中生成一个条目并保持为 RUN 模式,无需进行额外编程。
编程错误 OB (OB 121)S7-300/ S7-400 / S7-1500如果未使用 OB 121,则在发生编程错误时 CPU 将从 RUN 模式切换为 STOP 模式,并在诊断缓冲区内生成一个条目。
有关 OB 121 的更多信息,请参见:
S7-300 / S7-400:
编程错误组织块 (OB 121)
S7-1500:
编程错误 OB
I/O 访问错误 OB (OB 122)S7-300/ S7-400 / S7-1500S7-300 / S7-400:
如果未使用 OB 122,则在发生访问错误时 CPU 将从 RUN 模式切换到 STOP 模式。
I/O 访问错误组织块 (OB 122)
S7-1500:
发生 I/O 访问错误时,CPU 将始终保持为 RUN 模式并在诊断缓冲区中生成一个条目。未使用 OB 122,也同样如此。
有关 OB 122 的更多信息,请参见:
I/O 访问错误 OB

通过 GET_ERROR 和 GET_ERR_ID 指令,可直接在程序代码中集成本地错误处理。也可通过接收有关错误的详细信息并在错误附近的程序中对其进行评估。此时,可以在程序块(OB、FB 或 FC)中直接编写本地错误处理方式,但系统仅对发生在该程序块中的错误进行处理。

本地错误处理的类型适用范围说明
GET_ERROR 和 GET_ERR_ID 指令S7-1200/S7-1500通过该指令,可获得错误 ID 或详细的错误信息,并在程序代码中编写直接响应。
查询个错误信息时,将启用系统存储器中该错误所在的存储空间。如果随后发生其它错误,则将输出下一个错误的信息。

采用本地错误处理时,可通过 GET_ERROR 指令进行查询。支持以下几种默认的响应方式:

发生写错误时:将忽略该错误并继续程序运行。

发生读错误时:程序将继续运行,且算术指令的值将替换为“0”。

发生执行错误时:将停止该指令的运行,程序将运行下一条指令。

本地错误处理的优势

错误信息存储在系统存储器中,可对其进行查询和评估(如,通过 GET_ERROR 和 GET_ERR_ID 指令)。

可根据该错误信息编写程序块中发生相应错误时的响应措施。

所编写的错误评估和错误响应不会中断程序的循环运行。

本地错误处理对系统性能的影响要低于全局错误处理。如果错误未发生,则不会执行所编写的错误分析和响应措施。

如果在程序块中设置有本地错误处理,则在发生错误时将不执行全局错误处理。

说明
要防止在发生错误时 CPU 切换为 STOP 模式,无论是全局错误处理还是本地错误处理必须处理所有的编程错误和 I/O 访问错误。

示例:有关处理程序执行错误的示例

简介

本地错误处理可单独编程,也可与其它代码一起编程。为确保可识别程序中的所有错误,建议使用本地错误处理组合方案,如以下示例所示。

为提高错误分析的准确程度的错误分析,除输出参数 RET_VAL 之外,还可使用指令“GET_ERROR”或“GET_ERR_ID”。这些方案提供有错误代码,并在相应指令的描述中对其进行详细说明。

RET_VAL 输出参数也可能不输出有效错误代码。如果在读取输入参数时发生访问错误(如,指令输出无法入),则这是因为指令执行已中断。此时,建议在用户程序中插入两条指令“GET_ERROR”和“GET_ERR_ID”。这是因为,发生此类错误时,这两条指令将返回可靠的错误信息。

错误的个指示符可以是状态字的 BR 位,也可以是使能输出 ENO 。如果返回信号状态“0”,则说明指令执行过程中出错。信号状态为“1”表示无错误,无需进行错误分析,但存储器访问错误例外。此时,信号状态为“1”表示发生错误。

操作步骤

以下示例说明了如何在读取输入参数时识别访问错误:

按以下方式声明程序块的块接口:

编写以下程序代码:

在程序段 1 中,调用指令“MOVE_BLK_VARIANT:块移动”。在 SRC 参数中,使用一个变量索引访问“SrcField”源区域。如果指令成功执行无错误,则使能输出 ENO 将返回信号状态“1”,程序执行跳转到程序段 4 中继续执行。

如果指令在执行过程中发生访问错误(如,由变量索引而引发),则程序段 2 中的指令“GET_ERR_ID:获取本地错误 ID”将返回错误 ID。程序段 2 中“UNEQUAL”的错误 ID 将与值“0”进行比较并返回结果 #Test2 = TRUE。在程序段 3 中,“EQUAL”的错误 ID 将与值“0”进行比较,并返回结果 #Test3 = TRUE。

此时,输出参数 RET_VAL 处的 #TagRet_Val 操作数将不返回有效错误代码。

例外

但也有一些指令不适用于以上示例中所列的错误处理方式。具体包括以下指令:

通常不支持 EN/ENO 机制的指令

禁用 ENO 的指令

S_COMP

PEEK、PEEK_BOOL、POKE、POKE_BOOL 和 POKE_BLK

发生访问错误,这些指令中的 BR 位或使能输出 ENO 也将设置为 TRUE。

以下示例中说明了如何在 STL 编程语言中编程可靠的错误处理方式:


STL说明
SET// 操作数 #Tag_ErrorID 将初始化为“0”。
L 0
T #Tag_ErrorID


CALL S_COMP// 调用该指令。
src_type := String// 参数 IN1 和 IN2 的数据类型
relation := EQ// 该指令的比较类型
IN1 := #StringArray.THIS[#index]// 对 ARRAY 元素的可变访问。
IN2 := 'STRING'// 将两个值互相比较。
OUT := #TagResult// 如果两个值相等,则操作数 #TagResult 的信号状态为“1”。


A BR// 查询 BR 位。


CALL GET_ERR_ID// 调用该指令。
RET_VAL := #Tag_ErrorID// 发生访问错误时,该指令将输出一个错误代码。

BR 位的信号状态为“1”,也将检测到访问错误。通过评估指令“GET_ERR_ID:获取本地错误 ID”的操作数 #Tag_ErrorID,可查询该错误代码。


西门子作为全球领先的工业制造和自动化技术公司,无疑在各类控制器和驱动产品中占据着重要的地位。其中,6AG1277-1AA10-4AA0作为西门子的一款优质产品,其性能和功能使得它成为许多企业的优选。作为西门子在中国的代理商之一,湖南西控自动化设备有限公司致力于为客户提供优质的产品和服务,帮助企业提升其自动化水平。

一、6AG1277-1AA10-4AA0的基本介绍

6AG1277-1AA10-4AA0是西门子S7-1200系列的一款数字量输入模块,其主要功能是将外部信号转换为可供PLC处理的数字信号。这款模块不仅具有高精度和高可靠性,且其设计考虑到了多种工业环境的适应性,广泛应用于制造业、自动化设备、智能楼宇等领域。

二、产品特点与优势

高性能:6AG1277-1AA10-4AA0支持高速数据采集,能够处理复杂的数字量信号,显著提高了工厂的反应速度和数据处理能力。

灵活性:该模块可以与多种其他模块组合使用,提高了系统的灵活性与可扩展性,适合不同类型的工业应用。

易于安装和维护:其设计优化了接口布局,使得安装过程更加简便,减少了维护成本。

耐用性:经过严格的质量检测,6AG1277-1AA10-4AA0在极端环境条件下也能稳定运行,确保了系统的可靠性。

三、适用行业与应用场景

西门子6AG1277-1AA10-4AA0数字量输入模块适用于多个行业,包括:

制造业:用于生产线的自动化控制,提升生产效率。

化工行业:在复杂的化学反应过程中实现精准控制,保障安全。

食品加工:通过精准的数据信息收集,确保产品质量。

水处理:在水质监测和处理过程中,实现高效管理。

四、湖南西控自动化设备有限公司的优势

作为湖南省内知名的西门子代理商,湖南西控自动化设备有限公司凭借多年的行业经验和技术积累,为客户提供全面的服务。

优质的产品供应:我们拥有丰富的西门子产品线,能够满足不同客户的需求,确保产品的真实性和质量。

专业的技术支持:我们的技术团队具备丰富的自动化解决方案经验,能为客户提供专业的咨询与售后服务。

灵活的定制方案:针对企业的不同需求,我们提供定制服务,确保客户获得最佳的解决方案。

五、西门子产品的市场前景

随着全球对工业4.0和智能制造的推进,自动化设备的市场需求日益增加。西门子6AG1277-1AA10-4AA0作为市场上的优秀产品,预示着广泛的市场前景。企业越来越意识到自动化系统在提升效率、降低成本和提高产品质量方面的重要性,对高性价比的自动化产品的需求也在逐步上升。

六、结语与购买建议

Westinghouse Siemens 6AG1277-1AA10-4AA0模块凭借其卓越的性能和广泛的适用性,成为众多企业在自动化领域的首选。湖南西控自动化设备有限公司不仅提供该产品的销售,还提供完善的技术支持和售后服务,确保客户能够高效使用。对于正在考虑自动化升级的企业,选择西门子及其代理商湖南西控自动化设备有限公司无疑是一个明智的决定。

如需了解更多信息,请随时咨询我们,我们将竭诚为您服务,帮助您选择最佳的自动化解决方案。

展开全文
拨打电话 微信咨询 发送询价