S7-200 SMART与V20变频器的USS通讯

1、本例程的系统配置与modbus RTU通信基本类似:(1)安装STEP 7-MicroWIN SMART确保modbus库文件未丢失。(软件安装后自带库文件,个别在安装时可能丢失库)(2)网线一根、S7-200SMART、24V开关电源、单头带DP接头的通信电缆。(3)V20变频器一台。2.用通信电缆将S7-200SMART自带的RS485接口与V20的RS485接口相连(注意端口连接规则:V20的P+对3、N-对8),如下图所示:

3.变频器参数设置:V20 可以通过选择连接宏Cn010实现USS控制,也可以通过直接更改变频器参数的方法来实现。参数设置如下表所示:表一:参数描述Cn010默认值实际设置备注P0700[0]选择命令源55RS485为命令源P1000[0]选择频率55RS485为速度设定值P2023RS485协议选择11USS协议P2010[0]USS/MODBUS波特率86波特率为9600bpsP2011[0]USS地址13变频器的USS地址P2012[0]USS PZD长度22PZD部分的字数P2013[0]USS PKW长度127127PKW部分字数可变P2014[0]USS/MODBUS报文间断时间5000接收数据时间4. 编写通信程序。1)使用USS协议的初始化模块初始化RS485端口:

EN使能:每次改变通讯状态都应该执行一次初始化指令。所以EN信号应该通过边沿或SM0.1检测元件脉冲激活。Mode:用这个USS输入值选择通讯协议。1:为端口指定USS协议,并启用该协议。0:为端口指定PPI协议,并禁止USS协议。Port:端口选择。0为系统集成,1为信号板扩展。Baud: 波特率:9600,19200…115200。(必须与变频器一致)Active:激活驱动地址举例:哪位要激活必须将哪位设置为1。

Done:当USS_INIT 指令执行完成后,Done=1。Error:指令执行的结果,如果有错误,显示错误代码。2)使用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) 读写float类型参数:使用USS_RPM_R读取参数r25的值;USS地址直接查阅说明书参数地址,P开头的为可读可写,r开头的为只可读,把前面的字母去掉后面的数字就是对于的通信地址,如P700地址为700,r25地址为25。不同数据类型的参数必须用不同的库进行读写。

注意:(1)读参数r025,其数据类型为浮点数。(2)只要给m1.0一个上升沿,就完成一次r25参数的读操作。(3)读入的参数被放在VD42里。(4)需要注意的是Index为0时代表读rxxx.0参数组,即索引号。4)举例:使用USS_WPM_R设置参数P1120。

注意:(1)写参数P1120,其数据类型为float浮点数。(2)只要给M1.1一个上升沿,就完成一次P1120参数的写操作。(3)EEPR~的逻辑为0时,写入的值只保存到RAM中,为1时,写入得值保存到EEPROM。(4)EEPROM中写数据是有次数限制的,V20最多不超过50000次。(5)需要写入的数值预先存放在VD46中。其它数据类型的读写指令使用方法类似,此处不复述。读写的参数必须区分数据类型选择对应的库指令。5)库存储区分配:在编译程序之前,选择 “程序块” ->“ 库” 右键,选择“库存储区”。在点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。

(0)

相关推荐