西门子PLC模块经销模块代理商
国际化工业自动化科技产品供应商,西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆
4 使用 SFC 38“READ_ERR”读取错误寄存器
描述
使用 SFC 38“READ_ERR”(读取错误寄存器),可以读取错误寄存器。错误寄存器的结构对应于编程和
访问错误过滤器的结构,这些结构可以通过 SFC 36 和 SFC 37 作为输入参数编程。
在输入参数中,输入要从错误寄存器读取的同步错误。调用 SFC 38 时,将从错误寄存器读取所需的条
目,同时将这些条目清除。
错误寄存器包含的信息可以让您了解,在当前优先级中哪些被屏蔽的同步错误至少发生了一次。如果相
应位被置位,则意味着相应的屏蔽同步错误至少发生了一次。
参数 声明 数据类型 存储区 描述
UERY INPUT DWORD I、Q、M、D、L、
常数
查询编程错误
UERY INPUT DWORD I、Q、M、D、L、
常数
查询访问错误
RET_VAL OUTPUT INT I、Q、M、D、L 故障信息
PRGFLT_CLR OUTPUT DWORD I、Q、M、D、L 发生的编程错误
ACCFLT_CLR OUTPUT DWORD I、Q、M、D、L 发生的访问错误
故障信息
错误代码 (W#16#...) 解释
0000 已屏蔽所有被查询的错误。
0001 至少有一项被查询的错误未屏蔽。
8xyy 一般错误信息,请参见使用输出参数 RET_VAL 判断故障用于处理中断和异步错误的 SFC
12.1 延迟和禁用中断和异步错误
SFC 39 到 SFC 42 的用途
通过这些 SFC,可以达到下列目的:
通过 SFC 39“DIS_IRT”,对所有后续 CPU 周期禁用中断和异步错误。
通过 SFC41“DIS_AIRT”,延迟更高的优先级直到 OB 结束。
通过 SFC 40“EN_IRT”或 SFC 42“EN_AIRT”,启用中断和异步错误。
您在用户程序中编程中断和异步错误的处理。同时还必须编程相应的 OB。
SFC 41 和 SFC 42 的优点
通过 SFC 41“DIS_AIRT”禁用更高优先级的中断和异步错误,然后再通过 SFC 42“EN_AIRT”重新
启用它们,从而延迟更高优先级的中断和异步错误,这样做具有以下优点:
被延迟的中断数由 CPU 进行计数。如果已延迟中断和异步错误,而且也在标准 FC 自身中禁用并重新启
用了这些中断和异步错误,则不能通过标准 FC 取消延迟。
中断等级
中断分为多个等级。下表列出了所有中断等级和相应的 OB。
中断等级 OB
时间中断 OB10 到 OB17
延时中断 OB20 到 OB23将禁用所有新发生的中断和异步错误。(未禁用同步错误。) 将值 0 赋值给 OB_NR 参数。继续在诊断
缓冲区中输入条目。
01 禁用所有新发生的、属于指定中断等级的事件。通过如下指定来标识中断等级:
时间中断:10
延时中断:20
周期性中断:30
硬件中断:40
用于 DPV1 的中断:50
多值计算中断:60
冗余错误中断:70
异步错误中断:80
继续在诊断缓冲区中输入条目。
02 禁用所有新发生的指定中断。使用 OB 编号指定中断。继续在诊断缓冲区中输入条目。
80 禁用所有新发生的中断和异步错误,不再将它们输入到诊断缓冲区中。将数值 0 分配给 OB_NR 参数。
操作系统在诊断缓冲区中输入事件 W#16#5380。
81 禁用所有新发生的、属于指定中断等级的事件,且不再将它们输入到诊断缓冲区中。操作系统在诊断
缓冲区中输入事件 W#16#5380。
82 禁用所有新发生的、属于指定中断的事件,且不再将它们输入到诊断缓冲区中。操作系统在诊断缓冲
区中输入事件 W#16#5380。
故障信息
错误代码 (W#16#...) 解释
0000 未产生故障。
8090 输入参数 OB_NR 包含非法值。
8091 输入参数 MODE 包含非法值。
8xyy 一般错误信息,请参见使用输出参数 RET_VAL 判断故障使用 SFC 40“EN_IRT”启用新中断和异步错误的处理
描述
使用 SFC 40“EN_IRT”(启用中断),可以启用先前通过 SFC 39“DIS_IRT”禁用的新中断和异步错误
的处理。也就是说,如果发生中断事件,则 CPU 操作系统将以下列方式中的一种进行处理:
调用中断 OB 或异步错误 OB。
如果未编程中断 OB 或异步错误 OB,则触发标准响应处理。
参数 声明 数据类型 存储区 描述
MODE INPUT BYTE I、Q、M、D、L、
常数
指定将启用哪些中断和异步错误。
OB_NR INPUT INT I、Q、M、D、L、
常数
OB 编号
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能处于激活状态时出错,则返回值将包
含错误代码。
MODE
MODE
(B#16#...)
含义
0 启用所有新发生的中断和异步错误。
1 启用所有新发生的、属于指定中断等级的事件。通过如下指定来标识中断等级:
时间中断:10
延时中断:20
周期性中断:30
硬件中断:40
用于 DPV1 的中断:50
多值计算中断:60
冗余错误中断:70
异步错误中断:80
2 启用所指定中断的所有新发生的事件。使用 OB 编号指定中断使用 SFC 41“DIS_AIRT”延迟更高优先级中断和异步错误的处理
描述
使用 SFC 41“DIS_AIRT”(禁用报警中断),可以延迟优先级高于当前 OB 的中断 OB 和异步错误 OB 的
处理。可以在一个 OB 中多次调用 SFC 41。SFC 41 调用将由操作系统进行计数。这些调用中的每一个
都将保持有效,直至明确地通过 SFC 42“EN_AIRT”调用再次取消或直至完全处理完当前 OB 为止。
一旦重新启用后,只要通过 SFC 42“EN_AIRT”重新启用或当前 OB 已经执行完毕,则 SFC 41 有效期
间发生的中断和异步错误就将被处理。
参数 声明 数据类型 存储区 描述
RET_VAL OUTPUT INT I、Q、M、D、L 延迟数 (= SFC 41 调用数)
返回值
下表列出通过 RET_VAL 参数输出的 SFC 41 返回值。
返回值 描述
n “n”表示处理被禁用的次数,即 SFC 41 调用的次数 (只有 n = 0 时,才会重新启用中断处理;
参见使用 SFC 42“EN_AIRT”启用更高优先级中断和异步错误的处理)。使用 SFC 42“EN_AIRT”启用更高优先级中断和异步错误的处理
描述
通过 SFC 42“EN_AIRT”(启用报警中断),可以启用先前通过 SFC 41“DIS_AIRT”禁用的更高优先级
中断和异步错误的处理。必须通过 SFC 42 调用来取消每个 SFC 41 调用。
实例
例如,如果通过五次 SFC 41 调用禁用了五次中断,则必须通过五次 SFC 42 调用来取消这些调用。
参数 声明 数据类型 存储区 描述
RET_VAL OUTPUT INT I、Q、M、D、L 完成 SFC 42 或发生出错消息时仍编程的延迟
数。
返回值和错误信息
请参考使用输出参数 RET_VAL 评估错误
“使用输出参数 RET_VAL 评估错误”一章介绍了如何评估 RET_VAL 参数的错误信息。此章还包含了
SFC 的常规错误信息。下表包含了可以通过 RET_VAL 参数输出的、SFC 42 特定的所有错误信息。
返回值和错误信息 描述
N “n”表示尚未通过 SFC 42 调用取消的 SFC 41 调用次数 (只有当“n”= 0 时,
才会重新启用中断处理)。
W#16#8080 虽然已启用中断处理,但已再次调用了此功能系统诊断
CPU 将保留有关可编程逻辑控制器状态的内部数据。通过系统诊断功能,可以读取最重要的数据。可以
使用 STEP 7 在编程设备上显示某些数据。
还可以使用 SFC“RD_SINFO”和“RDSYSST”访问系统诊断所需的数据。
13.2 使用 SFC 6“RD_SINFO”读取 OB 启动信息
描述
通过 SFC 6“RD_SINFO”(读取启动信息),可以读取有关下列各项的启动信息:
尚未完全执行的、被调用的最近一个 OB,和
将要启动的最近一个启动 OB。
任一情况下均没有时间标志。如果在 OB100 或 OB101 或 OB102 中调用,将返回两条相同的启动信息
消息。
参数 声明 数据类型 存储区 描述
RET_VAL OUTPUT INT I、Q、M、D、L 故障信息
TOP_SI OUTPUT STRUCT D、L 当前 OB 的启动信息
START_UP_SI OUTPUT STRUCT D、L 上次启动的启动 OB 的启动信息输出参数 TOP_SI 和 START_UP_SI 是有着相同单元的两个结构 (参见下表)。
结构单元 数据类型 描述
EV_CLASS BYTE 位 0 到 3:事件 ID
4 到 7 位:事件等级
EV_NUM BYTE 事件编号
PRIORITY BYTE 优先级编号 (B#16#FE 的含义:OB 不可用或已锁定,或者不
能在当前工作模式下启动)
NUM BYTE OB 编号
TYP2_3 BYTE 数据标识符 2_3:标识在 ZI2_3 中输入的信息
TYP1 BYTE 数据标识符 1:标识在 ZI1 中输入的信息
ZI1 WORD 附加信息 1
ZI2_3 DWORD 附加信息 2_3
注意
表格中列出的结构单元和 OB 的临时变量有相同内容。
但请注意,各个 OB 的临时变量可以有不同的名称和不同的数据类型。同时,请注意每个 OB 的调用接
口包括 OB 请求的日期和时间等附加信息。
EV_CLASS 结构单元的 4 到 7 位包含事件等级。此处可以为下列值:
1:来自标准 OB 的启动事件
2:来自同步错误 OB 的启动事件
3:来自异步错误 OB 的启动事件
PRIORITY 结构单元提供属于当前 OB 的优先级。
除这两个单元外,NUM 也是相关的。NUM 包含当前 OB 或上次启动的启动 OB 的编号。