S7-200与V20的USS通讯

S7-200V20USS通讯

1、本例程的系统配置:

1)安装Step7 Micro/Win V4.0 SP6软件和USS协议V2.3,软件下载地址:

西门子标准库指令:

http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=S0010

Micro/WIN V4.0 SP6软件下载地址:

http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=S0002

2PC/PPI电缆、S7-200、电源模块、通信电缆。
3V20驱动装置和一台PC机。


2
、在使用MicroWin software 创建项目之前,确认USS库文件已经安装:


3、创建一个例程:

3.1 设置通讯接口

本例程使用PC/PPI电缆。


3.2 建立PCPLC之间的连接


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

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


3.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 接收数据时间


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


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

Active:激活驱动地址举例:



3.6
使用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 驱动响应中的参数或值不正确


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


3.8 读写U16类型参数:

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


状态表:


注意:
1)读参数P0700,其数据类型为U16无符号整数。
2)只要给V300.0一个上升沿,就完成一次P0700参数的读操作。
3)读入的参数被放在VW332里。
4)需要注意的是Index0时代表读Pxxx.0参数组

3.8.2 举例:使用USS_RPM_W设置参数P1000


状态表:


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

3.9 读写U32类型参数:

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


状态表:


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

3.9.2 举例:使用USS_WPM_D设置参数P0771.In000


状态表:


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

3.10读写Float类型参数:

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



状态表:


注意:
1)读参数P0305.In001,其数据类型为浮点数。
2)只要给V550.0一个上升沿,就完成一次P0305.In001参数的读操作。
3)读入的参数被放在VD532里。
4)需要注意的是Index1时代表读Pxxx.1参数组。

3.10.2举例:使用USS_WPM_R设置参数P0305.In001=1.5A


状态表:


注意:
1)写参数P0305.In001,其数据类型为浮点数。P0305更改条件:P0010=1快速调试。
2)只要给V550.0一个上升沿,就完成一次参数P0305.In001的写操作。
3EEPR~的逻辑为0时,写入的值只保存到RAM中,为1时,写入得值保存到EEPROM
4EEPROM中写数据是有次数限制的,V20最多不超过50000次。


抢沙发

昵称*

邮箱*

网址