全国服务热线 15801815554

SIEMENS西门子 S120伺服电机 1FK7011-5AK74-1JV3-Z 

更新时间:2024-07-02 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍


              GRAPH 中的 EN/ENO 机制示例 (S7-1500) 带有使能输出 ENO 的程序状态示例 下文中举例说明了顺序视图内相应动作下使能输出 ENO 的程序状态:通过使能输出 ENO,可查询该程序块的错误状态: • 被调用的程序块成功执行无错误时,使能输出 ENO 的信号状态为“1”。 • 如果被调用的程序块在执行过程中出错,则使能输出 ENO 的信号状态为“0”。 • 使能输出 ENO 不能显式置位或复位。 • 使能输出 ENO 不受指令 ENO 的影响。 在 GRAPH 中激活和禁用 EN/ENO 机制 (S7-1500) 说明 在进行程序状态测试过程中,将显示使能输出 ENO 的状态。如果操作成功,则值为 TRUE; 操作失败,值为 FALSE。 有关使能输出 ENO 的状态显示方式,可在 GRAPH 程序块的以下位置处设置: • 固定预处理指令 • 顺序视图 > 动作 • 固定后处理指令 在块属性中启用 EN/ENO 机制 要在块属性中激活 EN/ENO 机制,请按以下步骤操作: 1. 在项目浏览器中,打开“程序块”(Program blocks) 文件夹。 2. 右键单击待显示属性的 GRAPH 块。 3. 在快捷菜单中,选择“属性”(Properties) 命令。 该块的属性对话框随即打开。 4. 在区域导航中,单击“属性”(Attributes) 组。 5. 激活属性“自动置位 ENO”(Set ENO automatically)。 6. 单击“确定”(OK) 进行确认。 结果:仅所选 GRAPH 块激活了 EN/ENO 机制。

             如果操作数“TagEnable”的信号状态为“1”,则执行该程序块: • 如果操作数“TagEnable”的信号状态为“0”,则不执行所调用的程序块调用。使能输入 EN 和 使能输出 ENO 的信号状态均为“0”。 • 如果操作数“TagEnable”的信号状态为“1”,则使能输入“EN”的信号状态为“1”,并执行所调 用的程序块。使能输出 ENO 的信号状态取决于程序块内的程序内容。块中不同程序段语言的 EN/ENO 机制 (S7-1200, S7-1500) 说明 在块中,可使用不同网络语言的 EN/ENO 机制。各种编程语言显示的错误状态也往往有所不 同: • 在 SCL 中,可使用 ENO 变量存储错误状态且可以查询。且只能使用 SCL 直接访问该变 量。 • LAD/FBD/STL 语言中不包含特定的 ENO 变量。但 STL 语言可通过 BR 位读取相应的错误 状态,而 LAD/FBD 则可通过 RET 线圈进行查询。 以下规则适用于读取整个块中的错误状态: • 块中的Zui后一个程序段为 LAD/FBD 程序段: 如果没有使用 RET 线圈,则系统默认的错误状态为 TRUE。 • 块中的Zui后一个程序段为 STL 程序段: 由 BR 位确定错误状态。在 STL 程序段中,可在 BR 选项卡中编辑 BR 位。 • 块中的Zui后一个程序段为 SCL 程序段: 使用 ENO 变量确定块的错误状态。 ENO 块的影响 对于包含多个程序段的 LAD/FBD 的程序块(可能包含不同的编程语言,如 LAD、FBD、STL 或 SCL),ENO 块的信号状态取决于Zui后执行的程序段。 如果程序块中Zui后执行的程序段为 LAD 或 FBD 程序段,则 ENO 块的信号状态不一定会受影 响。如果指令中已激活 EN/ENO 机制,则仅当使能输出 ENO 的信号状态为“0”且程序块可使 用指令“RET:返回”时,才会受到影响。如果该指令未包含任何编程代码,则 ENO 块的信 号状态始终为“1”。指令 ENO 的信号状态为“0”时(如果有),不会影响 ENO 块。这是因为, 程序段开始处的信号状态通常为“1”。 这同样适用于另一个程序段(LAD、FBD 或 SCL)之前的 LAD 或 FBD 程序段。仅当使用指令 “RET:返回”时,ENO 块的信号状态才会受到影响。否则,ENO 块的信号状态在转换到该 程序段时将复位为“1”。 混合程序块中的Zui后一个程序段为 SCL 程序段,则 ENO 块通常受此影响。通过输出参数 RET_VAL 评估错误 有关库块(SFB 和 SFC)错误分析的基础知识 除了输出参数 RET_VAL 外,还可以通过以下两个方式进行错误评估: • 通过 EN/ENO 机制(LAD、FBD 和 SCL) 有关 EN/ENO 机制的更多信息,请参见“EN/ENO 机制的基本知识 (页 164)” • 通过状态字 (STL) 的 BR 位(二进制结果位) • 通过输出参数 RET_VAL (return value) 使能输出 ENO 仅能通知发生了错误。如果需要了解所发生的具体错误,则需通过输出参数 RET_VAL 获得更多信息。通过该输出参数可判断 CPU 中该该指令是否成功执行。发生错误时, 还可了解执行未成功执行的原因所在。 在下一章节,我们将详细介绍 RET_VAL 和 BR 位这两种错误评估方式。 有关错误分析序列的建议 在评估指令特定的输出参数(如 OUT)之前,通常应执行以下步骤: 1. 首先评估先使能输出 ENO 或 STL 中状态字的 BR 位。 2. 检查输出参数 RET_VAL。 如果使能输出 ENO 或 BR 位指示在指令的执行过程中发生了错误,或者输出参数 RET_VAL 中 包含了一个通用错误代码,则指令特定的输出参数将返回一个无效值。 如果使用输出参数 RET_VAL 指示发生了常见错误,则只能通过状态字 BR 位为值“0”来指示。 返回值的数据类型为整数 (INT)。返回值通过值“0”指明在指令的执行过程中是否发生了错误。 常规和特定错误代码 (RET_VAL) 输出参数 RET_VAL 中有以下两类错误代码: • 所有指令都可以输出的常见错误代码, • 根据指令的特定功能输出的特定特定错误代码。 输出参数 RET_VAL 的数据类型为整型 (INT)。且该指令的错误代码安装十六进值进行分组。 如果要检查返回值并与本文档中所列错误代码进行比较,则将以十六进制值形式显示这些错 误代码。可以编写程序以便对执行指令过程中发生的错误进行响应。从而可以防止由于第一个错误而 导致的更多错误。 说明 提供输入参数时出错 在执行包含 RET_VAL 参数的指令且在提供输入参数时出错,则参数 RET_VAL 将输出一个无 效的错误代码且不对该指令的输出参数进行评估。 下图以十六进制格式显示了系统函数错误代码的结构。这样便于确定是否发生了错误。这是因为输出参数 RET_VAL 的类型为 INT: • 如果值 < 0,发生了错误。 • 如果值 = 0,没有发生错误。 • 如果 > 0,没有发生错误,但指令未成功执行。此代码通常用于异步指令中。例如,指示 该指令已开始执行但尚未完成。请参见 T_SEND 或 WRIT_DBL 的返回值。 常规错误代码 常见错误代码是指在所有指令中都可能发生的错误。常见错误代码中包含以下两个数: • 1 至 111 的参数编号,其中 1 表示所调用指令的第一个参数、2 为第二个参数、依此类推。 • 事件编号介于 0 和 127 之间,表示发生了错误。 下图显示了常规错误代码的结构。对常规错误代码的响应 如果在输出参数 RET_VAL 中输入了一个常规错误代码,则可能出现以下几种情况: • 该指令相关的操作已开始或者已完成。 • 执行操作时,发生特定的指令错误。但在发生一个常规错误后,系统不再指示发生此特定错误。 下表列出了一个返回值的常见错误代码。错误代码显示为十六进制格式。代码编号中的字母 x 仅为一个占位符,表示导致该错误的系统函数参数的编号: 错误代码 (W#16#.. .) 说明 8x01 VARIANT 参数的语法 ID 非法 8x22 读取一个参数时发生超出范围错误。 该错误代码表示参数 x 完全或部分超出地址范围,或 VARIANT 参数指示的位范 围长度不是 8 的倍数。 8x23 写入参数时发生超出范围错误。 该错误代码表示参数 x 完全或部分超出地址范围,或 VARIANT 参数指示的位范 围长度不是 8 的倍数。 8x24 读取参数时发生超出范围错误。 该错误代码表示参数 x 超出系统函数的有效范围。有关无效范围的信息,请参 见各函数的具体说明。 8x25 写入参数时发生超出范围错误。 该错误代码表示参数 x 超出系统函数的有效范围。有关无效范围的信息,请参 见各函数的具体说明。 8x26 此参数包含的定时器单元编号过高。 此错误代码表示在参数 x 中指定的定时器单元不存在。 8x27 此参数包含的计数器单元编号过高(计数器编号错误)。 此错误代码表示在参数 x 中指定的计数器单元不存在。错误代码 (W#16#.. .) 说明 8x28 读取参数时发生对齐错误。 8x29 写入参数时发生对齐错误。 此错误代码表示对参数 x 的引用是一个位地址不为 0 的操作数。 8x30 此参数位于只读属性的全局 DB 中。 8x31 该参数位于一个只读背景数据块中。 此错误代码表示参数 x 位于只读属性的数据块中。如果通过系统函数本身来打 开该数据块,那么系统函数将始终返回值 W#16#8x30。 8x32 此参数包含的 DB 编号过高(DB 编号错误)。 该错误代码表示参数 x 所包含块的块编号超出允许的Zui大值。 8x34 此参数包含的 FC 编号过高(FC 编号错误)。 该错误代码表示参数 x 所包含块的块编号超出允许的Zui大值。 8x35 此参数包含的 FB 编号过高(FB 编号错误)。 该错误代码表示参数 x 所包含块的块编号超出允许的Zui大值。 8x3A 此参数包含尚未加载的 DB 编号。 8x3C 此参数包含未加载 FC 的编号。 8x3E 此参数包含未加载 FB 的编号。 8x42 系统尝试从外设输入区读取一个参数时,发生访问错误。 8x43 系统尝试向外设输出区写入一个参数时,发生访问错误。 8x44 出错后,第 n (n > 1) 次发生读访问错误。 该错误代码表示对所需参数的访问遭到拒绝。 8x45 出错后,第 n (n > 1) 次发生写访问错误。 该错误代码表示对所需参数的访问遭到拒绝。 8x7F 内部错误 该错误代码表示参数 x 处发生了内部错误。 特定的错误代码 某些指令在其返回值中将提供一个该指令特定的错误代码,指示这些错误只会在特定的指令 中发生。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061