技术频道

V80在变频通讯中的应用

一、 前言
变频器的应用非常广泛,在很多应用场合需要频繁修改运行频率、停止或启动变频器,手工调节面版方式已经不能满足使用需要。
用模拟信号控制变频器运行频率,数字信号控制变频器启动或停止,这种方式需要另外购置模拟信号模块,控制多台变频器时,成本会增加很多。在控制距离比较远的情况下,模拟信号会受到距离的影响,衰减很大。
用V80系列PLC通讯控制变频器运行频率、数字信号控制变频器启动或停止,这样不仅能控
制单台也能控制多台变频器,而且能很好的控制成本。V80支持MODBUS RTU通讯协议和自由通讯协议,它可以支持RS232和RS485,V80的COM1口为RS232通讯接口,COM2口为RS485通讯接口。
V80系列PLC单元所提供的MODBUS 主站功能,进行参数设置及动作控制。通过该功能可完成主站单元对多台MODBUS从站单元联机,进行数据交换,也可直接与其它支持标准MODBUS的设备连接。
M_BUS指令,上节点:M_BUS读写命令, 0 => READ, 1 => WRITE
中节点:读写M_BUS单元的设备编号(1-254),
0 (255)=> 广播方式,#256~#9999无效。
下节点:M_BUS菜单参数设定区,6个寄存器地址
地址偏移1:高位错误信息;
地址偏移2:主站类型;
地址偏移3:主站寻地址;
地址偏移4:从站类型;
地址偏移5:从站寻地址;
地址偏移6:读或写的数据数量;
自由通讯指令有发送指令XMT和接收指令RCV。
XMT发送指令必须先设置特殊继电器09933ON,此时,V80通讯口2是在自由通讯模式下,ModBus主从功能被禁止。
上节点:发送区首地址,每个数据占十六位,低八位为待发数据,高八位参见说明书。
中节点:发送长度。
下节点:错误指示,非0即表示有错误产生。
RCV自由通讯接收指令可以设置字符超时时间,开始字符,接收字符,最大字符数。详见说明书。
二、V80系列提供MODBUS通讯协议
1、 写单个线圈(功能码05H)
设备地址+功能码(05)+线圈地址(XXXX)+ OFF线圈0000(ON线圈FF00)+ CRC 16
写第1个线圈为ON报文:01 05 0000 FF00 8C3A
01H设备地址
05H功能码
0000H线圈地址为输出第1 个
FF00置为ON
8C3A为CRC 16校验
写第1个线圈为OFF报文:01 05 0000 0000 CDCA
2、 写单个寄存器(功能码06H)
设备地址+功能码(06)+寄存器地址(XXXX)+ 数据 + CRC 16
写数据5到第1个寄存器报文:01 06 0000 0005 49 C9
01H设备地址
06H功能码
0000H寄存器地址为第1 个,40001
0005H写入数据00005H
49C9为CRC 16校验
3、 写多个线圈(功能码0FH)
设备地址 + 功能码(0F)+ 线圈地址 + 线圈长度 + 线圈数据 + CRC 16
连续写16个线圈为ON报文:01 0F 0000 0010 02 FFFF E390
01H设备地址
0FH功能码
0000H线圈地址
0010H控制线劝长度为16个
FFFF表示bit0-bit15全为ON(0表示OFF,1表示ON)
E390为CRC 16校验
连续写16个线圈不同时为ON的报文:01 0F 0000 0010 02 0F00 E7D0
01 0F 0000 0010 02 F000 A620
01 0F 0000 0010 02 0100 E3B0
01 0F 0000 0010 02 0200 E340
01 0F 0000 0010 02 0300 E2D0
01 0F 0000 0010 02 00F0 E264
连续写32个线圈为ON报文:01 0F 0000 0020 04 FFFF FFFF C51C
4、 写多个寄存器(功能码10H)
设备地址 + 功能码(10)+ 寄存器地址 +寄存器长度 + 数据个数 + 数据 + CRC 16
连续写1个寄存器(40001)报文:01 10 0000 0001 02 0005 6653
把0005写到40001寄存器
01设备地址
10功能码
0000寄存器地址为40001
0001写寄存的个数为1
02写的数据为它后面的两个00和05。
0005数据为5
6653为CRC 16校验
连续写2个寄存器(40001、40002)
报文:01 10 0000 0002 04 0007 0009 8268
把0007写到寄存器40001,0009写到寄存器40002
连续写2个寄存器(40001、40002、 40003)
报文:01 10 0000 0003 06 0007 0009 0005 4341
把0007写到40001,0009写到40002,0005写到40003
5、读线圈状态(功能码01H)
设备地址 + 功能码(01)+ 线圈地址 + 线圈长度 + CRC 16校验
读20个线圈:01 01 0000 0014 3C05(读从第1个线圈到20个线圈)
01设备地址
01功能码
0000线圈首地址
0014读长度20个线圈
3C05为CRC 16校验
返回:01 01 03 XX XX XX ZZZZ
01设备地址
01功能码
03字节长度,表示后面返回的3个字节
XX XX XX读出的20个线圈的状态(每组XX表示8个位)
ZZZZ为CRC 16校验
6、读寄存器(功能码03H)
读3个寄存器:01 03 0000 0003 05CB
01设备地址
03功能码
0000寄存器首地址
0003 长度(读3个寄存器)
05CB为CRC 16校验
返回:01 03 06 XX XX XX XX XX XX ZZZZ
01 设备地址
03功能码
06字节长度(读回的3个寄存器,长度为6个字节)
XX XX XX XX XX XX读出的3个寄存器
ZZZZ 为CRC 16校验
三、 V80与丹佛斯变频器通讯
1、 变频参数设置
海利普HOLIP-C+变频器(此变频器不支持标准MODBUS协议,可用V80的自由通讯功能块实现控制)
C12设置为2运转指令由通讯口给定
C13设置为2运转频率由通讯给定
C109设置为1(根据需要设置地址)设备地址为1
C110设置为1波特率为9600bit/s
C111设置为4,方式为8E1 FOR RTU(数据8位,1位停止位,偶校验,RTU模式)
2、 V80参数设置
COM2通讯口(RS485接口)
波特率9600bps,偶校验,使用自由通讯协议,在程序中要把09933线圈设置成ON
3、 海利普HOLIP-C+通讯协议
RTU模式
静音>50ms ADDR FUNC LEN Dn-1~D0CRC 静音>50ms
1)静音:表示50ms 时间以上无串口中断
2ADDR:通讯位置 8-bit位置
3FUNC:命令码 8-bit命令,具体内容参见3.1 章节中命令码中的详细说明
4LEN:资料长度 指Dn-1~D0的长度
5DATA:资料内容 n×8-bit资料
6CRC:侦误值
RTU模式采用CRCcyclical Redundancy Check)侦误值。CRC侦误值以下列步骤计算。
1:载入一个内容为FFFFH 16-bit暂存器(称CRC暂存器)。
2:将命令讯息第一个位元组与CRC16-bitCRC 暂存器的低次位元组进行Exclasive OR
运算,并将结果存回CRC暂存器。
3:将CRC暂存器内容右移1bit,最左bit填入0,检查CRC暂存器最低位元的值。
4:若CRC 暂存器最低位元为0,则重复步骤3;否则将CRC 暂存器与A001H 进行
Exclusive OR运算。
5:重复3 4,直到CRC暂存器的内容右移8bits,此时,该位元组已完全处理。
6:对命令讯息下一个位元组重复步骤2 5 直到所有位元组皆完成处理,CRC 暂存器的最后内容即是CRC值。当在命令讯息中传送CRC值时,低位元组须与高位元组交换顺序,
即低位元组将先被传送。
7:范例:
a.读取功能码数据 ( 01 )
发送格式: ADDR 01 LEN Data
ADDR=0时,无返回数据
ADDR0 且符合变频器地址时有响应
当返回为正常时,格式如下:
ADDR 01 LEN Data
如返回为一个字时 LEN=3 一个字节时 LEN=2
当无此功能或无效时返回为:
ADDR 81H 01
例如:读取CD000的参数
发送: 01 01 01 00 CRC
00 为数据。代表CD000.
接收: 01 01 03 00 13 88 CRC
说明:CD000 = 01388H = 5000,50Hz.
b.功能码设定 ( 02 )
发送格式:ADDR 02 LEN Data
ADDR=0 作广播用,可以设定,但无应答
ADDR0时可以设定 同时有回应讯号
当返回为正常时,格式如下:
ADDR 02 LEN Data
当设定不正确时,或无此功能,返回参数为:
ADDR 82H 01
例如:将CD000参数值改为60.00Hz
发送: 01 02 03 00 17 70 CRC
00 为数据。代表CD000. 1770Hex,转换为十进制数为6000
接收: 01 02 03 00 17 70 CRC
c.控制命令 03
发送格式:ADDR 03 01 CNTR
ADDR=0 为广播,无返回响应
ADDR0时有响应,返回
CNTR
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
jogr jogf jog r/f stop Rev for Run
当设定正确时,返回当前控制状态 格式:ADDR 03 01 CNST
CNST
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
跟踪启动 制动 r/f jogging Runing r/f jog Run
检测不正确时 ADDR 83H 01 CNST
例如:通讯控制变频器运行时即CD033 = 2
发运行命令
发送:01 03 01 01 CRC
01 为数据,代表运行命令。
接收:01 03 01 09 CRC
09 为数据,代表变频器处于运行状态。
注意: 因通讯实时性,变频器返回状态滞后性,所以发命令之后返回的数据不
能正确反应变频器当前状态。
d:读取状态值 ( 04 )
格式:ADDR 04 01 CFG
ADDR=0时无返回 ADDR0时有返回
CFG=08 时返回单个状态
0Set F 1Out F 2Out A 3RoTT 4DCV
5ACV 6Cont 7Tmp 8Error CNST
1: 读取设定频率
发送:01 04 01 00 CRC
返回:01 04 03 13 38 CRC
其中 13 88 为数据,13 为高位,88 为低位。
2: 读取错误代码和当前变频器状态
发送:01 04 01 08 CRC
返回:01 04 03 08 00 09 CRC
其中 00 为数据,代表无故障。
09 为数据,代表当前变频器为运行状态。
e:变频器串口频率设定 ( 05 )
格式:ADDR 05 02 Data
ADDR=0时无返回 ADDR0时有返回
例 变频器频率设定为50.00Hz
发送:01 05 02 13 88 CRC
返回:01 05 02 13 88 CRC
其中13 88为数据,13 为高位,88为低位。(通过串口设定频率时,须先将CD034
设为2。)
4、V80梯形图程序
写入变频器:40201设置发送的频率,10001正转启动,10002反转启动,10003停止;
从变频器读出: 40210变频器状态,40211变频器状态,40212频率指令,40213输出频率,40214输出电流,40215直流母线电压,40216输出电压。
七、总结
V80系列PLC的通讯应用非常广泛。支持标准MODBUS协议的设备,可以直接使用V80的MODBUS功能块实现通讯通讯;如设备采用其它的协议,可以用V80的自由通讯功能块实现通讯通讯。自由通讯功能块使用灵活,可以自由定义字符超时时间,开始字符,结束字符,接收长度等等。V80系列PLC的COM1口为RS232通讯口,COM2口为RS485通讯口。V80支持串口互换功能,如有些设备使用RS232通讯不支持RS485,可以将PLC内部的09934线圈设置成ON,就可以用V80的RS232串口实现通讯。

文章版权归西部工控xbgk所有,未经许可不得转载。