SIEMENS西门子 PS电源模块 6EP7133-6AE00-0BN0
USS (S7-300, S7-400) USS 通信概述 (S7-300, S7-400) USS 通信 USS 指令控制支持通用串行接口协议 (USS) 的变频器运行。可通过 PtP 通信模块的 RS485 连 接和 USS 指令与多个变频器通信。通常,每个 RS 485 端口Zui多可运行 16 个驱动器。一些 通信模块甚至Zui多可运行 31 个驱动器。 USS 协议使用主从网络通过串行总线进行通信。主站使用地址参数将数据发送到所选从站。 未先收到发送请求时从站不能发送。各从站之间无法通信。USS 通信在半双工模式下进行。 下图显示具有 16 台变频器的示例应用网络图。① CPU ② CM ③ USS 网络中的 USS 变频器 图S7-1500 通信模块接线示例 说明 通过 RS232 与变频器通信 基本上还可以使用 CM PtP RS232 BA 和 CM PtP RS232 HF 与变频器通信。但只可将一台变频 器连接到 RS232 端口。 通过 RS422 与变频器通信 基本上还可以使用 CM PtP RS422/485 BA 和 CM PtP RS422/485 HF 的 RS422 接口与变频器 通信。但只可将一台变频器连接到 RS422 端口。
程序中的 USS 指令 • USS_Port_Scan:USS_Port_Scan 指令允许在 USS 网络中通过一个通信模块与Zui多 16 个 驱动器进行通信(必须循环调用)。 程序中每个 PtP 通信端口只有一条 USS_Port_Scan 指令,并且该指令控制发往所有变频 器的传输。 • USS_Drive_Control:USS_Drive_Control 指令允许从 USS_Port_Scan 中为驱动器准备发送 数据并显示其接收数据。 USS_Drive_Control 组态要发送的数据并评估在前一请求中从 USS_Port_Scan 收到的数据。 • USS_Read_Param:USS_Read_Param 指令允许从驱动器中读取参数。 • USS_Write_Param:USS_Write_Param 指令允许用户更改驱动器中的参数。 USS 协议使用要求 (S7-300, S7-400) 四条 USS 指令使用 2 个 FB 和 2 个 FC 支持 USS 协议。对于每个 USS 网络,一个背景数据块 (DB) 用于 USS_Port_Scan ,一个背景数据块用于 USS_Drive_Conrol 的所有调用。连接到一个 RS485 端口的所有变频器(Zui多 16 个)都属于同一 USS 网络。连接到另一个 RS485 端口的所有变频器都属于其它 USS 网络。对于所有 USS_Drive_Control 指令,每个 USS 网络都通过唯一的背景数据块进行管理,对于 USS_Port_Scan 指令,则加上另一个背景数据 模块。对于 USS_Drive_Conrol,属于 USS 网络的所有指令都必须共享此背景数据块。USS_Port_Scan, USS_Read_Param 和 USS_Write_Param 指令具有该函数的 USS_DB 参数。该 参数必须连接到 USS_Drive_Control 指令的背景数据块的(静态)USS_DB 参数。 • 指令 USS_Drive_Control 和 USS_Port_Scan 是函数块 (FB)。如果向程序编辑器中添加 USS_Drive_Control 或 USS_Port_Scan 指令,“调用选项”(Call options) 对话框将提示您 为此 FB 分配 DB。如果它是此程序中此 USS 网络的第一条 USS_Drive_Control 指令,则 可应用 DB 标准分配(必要时也可更改名称),并会为您创建新 DB。但如它不是此变频 器的第一条 USS_Drive_Control 指令,则必须在“调用选项”(Call options) 对话框的下拉 菜单中选择已分配给此 USS 网络的 DB。 • 指令 USS_Write_Param 和 USS_Read_Param 是函数 (FC)。在编辑器中添加这些 FC 时不 会分配 DB。如果在编辑器中添加这些 FC 或 USS_Port_Scan 指令,则需要将相应 USS_Drive_Control 背景数据块的 USS_DB 参数分配给这些指令的 USS_DB 输入。双击参 数字段,然后单击符号显示可用 DB。输入一个句点“.”并从下拉列表中选择 USS_DB 参数。 • USS_Port_Scan 函数通过点对点 RS485 通信端口控制 CPU 与变频器之间的通信。每次调 用此功能时,将进行与变频器之间的通信。程序必须快速调用此函数,以使变频器不发 出超时信号。为确保帧通信的响应时间恒定,应在循环中断 OB 中调用该指令。 • USS_Drive_Control 指令使程序能够访问 USS 网络中的指定变频器。其输入和输出对应于 变频器的状态和运行功能。如果网络中有 16 台变频器,在程序中必须至少调用 USS_Drive_Control 16 次,即每次一台变频器。 只能从循环 OB 中调用 USS_Drive_Control 指令。 • USS_Read_Param 和 USS_Write_Param 函数用于读写变频器的操作参数。这些参数控制 变频器内部运行。有关这些参数的定义,请参见变频器手册。程序可能包括任意多个此 类函数,但在任意时刻一台变频器都只能激活一个读取或写入请求。只可从主程序的循环 OB 调用 USS_Read_Param 和 USS_Write_Param 函数。 注意 USS 指令调用 只从主程序的循环 OB 调用 USS_Drive_Control, USS_Read_Param 和 USS_Write_Param 。 可从任何 OB 调用 USS_Port_Scan 指令函数,但通常从循环中断 OB 调用。 不要在优先级比 USS_Port_Scan 指令所在 OB 的优先级高的 OB 中使用 USS_Drive_Control, USS_Read_Param 或 USS_Write_Param 指令。例如,不要向主程序中添加 USS_Port_Scan 或向循环中断 OB 中添加 USS_Read_Param 。如果其它指令中断了 USS_Port_Scan 的执行, 可能会发生意外错误。 说明 参数 ID 值 用户需要对变频器的 4 个 PIV 字 (ParameterIDValue) 的用途进行组态。计算与变频器的通信时间 与变频器进行的通信与 CPU 的周期不同步。CPU 与变频器的通信完成前,通常会运行几个 周期。 为确保不触发变频器的看门狗设置,必须在看门狗时间内向变频器发送帧。如果通信发生错 误,用户必须允许多次重试来完成这一事务。默认情况下,使用 USS 协议时每个事务Zui多 进行 2 次重试。 两次发送帧的Zui长时间间隔按如下公式计算: N * (5 * 周期时间 + 帧运行时间 + 接收帧的Zui长超时) * (传送尝试次数) N 该网络中的变频器数量 因数 5 发送和接收帧通常需要 5 个周期。 周期时间 调用 USS_Port_Scan 指令的循环中断 OB 的Zui大周期时间。 帧运行时间 帧运行时间 =(每帧的字符数)*(11 Bit/每字符)/(以 Bit/s 为单位 的数据传输速率) 传输尝试次数 重试次数 + 1 接收帧的超时 RCVTIME(如果未收到驱动器的任何响应) 接收帧的Zui长超时 RCVTIME + MSGTIME(如果在 RCVTIME 快结束前收到不完整回复且 MSGTIME 的监视已过期,或者如果在 RCVTIME 过期后仍在处理响 应,则超时将延迟 MSGTIME)