10.4.1. 网络拓扑

blob.png

10.4.2. 组网说明

该组网方式下,整流单元设置为CANopen从站模式。PLC作为整个通信网络主站,整流/逆变单元通过相关功能码设置CANopen从站节点、波特率、通讯断线使能及PDO交互数据。

10.4.3. 相关参数

表10.5逆变单元参数设置

功能码

名称

参数详细说明

缺省值

P14.07

CANopen通讯超时故障时间

0.0(无效),0.1~60.0s

0.0s

P14.08

CANopen通讯地址

0~127

1

P14.09

CANopen波特率选择

0:50Kbps

1:100 Kbps

2:125Kbps

3:250Kbps

4:500Kbps

5:1M bps

1

P14.10

PZD2接收

0:无效

1:设定频率(0~Fmax(单位:0.01Hz))

2:PID给定,范围(0~1000,1000对应100.0%)

3:PID反馈,范围(0~1000,1000对应100.0%)

4:转矩设定值(-3000~3000,1000对应100.0%电机额定电流)

5:正转上限频率设定值(0~Fmax(单位:0.01Hz))

6:反转上限频率设定值(0~Fmax(单位:0.01Hz))

7:电动转矩上限转矩(0~3000,1000对应100.0%电机额定电流)

8:制动转矩上限转矩(0~2000,1000对应100.0%电机额定电流)

9:虚拟输入端子命令,范围:0x000~0x1FF

10:虚拟输出端子命令,范围:0x00~0x0F

11:电压设定值(V/F分离专用)

(0~1000,1000对应100.0%电机额定电压)

12:AO1输出设定值1(-1000~1000,1000对应100.0%)

13:AO2 输出设定值2(-1000~1000,1000对应100.0%)

14:位置给定高位(有符号数)

15:位置给定低位(无符号数)

16:位置反馈高位(有符号数)

17:位置反馈低位(无符号数)

18:位置反馈设定标志(先写1再写0,则位置反馈才可以设定)

19~31:保留

0

P14.11

PZD3接收

0

P14.12

PZD4接收

0

P14.13

PZD5接收

0

P14.14

PZD6接收

0

P14.15

PZD7接收

0

P14.16

PZD8接收

0

P14.17

PZD9接收

0

P14.18

PZD10接收

0

P14.19

PZD11接收

0

P14.20

PZD12接收

0

P14.21

PZD2发送

0: 无效

1:运行频率(*100,Hz)

2:设定频率(*100,Hz)

3:母线电压(*10,V)

4:输出电压(*1,V)

5:输出电流(*10,A)

6:输出转矩实际值(*10,%)

7:输出功率实际值(*10,%)

8:运行转速(*1,RPM)

9:运行线速度(*1,m/s)

10:斜坡给定频率

11:故障代码

12:AI1值(*100,V)

13:AI2值(*100,V)

14:端子输入状态

15:端子输出状态

16:PID给定(*100,%)

17:PID反馈(*100,%)

18:电机额定转矩

19:位置给定高位(有符号数)

20:位置给定低位(无符号数)

21:位置反馈高位(有符号数)

22:位置反馈低位(无符号数)

23~30:保留

31:状态字

0

P14.22

PZD3发送

0

P14.23

PZD4发送

0

P14.24

PZD5发送

0

P14.25

PZD6发送

0

P14.26

PZD7发送

0

P14.27

PZD8发送

0

P14.28

PZD9发送

0

P14.29

PZD10发送

0

P14.30

PZD11发送

0

P14.31

PZD12发送

0

表10.6整流单元参数设置

功能码

名称

参数详细说明

缺省值

P21.01

CANopen模块地址

0~127

1

P21.02

PZD2接收

0:无效

说明:CANopen通信模式,

PZD2-PZD12暂时不需要接收任何命令,

整流单元的起停和故障复位,都是通过PZD1的内部通道实现的。

0

P21.03

PZD3接收

0

P21.04

PZD4接收

0

P21.05

PZD5接收

0

P21.06

PZD6接收

0

P21.07

PZD7接收

0

P21.08

PZD8接收

0

P21.09

PZD9接收

0

P21.10

PZD10接收

0

P21.11

PZD11接收

0

P21.12

PZD12接收

0

P21.13

PZD2发送

0:无效

1:故障代码

2:直流电压值(*10,V )

3:电网电压值(*1,V )

4:电网频率值(*10,Hz)

5:制动器电流值(*10,A)

6:端子输入状态

7:端子输出状态

8:在线从站数目

9:02-17号从站在线状态

10:18-21号从站在线状态

11:CANopen总线负载率

12:卡槽1扩展卡类型

13:卡槽2扩展卡类型

14:卡槽1扩展卡软件版

15:卡槽2扩展卡软件版

16:U相电流值

17:V相电流值

18:W相电流值

19~20:保留

0

P21.14

PZD3发送

0

P21.15

PZD4发送

0

P21.16

