变频器的另一个请求当前处于激活状态。 稍后重复参数读取或写入命令。 16#818B 变频器未响应。 检查变频器。16#818C 变频器对参数请求响应错误消息。 检查变频器的响应帧。 检查参数请求。 检查指令 USS_Read_Param、USS_Write_Param 或 USS_Port_Scan 是否已报 告错误。如果已报告错误,请检查USS_Drive_Control 指令的静态变量 USS_DB. w_USSExtendedError 的值。 16#818D变频器对参数请求响应访问错误消息。 检查变频器的响应帧。 检查参数请求。 16#818E 变频器未初始化。检查用户程序,确保向此变频器调用 USS_Drive_Control 指令。 16#8280 读取模块时进行否定确认 检查 PORT参数中的输入。 在静态参数 Port_Config.RDREC.STATUS、 Send_Config.RDREC.STATUS 、Receive_Config.RDREC.STATUS 、 Send_P2P.RDREC.STATUS 或Receive_P2P.RDREC.STATUS,以及 SFB RDREC 的说明中可找到有关错误原因的更多详细信息。 16#8281写入模块时进行否定确认 检查 PORT 参数中的输入. 在静态参数 Port_Config.WRREC.STATUS、Send_Config.WRREC.STATUS 、 Receive_Config.WRREC.STATUS 、Send_P2P.RDREC.STATUS 或 Receive_P2P.RDREC.STATUS,以及 SFB WRREC的说明中可找到有关错误原因的更多详细信息。 错误代码,一般 16#8FFF 模块因复位而暂时未准备就绪。 重复请求。
Modbus RTU 通信概述(S7-1200, S7-1500) Modbus RTU 通信 Modbus RTU (Remote Terminal Unit)是用于网络中通信的标准协议,使用 RS232 或 RS422/485 连接在网络中的 Modbus 设备之间进行串行数据传输。Modbus RTU 使用主/从站网络,其中整个通信仅由一个主站设备触发,而从站只能响应主站的请求。主站将请求发送到一个从站地址,并且只有该地址上的从站做出响应。 例外:Modbus 从站地址为 0时会向所有从站发送广播帧(从站均不响应)。 Modbus 功能代码 • 作为 Modbus RTU 主站运行的 CPU 能够在Modbus RTU 从站中通过通信连接读取和写入 数据和 I/O 状态。 • 作为 Modbus RTU 从站运行的 CPU允许利用通信连接进行连接的 Modbus RTU 主站在其 自身的 CPU 中读取并写入数据和 I/O 状态。 表格 4-161用于读取数据的功能:读取分布式 I/O 和程序数据 Modbus 功能代码 用于读取从站(服务器)数据的功能 - 标准寻址 01读取输出位:每个请求 1 至 2000/19921) 位 02 读取输入位:每个请求 1 至 2000/19921) 位Modbus功能代码 用于读取从站(服务器)数据的功能 - 标准寻址 03 读取保持寄存器:每个请求 1 至 125/1241) 字 04读取输入字:每个请求 1 至 125/1241) 字 1) 用于扩展寻址 表格 4-162 用于写入数据的功能:更改分布式 I/O和程序数据 Modbus 功能代码 用于向从站(服务器)写入数据的功能 - 标准寻址 05 写入一个输出位:每个请求 1 位 06写入一个保持寄存器:每个请求 1 个字 15 写入一个或多个输出位:每个请求 1 至 1960 位 16写入一个或多个保持寄存器:每个请求 1 至 122 个字 • Modbus 功能代码 08 和 11 提供从站设备的通信诊断选项。 •Modbus 从站地址为 0 时会将广播帧发送给所有从站(无从站响应;针对功能代码 5、6、 15、16)。 表格 4-163Modbus 网络中的站地址 站 地址 RTU 站 标准站地址 1 到 247 , 0 用于广播 扩展站地址 1 到 65535,0用于广播 Modbus 存储器地址 可用的 Modbus 存储器地址(输入/输出地址)的实际数量取决于 CPU 版本和可用的工作存储器。 程序中的 Modbus RTU 指令 • Modbus_Comm_Load:需要运行 Modbus_Comm_Load 来设置PtP 参数,例如数据传输 速率、奇偶校验和数据流控制。为 Modbus RTU 协议组态完通信模块后,它只能由Modbus_Master 指令或 Modbus_Slave 指令使用。 • Modbus_Master:利用 Modbus主站指令,CPU 可用作 Modbus RTU 主站设备,与一个 或更多的 Modbus 从站设备进行通信。 •Modbus_Slave:利用 Modbus 从站指令,CPU 可用作 Modbus RTU 从站设备,与 Modbus主站设备进行通信。Modbus_Comm_Load: 对 Modbus 的通信模块进行组态 (S7-1200, S7-1500) 说明使用 CM1241 自模块的固件版本 V2.1 起,才能通过 CM1241 使用该指令。 说明 Modbus_Comm_Load指令通过 Modbus RTU 协议对用于通信的通信模块进行组态。当在程 序中添加 Modbus_Comm_Load指令时,将自动分配背景数据块。 Modbus_Comm_Load 的组态更改将保存在 CM 中,而不是 CPU中。恢复电压和插拔时,将 使用保存在设备配置中的数据组态 CM。必须在这些情况下调用 Modbus_Comm_Load 指令。 参数参数 声明 数据类型 标准 说明 S7- 1200/15 00 S7- 300/400 / WinAC REQ IN BoolFALSE 当此输入出现上升沿时,启动该指令。 PORT IN Port Word 0 指定用于以下通信的通信模块: • 对于S7-1500/S7-1200:设备组态中的“硬件标 识符”。 符号端口名称在 PLC 变量表的“系统常数”(Systemconstants) 选项卡中指定并可应用于此处。 • 对于 S7-300/S7-400:设备组态中的“输入地 址”。 在S7-300/400/WinAC 系统中,在 HWCN 中分配 的输入地址中分配端口参数。 BAUD IN UDInt DInt9600 选择数据传输速率 有效值为:300、600、1200、2400、4800、9600、19200、38400、57600、76800、 115200 bps。参数 声明 数据类型 标准 说明 S7-1200/15 00 S7- 300/400 / WinAC PARITY IN UInt Word 0 选择奇偶校验: • 0 –无 • 1 – 奇校验 • 2 – 偶校验 FLOW_CTR L IN UInt Word 0 选择流控制: • 0 –(默认)无流控制 • 1 – 硬件流控制,RTS 始终开启(不适用于 RS422/485 CM) • 2 – 硬件流控制,RTS切换(不适用于 RS422/485 CM) RTS_ON_D LY IN UInt Word 0 RTS 接通延迟选择: • 0 –从“RTS 激活”直到发送帧的第一个字符之前无 延迟。 • 1 到 65535 - 从“RTS 激活”一直到发送帧的第一个字符之前的延迟(以毫秒表示)(不适用于 RS422/485 CM)。不论选择 FLOW_CTRL 为何, 都会使用 RTS 延迟。RTS_OFF_ DLY IN UInt Word 0 RTS 关断延迟选择: • 0 - 从传送上一个字符一直到“RTS未激活”之前无 延迟 • 1 到 65535 - 从传送上一个字符直到“RTS 未激活” 之前的延迟(以毫秒表示)(不适用于RS422/485 端口)。不论选择 FLOW_CTRL 为何, 都会使用 RTS 延迟。 RESP_TO IN UInt Word1000 响应超时: 5 ms 到 65535 ms - Modbus_Master 等待从站响应的时间(以毫秒为单位)。如果从站在此时间段内未响 应,Modbus_Master 将重复请求,或者在指定数量的重试请求后取消请求并提示错误(请参见下文, RETRIES 参数)。