STATUS参数 (Modbus/USS) (S7-300, S7-400) 事件类别 事件类别 含义 2 错误正在初始化 5 执行 CPU作业时出错 8 接收错误事件类别 含义 14 (0EH) 一般处理错误:参数分配,处理 S_SEND 作业。评估接收的数据,接收例外代码消息 30 (1EH) 模块和 CPU 之间的通信错误 STATUS 参数 错误代码 (W#16#...) 说明 解决办法0201 没有(有效的)组态可用。 为模块提供正确的参数。如有必要,确保 已正确安装系统。 0502 串行接口模块 ET 200SModbus/USS 的该工作模式下不允 许命令(例如:未组态设备接 口)。 判断诊断中断并相应地纠正错误。 050E 报文长度无效发送消息帧的长度大于 224 字节。发送作 业被 ET 200S Modbus/USS 模块终止。 选择较短的报文长度。 0530由于尚未获得通信伙伴对上一个读 取 Modbus 主站发送作业的响应, Modbus 主站发送作业被拒 绝。 成功读取Modbus 主站发送作业后,必须 先读取模块中通信伙伴的响应,才能 启动新的 Modbus 主站发送作业。 0551串行接口模块 ET 200S Modbus/USS 与 CPU 之间通信时出 现帧序列错误。将 ET 200S SI 串行接口模块的接收消息帧传输到 CPU 时发生错误。 模块和 CPU 均已取消传输。重复接收作 业。ET 200S Modbus/USS串行接口模块 发送接收的消息。 0806 超过字符延时时间。在字符延时时 间内未收到两个连续字符。伙伴设备过慢或发生故障。可以在传输线 路中互连接口测试器 (FOXPG) 来调试伙伴 设备。 080A 接收响应消息帧期间,主站的接收缓冲区溢出。 检查从站的协议设置。
参数 声明数据类型 说明 CP_START_FM INPUT BOOL 通过输入 START 的上升沿触发初始化: 用于指令保存CP_START 的前一个值的存 储元素。 CP_NDR OUTPUT BOOL 接收顺序帧 CP_START_OK OUTPUTBOOL 初始化成功完成: 初始化在监视时间到期之前完成,且无错 误。 CP_START_ERROR OUTPUT BOOL初始化终止且出现错误: 监视时间过期后,初始化也无法无错 误地完成。 ERROR_NR OUTPUT WORD 错误编号请参见“诊断” ERROR_INFO OUTPUT WORD 其它错误信息 请参见“诊断”数据区中的分配 S_MODB 指令与IDB_MODB 背景数据块结合使用,背景数据块的编号在调用中指定。 禁止访问背景数据块中的数据。 如何处理错误 可以使用输入参数OB_MASK 引导该 Modbus 指令屏蔽 I/O 访问错误。 如果尝试向不可用的 I/O 写入数据,CPU 不会进入 STOP模式或调用错误 OB。该指令会检测访问错误,取消作业 并向 Modbus 主站返回错误响应。检测到传输错误(奇偶校验/停止位/溢出错误)。 数据链路上的干扰造成报文重复,降 低了用户数据吞吐量。漏检错误的风险也 会增加。更改系统设置或电缆接线。检查通信伙伴的电缆,或验证双方设备对 波特率、奇偶校验和停止位数目的设置是 否匹配。 080D BREAK:到伙伴的接收线路断路。重新连接或接通伙伴电源。 0810 奇偶校验错误:如果 SF LED(红 灯)亮起,则表示连接两个通信伙 伴的电缆出现断路。检查通信伙伴的电缆,或验证双方设备对 波特率、奇偶校验和停止位数目的设置是 否匹配。 更改系统设置或电缆接线。 0811字符帧错误:如果 SF LED(红 灯)亮起,则表示连接两个通信伙 伴的电缆出现断路。 检查通信伙伴的电缆,或验证双方设备对波特率、奇偶校验和停止位数目的设置是 否匹配。 更改系统设置或电缆接线。 0812 CTS 串口设置为 OFF 后接收到额外 字符。重新组态通信伙伴或者加快从串行接口获 取的速度。 0830 主站:请求消息帧已发送且响应监 视时间已结束,未检测到响应消息 帧的开头。从站:该函数代码不允许使用广 播。 检查传输线路是否已中断(可能需要进行 接口分析)。 检查是否对模块和通信伙伴的以下协议参数进行了相同的设置:传输率、数据位 数、奇偶校验和停止位数。 检查 PtP_PARAM 中的响应监视时间的值 是否足够大。检查并确定指定的从站地址是否可用。 对于能够使用广播功能的函数代码,仅允 许 Modbus 主站系统使用广播功能。 0831主站:从站响应消息帧中的第一个 字符与在请求消息帧中发送的从站 地址不同(对于常规操作)。 从站:收到的函数代码是不允许 的。错误的从站进行了响应。 检查传输线路是否已中断(可能需要进行 接口分析)。 该函数代码不能用于此驱动程序。超出Zui大位数或寄存器数或者访问 SIMATIC 定时器存储区或 计数器存储区时位数无法被 16 整 除。 将Zui大位数和Zui大寄存器数分别限制为 2,040 和127。仅以 16 位间隔访问 SIMATIC 定时器、计数器。 0833 函数代码 FC 15/16 的位数或寄存 器数与消息帧元素byte_count 不 匹配。 更正位数/寄存器数或 byte_count。 0834 识别到“设置位/复位位”的位编 码非法。仅对 FC05 使用 0000Hex 或 FF00Hex 编 码。 0835 识别到函数代码 FC 08“环路测试”的诊断子码非法(非 0000Hex)。 仅对 FC08 使用子码 0000Hex。 0836 CRC 16 校验和的内部产生的值与收到的 CRC 校验和不匹配。 检查 Modbus 主站系统上 CRC 校验和的结 构。 0837 消息帧序列错误: Modbus主站系统在驱动程序发送 Zui后一个响应消息帧之前发送了新 的请求消息帧。 增加 Modbus 主站系统的从站响应消息帧 的超时时间。0850 接收消息帧的长度大于 224 字节 或者大于组态的消息帧长度。 调整伙伴的消息帧长度。 0E20 该连接需要 8 个数据位。驱动程序尚未就绪。 更正驱动程序的参数分配。 0E21 已设置的字符延时时间的倍增因子 不在 1 到 10 之内。驱动程序使用默认设置 1 进行运算。 更正驱动程序的参数分配。 0E22 驱动程序的操作模式设置非法。必 须指定是“常规操作”还是“噪声抑制操作”。 驱动程序未准备好进行此操作。 更正驱动程序的参数分配。主站:为响应监视时间设置了非法 的值:有效的值在 50 ms 和655,000 ms 之间。 驱动程序未准备好进行此操作。 从站:为从站地址设置了非法的 值。从站地址 0 非法。驱动程序未准备好进行此操作。 更正驱动程序的参数分配。 更正驱动程序的参数分配。 0E2E 读取接口参数文件时出错。驱动程序未准备好进行此操作。 重新启动主站 (Mains_ON)。 0E40 使用 S_SEND 为 LEN 指定的值太 小。Zui小长度是 2 个字节。 0E41 使用 S_SEND 为 LEN 指定的值太 小。发送函数代码需要更大的长 度。该函数代码的Zui小长度是 6 个字节。 0E42 发送的函数代码非法。 仅使用允许的函数代码。 0E43 该函数代码不允许使用从站地址0 (= 广播)。 仅为适合的函数代码使用从站地址 0。 0E44 发送的“位数”的值不在 1 到 2,040 之内。 “位数”必须在1 到 2,040 之内。 0E45 发送的“寄存器数”的值不在 1 到 127 之内。 “寄存器数”必须在 1 到 127 之内。0E46 函数代码 15 或 16: 发送的“位数”/“寄存器数”的值不 在 1 到 2,040/1 到 127 之内。“位数”/“寄存器数”必须在 1 到 2,040/1 到 127 之内。 0E47 函数代码 15 或 16: S_SEND 的LEN 与发送的“位 数”/“寄存器数”不符。 LEN 太小。 为 SEND 增加 LEN,直到足够的用户数据 发送到模块。必须发送更多的用户数据到模块以达到 “位数”/“寄存器数”。 0E48 函数代码 5: 在 SEND 源 DB 中为“设置位”(FF00H) 或“删除位”(0000H) 指定的代码不正确。 唯一允许的代码是“设置位”(FF00H) 和“删除位”(0000H)。