西门子V20变频器与S7-200之间的USS通讯详解
创作时间:
作者:
@小白创作中心
西门子V20变频器与S7-200之间的USS通讯详解
引用
CSDN
1.
https://blog.csdn.net/u010670857/article/details/142471329
本文详细介绍了西门子V20变频器与S7-200 PLC之间的USS通讯配置和编程方法。内容涵盖系统配置、软件安装、硬件连接、变频器参数设置、PLC编程步骤以及数据读写的具体实例,适合从事工业自动化控制的工程师和技术人员参考。
系统配置
- 安装Step7 Micro/Win V4.0 SP6软件和USS协议V2.3;
- PC/PPI电缆、S7-200、电源模块、通信电缆;
- 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的值
注意:
- 写参数P1000,其数据类型为U16无符号整数。
- 只要给V350.0一个上升沿,就完成一次P1000参数的写操作。
- EEPR~的逻辑为0时,写入的值只保存到RAM中,为1时,写入得值保存到EEPROM。
- EEPROM中写数据是有次数限制的,V20最多不超过50000次。
8.2 U32类型参数读写
举例:使用USS_RPM_D读取参数P0771.In000的值
注意:
- 读参数P771,其数据类型为U32无符号整数。
- 只要给V400.0一个上升沿,就完成一次P771参数的读操作。
- 读入的参数被放在VD432里。16#00150000=21.0。
- 需要注意的是Index为0时代表读Pxxx.0参数组。
8.3 Float类型参数读写
举例:使用USS_RPM_R读取参数P0305.In001的值
注意:
- 读参数P0305.In001,其数据类型为浮点数。
- 只要给V550.0一个上升沿,就完成一次P0305.In001参数的读操作。
- 读入的参数被放在VD532里。
- 需要注意的是Index为1时代表读Pxxx.1参数组。
热门推荐
电脑的机器码可以修改吗?怎么改?
健腹轮:核心力量训练的利器
“新”意满满!肇庆企业广交会二期成交额约3.5亿元!
经常嗜睡、疲乏、记忆力减退?医生:建议查查甲状腺
你的胃究竟是怎么坏掉的?这些东西劝你少吃
武汉会战中日军到底被歼灭了多少?武汉会战日军伤亡情况分析
多重人格治疗
一文彻底搞懂深度学习:Softmax函数与Log-Softmax函数
艺术治疗:用艺术点亮心灵
这样带孩子做时间管理,不用催促第二遍,简单还有效
跨文化交流,打造新时代青年文化的全球朋友圈
甘肃:“援”气满格!为劳动者权益“安心”护航
感情关系破裂怎么办?这份实用指南请收好
避风塘的独特风味:从香港水上食肆到世界餐桌
如何制定高效的任务计划方案?让每一天都充满成就感!
隆基李振国:以自主创新和中国原创技术引领光伏产业发展
退市后多久才能去三板,摘牌后45个交易日
如何辨别京东方和维信诺屏幕?
RAG(检索增强生成)技术详解:如何提升大模型输出质量?
甲状腺激素偏低会导致什么症状
新房 32 层仅余 2、14、30 层可选,究竟哪层才是最佳抉择?
罗汉松放在家里什么位置好
江苏盐城最新十大富豪揭晓,总身价999亿,一位东台80后首次亮相
尿液混浊是怎么回事 这些原因引起尿液浑浊
普通人在“城里买房”还是在“农村盖房”好?最佳答案来了
如何规划家庭住房需求?这些需求如何影响购房决策?
壬水命八字格局怎么 🦆 看「八字格局怎么看,解析八字格局」
运动调理气血:简单有效的锻炼方法
长江主要支流有哪些(比黄河水量还要多的长江支流都是哪几条?)
十年禁渔看长江|从水域之治转向生态之治 长江大保护仍需久久为功