FM x52凸轮控制 (S7-300, S7-400) CAM_INIT (S7-300, S7-400) 说明 CAM_INIT 指令对通道DB 中的以下数据进行初始化: • 控制信号 • 反馈信号 • 作业的触发位、完成位和错误位 • 功能开关及其完成位和错误位 •CAM_CTRL (页 8454) 或 CAM_CTRL_452 (页 8457) 指令的作业管理和内部缓冲区。• CAM_MSRM_452 (页 8461) 指令的作业管理和内部缓冲区(jinxian FM 452) 调用启动后(即模块或 CPU 上电后)必须执行该指令。 应将该指令集成到重启阻止块 OB 100 以及插/拔组织块 OB 83中,或在用户程序的初始化阶段调用该指令。 进行此操作之前, 在 OB 100 的 DB 中输入模块地址。这样可以确保用户程序不会在CPU 重启或模块重启之后 访问过期的数据。 参数 参数 声明 数据类型 说明 DB_NO INPUT INT 通道 DB 的编号返回值 该指令不提供返回值。诊断错误 (S7-300, S7-400) 编号 含义 诊断中断 4 缺少外部辅助电压 是 原因 • 外部24 V 辅助电压未接通或出现故障 • 模块上的保险丝有故障 • 欠压 • 接地断路 • 短路(例如在连接的编码器端) 结果 •所有通道上的定位均取消。 • 输出被关闭 • 缺少编码器电源的辅助电压时,会导致与增量编码器不同步 • 未分配模块参数。 •启动使能被清除 解决方法 验证 24 V 连接是否正确(如果 24 V 连接正确,则模块发生故障)
缺少前连接器 (FM 451) 是原因 未连接定位模块的前连接器。 结果 • 缺少外部辅助 24 V 电压 • 模块未准备就绪 校正 将前连接器插入定位模块 51已响应超时监视(看门狗) 是 原因 • 模块受到严重干扰 • 模块错误 结果 • 模块复位 • 关闭所有输出 •如果模块复位后未检测到任何模块故障,则模块可以继续运行 • 模块向看门狗发出的“进入事件”和“离开事件”信号超时。 校正 • 解决干扰• 联系相关的销售部门,他们需要导致错误的情况的详细信息。 • 更换模块 144 编码器断路 是 原因 • 编码器电缆断开或未插入 •编码器没有交叉信号 • 针脚分配不正确 • 电缆过长 • 编码器信号短路 • 编码器信号沿故障 • 已超出编码器输入的Zui大输入频率 •传感器电源故障 结果 • 取消定位 • 关闭所有输出 • 导致与增量编码器不同步 • 删除启动使能 校正 • 检查编码器电缆 •遵守编码器规范 • 可通过编程界面暂时禁用监视,但操作员须承担相应的责任。 • 遵守模块的技术规范。juedui编码器消息帧错误 是原因 模块和juedui编码器 (SSI) 之间的消息帧通信不正确或已中断: • 编码器电缆断开或未插入 • 编码器类型不正确 •编码器设置不正确(可编程编码器) • 指定的消息长度不正确 • 编码器提供的值不正确(编码器有故障) • 测量系统电缆上出现干扰 •所选的传输速率太高 • 编码器的单稳态触发器时间大于 64 µs 结果 • 定位被取消 • 输出关闭 • 启动使能被清除 校正 •检查编码器电缆 • 检查编码器 • 检查编码器与模块之间的消息帧通信 146 增量编码器丢失脉冲 是 原因 •编码器监视检测到丢失脉冲 • 输入的编码器每转增量数不正确 • 编码器有故障: 未返回定义的脉冲数 • 零标记不正确或无零标记 •编码器电缆上存在串扰 结果 • 定位被取消 • 输出关闭 • 启动使能被清除 解决方法 •输入正确的编码器每转增量数(参数分配对话框) • 检查编码器和编码器电缆 • 遵守屏蔽和接地指示 •可通过编程界面暂时禁用监视,但操作员须承担相应的责任。CAM_CTRL (S7-300, S7-400) 说明 可调用CAM_CTRL 指令从模块读取运行数据、初始化模块以及在运行时控制模块。 要完成此操作,请使用控制信号、反馈信号、功能开关以及写入和读取命令。 工作原理 每次调用该指令时,会执行以下操作: • 读取反馈信号:CAM_CTRL 指令从模块读取所有反馈信号,并在通道 DB 中输入这些信号。 如果此步骤没有完成,则不会处理控制信号和命令,这意味着反馈信号会报告指令调用之前指定的 通道状态。 • 写入控制信号: 将通道 DB中输入的控制信号传送到模块。 只要设置了“设置参考点”或“写入 凸轮数据”命令的触发器,就会延迟启用凸轮处理。在此之前,不会激活(或重新激活) 凸轮处理。 • 命令管理 (页 8476): 根据在通道 DB中输入的命令触发位执行下一个命令。 调用 必须以循环时间间隔调用此指令。 调用此指令之前,需在通道 DB中输入执行选定功能所需的所有数据。 使用的数据块 • 通道 DB (页 8462): 通道 DB 是指令 CAM_CTRL的背景数据块。 必须在通道 DB 中输入模块地址。 . • 参数 DB (页 8471):要通过命令写入或读取机器数据或凸轮数据,需要一个已在通道 DB 中输入其编号的参数 DB。 参数 DB必须足够长,以便能够处理现有数量的凸轮。返回值 此指令在通道 DB 的 RETVAL 参数中提供以下返回值: RETVAL BR 说明1 1 至少 1 个命令处于活动状态 0 1 没有活动命令,无错误 -1 0 错误: 出现数据错误 (DAT_ERR) 或 通信错误(JOB_ERR) 启动 在模块或 CPU 启动时调用 CAM_INIT (页 8453) 指令。 此操作包括复位功能开关。CAM_CTRL 指令确认模块启动。 在此期间,RETVAL 和 JOBBUSY = 1。 对错误的响应如果损坏的数据由写入命令写入,则模块返回反馈信号 DATA_ERR = 1。如果在与模块通信期间写入或读取命令发生错误,则会将错误原因写入通道 DB 的 JOB_ERR 参数。 • 写入命令出错:对于损坏的命令,会复位触发位,并置位错误位 _ERR 和完成位 _D。 对于所有未决的写 入命令,会取消触发位并置位错误位 _ERR。未决的读取命令会继续执行。相应地为所有命令重新触发 JOB_ERR。 • 读取命令出错: 对于损坏的命令,会复位触发位,并置位错误位_ERR 和完成位 _D。 未决的读取命令会继续执行。相应地为所有命令重新触发 JOB_ERR。 CAM_DIAG (S7-300,S7-400) 说明 使用 CAM_DIAG 指令可从模块的诊断缓冲区中读取数据,并使其显示在 HMI 系统中或用于编程评估。工作原理 如果通过反馈信号 DIAG = 1 在诊断缓冲区中显示新条目,该指令将读取诊断缓冲区。 读取诊断缓冲区后,模块会将 DIAG 设置为 0。 调用 必须以循环时间间隔调用此指令。 不允许在事件驱动的中断程序中进行其它调用。要完成 该指令的执行,必须至少调用 2 次(在 2 次循环中)。 使用的数据块 诊断 DB (页 8475): 诊断 DB是指令 CAM_DIAG 的背景数据块。 必须在诊断 DB 中输入模块地址。 应在启动 OB (OB 100)中或在其初始使用之前输入地址。在 DIAG[1] 结构中写入诊断缓冲区中的Zui新条目, 在 DIAG[4] 结构中写入Zui早的条目。返回值 该指令在诊断 DB 的 RETVAL 参数中提供以下返回值: RETVAL BR 说明 1 1 命令激活 0 1没有活动命令,无错误 -1 0 错误 命令 可通过设置 DIAGRD_EN 触发位来读取诊断缓冲区,而不管是否存在新条目。读取诊断缓冲 区后,触发位将被设置为 0。 启动 该指令不会运行启动例程。 对错误的响应 可从诊断 DB 的 JOB_ERR参数中读取命令错误的原因。