PZD5发送

0

P21.17

PZD6发送

0

P21.18

PZD7发送

0

P21.19

PZD8发送

0

P21.20

PZD9发送

0

P21.21

PZD10发送

0

P21.22

PZD11发送

0

P21.23

PZD12发送

0

P21.29

CANopen波特率

0:50Kbps

1:100Kbps

2:125Kbps

3:250Kbps

4:500Kbps

5:1M bps

2

P21.30

CANopen通讯超时故障时间

0.0(无效),0.1~60.0s

0.0s

10.4.4. CANopen协议简介

1、支持的功能

  • 支持CAN2.0A 协议

  • 支持CANopen DS301

2、支持的CANopen服务

  • PDO:支持4对PDO服务(PDO1~PDO4 TX,PDO1~PDO4 RX),PDO1用于读写变频器的参数;PDO2~PDO4用于实时控制和获取变频器的实际值

  • SDO:SDO信息采用“客户机/服务器”模式,用来配置从站节点并访问每个节点的对象字典

  • 支持 Emergency 服务

  • 支持节点保护(NMT Node Guarding)

  • 支持心跳报文(Heartbeat Producer)

  • NMT(网络管理)

  • 支持 NMT Module control

  • 支持 NMT广播地址

  • 支持 NMT Error control

  • 支持 Boot-up

  • 支持SYNC(1~240)

  • 支持异步传输254和255

  • 支持禁止时间

  • 支持事件计时器

  • 支持制造商定义的对象字典,可通过SDO来控制和读取变频器的实时值

3、不支持的CANopen服务

  • 对象字典参数掉电保存服务

  • Time Stamp 服务

10.4.5. CANopen报文格式

CAN2.0A报文通过数据帧在主站和总线节点之间传输数据。


blob.png

图10.2 报文结构图

通讯对象

功能代码(二进制)

COB-ID (十六进制)

NMT

0

0x00

SYNC

1

0x80

EMERGENCY

1

0x81 ~ 0xFF

PDO1 Tx

11

0x181 ~ 0x1FF

PDO1 Rx

100

0x201 ~ 0x27F

PDO2 Tx

101

0x281 ~ 0x2FF

PDO2 Rx

110

0x301 ~ 0x37F

PDO3 Tx

111

0x381 ~ 0x3FF

PDO3 Rx

1000

0x401 ~ 0x47F

PDO4 Tx

1001

0x481 ~ 0x4FF

PDO4 Rx

1010

0x501 ~ 0x57F

SDO Tx

1011

0x581 ~ 0x5FF

SDO Rx

1100

0x601 ~ 0x67F

节点保护

1110

0x701 ~ 0x77F

COB-ID因通讯地址的不同而不同,但同种指令其范围确定。

注:本说明书使用的指令如果不特别指明是远程帧的都是数据帧。


10.4.6. 管理服务指令(NMT)

此功能用于主站控制从站节点的NMT状态。

  • 命令

主站→从站

COB-ID

Byte0

Byte1

0x000

命令字(CS)

Node-ID(节点号)

  • 说明

此命令COB-ID固定为0x00。如果Node-ID =0,则命令被广播至所有CANopen从站,每一从站必须执行此NMT命令。各命令字(CS)的功能见表10.7:

表10.7 各命令字的功能

