两分钟学会V20变频器的MODBUS RTU通讯

电子说

1.3w人已加入

描述

1、本例程的系统配置:

(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 可以通过选择连接宏Cn011实现Modbus RTU控制,也可以通过直接更改变频器参数的方法来实现。参数设置如下表所示:

变频器

4.V20常用寄存器说明

变频器

5. 上述准备工作完毕,接下来正式编写通信程序

1)初始化ModbusMaster端口:

变频器

EN 使能: 必须保证每一扫描周期都被使能(使用 SM0.0) 。Mode 模式: 为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议 。Baud 波特率: 支持的通讯波特率为4800,9600,19200 。必须与变频器一致。Parity 校验: 校验方式选择 (V20采用偶校验)

0=无校验1=奇较验2=偶较验

Timeout 超时: 主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),只要保证从站有时间响应即可。Done 完成位: 初始化完成,此位会自动置1。Error:初始化错误代码。

2) 调用 ModbusRTU 主站读写功能块MBUS_MSG,发送一个Modbus 请求:

写入控制字1:

变频器

EN 使能: 同一时刻只能有一个读写功能(即 MBUS_MSG)使能 。注意:V20对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻最大允许操作125 个保持寄存器。First 读写请求位: 每一个新的读写请求必须使用脉冲触发。Slave 从站地址: 可选择的范围 1 – 247,填写变频器实际地址 。RW 请求方式: 0 = 读, 1 = 写 。Count 数据个数 通讯的数据个数(位或字的个数) 。注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)。DataPtr 数据指针: 如果是读指令,读回的数据放到这个数据区中 ;如果是写指令,要写出的数据放到这个数据区中 。

Done 完成位:读写功能完成位,正在发送命令时为0,完成后为1 。Error 错误代码: 只有在 Done 位为1时,错误代码才有效。常用的控制字:

047E :运行准备047F :正转启动0C7F :反转启动04FE :故障确认

3)写设定频率

变频器

其它参数通信方法类似,此处不复述。

对于斜坡上升时间P1120,从寄存器列表中可以看到40322的寄存器的定标系数是100,读取过来的值为:VW1310=1000,所以参数P1120=1000/100=10。

6.Modbus错误代码:

Done 完成位:读写功能完成位Error 错误代码: 只有在 Done 位为1时,错误代码才有效

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分