用户登陆 用户注册
您的位置:首页>
技术文章>内容正文
西门子PLC与CHV系列变频器通信
[正文]:一.功能介绍英威腾chv系列矢量变频器内置国际标准的modbus(从站)通信协议,配合chv系列变频器专用通讯卡,可非常方便的实现远程通讯控制功能。
通讯卡上提供rs232及rs485两种物理通讯端口,用户可通过设置卡上的跳线选择。
下面以西门子s7-200系列plc为例,介绍plc与chv矢量变频器建立通讯并实现对变频器起停、频率给定、监控等功能的控制。
变频器作为modbus协议从站接收来自cpu224 plc的通信指令,。
chv系列矢量变频器在与cpu224通信前须做好以下准备工作:1.确认已安装好chv系列矢量变频器的通讯卡,并将卡上的端口跳线置于rs485端;2.用一根带9针阳性插头的串口通信电缆连接在cpu224 plc的自由通信口端,电缆另一端的第5、3、8线分别接在chv变频器rs485通讯卡的gnd、485+、485-端子上,其余线屏蔽不用;3.预先设置变频器以下参数:pc0.0=1 //变频器通讯地址为1pc0.1=3 //通讯波特率9.6kpc0.2=1 //通讯数据偶校验p0.01=2 //变频器的运行指令采用通讯方式p0.03=7 //变频器的a频率设定采用通讯方式二.plc内存使用说明西门子s7-200系列plc的自由通讯端口编程必定会用到两个指令,即xmt(发送)指令和rcv(接收)指令。
编写程序时需要为这两个指令指定数据缓冲区,一般以最低位数为0的地址作为数据缓冲区的起始地址。
1.发送指令xmt缓冲区(写/读)vb100 //xmt指令要发送的字节个数vb101 //变频器通讯地址(01)vb102 //modbus功能码(06/03)vb103 //变频器被写地址高位/变频器被读起始地址高位vb104 //变频器被写地址低位/变频器被读起始地址低位vb105 //被写数据高位/被读数据字个数高位vb106 //被写数据低位/被读数据字个数低位vb107 //被发送数据crc低位vb108 //被发送数据crc高位2.接收指令rcv缓冲区vb200 //rcv指令要接收的字节个数vb201 //变频器地址(01)vb202 //modbus功能码(06/03)vb203 //变频器被写地址高位/被读数据字节个数高位vb204 //变频器被写地址低位/被读数据字节个数低位vb205 //被写数据高位/被读数据高位vb206 //被写数据低位/被读数据低位vb207 //被接收数据crc低位vb208 //被接收数据crc高位vb217 //被接收数据crc验算低位vb218 //被接收数据crc验算高位2.crc校验子程序(sbr0)英威腾chv系列矢量变频器内置的modbus协议采用rtu传输格式,该格式使用crc校验方式对每次发出或接收的数据帧进行校验。
因此,该子程序使用了多个局部变量,以方便其它子程序调用。
在西门子step 7-micro/win 编程环境下(如图一),需要在该子程序的局部变量表中预先设定以下局部变量:
点击查看大图片
(1)输入型局部变量(var_input)1d_0:dword; // 待发送数据地址指针变量lw_4:word; // 待发送数据字节个数变量(2)输出型局部变量(var_output) lb_6:byte; // crc校验值高位变量lb_7:byte; // crc校验值低位变量(3)临时局部变量(var)lw_8:word; // 待发送数据字节个数计数变量lw_10:word; // 待发送数据每字节8位二进制数计数变量network 1ld sm0.0movw 16#ffff, lw6 //将16位crc校验寄存器lw6全置为1network 2 ld sm0.0for lw8, +1, lw4 //对待发送数据字节个数(lw4)计数(lw8)循环network 3 ld sm0.0xorb *ld0, lb7 //使待发送数据的第一个字节(*ld0)与 //crc校验寄存器低位字节(lb7)进行异或运算network 4 ld sm0.0incd ld0 //ld_0指向待发送数据的下一个地址network 5 ld sm0.0for lw10, +1, +8 //对每字节8位二进制数计数(lw10)循环network 6 ld sm0.0srw lw6, 1 //crc校验寄存器lw6右移一位network 7 ld sm1.1 //若移位后的溢出值sm1.1为1xorw 16#a001, lw6 //则使值16#a001与lw6进行异或运算network 8 next //结束每字节8位二进制数计数循环network 9 next //结束每数据帧字节个数计数循环3. 初始化子程序(sbr1)该程序在plc的第一个扫描周期运行,主要是设置cpu224自由端口的通信格式、数据接收格式及复位各寄存区(参见西门子s7-200编程手册)。
通信格式内容包括:波特率9.6k、每字节位数8位、偶校验等(注意与变频器一致)。
数据接收格式完全参照modbus rtu格式设定,以不少于3.5个字节传输时间的通信口空闲间隔作为数据接收的开始及结束信号。
根据协议,plc在准备接收数据前会先监测通信口是否空闲,如连续空闲时间超过了3.5个字节的传输时间,则plc默认数据接收开始,此后通讯口上出现的信息即被认为是一个数据帧的内容。
同理,随着一个数据帧的最后一个字节传输完成,又会出现一个3.5字节传输时间的空闲间隔,来表示一个数据帧传输的结束。
(参见modbus协议标准及chv系列矢量变频器通讯卡使用说明书)对9.6k的通信波特率来说,3.5个字节传输时间约为5ms左右。
因该程式的每个指令只准备接收一个数据帧的回馈信息,所以接收数据前的空闲检测时间可设为0,即plc在发出数据后立即开始接收数据,但一个数据帧的传输结束空闲检测时间仍需设为5ms以上。
network 1 ld sm0.0movb 16#49, smb30 //设置自由通信口格式movw +0, smw90 //空闲行间隔检测时间0ms movw +5, smw92 //字符间定时器超时检测时间5msmovb 20, smb94 //接收信息的最大缓冲区20字节movb 148, smb87 //设置自由通信口的数据接收格式fill +0, qw0, 1 //输出印象寄存区复位fill +0, mw0, 1 //标志寄存区复位fill +0, vw100, 5 //发送缓冲区复位fill +0, vw200, 5 //接收缓冲区复位atch int_0, 23 //接收完成中断atch int_1, 9 //发送完成中断eni //在全局启用中断
网站首页
培训课程
维修指南
技术文章
家电专栏
供应信息
求购信息
培训资讯
展会信息
电脑专栏
教程下载
资料下载
常用软件
PLC教程
PLC资料
变频伺服
低压电器
维修资料
人机界面
自控仪表
工控机类
文章标题:
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
京ICP备11002135号
报时(2026-04-06 15:41:00)