品牌:西门子
起订:11
供应:9991
发货:3天内
信息标签:淮南西门子1500可编程控制器,供应,机械及行业设备,工控系统及装备
协议使用主从网络通过串行总线进行通信。主站使用地址参数向所选从站发送消息。如果未收到传送请求,从站本身不会执行传送操作。各从站之间无法进行直接
消息传送。USS通信以半双工模式执行。以下 USS 图示显示了一个驱动器应用示例的网络图。
基于 PROFIBUS 或 PROFINET 的 USS 通信S7-1200 CPU V4.1 版本以及 STEP 7 V13 SP1 扩展了 USS 的功能,可以使用PROFINET 或 PROFIBUS 分布式 I/O 机
架与各类设备(RFID 阅读器、GPS设备和其它)进行通信:
● PROFINET :可以将 S7-1200 CPU 的以太网接口连接至 PROFINET接口模块。可通过机架中 PtP 通信模块以接口模块实现与 PtP 设备的串行通信。
● PROFIBUS :在 S7-1200 CPU 机架左边插入 PROFIBUS 通信模块。将PROFIBUS 通信模块连接至 PROFIBUS 接口模块的机架。可通过机架中 PtP通信模块以接口
模块实现与 PtP 设备的串行通信
出于这个原因,S7-1200 支持两组 PtP 指令:
● 早期 USS 指令 :这些 USS 指令存在于 S7-1200 的 V4.0版本之前,并且仅可通过 CM 1241 通信模块或 CB 1241 通信板进行串行通信。
● USS 指令 :这些 USS 指令具备早期指令的所有功能,并且增添了连接PROFINET 和 PROFIBUS 分布式 I/O 的功能。这些 USS 指令可用于组态分布
式 I/O机架中 PtP 通信模块与 PtP 设备之间的通信。要使用这些 USS 指令,S7-1200 CM1241 模块的固件版本不得低于 V2.1。
说明
用于 S7-1200 的 V4.1
版本时,可以对所有类型的点对点通信使用点对点指令:串行通信、基于 PROFINET的串行通信和基于 PROFIBUS 的串行通信。STEP 7
提供早期点对点指令的目的仅是为了支持现有程序。早期命令仍适用于所有 S7-1200CPU。无须对之前程序的指令进行转换。
选择 USS 指令的版本
在 STEP 7 中可使用两个版本的 USS 指令:
● 版本 2.0(早期指令)初在 STEP 7 Basic/Professional V13 中提供。
● 版本 2.1 在 STEP 7 Basic/Professional V13 SP1 中提供。
可以从兼容性和移植便利性方面考虑,选择将相应的指令版本插入用户程序中。
不能将两个版本的指令用于同一模块,但不同的模块可以使用不同版本的指令。
使用指令树将 USS 指令放入程序时,将根据所选的 USS 指令在项目树中创建新的 FB 或FC 实例。 在项目树的“PLC_x > 程序块 > 系统块 > 程序资源”(PLC_x
> Program blocks >System blocks > Program resources) 下可看到新的 FB 或 FC 实例。
要确认程序中 USS
指令的版本,必须检查项目树的属性而不是程序编辑器中显示的框的属性。
选择项目树的 USS FB 或 FC实例,单击右键,选择“属性”(Properties),然后选择“信息”(Information) 页查看 USS指令的版本号。
使用 USS 协议的要求
四条 USS 指令使用两个 FB 和两个 FC 来支持 USS 协议。 一个 USS 网络使用一个USS_Port_Scan 背景数据块 (DB)。 USS_Port_Scan 背景数据块包含供该 USS
网络中所有驱动器使用的临时存储区和缓冲区。 各 USS 指令共享此数据块中的信息。
连接到一个 RS485 端口的所有驱动器(多 16 个)是同一 USS 网络的一部分。
连接到另一 RS485 端口的所有驱动器是另一 USS 网络的一部分。 各 USS网络通过单独的数据块进行管理。 与各 USS 网络相关的所有指令必须共享该数据块。
这包括用于控制各 USS 网络上的所有控制器的所有USS_Drive_Control、USS_Port_Scan、USS_Read_Param 和 USS_Write_Param指令。
USS_Drive_Control 指令是一个函数块 (FB)。 在程序编辑器中放置 USS_Drive_Control指令时,系统将通过“调用选项”(Call options) 对话框提示您为该 FB
分配 DB。
如果对于该 USS 网络而言,它是该程序中的**条 USS_Drive_Control指令,则可以接受默认的 DB 分配(或根据需要更改名称),将相应地创建一个新 DB。
但是,如果对于该通道它不是**条 USS_Drive_Control指令,则必须使用“调用选项”(Call options) 对话框中的下拉列表选择先前为该 USS网络分配的 DB
名称。
USS_Drive_Control 指令是一个函数块 (FB),并且其通过点对点 (PtP) RS485通信端口处理 CPU 和驱动器之间的实际通信。 每次调用此 FB可处理与一个驱动器
的一次通信。 用户程序必须尽快调用此 FB以防止与驱动器通信超时。 可在主程序循环 OB 或任何中断 OB 中调用此 FB。USS_Read_Param 和 USS_Write_Param
指令都是函数 (FC)。 在编辑器中放置这些 FC时不分配 DB。 而您必须给这些指令的“USS_DB”输入分配合适的 DB 引用。双击该参数字段,然后单击参数助手
图标可查看可用的 DB 名称。
通常,应在循环中断 OB 中调用 USS_Port_Scan FB。该循环中断 OB的循环时间应设置为小调用间隔的一半左右(例如,1200 波特的通信应使用 350 ms
或更短的循环时间)。
用户程序通过 USS_Drive_Contro FB 可访问 USS 网络上指定的驱动器。
其输入和输出是驱动器的状态和控制。 如果网络上有 16个驱动器,则用户程序必须具有至少 16 个 USS_Drive_Control调用,每个驱动器一个调用。 应该以控
制驱动器工作所需的速率调用这些块。
只能在主程序循环 OB 中调用 USS_Drive_Control FB。
小心
从 从 OB 调用 USS 指令时的考虑事项
只能在主程序循环 OB 中调用 USS_Drive_Control、USS_Read_Param 和USS_Write_Param。可在任何 OB 中调用 USS_Port_Scan FB,通常是在循环中断 OB
中调用。
不要在优先级比 USS_Port_Scan 指令所在 OB 的优先级高的 OB 中使用USS_Drive_Control、USS_Read_Param 和 USS_Write_Param 指令。 例如,不要将
USS_Port_Scan 放置在主程序循环 OB 中,而将 USS_Read_Param 放置在循环中断OB 中。如果未能防止 USS_Port_Scan执行的中断,则会产生意外错误,进而导
致人身伤害。
USS_Read_Param 和 USS_Write_Param FC 可读取和写入远程驱动器工作参数。
用户程序可包含尽可能多的这些功能,但在任何特定时刻,每个驱动器只能激活一个读或写请求。 只能在主程序循环 OB 中调用 USS_Read_Param 和
USS_Write_Param FC。
计算与驱动器通信所需的时间
与驱动器进行的通信与 S7-1200 扫描周期不同步。
在完成一个驱动器通信事务之前,S7-1200 通常完成了多个扫描。
USS_Port_Scan 间隔是一个驱动器事务所需的时间。
下表列出了各个通信波特率下的小 USS_Port_Scan 时间间隔。 比 USS_Port_Scan间隔更频繁地调用 USS_Port_Scan FB 不会增加事务数。 如果通信错误导致
尝试 3次才能完成事务,则驱动器超时间隔是处理该事务可能花费的时间。 默认情况下,USS协议库对每个事务多自动进行 2 次重试。