英威腾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 //变频器通讯地址为1
pc0.1=3 //通讯波特率9.6k
pc0.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 1
ld sm0.0
movw 16#ffff, lw6//将16位crc校验寄存器lw6全置为1
network 2
ld sm0.0
forlw8, +1, lw4//对待发送数据字节个数(lw4)计数(lw8)循环
network 3
ld sm0.0
xorb *ld0, lb7 //使待发送数据的第一个字节(*ld0)与
//crc校验寄存器低位字节(lb7)进行异或运算
network 4
ld sm0.0
incd ld0 //ld_0指向待发送数据的下一个地址
network 5
ld sm0.0
forlw10, +1, +8//对每字节8位二进制数计数(lw10)循环
network 6
ld sm0.0
srwlw6, 1 //crc校验寄存器lw6右移一位
network 7
ld sm1.1 //若移位后的溢出值sm1.1为1
xorw 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.0
movb 16#49, smb30//设置自由通信口格式
movw +0, smw90 //空闲行间隔检测时间0ms
movw +5, smw92 //字符间定时器超时检测时间5ms
movb 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//在全局启用中断
14家电子信息企业签约入驻湖北武穴市电子信息园区,协议投资额达65亿元
对于Commvault云+数据战略布局的分析和介绍
对于NAS网络存储你真的需要它吗
才茂推出构建智慧停车场联网解决方案
面板制造厂商正在检讨继Notch之后应用挖孔设计的新一代全面屏设计
西门子PLC与CHV系列变频器通信
欧洲通信业内人士表示只有保障5G技术的广泛与多样才能确保网络安全
Allegro推出ACS37002系列霍尔效应电流传感器
液位指示器
ADI公司设计工具:ADIsimRF第2部分
AVS编码与DSP实现的视频编码器
橙科微电子获2亿元C+轮融资,系高速光通信DSP芯片提供商
短信删除了如何恢复?这招真的超管用
中微爱芯电源产品线介绍
单片机用一个I/O采集多个按键信号
HTC技术过硬,但为何还是在手机市场败了?
直流电源和地线连接电容的作用
利用模拟开关降低继电器的功耗,Analog Switch L
国庆档最强阵容《攀登者》携手国货品牌素士致敬攀登者
常用网络ip地址有哪些