您的位置 首页 观点

西门子PLC与英威腾CHV系列变频器通讯

一.功能介绍英威腾CHV系列矢量变频器内置国际标准的MODBUS(从站)通信协议,配合CHV系列变频器专用通讯卡,可非常方便的实现远程通讯控制功能。通讯卡上提供RS232及RS485两种物理通讯端口,

一.功用介绍

  英威腾CHV系列矢量变频器内置国际规范的MODBUS(从站)通讯协议,合作CHV系列变频器专用通讯卡,可十分便利的完结长途通讯操控功用。通讯卡上供给RS232RS485两种物理通讯端口,用户可通过设置卡上的跳线挑选。

  下面以西门子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
FOR LW8, +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
FOR LW10, +1, +8 //对每字节8位二进制数计数(LW10)循环
Network 6
LD SM0.0
SRW LW6, 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位、偶校验等(留意与变频器共同)。

  数据接纳格局彻底参照MODBUSRTU格局设定,以不少于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 //在大局启用中止

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/228984.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部