NMT命令字(CS

NMT服务(控制动作)

0x01

启动从站设备

0x02

停止从站设备

0x80

使从站进入预操作

0x81

复位从站

0x82

复位节点通信

  • 举例

比如,将节点ID=3的EC-TX105进入到预操作状态,指令如下:

COB-ID

Byte0

Byte1

0x000

0x80

0x03

再比如,启动CANopen网络中所有的EC-TX105节点,指令如下:

COB-ID

Byte0

Byte1

0x000

0x01

0x00

10.4.7. 节点保护(NMT Node Guarding)

通过节点保护服务,NMT主节点可以检查每个节点的当前状态。

  • 命令

请求:主站(远程帧)→从站

COB-ID

无数据

0x700 + Node-ID


应答:从站→主站

COB-ID

Byte0(状态值)

0x700 + Node-ID

Bit7:触发位,Bit0~Bit6状态

  • 说明

应答指令中的Byte0(状态值)的最高位(bit7)为触发位,即从站每发一帧应答就会交替变化(0、1),以示帧与帧之间的区别;Bit0~Bit6为从站的状态,该值所表达从站所处的状态如下表10.8所示:

表10.8 节点保护状态值

状态值(Byte0Bit0~Bit6

所处状态

0x00

初始化(Initializing)

0x04

停止状态(Stopped)

0x05

操作状态(Operational)

0x7F

预操作状态(Pre-operational)

  • 举例

比如主站要检测从站3的状态,其命令如下:

主站(远程帧)→从站:

COB-ID

无数据

0x703


从站收到主站发来的节电保护指令后向主站应答如下指令:

COB-ID

Byte0(状态值)

0x703

0x85

其中,Byte0的Bit7=1,状态=0x05,表示节点号为3的从站正处于操作状态。如果从站再收到一条节点保护指令,将会向主站应答一帧状态值为0x05的指令,因为Byte0的Bit7要交替变换成0。

10.4.8. 心跳报文(Heartbeat Producer)

有时主站要求从站每隔一段时间就主动发送一帧心跳报文,以知道从站的实时状态。时间间隔参数在对象字典0x1017中定义(数据长度16位,单位:毫秒)。CANopen从站默认生产者心跳时间为500毫秒。

  • 命令

从站→主站

COB-ID

Byte0

0x700 + Node-ID

状态值

  • 说明

心跳报文与节点保护应答帧格式相同,不同的是心跳报文没有触发位交替(始终为0)。状态值如表10.8所示。

  • 举例

比如,从站地址为3,处于操作状态,0x1017中的参数设置为100,则该从站每隔100毫秒发送一帧心跳报文。

COB-ID

Byte0

0x703

0x05

可以用SDO来禁止心跳报文,发送2B 17 10 00 00 00 00 00(设置时间为0)。

注意:在通讯卡中同一时间节点保护和心跳报文不能同时使用。

10.4.9. 启动报文(NMT Boot-up)

当通讯卡初始化完成(Boot-up)后,就会发送一个启动报文。

  • 命令

从站→主站

COB-ID

Byte0

0x700 +Node-ID

0x00

  • 举例

比如,通讯卡的节点号为3,初始化完成后发送的启动报文如下指令。

COB-ID

Byte0

0x703

0x00

10.4.10. 同步报文对象(SYNC)

SYNC信号一般由CANopen主站循环发出。SYNC 信号不包含任何数据,其主要用途是请求从站节点为同步传输类型的PDO Tx回复过程量。对象字典的0x1005定义了接收同步报文的COB-ID,在CANopen预定义连接集里定义其值为0x80。每个PDO Tx的传输类型为1~240为同步传输类型。

  • 命令

主站→从站

COB-ID

无数据

0x80

/

10.4.11. 紧急报文对象(EMCY)

当通讯卡或变频器内部出现错误,或错误清除时发送该报文。

  • 命令

从站→主站

COB-

ID

B

y

t

e

0

B

y

t

e

1

B

y

t

e

2

B

y

t

e

3

B

y

t

e

4

B

y

t

e

5

B

y

t

e

6

B

y

t

e

7

0x80 

+ Node

-ID

紧急错误码

错误寄存器

变频器错误代码

LSB

MSB

bit

7-0

bit

15

-8

bit

23

-16

bit

31

-24

bit

39

-32

  • 说明

紧急错误码占两个字节,Byte0为低字节,Byte1为高字节;变频器错误代码占5字节,Byte3为低字节,Byte7为高字节。

紧急错误码指定当前出现的错误的具体类型,如表10.9所示。错误寄存器存放当前错误类型,根据该值可以判断出当前紧急报文所代表的错误类型,其值定义如表10.10所示。变频器错误代码参见变频器说明书,功能码P07.27给出了GD600变频器错误代码。

表10.9 紧急错误代码的含义

紧急错误代码(hex

代码功能描述

00xx

Error Reset 或No Error

10xx

Generic Error

20xx

Current

21xx

Current,device input side

22xx

Current,inside the device

23xx

Current,device output side

30xx

Voltage

31xx

Mains voltage

32xx

Voltage inside the device

33xx

Output voltage

40xx

Temperature

41xx

Ambient temperature

42xx

Device temperature

50xx

Device hardware

60xx

Device software

61xx

Internal software

62xx

User software

63xx

Data set

70xx

Additional modules

80xx

Monitoring

81xx

communication

8110

CAN overrun

8120

Error Passive

8130

Life Guard Error

或Heartbeat Error

8140

Recovered from Bus-Off

82xx

Protocol Error

8210

PDO no processed

Due to length error

8220

Length exceed

90xx

External error

F0xx

Additional functions

FFxx

Device specific

表10.10 错误寄存器位的含义

错误寄存器位(Bit

错误类型

0

普通错误(Generic)或无错误

1

电流错误(Current)

2

电压错误(Voltage)

3

温度错误(Temperature)

4

通信错误(Communication)

5

设备描述错误(Device profile specific)

6

Reserved(=0)

7

生产厂商定义的错(Manufacturer specific)

  • 举例

比如节点号为3的从站为GD600变频器,变频器出现了“逆变单元U相保护”故障(OUT1),故障类型为1(即设备错误代码=1),则通讯卡发送紧急报文如下。

 

COB

-ID

紧急错误码

错误寄存器

变频器错误代码

Byte

0

Byte

1

Byte

2

Byte

3

Byte

4

Byte

5

Byte

6

Byte

7

0x83

0x00

0x30

0x04

0x01

0x00

0x00

0x00

0x00

从指令上可以看出,紧急错误码=0x3000,含义为Voltage,即电压错误;错误寄存器=0x04,即第2位为“1”,表示电压错误;设备错误代码=0x0000000001,查看Goodrive600变频器说明书,代号为1的错误为“逆变单元U相保护(OUT1)”。

当故障复位后,通讯卡发送下面的紧急报文告知主站:从站已无故障。

COB

-ID

紧急错误码

错误寄存器

变频器错误代码

Byte

0

Byte

1

Byte

2

Byte

3

Byte

4

Byte

5

Byte

6

Byte

7

0x83

0x00

0x00

0x00

0x00

0x00

0x00

0x00

0x00

10.4.12. 服务数据对象(SDO)

服务数据对象主要用来传输非时间关键数据,借助SDO可以读写设备对象字典的内容。

  • 命令

请求:主站→从站

COB-ID

Byte

0

Byte

1

Byte

2

Byte

3

Byte

4

Byte

5

Byte

6

Byte

7

0x600+

NodeID

请求码

对象索引

子索引

响应数据

LSB

MSB

bit

7-0

bit

15-8

bit

23-16

bit

31-24

响应:从站→主站

COB

-ID

Byte

0

Byte

1

Byte

2

Byte

3

Byte

4

Byte

5

Byte

6

Byte

7

0x580+

NodeID

响应码

对象索引

子索引

响应数据

LSB

MSB

bit7

-0

bit

15-8

bit

23-16

bit

31-24

  • 说明

对象索引占两个字节,Byte1为低字节,Byte2为高字节。对象索引和子索引可参看附录中的对象字典。请求码分为读和写两种。

写请求码针对对象字典的条目所占的字符长度不同而不同;读请求固定为0x40。见表10.11。

读成功响应码针对对象字典的条目所占的字符长度不同而不同;写成功响应码固定为0x60。读或写失败响应码都是0x80。见表10.12。

表10.11 SDO请求码和请求数据

请求码类型

请求码

命令说明

请求数据

Byte

4

Byte

5

Byte

6

Byte

7

0x23

写4字节数据

bit

7-0

bit

15-8

bit23

-16

bit31

-24

0x2B

写2字节数据

bit

7-0

bit

15-8

-

-

0x2F

写1字节数据

bit

7-0

-

-

-

0x40

读数据

-

-

-

-

表10.12 SDO响应码和响应数据

响应码类型

响应码

命令说明

响应数据

Byte

4

Byte

5

Byte

6

Byte

7

0x43

读的数据为4字节

bit

7-0

bit

15-8

bit

23-16

bit

31-24

0x4B

读的数据为2字节

bit

7-0

bit

15-8

-

-

0x4F

读的数据为1字节

bit

7-0

-

-

-

0x60

写成功

-

-

-

-

读/写

0x80

读写失败

中止错误代码

bit

7-0

bit

15-8

bit

23-16

bit

31-24

注:表10.11表10.12“-”表示保留,无作用。

终止错误代码如表10.13所示:

表10.13 中止错误代码

中止代码

代码功能描述

0503 0000

触发位没有交替改变

0504 0000

SDO协议超时

0504 0001

非法或未知的Client/Server

0504 0002

无效的块大小

0504 0003

无效的序号

0504 0004

CRC错误

0504 0005

内存溢出

0601 0000

对象不支持访问

0601 0001

试图读只写对象

0601 0002

试图写只读对象

0602 0000

对象字典中对象不存在

0604 0041

对象不能够映射到PDO

0604 0042

映射的对象的数目和长度超出PDO长度

0604 0043

一般性参数不兼容

0604 0047

一般性设备内部不兼容

0606 0000

硬件错误导致对象访问失败

0607 0010

数据类型不匹配,服务参数长度不匹配

0609 0011

对象字典中子索引不存在

0609 0030

超出参数的值范围

0609 0031

写入参数数值太大

0609 0032

写入参数数值太小

0609 0036

最大值小于最小值

0800 0000

一般性错误

0800 0020

数据不能传送或保存到应用

0800 0021

由于本地控制导致数据不能传送或者保存到应用

0800 0022

由于当前设备状态导致数据不能传送或保存到应用

0800 0023

对象字典动态缠身该错误或对象字典不存在

  • 举例

比如从站地址为3,对索引为0x1801、子索引为03的对象进行读写操作。(索引为0x1801、子索引为03的对象表示PDO2 Tx的禁止时间,可查看附录B)

写例子:如果将PDO2 Tx的禁止时间改为1000ms,主站写操作指令如下所示:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x2B

0x01

0x18

0x03

0xe8

0x03

0x00

0x00

收到主站发来的命令,如果修改成功,则从站响应如下指令:

COB-ID

响应码

对象索引

子索引

响应数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x583

0x60

0x01

0x18

0x03

0x00

0x00

0x00

0x00

读例子:如果要读取PDO2 Tx的禁止时间,主站读操作指令如下所示:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x40

0x01

0x18

0x03

0x00

0x00

0x00

0x00

收到主站发来的命令,如果当前PDO2 Tx的禁止时间为1000ms,则从站响应如下指令:

COB-ID

响应码

对象索引

子索引

响应数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x583

0x43

0x01

0x18

0x03

0xe8

0x03

0x00

0x00

读写错误例子:读取不存在的对象字典(索引为0x6000,子索引为0x00),主站读操作指令如下所示:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x40

0x00

0x60

0x00

0x00

0x00

0x00

0x00

因为该对象不存在,所以从站响应读写错误指令,如下:

COB-ID

响应码

对象索引

子索引

响应数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x583

0x80

0x00

0x60

0x00

0x00

0x00

0x02

0x06

响应的错误代码为0x06020000,代表的含义为“对象字典不存在”。

10.4.13. 过程数据对象(PDO)

定义了4个PDO Tx(索引范围0x1800~0x1803)和4个PDO Rx(0x1400~0x1403)可用。PDO Rx是从站接收到主站发来的PDO指令,即主站命令;PDO Tx是从站发送给主站的PDO指令。

本通讯卡每个PDO的控制字、状态字、设定值和返回值都定义有“制造商定义的对象字典”。定义“制造商定义的对象字典”的目的是:除了通过PDO来监控变频器过程量外,还可以用SDO来监控,这将在下章介绍。下列每个PDO命令都标有“制造商定义的对象字典”,格式是0xXXXX.HH,XXXX表示索引,HH表示子索引,都是十六进制。

10.4.13.1. PDO Tx的触发模式

每个PDO Tx都定义有传输类型、禁止时间和事件定时器。传输类型对应的子索引是0x02,禁止时间对应的子索引是0x03,事件定时器对应的子索引是0x05。那么PDO2 Tx的传输类型对应的对象字典索引是0x1801、子索引是0x02,其它PDO Tx同理,更多可查看附录《对象字典》。禁止时间和事件定时器单位都是毫秒。

同步触发:当传输类型设为1~240,PDO Tx为同步传输。例如将PDO2 Tx传输类型设为n(1≤n≤240),则从站每收到n条同步报文对象(SYNC),就会发送一次PDO2 Tx指令,其它PDO Tx同理。

异步触发(254):当事件定时器非零时,从站定时地发送PDO Tx,例如PDO2 Tx的事件定时器设为200,则从站每隔200ms就发送一次PDO2 Tx。当事件定时器为零时,只要对应的PDO Tx的数据有变化,从站就会发送一次相应的PDO Tx,但发送的时间间隔受禁止时间限制,同一个PDO Tx报文在禁止时间内只能发送一次,这有效地降低总线负担。当禁止时间设置小于50ms时,以50ms工作。

异步触发(255):当事件定时器非零时,从站定时地发送PDO Tx,例如PDO2 Tx的事件定时器设为200,则从站每隔200ms就发送一次PDO2 Tx。当事件定时器为零时,从站每收到一条PDO Rx就会发送一条相应的PDO Tx,例如,收到了一条PDO2 Rx,从站就发送一条PDO2 Tx。

表10.14 本CANopen从站支持的触发模式

触发模式

传输类型

(十进制)

事件触发

PDO1 TX

PDO2 TX

PDO3 TX

PDO4 TX

同步

1~240

/

不支持

支持

支持

支持

异步

254

事件定时器

不支持

支持

支持

支持

禁止时间

不支持

支持

支持

支持

255

事件定时器=0

支持

支持

支持

支持

事件定时器

不支持

支持

支持

支持

表10.15 本CANopen从站PDO Tx默认值

/

PDO1 TX

PDO2 TX

PDO3 TX

PDO4 TX

传输类型

255

254

254

254

事件定时器(ms)

0

0

0

0

禁止时间(ms)

500

500

500

500

如何设置PDO Tx的触发类型请参考SDO命令。

10.4.13.2. PDO1

PDO1用于读写变频器的参数。PDO1和SDO功能有点相似,SDO用于读写对象字典,而PDO1用于读写变频器的参数。

注:PDO1 Tx传输类型只支持异步传输255,请不要将其设为其它的传输类型;也不要试图设置事件定时器定时地向主站发送PDO1 Tx

PDO1 Rx

  • 命令

请求:主站→从站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

0x200+NODE-ID

请求码

参数地址

请求数据

0x2100.00

0x2100.01

0x2100.02

  • 说明

请求码占两个字节,Byte0为低字节,Byte1为高字节。请求码制造商定义的对象字典为:索引0x2100,子索引0x00。请求码功能如表10.16所示:

表10.16 请求码功能

请求码

功能

0

无任务

1

读取参数值

2

修改参数值[只是修改RAM]

4

修改参数值 [RAM和EEPROM都修改](保留)

参数地址占两个字节,Byte2为低字节,Byte3为高字节。参数地址表示要读取或修改数据的参数的地址。

GD系列变频器参数地址表示规则:地址高字节为功能码小数点前的数字,低字节为功能码小数点后的数字,但需转换成十六进制。如P10.01,功能码小数点前的数字为10,则参数地址高位为0x0A,功能码小数点后的数字为01,则参数地址低位为0x01,该功能码地址为0x0A01。

表10.17 GD系列变频器参数地址

功能码

名称

参数详细说明

缺省值

P10.00

简易PLC方式

0:运行一次后停机

1:运行一次后保持最终值运行

2:循环运行

0


P10.01


简易PLC记忆选择

0:掉电不记忆

1:掉电记忆

0

变频器参数地址表示规则:变频器说明书“功能参数一览表”中每个功能码的序号对应的数值就是该功能码的参数地址,但在通讯过程中需转换为16进制数值。比如,功能码P10.01的序号为1001,则该功能码的参数地址为0x3E9(即十进制的1001)。

请求数据占两个字节,Byte4为低字节,Byte5为高字节。请求数据表示修改的数据,当指令为“读”时,请求数据无意义。

注意:PDO1 Rx数据域必须是6个字节,否则通讯卡会报紧急报文。

PDO1 Tx

  • 命令

响应:从站→主站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x180+NODEID

响应码

错误代码

响应数据

0x00

0x00

0x2000.00

0x2000.01

0x2000.02

-

-

  • 说明

Byte6和Byte7为保留部分,固定为0x00。

响应码占两个字节,Byte0为低字节,Byte1为高字节。响应码功能如表10.18所示:

表10.18 响应码功能

响应码

功能

0

无响应

1

读写成功

3

读写错误,错误代码如表10.19所示

响应数据占4个字节,Byte4为低字节,Byte7为高字节。当响应的是写指令时,响应数据为修改的数据;当响应的是读指令时,响应数据为读回来的数据。

错误代码占两个字节,Byte2为低字节,Byte3为高字节。错误代码只在响应码为3时才有效,错误代码表示无法响应PDO1 Rx的原因,其含义如表10.19所示:

表10.19 错误代码

代码

名称

含义

00H

无错误

/

01H

非法命令

请求码是不允许的操作。这也许是因为功能码仅仅适用于新设备,而在此设备中没有实现;同时,也可能从站在错误状态中处理这种请求。

02H

非法数据地址

对从站设备来说,主站请求参数地址是不允许的地址;特别是,寄存器地址和传输的字节数组合是无效的。

03H

非法数据值

接收到的数据域中包含的是不允许的值。这个值指示了组合请求中剩余结构上的错误。

注意:它决不意味着寄存器中被提交存储的数据项有一个应用程序期望之外的值。

04H

操作失败

参数写操作中对该参数设置为无效设置,例如功能输入端子不能重复设置等。

05H

密码错误

密码效验地址写入的密码与用户设置的密码不同

06H

数据帧错误

当上位机发送的帧信息中,数据帧的长度不正确或,RTU格式CRC校验位与下位机的校验计算数不同时。

07H

参数为只读

主站写操作中更改的参数为只读参数

08H

参数运行中不可改

主站写操作中更改的参数为运行中不可更改的参数

09H

密码保护

主站进行读或写时,当设置了用户密码,又没有进行密码锁定开锁,将报系统被锁定。

  • PDO1举例

变频器为Goodrive600,从站地址为3,假设要设置变频器功能码P14.10=1。

指令分析:P14.10的参数地址是0x0F02。根据所定的协议,PDO1 Rx的请求码为0x02,参数地址为0x0F0D,请求数据为0x01,那么主站发送的PDO1 Rx如下:

COB-ID

请求码

参数地址

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

0x203

0x02

0x00

0x0A

0x0E

0x01

0x00

如果变频器参数修改成功,则响应如下PDO1 Tx:

COB-ID

响应码

错误代码

响应数据

-

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x183

0x01

0x00

0x00

0x00

0x01

0x00

0x00

0x00

10.4.13.3. PDO2 Rx

PDO2 Rx用于修改变频器控制字和实时过程量(设定值1、设定值2和设定值3)。控制字用于控制变频器的启停等,设定值用于控制变频器运行实时值,如设定频率等。

  • 命令

主站→从站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x300+NODEID

控制字

设定值1

设定值2

设定值3

0x2101.00

0x2100.03

0x2100.04

0x2100.05

  • 说明

控制字占两字节,Byte0为低字节,Byte1为高字节。Goodrive600逆变单元控制字含义如表10.20所示,其它型号变频器以说明书为准。

表10.20 Goodrive600逆变单元控制字含义

名称

说明

0~7

通讯控制命令

1

正转运行

2

反转运行

3

正转点动

4

反转点动

5

停机

6

自由停机(紧急停机)

7

故障复位

8

点动停止

8

保留

/

/

/

/

9~10

选择电机组别

00

MOTOR   GROUP 1 SELECTION

(选择电机1)

01

MOTOR   GROUP 2 SELECTION

(选择电机2)

02

MOTOR   GROUP 3 SELECTION

(选择电机3)

03

MOTOR   GROUP 4 SELECTION

(选择电机4)

11

转矩控制选择

1

转矩控制使能

0

转矩控制禁止

14

保留

1

/

0

/

15

保留

1

/

0

/

各设定值的功能可以通过变频器功能码来设定,设定方法和PROFIBUS通讯的“PZD接收”相同,请参看变频器说明书。“设定值1”、“设定值2”、“设定值3”分别与“PZD2接收”、“PZD3接收”、“PZD4接收”对应。假如要将“设定值1”功能设为“设定频率”,只需将变频器“PZD2接收”功能码选择“1:设定频率”。其它设定值功能同理。当同时使能多个设定值时,其中一个设置值设定失败(比如超出范围)不会影响其它设定值的设定。

  • 举例

假设变频器为Goodrive600,从站地址为3。用CANopen通讯控制逆变单元运行,和用CANopen通讯给定运行频率,频率设为50Hz。

指令分析:首先将变频器启动方式设为CANopen通讯(P00.01=2,P00.02=1),频率给定方式也设为CANopen通讯(P00.06=9)。本例用“设定值2”来给定运行频率(P14.11=1,即PZD3选择1:设定频率)。

控制字=0x01时表示运行变频器;频率设为50Hz,所以设定值2=5000,即0x1388。

主站发送的PDO2Rx命令如下:

COB-ID

控制字

设定值1

设定值2

设定值3

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x303

0x01

0x00

0x00

0x00

0x88

0x13

0x00

0x00

10.4.13.4. PDO2 Tx

PDO2 Tx是变频器发给主站的指令,包含状态字和实时过程量(返回值1、返回值2和返回值3)。状态字用于告知变频器的状态,返回值用于发送变频器运行实时值,如运行频率等。

PDO2 Tx传输类型默认为254,所以只要状态字或者任何一个返回值数据有变化就会发送PDO2 Tx。

  • 命令

从站→主站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x280+NODEID

状态字

返回值1

返回值2

返回值3

0x2001.00

0x2000.03

0x2000.04

0x2000.05

  • 说明

状态字占两字节,Byte0为低字节,Byte1为高字节。Goodrive600逆变单元状态字含义如表10.21所示,其它型号变频器以说明书为准。

表10.21 Goodrive600逆变单元状态字含义

名称

说明

0~7

运行状态字节

1

正转运行中

2

反转运行中

3

变频器停机中

4

变频器故障中

5

变频器POFF状态

8

母线电压建立

1

运行准备就绪

0

运行准备未就绪

9~10

电机组别反馈

0

电机1反馈

1

电机2反馈

2

电机3反馈

3

电机4无反馈

11

电机类型反馈

1

同步电机

0

异步电机

12

过载预警反馈

1

过载预报警

0

未过载预报警

13

激磁过程中

1

激磁过程中

0

磁通建立

14

保留

1

/

0

/

15

保留

1

/

0

/

各返回值的功能可以通过变频器功能码来设定,设定方法和PROFIBUS通讯的“PZD发送”相同,请参看变频器说明书。“返回值1”、“返回值2”、“返回值3”分别与“PZD2发送”、“PZD3发送”、“PZD4发送”对应。假如要将“返回值1”功能设为“运行频率”,只需将变频器“PZD2发送”功能码选择“1:设定频率”。其它返回值功能也是如此。可同时使能多个返回值。

  • 举例

假设变频器为Goodrive600,从站地址为3。如果变频器正在运行,运行频率为50.00Hz。返回值1设为“运行频率”功能,返回值2设为“输出电压”功能,返回值3无功能。

指令分析:首先将返回值1设为变频器的运行频率(P14.21=1),返回值2设为变频器的输出电压(P14.22=4),返回值3设为无效(P14.23=0)。

因为变频器正在正转,且母线电压已建立,所以状态字=0x0101;因为运行频率为50.00Hz,所以“返回值1”=5000,即0x1388。假设输出电压为380V,那么“返回值2”=0x017C。

变频器发送的PDO1 Tx指令如下:

COB-ID

状态字

返回值1

返回值2

返回值3

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x283

0x01

0x01

0x88

0x13

0x7C

0x01

0x00

0x00

10.4.13.5. PDO3 Rx、PDO4 Rx

PDO3 Rx、PDO4 Rx用于修改变频器的实时过程量,如设定频率。

  • PDO3 Rx命令

主站→从站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x400+NODEID

设定值4

设定值5

设定值6

设定值7

0x2100.06

0x2100.07

0x2100.08

0x2100.09

  • PDO4 Rx命令

主站→从站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x500+NODEID

设定值8

设定值9

设定值10

设定值11

0x2100.0a

0x2100.0b

0x2100.0c

0x2100.0d

  • 说明

PDO3 Rx、PDO4 Rx使用方法如同PDO2 Rx设定值部分。各设定值与PROFIBUS PZD对应关系如表10.22所示。

10.4.13.6. PDO3 Tx、PDO4 Tx

PDO3 Tx、PDO4 Tx用于变频器向主站发送实时过程量,如运行频率。

PDO3 Tx、PDO4 Tx传输类型默认都是254,所以同一条指令中只要返回值数据有变化就发送PDO3 Tx或PDO4 Tx。

  • PDO3 Tx命令

从站→主站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x380+NODEID

返回值4

返回值5

返回值6

返回值7

0x2000.06

0x2000.07

0x2000.08

0x2000.09

  • PDO4 Tx命令

从站→主站

COB-ID

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x480+NODEID

返回值8

返回值9

返回值10

返回值11

0x2000.0a

0x2000.0b

0x2000.0c

0x2000.0d

10.4.13.7. SDO命令监控过程量

用SDO读取“制造商定义的对象字典”来达到监控变频器的目的。

“制造商定义的对象字典”中的控制字、状态字、设定值和返回值的定义及使用方法请参考PDO那章。SDO使用说明请参考SDO那节。请不用企图通过SDO来读写变频器的参数。

“制造商定义的对象字典”如表10.22和表10.23所示。

表10.22“制造商定义的对象字典”控制部分

索引(hex

子索引(hex

功能

访问权限

数据长度

描述

2100

0

请求码(请勿使用)

RW

2 Byte

/

1

参数地址(请勿使用)

RW

2 Byte

/

2

请求数据(请勿使用)

RW

2 Byte

/

3

设定值1

RW

2 Byte

对应PZD2 接收

4

设定值2

RW

2 Byte

对应PZD3 接收

5

设定值3

RW

2 Byte

对应PZD4 接收

6

设定值4

RW

2 Byte

对应PZD5 接收

7

设定值5

RW

2 Byte

对应PZD6 接收

8

设定值6

RW

2 Byte

对应PZD7 接收

9

设定值7

RW

2 Byte

对应PZD8 接收

A

设定值8

RW

2 Byte

对应PZD9 接收

B

设定值9

RW

2 Byte

对应PZD10接收

C

设定值10

RW

2 Byte

对应PZD11接收

D

设定值11

RW

2 Byte

对应PZD12接收

E

保留

RW

2 Byte

/

F

保留

RW

2 Byte

/

2101

0

控制字

RW

2 Byte

/

表10.23“制造商定义的对象字典”状态部分

索引(hex

子索引(hex

功能

访问权限

数据长度

描述

2000

0

响应码(请勿使用)

RO

2 Byte

/

1

错误代码(请勿使用)

RO

2 Byte

/

2

响应数据(请勿使用)

RO

2 Byte

/

3

返回值1

RO

2 Byte

对应PZD2发送

4

返回值2

RO

2 Byte

对应PZD3发送

5

返回值3

RO

2 Byte

对应PZD4发送

6

返回值4

RO

2 Byte

对应PZD5发送

7

返回值5

RO

2 Byte

对应PZD6发送

8

返回值6

RO

2 Byte

对应PZD7发送

9

返回值7

RO

2 Byte

对应PZD8发送

A

返回值8

RO

2 Byte

对应PZD9发送

B

返回值9

RO

2 Byte

对应PZD10发送

C

返回值10

RO

2 Byte

对应PZD11发送

D

返回值11

RO

2 Byte

对应PZD12发送

E

保留

RO

2 Byte

/

F

保留

RO

2 Byte

/

2001

0

状态字

RO

2 Byte

/

  • 举例

例1:使地址为3的变频器正转运行,主站发送的SDO命令如下:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x2B

0x01

0x21

0x00

0x01

0x00

0x00

0x00

例2:假设从站变频器的地址为3,“设定值1”的功能定义为“设定频率”,要将频率设为50.00Hz(即“设定值1”=0x1388)。主站发送的SDO命令如下:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x2B

0x00

0x21

0x03

0x88

0x13

0x00

0x00

例3:读取地址为3的变频器的运行状态,主站发送的SDO命令如下:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x40

0x01

0x20

0x00

0x00

0x00

0x00

0x00

如果此时变频器正在正转运行,则向主站返回的SDO指令如下:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x583

0x4B

0x01

0x20

0x00

0x01

0x01

0x00

0x00

例4:假设从站变频器的地址为3,“返回值1”的功能定义为“运行频率”。主站要读取变频器运行频率,发送的SDO命令如下。

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x603

0x40

0x00

0x20

0x03

0x00

0x00

0x00

0x00

如果此时变频器运行频率为50.00Hz,则向主站返回的SDO指令如下:

COB-ID

请求码

对象索引

子索引

请求数据

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

0x583

0x4B

0x00

0x20

0x03

0x88

0x13

0x00

0x00



上一章节 下一章节