问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

西门子V20变频器与S7-200之间的USS通讯详解

创作时间:
作者:
@小白创作中心

西门子V20变频器与S7-200之间的USS通讯详解

引用
CSDN
1.
https://blog.csdn.net/u010670857/article/details/142471329

本文详细介绍了西门子V20变频器与S7-200 PLC之间的USS通讯配置和编程方法。内容涵盖系统配置、软件安装、硬件连接、变频器参数设置、PLC编程步骤以及数据读写的具体实例,适合从事工业自动化控制的工程师和技术人员参考。

系统配置

  1. 安装Step7 Micro/Win V4.0 SP6软件和USS协议V2.3;
  2. PC/PPI电缆、S7-200、电源模块、通信电缆;
  3. V20驱动装置和一台PC机。

USS库文件确认

在使用MicroWin software 创建项目之前,需要确认USS库文件已经安装。

例程创建步骤

1. 设置通讯接口

本例程使用PC/PPI电缆。

2. 建立PC和PLC之间的连接

"双击刷新"搜索到PLC后,点击”确认”。

3. 硬件连接

用电缆将S7-200 Port 0端口与V20的RS485接口相连(注意端口连接规则:V20的 P+对3、N-对8),如下图所示:

4. 变频器参数设置

V20 可以通过选择连接宏Cn010实现USS控制,也可以通过直接更改变频器参数的方法来实现。参数设置如下表所示:

参数
描述
Cn010默认值
实际设置
备注
P0700[0]
选择命令源
5
5
RS485为命令源
P1000[0]
选择频率
5
5
RS485为速度设定值
P2023
RS485协议选择
1
1
USS协议
P2010[0]
USS/MODBUS波特率
8
6
波特率为9600bps
P2011[0]
USS地址
1
3
变频器的USS地址
P2012[0]
USS PZD长度
2
2
PZD部分的字数
P2013[0]
USS PKW长度
127
127
PKW部分字数可变
P2014[0]
USS/MODBUS报文间断时间
500
0
接收数据时间

5. USS协议初始化

使用USS协议的初始化模块初始化S7-200的PORT0端口:

  • EN使能:每次改变通讯状态都应该执行一次初始化指令。所以EN信号应该通过边沿检测元件脉冲激活。
  • Mode:用这个USS输入值选择通讯协议。
  • 1:为端口0指定USS协议,并启用该协议。
  • 0:为端口0指定PPI协议,并禁止USS协议。
  • Baud: 波特率:9600,19200…115200。
  • Active:激活驱动地址。
  • Done:当USS_INIT 指令执行完成后,Done=1。
  • Error:指令执行的结果,如果有错误,显示错误代码。
  • Active:激活驱动地址举例:

6. USS控制模块

使用USS——CTRL模块来控制USS地址为3的变频器,需要按照表一设置参数:

功能块定义
描述
EN
通常情况总是激活。
RUN
指示驱动为启用(1),或禁止(0)。
OFF2
允许V20自由停车。
OFF3
允许V20快速停止。
F _ACK
V20故障复位。
DIR
V20转动方向(0:逆时针;1:顺时针)。
Drive
V20地址 0-31。
Speed
速度给定值,以全速的百分比给出 (-200.0~~200.0%,负值时,V20反向)。
Resp_R
轮询V20,扫描时=1,并更新下面值。
Error
错误字节,参见表:USS指令执行错误。
Status
V20返回状态值。
Speed
V20速度,(-200.0~~200.0%)。
Run_EN
V20运行状态(1:运行;0:停止)。
D_DIR
V20转动方向(0:逆时针;1:顺时针)
Inhibit
V20禁止位状态。 (0:启用;1:禁止)。要清除禁止位,必须将Fault清零,RUN,OFF2, OFF3输入也要清零。
Fault
指示故障状态。根据V20故障表确认故障。故障排除后,置位F _ACK使Fault清零。

Error信息表

Error代码
说明
0
没有错误
1
驱动未响应
2
检测到驱动响应中存在校验和错误
3
检测到驱动响应中存在奇偶校验错误
4
由于用户程序干扰导致出错
5
尝试执行了无效命令
6
提供的驱动地址无效
7
该通讯接口不能实现USS协议
8
该通讯接口正在忙于处理指令
9
驱动速度输入溢出
10
驱动响应的长度不正确
11
驱动响应的首字符不正确
12
驱动响应的长度字符不正确
13
驱动响应错误
14
提供的DB_PTR地址不正确
15
提供的参数号不正确
16
选择了无效的协议
17
启用USS:不允许更改
18
指定了无效的波特率
19
无通讯:驱动未激活
20
驱动响应中的参数或值不正确

7. 库存储区分配

在编译程序之前,选择 “程序块” ->“ 库” 右键,选择“库存储区”。在点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。

8. 数据读写

8.1 U16类型参数读写

举例:使用USS_RPM_W读取参数P0700的值

注意:

  1. 写参数P1000,其数据类型为U16无符号整数。
  2. 只要给V350.0一个上升沿,就完成一次P1000参数的写操作。
  3. EEPR~的逻辑为0时,写入的值只保存到RAM中,为1时,写入得值保存到EEPROM。
  4. EEPROM中写数据是有次数限制的,V20最多不超过50000次。
8.2 U32类型参数读写

举例:使用USS_RPM_D读取参数P0771.In000的值

注意:

  1. 读参数P771,其数据类型为U32无符号整数。
  2. 只要给V400.0一个上升沿,就完成一次P771参数的读操作。
  3. 读入的参数被放在VD432里。16#00150000=21.0。
  4. 需要注意的是Index为0时代表读Pxxx.0参数组。
8.3 Float类型参数读写

举例:使用USS_RPM_R读取参数P0305.In001的值

注意:

  1. 读参数P0305.In001,其数据类型为浮点数。
  2. 只要给V550.0一个上升沿,就完成一次P0305.In001参数的读操作。
  3. 读入的参数被放在VD532里。
  4. 需要注意的是Index为1时代表读Pxxx.1参数组。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号