ASDA-B3 参数与功能
8-191
8
监控变量依代码顺序说明如下:
代码 变量名称 / 属性 内容说明
000 (00h) 回授位置(PUU)
B
电机编码器目前回授的位置坐标,单位为用户单位 PUU。
001 (01h) 位置命令(PUU)
B
位置命令的目前坐标,单位为用户单位 PUU。
PT 模式:代表驱动器接收的脉冲命令数。
PR 模式:位置命令的绝对坐标值。
002 (02h) 追随误差(PUU)
B
滤波前的位置命令与回授位置的差异值,单位为用户单位
PUU。
003 (03h) 回授位置(pulse)
B
电机编码器目前回授的位置坐标,单位为编码器单位 pulse。
004 (04h) 位置命令(pulse)
B
位置命令的目前坐标,单位为编码器单位 pulse。
005 (05h) 追随误差(pulse)
B
滤波前的位置命令与回授位置的差异值,单位为编码器单位
pulse。
006 (06h) 位置命令频率
B
驱动器接收到位置命令的频率,单位为 Kpps。适用于 PT /
PR 模式。
007 (07h) 速度回授
B D1 Dec
电机目前转速,单位为 0.1 rpm。
此数值有经过低通滤波器处理,数值较稳定。
008 (08h) 速度命令(模拟量)
B D2 Dec
由模拟量通道输入的速度命令,单位为 0.01 伏特(Volt)。
009 (09h) 速度命令(整合)
B
整合的速度命令,单位为 0.1 rpm。
来源为模拟量、寄存器或位置回路。
010 (0Ah) 扭力命令(模拟量)
B D2 Dec
由模拟量通道输入的扭力命令,单位为 0.01 伏特(Volt)。
011 (0Bh) 扭力命令(整合)
B
整合的扭力命令,单位为百分比(%)。
来源为模拟量、寄存器或速度回路。
012 (0Ch) 平均负载率
B
驱动器输出的平均负载比率(每 20 ms 的移动平均值),单位为
百分比(%)。
013 (0Dh) 峰值负载率
B
驱动器输出的最大负载比率,单位为百分比(%)。
014 (0Eh) DC Bus 电压
B
整流后的电容器电压,单位为伏特(Volt)。
015 (0Fh) 负载惯量比
B D1 Dec
负载惯量与电机惯量的比率,单位为 0.1 倍。
016 (10h) IGBT 温度
B
IGBT 的温度,单位为°C。
017 (11h) 共振频率
B Dec
系统的共振频率,包含 2 组频率:F1 与 F2
通过面板监控时,按下 SHIFT 键可切换两者显示:
F2 无小数点,F1 显示 1 位小数点。
通过通讯(参数映像)读取时:
低位(Low word)传回频率 F2。
高位(High word)传回频率 F1。
018 (12h) 与 Z 相偏移量
B Dec
电机位置与 Z 相的偏移量,范围为-4999 ~ +5000。
与 Z 相重迭处,其值为 0,数值之绝对值愈大,则偏移愈多。
参数与功能ASDA-B3
8-192
8
代码 变量名称 / 属性 内容说明
019 (13h) 映射参数内容#1
B
传回参数 P0.025,映像到 P0.035 指定的参数。
020 (14h) 映射参数内容#2
B
传回参数 P0.026,映像到 P0.036 指定的参数。
021 (15h) 映射参数内容#3
B
传回参数 P0.027,映像到 P0.037 指定的参数。
022 (16h) 映射参数内容#4
B
传回参数 P0.028,映像到 P0.038 指定的参数。
023 (17h) 映射监控变量#1
B
传回参数 P0.009,映像到 P0.017 指定的监控变量。
024 (18h) 映射监控变量#2
B
传回参数 P0.010,映像到 P0.018 指定的监控变量。
025 (19h) 映射监控变量#3
B
传回参数 P0.011,映像到 P0.019 指定的监控变量。
026 (1Ah) 映射监控变量#4
B
传回参数 P0.012,映像到 P0.020 指定的监控变量。
027 (1Bh) Z 相偏移量
B
电机位置与 Z 相的偏移量。(仅供台达 CNC 控制器使用)
028 (1Ch) 异警码
Dec B
异警码(十进制数值)。将此数值换算成十六进制数值后,同等
于 P0.001 所显示的异警码与通讯机种的错误码。
032 (20h) 位置误差(PUU)
滤波后的位置命令与回授位置的差异值,单位为用户单位
PUU。
033 (21h) 位置误差(pulse)
滤波后的位置命令与回授位置的差异值,单位为编码器单位
pulse。
035 (23h) 分度坐标命令 分度坐标的当前命令,单位为用户单位 PUU。
038 (26h) 电池电压
绝对型编码器电池电压。绝对型功能(P2.069)必须开启,此监
控变量才会显示电压数值。
039 (27h) DI 状态(整合)
Hex
整合的驱动器 DI 状态,每一位对应一 DI 通道。来源包含:
硬件通道或者参数 P4.007,依 P3.006 来选择。
040 (28h) DO 状态(硬件)
Hex
驱动器 DO 硬件实际输出的状态,每一位对应一个 DO 通
道。
041 (29h) 驱动器状态 传回参数 P0.046,请参考该参数说明。
042 (2Ah) 执行中的 PR 编号 显示目前正在执行的 PR 编号。
043 (2Bh) CAP 抓取资料
最新一次抓取到的资料。
注:CAP 可以连续抓取多个点。
049 (31h) 脉冲命令 CNT 脉冲命令(CN1)输入的脉冲计数值。
051 (33h) 速度回授(立即)
D1 Dec
电机目前实际速度,单位为 0.1 rpm。
053 (35h) 扭力命令(整合)
D1 Dec
整合的扭力命令,单位为 0.1%。
来源为模拟量、寄存器或速度回路。
054 (36h) 扭力回授
D1 Dec
电机目前实际扭力,单位为 0.1%。
055 (37h) 电流回授
D2 Dec
电机目前实际电流,单位为 0.01 安培(Amp)。
ASDA-B3 参数与功能
8-193
8
代码 变量名称 / 属性 内容说明
056 (38h) DC Bus 电压
D1 Dec
整流后的电容器电压,单位为 0.1 伏特(Volt)。
064 (40h) PR 命令终点寄存器 PR 模式下,位置命令的终点(Cmd_E)。
065 (41h) PR 命令输出寄存器 PR 模式下,滤波后的位置命令累计的输出。
067 (43h) PR 目标速度
PR 模式路径命令的目标速度,单位为 PPS (Pulse Per
Second)。
072 (48h) 速度命令(模拟量)
B D1 Dec
由模拟量通道输入的速度命令,单位为 0.1 rpm。
081 (51h)
同步抓取修正轴
脉冲输入增量
同步抓取修正轴作用时,相邻两次 CAP 之间,所收到的脉冲
数量,可用来量测标记(Mark)的实际距离。
082 (52h) 执行中的 PR 编号
提供给 HMC 得知驱动器目前正在执行的 PR 编号。
(适用于-F 机种)
084 (54h)
同步抓取修正轴
误差脉冲数
同步抓取修正轴作用时,实际输出脉冲与目标脉冲的累积误
差值。若同步达成,此数值接近 0。
091 (5Bh) 分度坐标回授 分度坐标的实时回授位置,单位为用户单位 PUU。
096 (60h) 驱动器韧体版本
Dec
包含 2 版本:DSP 与 CPLD
通过面板监控时,按下 SHIFT 键可切换两者显示:
DSP 无小数点,CPLD 显示 1 位小数点。
通过通讯(参数映像)读取时:
低位(Low word)传回 DSP 版本号码。
高位(High word)传回 CPLD 版本号码。
111 (6Fh) 驱动器伺服错误码 驱动器错误码:仅伺服控制回路部份,不含运动控制器。
112 (70h)
CANopen SYNC TS
(未滤波)
驱动器接收到 SYNC 信号的时间(Time Stamp)。
单位:µsec
113 (71h)
CANopen SYNC TS
(经滤波)
驱动器接收到 SYNC 信号的时间(Time Stamp),有经过低通
滤波器处理。
单位:µsec
119 (77h) EtherCAT 状态机
1:Init
2:Pre-Operational (Pre-OP)
4:Safe-Operational (Safe-OP)
8:Operational (OP)
120 (78h) 通讯错误率
当此数值持续累加时,代表通讯遭受干扰。在无干扰的环境
下,此数值需为固定值。(除了-L 机种皆适用)
123 (7Bh) 面板监控传回值 传回面板监控时,面板显示的监控数值。
-80 编码器通讯错误率
当此数值持续累加时,代表通讯遭受干扰,在无干扰的环境
下,此数值须为固定值。
-91 过负载(AL006)保护计数
显示电机在运转过程中的负载情形,当数值到达 100%后,即
跳异警 AL006。
-111
回生错误(AL005)
保护计数
当回生计数的数值到达 100%后,即跳异警 AL005。
-124 编码器温度 查看编码器温度。
参数与功能ASDA-B3
8-194
8
代码 变量名称 / 属性 内容说明
-169
回生电阻过负载(AL086)
保护计数
驱动器电容能量释放到回生电阻时,回生电阻平均消耗的功
率,单位为百分比(%),当数值到达 100%后,即跳异警
AL086。
-202 电机电气角角度 目前电气角角度 x 4。
-207 回生电阻消耗功率
驱动器电容能量释放到回生电阻时,回生电阻当下消耗的功
率,单位为百分比(%)。
-248 异警重置延迟时间
异警发生后,此数值将依 P2.123 设定的时间倒数至 0,单位
为毫秒(ms)。若此数值未到达 0,则无法重置异警。
影响异警:AL001、AL005、AL006、AL016、AL085、
AL086、AL02C 与 AL02F。
9-1
Modbus 通讯
本章节介绍 Modbus 通讯操作,Modbus 通讯主要用于一般参数的通讯读写。若要使用
运动总线控制,请参考 DMCNET、CANopen、EtherCAT 或 PROFINET 的相关说明文
件。此章节也提到两种通讯模式:ASCII 和 RTU 以及其编码意义与通讯数据结构。
0
9.1 RS-485 通讯硬件接口·········································································9-2
9.2 RS-485 通讯参数···············································································9-3
9.3 Modbus 通讯协议 ··············································································9-3
9.4 通讯参数的写入与读取······································································9-13
9.5 RS-485 通讯规格·············································································9-14
9
Modbus 通讯 ASDA-B3
9-2
9
9.1 RS-485 通讯硬件接口
此伺服驱动器支持 RS-485 之串行通讯功能,本通讯功能可以存取与变更伺服系统内的参数。其
接线说明如下:
-
--
-
--
注:
1. 在噪声少的环境下,线长可达 100 公尺,若传输速度须超过 38,400 bps 时,建议使用 15 公尺以内之通讯线,以确
保传输准确率。
2. 图标上的灰底数字 4、5 代表各连接器的脚位编号。
3. 电源供应器须提供 12 VDC以上之电压给控制器。
4. 使用 RS-485 可同时连接 32 台驱动器。若欲连接更多伺服驱动器,需加装中继器;最多可连接 127 台伺服驱动器。
5. CN3 脚位定义请参考第 3 章的 CN3 通讯端口讯号接线。
ASDA-B3Modbus 通讯
9-3
9
9.2 RS-485 通讯参数
P3.000 (站号设定)、P3.001 (通讯传输率) 与 P3.002 (Modbus 通讯协议) 是伺服驱动器连接到通
讯网络所必须要设定的参数;其余的参数如 P3.003 Modbus (通讯错误处置)、P3.004 Modbus
(通讯逾时设定)、P3.005 (Modbus 通讯机能)、P3.006 (输入接点(DI)来源控制开关) 及 P3.007
(Modbus 通讯回复延迟时间) 等,为使用者选择性设定。相关参数的详细内容请查阅手册第 8
章。
9.3 Modbus 通讯协议
Modbus network 通讯有二种模式:ASCII (American Standard Code for Information Interchange)
模式与 RTU (Remote Terminal Unit) 模式,用户可于参数 P3.002 设定所需之通讯协议。除了此
两种通讯模式外,此驱动器支持功能 (Function) 03H 读取多个字组、06H 写入单笔字组、10H
写入多个字组,请参考以下说明。
注:驱动器不支持广播功能。
编码意义
ASCII 模式:
在 ASCII 模式下,数据传输是使用美国标准通讯交换码 (ASCII)。例如,主站与从站之间若要传
输数值 64H,会送出 ASCII 码的 36H 讯号代表传输的数值 ‘6’、34H 讯号代表传输的数值 ‘4’。
数字 0 至 9 与字母 A 至 F 的 ASCII 码,如下表:
字符符号 ‘0’ ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’
对应 ASCII 码 30H 31H 32H 33H 34H 35H 36H 37H
字符符号 ‘8’ ‘9’ ‘A’ ‘B’ ‘C’ ‘D’ ‘E’ ‘F’
对应 ASCII 码 38H 39H 41H 42H 43H 44H 45H 46H
RTU 模式:
在 RTU 模式下,每笔传输数据由 8-bit 之十六进制字符所组成。此方式不需要如同 ASCII 模式将
传输数据转换成交换码,因此会比 ASCII 模式的传输效率还要好。例如:主站与从站之间若要传
输数值 64H,可直接传送数据 64H。
Modbus 通讯 ASDA-B3
9-4
9
字符将被编码成以下的框架 (frame) 并以串行方式传输,不同数据帧的检查方法如下:
ASCII 模式:
10 bits 数据帧 (用于 7-bit 字符)
bit
4
Parity
4
Parity
4
RTU 模式:
11 bits 数据帧 (用于 8-bit 字符)
0 1 6
-
L
bit
0 1
parity
0 1
parity
ASDA-B3Modbus 通讯
9-5
9
通讯数据结构
两种不同通讯模式的数据帧 (Data Frame) 定义如下:
ASCII 模式:
Start 起始字符 ‘:’ (3AH)
Slave Address 通讯地址:1-byte,包含了 2 个 ASCII 码 (ADR)
Function 功能码:1-byte,包含了 2 个 ASCII 码 (CMD)
Data (n-1)
……. 数据内容:n-word = 2n-byte (包含了 4n 个 ASCII 码),n ≤ 10
Data (0)
LRC 错误检查:1-byte,包含了 2 个 ASCII 码
End 1 结束码 1:(0DH)(CR)
End 0 结束码 0:(0AH)(LF)
RTU 模式:
Start 超过 10 ms 的静止时段
Slave Address 通讯地址:1-byte
Function 功能码:1-byte
Data (n-1)
……. 数据内容:n-word = 2n-byte,n ≤ 10
Data (0)
CRC 错误检查:2-byte
End 1 超过 10 ms 的静止时段
Modbus 通讯 ASDA-B3
9-6
9
范例 1:功能码 03H,读取多个字组 (word)
以下的范例为主站下达读取命令给 1 号从站:
从站读取由起始地址 0200H 开始的连续 2 个字组 (word) 资料。从站回复的数据内容为地址
0200H 所读到的内容 00B1H 及地址 0201H 所读到的内容 1F40H,其中单次最大允许读取的字组
为 10 个字组,相当于连续 5 笔的参数资料。
ASCII 模式:
主站命令讯息: 从站响应消息:
Start ‘:’ Start ‘:’
Slave Address
‘0’
Slave Address
‘0’
‘1’ ‘1’
Function
‘0’
Function
‘0’
‘3’ ‘3’
起始数据位置
‘0’ 资料数目
(以 byte 计算)
‘0’
‘2’ ‘4'
‘0’
起始数据地址
0200H 的内容
‘0’
‘0’ ‘0’
资料数目
(以 word 计算)
‘0’ ‘B’
‘0’ ‘1’
‘0’
第二笔数据地址 0201H
的内容
‘1’
‘2’ ‘F’
LRC
‘F’ ‘4’
‘8’ ‘0’
End 1 (0DH)(CR)
LRC
‘E’
End 0 (0AH)(LF) ‘8’
End 1 (0DH)(CR)
End 0 (0AH)(LF)
RTU 模式:
主站命令讯息: 从站响应消息:
Slave Address 01H Slave Address 01H
Function 03H Function 03H
起始数据位置
02H (高字节) 资料数目
(以 byte 计算)
04H
00H (低字节)
资料数目
(以 word 计算)
00H 起始数据地址
0200H 的内容
00H (高字节)
02H B1H (低字节)
CRC (Check Low) C5H (低字节) 第二笔数据地址 0201H
的内容
1FH (高字节)
CRC (Check High) B3H (高字节) 40H (低字节)
CRC (Check Low) A3H (低字节)
CRC (Check High) D4H (高字节)
注:RTU 模式下的传输前与传输完成后,需有 10 ms 的静止时段。
范例 2:功能码 06H,写入单笔字组 (word)
ASDA-B3Modbus 通讯
9-7
9
以下的范例为主站下达写入命令给 1 号从站:
从站写入数据 0064H 到地址 0200H,写入完成后则回复主站。
ASCII 模式:
主站命令讯息: 从站响应消息:
Start ‘:’ Start ‘:’
Slave Address
‘0’
Slave Address
‘0’
‘1’ ‘1’
Function
‘0’
Function
‘0’
‘6’ ‘6’
起始数据地址
‘0’
起始数据地址
‘0’
‘2’ ‘2'
‘0’ ‘0’
‘0’ ‘0’
数据内容
‘0’
数据内容
‘0’
‘0’ ‘0’
‘6’ ‘6’
‘4’ ‘4’
LRC
‘9’
LRC
‘9’
‘3’ ‘3’
End 1 (0DH)(CR) End 1 (0DH)(CR)
End 0 (0AH)(LF) End 0 (0AH)(LF)
RTU 模式:
主站命令讯息: 从站响应消息:
Slave Address 01H Salve Address 01H
Function 06H Function 06H
起始数据地址
02H (高字节)
起始数据地址
02H (高字节)
00H (低字节) 00H (低字节)
数据内容
00H (高字节)
数据内容
00H (高字节)
64H (低字节) 64H (低字节)
CRC (Check Low) 89H (低字节) CRC (Check Low) 89H (低字节)
CRC (Check High) 99H (高字节) CRC (Check High) 99H (高字节)
注:RTU 模式下的传输前与传输完成后,需有 10 ms 的静止时段。
Modbus 通讯 ASDA-B3
9-8
9
范例 3:功能码 10H,写入多个字组 (word)
以下的范例为主站下达写入命令给 1 号从站:
从站从起始地址 0112H 开始写入 2 个字组 0BB8H 与 0000H 的资料。即于地址 0112H 写入
0BB8H,于地址 0113H 写入 0000H,其中单次最大允许写入的字组为 8 个字组,相当于连续 4
笔的参数数据,从站在写入完成后则回复主站。
ASCII 模式:
主站命令讯息: 从站响应消息:
Start ‘:’ Start ‘:’
Slave Address
‘0’
Slave Address
‘0’
‘1’ ‘1’
Function
‘1’
Function
‘1’
‘0’ ‘0’
起始数据地址
‘0’
起始数据地址
‘0’
‘1’ ‘1'
‘1’ ‘1’
‘2’ ‘2’
资料数目
(以 word 计算)
‘0’
资料数目
(以 word 计算)
‘0’
‘0’ ‘0’
‘0’ ‘0’
‘2’ ‘2’
资料数目
(以 byte 计算)
‘0’
LRC
‘D’
‘4’ ‘A’
第一笔数据内容
‘0’ End 1 (0DH)(CR)
‘B’ End 0 (0AH)(LF)
‘B’
‘8’
第二笔数据内容
‘0’
‘0’
‘0’
‘0’
LRC
‘1’
‘3’
End 1 (0DH)(CR)
End 0 (0AH)(LF)
ASDA-B3Modbus 通讯
9-9
9
RTU 模式:
主站命令讯息: 从站响应消息:
Slave Address 01H Slave Address 01H
Function 10H Function 10H
起始数据地址
01H (高字节)
起始数据地址
01H (高字节)
12H (低字节) 12H (低字节)
资料数目
(以 word 计算)
00H (高字节) 资料数目
(以 word 计算)
00H (高字节)
02H (低字节) 02H (低字节)
资料数目
(以 byte 计算)
04H
CRC (Check Low) E0H (低字节)
CRC (Check High) 31H (高字节)
第一笔数据内容
0BH (高字节)
B8H (低字节)
第二笔数据内容
00H (高字节)
00H (低字节)
CRC (Check Low) FCH (低字节)
CRC (Check High) EBH (高字节)
注:RTU 模式下的传输前与传输完成后,需有 10 ms 的静止时段。
Modbus 通讯 ASDA-B3
9-10
9
LRC 与 CRC 传输错误检查
ASCII 通讯模式的错误检查使用 LRC (Longitudinal Redundancy Check),而 RTU 通讯模式的错
误检查则使用 CRC (Cyclic Redundancy Check),其算法说明如下。
LRC (ASCII 模式):
将所有字节相加,舍去进位,然后取 2 的补码,即为 LRC 的算法。
以上例而言:
7FH + 03H + 05H + C4H + 00H + 01H = 14CH,舍去进位 1,只取 4CH。
4CH 取 2 的补码为:B4H。
Start ‘:’
Slave Address
‘7’
‘F’
Function
‘0’
‘3’
起始数据地址
‘0’
‘5’
‘C’
‘4’
资料数目
(以 word 计算)
‘0’
‘0’
‘0’
‘1’
LRC
‘B’
‘4’
End 1 (0DH)(CR)
End 0 (0AH)(LF)
ASDA-B3Modbus 通讯
9-11
9
CRC (RTU 模式):
CRC 侦误值计算以下列步骤说明:
步骤一:加载一个内容为 FFFFH 之 16-bit 缓存器,称之为 CRC 缓存器。
步骤二:将命令讯息的第一个字节与 16-bit CRC 缓存器的低字节进行 Exclusive OR 运算,并将
结果存回 CRC 缓存器。
步骤三:检查 CRC 缓存器的最低位 (LSB),若此位为 0,则 CRC 缓存器值右移一位;若此位为
1,则 CRC 缓存器值右移一位后,再与 A001H 进行 Exclusive OR 运算。此步骤需执行
8 次。
步骤四:请重复步骤二到步骤三,直到所有字节皆被完全处理过,此时 CRC 缓存器的内容即是
CRC 侦误值。
计算出 CRC 侦误值之后,在命令讯息中,须先填上 CRC 的低字节,再填上 CRC 的高字节。例
如 CRC 算法所算出的值为 3794H,则先填入 94H 然后再填入 37H,如下表所示。
ADR 01H
CMD 03H
起始数据位置
01H (高字节)
01H (低字节)
资料数目
(以 word 计算)
00H (高字节)
02H (低字节)
CRC (Check Low) 94H (低字节)
CRC (Check High) 37H (高字节)
CRC 程序范例:
下例是以 C 语言产生 CRC 值。此函数需要两个参数:
unsigned char* data;
unsigned char length
//此函数将回传 unsigned integer 型态之 CRC 值。
unsigned int crc_chk(unsigned char* data, unsigned char length) {
int j;
unsigned int reg_crc=0xFFFF;
while( length-- ) {
reg_crc^= *data++;
for (j=0; j<8; j++ ) {
if( reg_crc & 0x01 ) { /*LSB(bit 0 ) = 1 */
reg_crc = (reg_crc >> 1)^0xA001;
} else {
reg_crc = (reg_crc>>1);
}
}
}
return reg_crc;
}
Modbus 通讯 ASDA-B3
9-12
9
个人计算器通讯程序范例:
#include<stdio.h>
#include<dos.h>
#include<conio.h>
#include<process.h>
#define PORT 0x03F8 /* the address of COM 1 */
#define THR 0x0000
#define RDR 0x0000
#define BRDL 0x0000
#define IER 0x0001
#define BRDH 0x0001
#define LCR 0x0003
#define MCR 0x0004
#define LSR 0x0005
#define MSR 0x0006
unsigned char rdat[60];
/* read 2 data from address 0200H of ASD with address 1 */
unsigned char tdat[60]={‘:’,’0’,’1’,’0’,’3’,’0’,’2’,’0’,’0’,’0’,’0’,’0’,’2’,’F’,’8’,’\
’,’\
’};
void main() {
int I;
outportb(PORT+MCR,0x08); /* Interruption enable */
outportb(PORT+IER,0x01); /* Interruption as data in */
outportb(PORT+LCR,( inportb(PORT+LCR) | 0x80 ) );
/* the BRDL/BRDH can be access as LCR.b7 == 1 */
outportb(PORT+BRDL,12);
outportb(PORT+BRDH,0x00);
outportb(PORT+LCR,0x06); /* set protocol
<7,E,1> = 1AH, <7,O,1> = 0AH
<8,N,2> = 07H <8,E,1> = 1BH
<8,O,1> = 0BH */
for( I = 0; I<=16; I++ ) {
while( !(inportb(PORT+LSR) & 0x20) ); /* wait until THR empty */
outportb(PORT+THR,tdat[I]); /* send data to THR */
}
I = 0;
while( !kbhit() ) {
if( inportb(PORT+LSR)&0x01 ) { /* b0==1, data is read */
rdat[I++] = inportb(PORT+RDR); /* read data from RDR */
}
}
}
ASDA-B3Modbus 通讯
9-13
9
9.4 通讯参数的写入与读取
关于驱动器的所有参数细节请参照第 8 章 参数与功能。经由通讯方式能够写入或读取之参数说明
如下:
本驱动器的参数分为八个群组:群组 0 为监控参数、群组 1 为基本参数、群组 2 为扩充参数、群
组 3 为通讯参数、群组 4 为诊断参数、群组 5 为 Motion 设定参数、群组 6 ~ 群组 7 为 PR 路径
定义参数。除只读参数以外,其余参数均可通过通讯方式写入。可通过通讯方式读取的参数包
括:群组 0 ~ 7 全部。
注意以下说明:
P3.001:更改通讯传输率的设定值后,下一笔数据的写入将以新的传输率传送数据。
P3.002:更改通讯协议的设定值后,下一笔数据的写入将以新的通讯协议传送数据。
P4.005:伺服电机寸动(JOG)控制,其写入方式请参照第 8 章。
P4.006:强制输出接点控制。本参数是方便使用者测试 DO (Digital Output) 的正常与否,先将
P2.008 设定为 406,再于 P4.006 写入 0x0001、0x0002、0x0004、0x0008、
0x0010、0x0020,以分别测试 DO1、DO2、DO3、DO4、DO5、DO6。测试完成后,
请将 P4.006 写入 0x0000,通知伺服驱动器已完成测试。
P4.010:硬件校正功能选择。若需使用此功能,请先将 P2.008 设定为 20 (十六进制为 14H)。
P4.011 ~ P4.021:硬件偏移量校正。这些参数出厂时已调校完成,不建议随意更动。若需更改
P4.011 ~ P4.021 的设定值,请先将 P2.008 设定为 22 (十六进制为 16H)。
Modbus 通讯 ASDA-B3
9-14
9
9.5 RS-485 通讯规格
RS-485 通讯相较于 RS-232,不仅可进行一对多传输,也具有较优异的抗噪声能力。RS-485 主
要利用平衡传输线进行讯号接收与发送,发送端将 TTL 讯号转变成差动讯号后传输给接收端,接
收端收到差动讯号后再转回 TTL 讯号。由于传输过程采用差动讯号,故有较高的抗干扰能力。然
而在其使用上还是有所限制,因此配线时须注意以下几点。
◼ 站数限制
CN3 的硬件驱动能力最多为 32 站,若超过此站数,则须加装中继器扩充可连接的驱动器数
量;目前最多可接至 127 台。
◼ 传输距离
传输距离与传输速度成反比。在噪声少的环境下,线长可达 100 公尺,若传输速度须超过
38,400 bps 时,建议使用 15 公尺以内之通讯线,以确保传输准确率。
◼ 传输线限制
传输线的质量对于讯号传输过程影响极大,若在传输过程中有噪声混入,容易导致数据遗
失,建议使用屏蔽双绞线。屏蔽双绞线因外层多了一层金属隔离网和接地线,故抗干扰能力
优于无屏蔽式。
◼ 线路拓扑 (Topology)
对于拓扑而言,越接近主站,传输讯号越稳定。RS-485 为总线拓扑的总线型结构,传输线必
须从第一站接至第二站,再从第二站接至第三站,依序接至最后一站。另外,RS-485 不支持
星状和环状的连接方式。
◼ 终端电阻
在通讯传输的过程当中,若遇到阻抗不连续的状况,将会造成讯号反射与讯号失真。此情况
通常发生在传输线路的末端配置设备,若线路阻抗很小,甚至为 0Ω,此时讯号就会反射。若
要解决此问题,则须在线路末端加上与线路特性阻抗相同大小的电阻,此电阻即为终端电
阻。一般情况下,RS-485 讯号传输电路当中使用的传输线为双绞线,其特性阻抗约为
120Ω,故终端电阻也为 120Ω。
◼ 噪声抗干扰方式
在讯号传递的过程中,若有噪声的干扰,容易造成讯号失真,因此消除噪声极为重要,目前
消除方式为以下几种:
1. 加入终端电阻。
2. 确认是否处于高磁场环境,并尽可能远离。
3. 传输线应使用屏蔽双绞线。
4. 配线时须将高压电源线与讯号线分离。
5. 请于电源输入端使用铁氧体磁环,使用方式可参考 2.6 节。
6. 请于电源输入端加入 X 电容与 Y 电容,并选用通过 IEC 60384-14 认证之电容。
10-1
绝对型伺服系统
本章节介绍绝对型伺服系统的应用,内容包含电池盒的安装方法,以及初次进行绝对位
置初始化的设置步骤和操作流程。
10.1 电池规格 ······················································································10-3
10.2 安装 ····························································································10-5
10.2.1安装电池盒于伺服系统·······························································10-5
10.2.2 如何安装及更换电池··································································10-6
10.3 系统初始化与操作流程 ····································································10-7
10.3.1系统初始化··············································································10-7
10.3.2 脉冲数值·················································································10-8
10.3.3 PUU 数值 ···············································································10-9
10.3.4 建立绝对型原点坐标·································································10-10
10.3.4.1 使用 DI/DO······································································10-10
10.3.4.2 使用参数设定···································································10-11
10.3.4.3 使用 PR 原点复归功能 ·······················································10-11
10.3.4.4 使用 P1.001.X = C 的 Homing Mode 原点复归模式···················10-11
10.3.5 读取绝对位置··········································································10-11
10.3.5.1 使用 DI/DO······································································10-11
10.3.5.2 使用通讯功能···································································10-14
10
绝对型伺服系统 ASDA-B3
10-2
10
使用注意
绝对型伺服系统包含本伺服驱动器,搭配绝对型伺服电机及电池盒。由于具备电池供电,编码器
在伺服系统断电后,仍能持续运作不受影响。此外,绝对型系统的编码器在任何时刻,都将依其
内置的坐标系统不间断地记录电机真实位置,不会因断电后电机轴心被转动而无法得知电机真实
位置。绝对型伺服系统必须搭配绝对型伺服电机,若搭配增量型伺服电机,并启动绝对型功能
(P2.069.X =1),会产生异警 AL069。
使用绝对型电机时,请确保电机在上电瞬间的速度低于 250 rpm。于电池模式下,电机的最高转
速请勿超过 200 rpm。
检查电机是否为绝对型电机,其型号说明如下:
ECM-A3 系列伺服电机
––
ECM-B3 系列伺服电机
––
ECMC 系列伺服电机
-
:
将电池盒正确安装至编码器上。一台驱动器使用一个单颗电池盒,两台驱动器可共用一个双颗电
池盒。请使用指定之台达编码器线以连接电池盒。
ASDA-B3绝对型伺服系统
10-3
10
10.1 电池规格
注意事项
请详细阅读并遵守以下注意事项,使用符合下述规格之电池,以免造成损坏或危险。
◼ 安装的环境必须没有水气、腐蚀性气体及可燃性气体。
◼ 请勿将电池零散放置以避免意外的短路。
◼ 禁止将电池的正、负极之间短路,或将两个电池的正、负极反接。
◼ 不建议将新旧电池混合使用,否则可能损耗新电池的电能,并缩短新电池的寿命。建议全
部更换为新的电池。
◼ 电池盒中的 J1 端连接电池,J2 端连接至编码器在线的电池盒接线端。
◼ 尚未建立绝对型原点坐标时的耗电流趋近于 0,但建立绝对型原点坐标后将开始消耗电池
电量。建议运送机台时,先不连接电池或不建立绝对型原点坐标,以免电池于运送中消耗
过多电量。
◼ 电池盒的连接及配线请务必依照手册说明,否则可能产生危险。
◼ 请使用本公司的电池,否则可能无法正常使用绝对型功能。
◼ 勿将电池置于 100°C 以上的高温环境中或火焰中,以免导致起火爆炸。
◼ 电池为一次性使用的抛弃式电池,请勿将电池充电,否则可能导致爆炸。
◼ 请勿直接在电池表面进行焊接。
电池规格
项目 Li/SOCl2 Cylindrical Battery
(锂/亚硫氯柱式电池)
台达型号 ASD-CLBT0100
国际标准尺寸 AA
标准电压 3.6V
标准容量 2700 mAh
最大连续放电电流 100 mA
最大脉冲电流 200 mA
尺寸(D x H) 14.5 x 50.5 mm
重量 约 19 g
操作温度 -40°C~+85°C
绝对型伺服系统 ASDA-B3
10-4
10
电池寿命
以上数据取自 EVE Energy Co. ER14505 Discharge Characteristics
(1) 上图是电池厂商以定电流测试方式产生的放电电流曲线。以上图五条曲线来计算,电池电压维
持在 3V 以上,可使用期限如下表所示,因此将绝对型编码器的电池低电压规范设定在 3.1V。
电机 电池模式耗电流*2 (μA) 电池使用期限 (月)
ECM-A3 - A
ECM-B3 - A
ECM-B3 - P
30 87.5
ECMC- W
ECM-A3 - Y
45 58.33
ECMC- V 35 75
(2) 常温储存在干燥环境下,能确保电池电压维持在 3.6V 以上达 5 年。
注:电池使用期限的测试条件为单颗电池搭配一台驱动器和一台电机。
ASDA-B3绝对型伺服系统
10-5
10
10.2 安装
◼ 绝对型编码器线配线说明请参考 3.4 节。
◼ 电池盒与编码器线的选用请参考附录 B。
10.2.1 安装电池盒于伺服系统
当使用绝对型编码器时,电池端直接供电至电机编码器,不须再配线至驱动器的 CN2 端子座接
头。请勿配线至 CN2 端子座的 Pin 3 与 Pin 4,否则会造成内部电路损毁。
以单颗电池盒(标准接线方式)为例:
(3
(()
(
-
(1) 绝对型编码器线;(2) 单颗电池盒;(3) CN2 接头;(4) 电池盒配线示意图
绝对型伺服系统 ASDA-B3
10-6
10
10.2.2 如何安装及更换电池
当驱动器显示异警 AL061,表示绝对型编码器电压过低,可将参数 P0.002 设为 38 以读取电池电
压,显示值低于 31 (即电压小于 3.1V) 时,为避免数据遗失,请立即更换电池。
电池电压小于 2.9V 会造成电机位置的记录数据遗失,当驱动器显示异警 AL060 时,更换电池后
将显示 AL06A,必须重新建立绝对型原点坐标。
注意:请于送电的状况下更换电池,以避免绝对位置数据遗失。
单颗电池盒
步骤一:
松开两侧卡榫以开启电池盒上盖。
步骤二:
将夹片套上编码器线,夹片的位置越接近热缩套管
越好。
(A) 夹片;(B) 热缩套管
步骤三:
使用螺丝将夹片固定于电池盒,并将电池盒接线端
连接至电池盒的 J2 端。
步骤四:
装入新电池并将电池连接线连接至电池盒中的 J1
端。请在送电的情况下更换电池,请勿拆下电池盒接
线端,以免电力中断而造成数据遗失。
(C) 电池盒接线端
步骤五:
将线收入盒中并盖上上盖,完成电池更换及电池盒
安装。
ASDA-B3绝对型伺服系统
10-7
10
10.3 系统初始化与操作流程
10.3.1 系统初始化
伺服系统在重新送电恢复运作后,上位机可以使用既有的通讯功能(如 RS-485)或藉由 DI/DO 取
得电机目前的绝对位置,台达绝对型系统提供两种位置数值供上位机读取,分别为脉冲(Pulse)与
PUU。
◼ 在第一次开启绝对型系统时,因坐标系统尚未建立,所以伺服驱动器会产生异警 AL06A,直
到坐标系统设置完成后该异警才会被清除。
◼ 若因电池电力不足或电池电力中断,而造成坐标系统遗失,则会产生异警 AL060。
◼ 在绝对型系统中,其位置的数值大小有一定的限制,当电机运转圏数超出-32,768 至+32,767
的范围时,将产生异警 AL062;若以 PUU 来计算,其位置数值必须在-2,147,483,648 至
+2,147,483,647 的范围内,否则将产生异警 AL289。
◼ 除了上述的警告(默认值为开启警告),用户也可通过参数 P2.070 [Bit 2]来设定驱动器在绝对
坐标系统发生溢位时(圏数或 PUU 数值超出上述范围)是否产生异警 AL062 与 AL289,此设
定是为了因应单一方向且使用增量命令运转的系统而设计。
系统初始化步骤如下:
1. 使用 DI/DO、参数设定、PR 原点复归功能或 P1.001.X = C 的 Homing Mode 原点复归模式
来建立绝对型原点坐标。坐标设定完成后,异警 AL06A 或 AL060 会自动清除。我们提供两
种位置表示法 (脉冲数值与 PUU 数值) 供上位机进行绝对型原点坐标建立。
2. 系统重新上电后,上位机可利用 DI/DO 或通讯功能读取绝对位置,并可通过参数 P2.070 [Bit 1]
的设定,选择读取圏数加一圏内脉冲数(请参考 10.3.2 节)或读取 PUU 数值(请参考 10.3.3 节)。
绝对型伺服系统 ASDA-B3
10-8
10
10.3.2 脉冲数值
当电机顺时针旋转时,圏数定义为负;逆时针旋转时,圈数定义为正,可计数的圏数范围为
-32,768 至+32,767。当圈数溢位发生时(即圈数超出可计数范围),会产生异警 AL062,此时必须
重新建立绝对型原点坐标,才可以清除 AL062;若 P2.070 [Bit 2]已设定溢位时不产生任何异警,
则系统将忽略圏数溢位的问题。
如果电机是逆时针方向转动,且数值到达+32,767,此时再逆时针旋转一圈,数值会变为-32,768,
如果圏数持续增加,则数值增加方向为-32,768、-32,767、-32,766 并递增至+32,767;如果电机
是顺时针方向转动,且数值到达-32,768 后,接下来将变为+32,767、+32,766 并递减至-32,768。
除此之外,电机一圏内的位置为 16,777,216 个脉冲(0 ~ 16,777,215),请注意此脉冲数的定义方
向,用户可通过通讯或 DI/DO 来读取圏数与一圈内脉冲数。
总脉冲数 = m (圏数) × 16,777,216 + 一圈内脉冲数 (0 ~ 16,777,215)。
脉冲数与 PUU 之间的转换公式如下:
当 P1.001.Z = 0 时,上电时 PUU 数值 = 脉冲数 ×
P1.045
P1.044 + P6.001。
当 P1.001.Z = 1 时,上电时 PUU 数值 = (-1) × 脉冲数 ×
P1.045
P1.044 + P6.001。
P0.
(
(,-)
.( 1 0
~,,
~,, ~,, ~,, ~,, ~,,
图 10.3.2.1 脉冲计数绝对位置图
ASDA-B3绝对型伺服系统
10-9
10
10.3.3 PUU 数值
PUU 数值是一个带正负符号的 32 位绝对位置数据,当电机往正方向旋转,绝对位置数值会增
加;电机往负方向旋转,绝对位置数值会减少。电机的旋转方向是由 P1.001.Z 定义,而非由时
针方向做判断。
如果电机往固定方向持续旋转,当圈数超出-32,768 至+32,767 的范围,驱动器会产生异警
AL062。当电机 PUU 数值超出-2,147,483,648 到+2,147,483,647 的范围,驱动器会产生异警
AL289。当绝对型编码器溢位发生时,需要建立绝对型原点坐标来清除警告,参数 P2.070 可以
设定在溢位发生时,驱动器是否产生异警 AL062 及 AL289。当正向旋转超过正向 PUU 的最大数
值,其数值变化会由+2,147,483,647 回到-2,147,483,648、-2,147,483,647 并递增至
+2147483647,当负向旋转超过负向 PUU 的最大数值,其变化则由-2,147,483,648 回到
+2,147,483,647、+2,147,483,646 并递减至-2,147,483,648。
请见以下范例。
例 1:当 P1.044 设为 16,777,216,而 P1.045 设为 100,000,电机转一圏需 100,000 PUU 命令,
2,147,483,647 ÷ 100,000 ≒ 21474.8,只要电机正方向运转超过 21,474.8 (< 32,767)圏即
会产生 AL289。
例 2:当 P1.044 设为 16,777,216,而 P1.045 设为 10,000,电机转一圏需 10,000 PUU 命令,
2,147,483,647 ÷ 10,000 ≒ 214,748.3,只要电机正方向运转超过 32,767 (< 214,748.3)圏
即会产生 AL062。
,,,
-,,,
, -,,, ,,, -,,,
...... ......
图 10.3.3.1 PUU 计数绝对位置图
注:在建立绝对型原点坐标后,如果变动参数 P1.001.Z 或电子齿轮比(P1.044、P1.045),设定值会跟着变动。 如果更
动了以上仼一参数,请重新建立绝对型原点坐标。
绝对型伺服系统 ASDA-B3
10-10
10
10.3.4 建立绝对型原点坐标
当绝对坐标遗失时,驱动器提供以下方式可以建立绝对型原点坐标,以下将详细说明各个操作方
式。
10.3.4.1 使用 DI/DO
当用户以上位机控制时,请使用 DI/DO 建立绝对型原点坐标。绝对型原点坐标建立完成后,绝对
型编码器内的脉冲数值将被重设为 0 且 PUU 将被重设为 P6.001 的设定值。请参考下图详细时序
的操作说明。
时序说明:
1. 当上位机触发 DI.ABSE 信号为 On 时,需等待 TS 的时间,系统才可进行下一步骤的重置功
能。
2. 在准位认证时间 TS 到达后,上位机即可建立绝对型原点坐标。在 DI.ABSC 准位为 On,并保
持 TQ 的时间后,绝对坐标的脉冲数值将被重设为 0 且 PUU 将被重设为 P6.001 的设定值。
( ;.)
.
.
图 10.3.4.1.1 使用 DI/DO 建立绝对型原点坐标的时序图
下表说明在触发 DI.ABSE 和 DI.ABSC 信号为 On 时,需等待 TS 及 TQ 的延迟时间方能继续完成
作动:
TS (ms) TQ (ms)
Min. P2.009 + 2
Max. P2.009 + 10
ASDA-B3绝对型伺服系统
10-11
10
10.3.4.2 使用参数设定
用户可利用面板操作或是通过通讯将参数 P2.071 设为 0x0001 以建立绝对型原点坐标,但由于
P2.071 的写入功能受到 P2.008 保护,因此必须先将 P2.008 设为 271,接着再将 P2.071 设为
0x0001。此时,绝对系统坐标会立刻重置。
10.3.4.3 使用 PR 原点复归功能
用户可利用 PR 模式下的原点复归模式建立绝对型原点坐标,详细介绍请参阅 7.1.3.1 节 原
点复归模式。
10.3.4.4 使用 P1.001.X = C 的 Homing Mode 原点复归模式
EtherCAT / CANopen:利用由 CiA 402 协议所定义的原点复归模式建立绝对型原点坐标,原点
复归模式的详细介绍请参阅 CH11 或 CH12。
PROFINET:原点复归模式的详细介绍请参阅 CH13。
10.3.5 读取绝对位置
10.3.5.1 使用 DI/DO
P2.070 [Bit 0]设为 0 时,可使用 DI/DO 读取 PUU 数值,其格式如下:
Bit 79 ~ Bit 64 Bit 63 ~ Bit 32 Bit 31 ~ Bit 16 Bit 15 ~ Bit 0
- WORD_3 WORD_2 WORD_1 WORD_0
Check Sum 编码器 PUU 数
-2,147,483,648 ~ +2,147,483,647
0 P0.050 编码器状态
P2.070 [Bit 0]设为 1 时,可使用 DI/DO 读取脉冲数值,其格式如下:
Bit 79 ~ Bit 64 Bit 63 ~ Bit 32 Bit 31 ~ Bit 16 Bit 15 ~ Bit 0
- WORD_3 WORD_2 WORD_1
Check Sum 编码器一圈内脉冲数
0 ~ 16,777,215 (= 16,777,216 - 1)
编码器圈数
-32,768 ~ +32,767
P0.050 编码器状态
以读取脉冲数值为例:
Check Sum = (((((((WORD_0+0xA700) XOR WORD_1)+0x605A) XOR WORD_2)+0x30A5)
XOR WORD_3)+0x5A06)
_
+
_1
2
5
_
0x
注:
1. 此算法不带正负号。
2. 0xA700、0x605A、0x30A5 和 0x5A06 皆为 16 进制之常数。
绝对型伺服系统 ASDA-B3
10-12
10
使用 DI/DO 并配合 P2.070 [Bit 0]的设定,可以读取脉冲数值或 PUU 数值,DI/DO 的读取交讯时
序图如下:
)
DI4)
2
3
()
()
(4)
(
()
(DOx)
T
()
)
)
2
3
()
()
()
2
(
()
S
T
R
T
S
TQ
TN
TQ
(
接下图 (13)
B
()
() )
(11) (13
( )
(1 (2
() 5) ) ()
()
4 (6 8)
图 10.3.5.1.1 使用 DI/DO 读取绝对位置的时序图
下表说明使用 DI/DO 读取绝对位置时的延迟时间:
TR (ms) TS (ms) TQ (ms) TN (ms) TB (ms)
Min. - P2.009 + 2
Max. 200 P2.009 + 10
ASDA-B3绝对型伺服系统
10-13
10
交讯时序说明:
(1) 当开始进行交讯时,上位机将 ABSE 信号致能(启用),开启通讯。
(2) 经过 TS 的延迟时间确认准位稳定后,DI4、DO2 与 DO3 将分别由其原本的功能切换为
ABSQ、ABSR、ABSD 功能。其中,若 DI4 在切换前为高准位信号(high),当切换至
ABSQ 时,其原功能在驱动器内会继续保持高准位状态(此时,此信号为逻辑高准位信号)。
DI4、DO2 与 DO3 为重迭功能 DI/DO(即 DI4、DO2 与 DO3 原本的设定功能会与 ABSQ、
ABSR、ABSD 共用 DI/DO 脚位),请注意使用。在交讯时与交讯前后,用户需特别注意其
功能切换;若想让这三支 DI/DO 只具有单一功能,可先将其设定为 0 再执行功能切换。
(3) 当 DI4 在 ABSE 设为高准位且经过 TS 的延迟时间,功能被切换为 ABSQ 后,若上位机将
此信号设为低准位,驱动器将视同上位机向驱动器提出读取要求。
(4) 经过 TQ 的准位确认时间,此时驱动器己将交讯数据准备完毕,并放在 ABSD 上,然后驱动
器会将 ABSR 信号致能,通知上位机可以读取数据。若上位机经过 TQ 的最大可能等待时间
后,仍监测不到 ABSR 由低准位变高准位,有可能发生如通讯线断线等通讯错误。
(5) 上位机一侦测到 ABSR 为高准位,马上数据读取,读取完成后,将 ABSQ 设为高准位,通
知驱动器数据已取走。
(6) 当驱动器读到 ABSQ 为高准位且经过 TN 的准位确认时间后,会将 ABSR 设为低准位,通
知上位机可以准备进行下一位的通讯。
(7) 上位机侦测到 ABSR 变低准位后,会将 ABSQ 设为低准位,并向驱动器要求进行下一位通
讯。
(8) 驱动器重复步骤(3)到步骤(4),将数据放入 ABSD,进行下一位的通讯。
(9) 重复步骤(5)到步骤(7),上位机读取位并回复数据已收取完成。
(10) 第三位数据由驱动器准备完成。
(11) 驱动器在数据备妥且经过 TR 的等待时间,未见上位机读取数据且启用 ABSQ 信号,所以驱
动器发出通讯错误 ABSW 信号,中止交讯。
(12) 上位机侦测到驱动器送来的 ABSW 信号后,将 ABSE 设为低准位,准备重新通讯。
(13) 驱动器收到上位机将该周期的通讯信号 ABSE 设为低准位后,ABSW 会从原本的高准位恢
复为低准位。
(14) 经过 TB 的缓冲时间后,上位机可以重新进行通讯。
(15) 上位机重启通讯,重复步骤(1)。
(16) 没有错误产生,上位机与驱动器完成 Bit 0 ~ 79 共 80 个位的数据通讯。DI4、DO2、DO3
在交讯完成后,恢复成为其原来的设定功能。
注:若 ABSE 设为低准位再设为高准位后,ABSW 并未恢复为低准位,并保持在错误警示状态,此刻应同时存在其他警
告,例如 AL060 (绝对位置遗失)、AL061 (编码器电压过低)或 AL062 (绝对位置圈数溢位(编码器))等,这些警告必需
先被排除才能重启交讯。
绝对型伺服系统 ASDA-B3
10-14
10
10.3.5.2 使用通讯功能
用户可通过以下两种通讯方式读取绝对型编码器的数据。
实时读取
伺服在上电后,直接读取电机的回授位置。若设定 P0.017 为 0,代表通过 P0.009 (状态监控寄存
器 1)读取电机回授位置。
暂存方式读取
驱动器的寄存器会先行记忆电机的位置,读取的值不会随电机转动而变化。只要通过通讯写入参
数 P0.049.X,驱动器会将目前的编码器绝对位置写入参数 P0.051 与 P0.052 中。P2.070 [Bit 1]
可以设定 P0.051 与 P0.052 的读取单位。
◼ 当 P0.049.X 设为 1,在读取位置数值时,不清除位置误差。
◼ 当 P0.049.X 设为 2,在读取位置数值时,会同时清除位置误差。
伺服电机使能后,即使处于静止状态,仍会左右摆荡进行微量的位置修正。为避免读取的坐
标数值与电机实际定位不同,可将 P0.049.X 设为 2,使电机的实际位置新至驱动器,同时清
除位置误差。
范例:电机目前定位在 20000,但在正常的情况下,电机位置会在 19999 ~ 20001 间摆动,
当下达读取命令时,若电机位置在 20001,则 20001 会被读取,且驱动器内电机定位会更改
为 20001,即误差量同时被清除;否则当读到 20001 时,驱动器中电机的定位位置却是
20000,如此便会造成命令的误差。
◼ 当定位数值资料被写入到 P0.051 与 P0.052 后,P0.049.X 的设定值会自动回复成 0,代表此
时上位机可以读取 P0.051 与 P0.052 的数值。
◼ P0.050 表示绝对型编码器的状态。当状态显示绝对位置遗失或是绝对圏数溢位时,所读到的
绝对位置是无效的,必须重新建立绝对型原点坐标。
..
..
11-1
CANopen 模式
本章节说明伺服经由 CANopen 通讯功能与上位控制器 (以下简称「上位机」) 通讯时,
需设定之相关参数。
11.1 基本配置 ······················································································· 11-2
11.1.1 支持功能·················································································· 11-2
11.1.2 硬件相关配置············································································ 11-3
11.1.3 CANopen 模式的参数设定··························································· 11-4
11.2 通讯规格 ······················································································· 11-5
11.2.1 伺服通讯架构············································································ 11-5
11.2.2 通讯对象·················································································· 11-6
11.2.2.1 PDO 物件··········································································· 11-7
11.2.2.2 SDO 物件··········································································· 11-8
11.2.2.3 SDO 异常码 (Abort Code) ····················································11-11
11.2.2.4 同步对象 (SYNC) ·······························································11-12
11.2.2.5 紧急物件 (EMCY)·······························································11-13
11.2.2.6 NMT Services ····································································11-14
11.3 CANopen 操作模式·········································································11-17
11.3.1 Profile Position Mode (位置规划模式)············································11-17
11.3.2 Interpolated Position Mode (补间位置模式) ····································11-22
11.3.3 Homing Mode (原点复归模式) 11-25
11.3.4 Profile Velocity Mode (速度规划模式) 11-27
11.3.5 Profile Torque Mode (扭矩规划模式) 11-29
11.4 Object Dictionary 对象字典11-31
11.4.1 对象详述 (Specifications for Objects) 11-31
11.4.2 物件一览表11-32
11.4.3 对象详细数据11-35
11.4.3.1 OD 1XXXh 通讯对象群组······················································11-35
11.4.3.2 OD 2XXXh 伺服参数群组······················································11-54
11.4.3.3 OD 6XXXh 通讯对象群组······················································11-55
11.5 疑难解答 ······················································································11-97
11
CANopen 模式 ASDA-B3
11-2
11
11.1 基本配置
11.1.1 支持功能
台达驱动器支持的 CANopen 功能:
◼ CANopen 通讯协议:NMT、SYNC、SDO、PDO、EMCY。
◼ SDO 传输:非周期性数据交换,供读写参数与通讯相关设定。
◼ PDO 的传送 / 接收:通过时间触发、事件触发、同步传送 (周期)、异步传送 (非周期)。
◼ 节点保护 (Node Guarding)。
◼ 心跳监控 (Heartbeat)。
台达驱动器不支持的 CANopen 功能:
◼ 时间戳 (Time Stamp)。
ASDA-B3CANopen 模式
11-3
11
11.1.2 硬件相关配置
CAN Bus 配线之脚位说明 (RJ-45)
)
1
8
(1) CN3 通讯端口端子座图;(2) CN3 通讯端口线端插头配线定义图
配线定义:
Pin No. 信号名称 说明
1、9 CAN_H CAN_H bus line (dominant high)
2、10 CAN_L CAN_L bus line (dominant low)
3、11 GND_ISO 信号接地
4、12 RS-485- 驱动器端数据传送差分负端
5、13 RS-485+ 驱动器端数据传送差分正端
6、14 - 保留
7、15 GND_ISO 信号接地
8、16 - 保留
◼ 鲍率 (Baud rate) 设定
鲍率及建议最大线长
鲍率 建议最大线长
1 Mbps 25 m
800 Kbps 50 m
500 Kbps (Default) 100 m
250 Kbps 250 m
125 Kbps 500 m
CANopen 模式 ASDA-B3
11-4
11
11.1.3 CANopen 模式的参数设定
用户可依下列步骤连接 CANopen 上位机与伺服驱动器:
1. 设定 CANopen 模式,将参数 P1.001.YX 设为 0C。
2. 设定节点 ID,将 P3.000 设为 0x0001 ~ 0x007F。
3. 设定通讯传输率 (鲍率),将参数 P3.001.Z 设为 4
(Z = 0:125 Kbps;1:250 Kbps;2:500 Kbps;3:800 Kbps;4:1 Mbps)。
4. 建议将 P3.012.Z 设定值由预设的 0 改为 1,以开启参数的断电保持功能。但须注意电子齿
轮比默认值的前后差异。
参数功能
P3.012 = 0x0100 (Z = 1) P3.012 = 0x0000 (Z = 0)
伺服参数 默认值 OD 地址 默认值
电机停止模式 P1.032 0x0000 605Bh 0
S 形平滑曲线的加速常数 P1.034 200 6087h 200
零速度检出准位 P1.038 100
(0.1 rpm) 606Fh 100
(0.1 rpm)
电子齿轮比分子 N1 P1.044 16777216 6093h sub1 1
电子齿轮比分母 M P1.045 100000 6093h sub2 1
速度到达(DO.SP_OK)判断范围 P1.047 10
(rpm) 606Dh 100
(0.1 rpm)
速度到达累计时间 P1.049 0 606Eh 0
最大速度限制 P1.055 依电机
(rpm)
607Fh 依电机
(0.1 rpm)
6080h 依电机
(rpm)
位置控制误差过大警告条件 P2.035 50331648 6065h 50331648
软件极限 - 正向
(PP/CSP/CSV/CST 模式)
P5.008 2147483647 607Dh sub2 2147483647
软件极限 - 反向
(PP/CSP/CSV/CST 模式)
P5.009 -2147483648 607Dh sub1 -2147483648
原点定义值
(HM 模式)
P6.001 0 607Ch 0
5. 建议开启动态煞车功能,P1.032 = 0x0000。
ASDA-B3CANopen 模式
11-5
11
11.2 通讯规格
11.2.1 伺服通讯架构
驱动器的 CANopen 架构如下:
◼ DS301 为通讯层 (Communication Profile):此协议涵盖通讯对象 (PDO、SDO、Sync、
Emergency Object)、NMT service,以及相关通讯对象字典。
◼ DS402 为运动控制层 (Drives and motion control device profile):定义各操作模式的行为,
与实现时所需要的对象索引设定。
CANopen 模式 ASDA-B3
11-6
11
11.2.2 通讯对象
台达驱动器对象字典 (OD) 的默认值是遵照 DS301 协议所定义。所有的 CANopen 数据内包含
11 位的辨识码 (identifier),泛指为「COB-ID」。COB-ID 数据格式如下:
2 1 0
位 功能 说明
Bit 0 ~ Bit 6 Node-ID 数据大小为 7-bit,设定范围 0 ~ 127。
Bit 7 ~ Bit 10 功能码 Function Code 数据大小为 4-bit,设定范围 0 ~ 15。
下表列出可支持的对象及其对应的 COB-ID:
通讯对象 功能码
8 7
Node ID
1 0
COB-ID
10 进制 (16 进制)
对象索引
NMT Service 0 0 0 0 0 0 0 0 0 0 0 0 (0h) -
SYNC 物件 0 0 0 1 0 0 0 0 0 0 0 128 (80h) 1005h ~
1006h
EMCY 物件 0 0 0 1 X X X X X X X 128 (80h) + Node-ID 1014h
TxPDO1 0 0 1 1 X X X X X X X 384 (180h) + Node-ID 1800h
RxPDO1 0 1 0 0 X X X X X X X 512 (200h) + Node-ID 1400h
TxPDO2 0 1 0 1 X X X X X X X 640 (280h) + Node-ID 1801h
RxPDO2 0 1 1 0 X X X X X X X 768 (300h) + Node-ID 1401h
TxPDO3 0 1 1 1 X X X X X X X 896 (380h) + Node-ID 1802h
RxPDO3 1 0 0 0 X X X X X X X 1024 (400h) + Node-ID 1402h
TxPDO4 1 0 0 1 X X X X X X X 1152 (480h) + Node-ID 1803h
RxPDO4 1 0 1 0 X X X X X X X 1280 (500h) + Node-ID 1403h
TxSDO 1 0 1 1 X X X X X X X 1408 (580h) + Node-ID 1200h
RxSDO 1 1 0 0 X X X X X X X 1536 (600h) + Node-ID 1200h
NMT Error
Control 1 1 1 0 X X X X X X X 1792 (700h) + Node-ID 1016h、
1017h
注:0 表示该位关闭;1 表示该位开启;X 表示依需求设定。
通讯对象字典:
通讯对象索引 对象区域
1000h ~ 1FFFh 通讯层 Communication Profile Area
2000h ~ 2FFFh 台达自定义区 Manufacturer Specific Profile Area
6000h ~ 9FFFh 应用层 Standardized Device Profile Area
ASDA-B3CANopen 模式
11-7
11
11.2.2.1 PDO 物件
通过 PDO (Process Data Object) 可以达到实时的 (real-time) 数据传输。PDO 可分成两种:发送
的 TxPDO 和接收的 RxPDO。此定义是从驱动器的角度来看,例如发送 TxPDO 是指驱动器发送至
上位机的物件。PDO 必须设定通讯参数与映射参数才能使用,如下表:
接收 RxPDO 发送 TxPDO
通讯对象 通讯对象索引 映像对象索引 通讯对象 通讯对象索引 映像对象索引
RxPDO1 1400h 1600h TxPDO1 1800h 1A00h
RxPDO2 1401h 1601h TxPDO2 1801h 1A01h
RxPDO3 1402h 1602h TxPDO3 1802h 1A02h
RxPDO4 1403h 1603h TxPDO4 1803h 1A03h
PDO 的映射参数格式为:
5
位 功能
Bit 0 ~ Bit 7 对象数据长度
Bit 8 ~ Bit 15 对象子索引
Bit 16 ~ Bit 31 对象索引
范例:
若要设定第一组 PDO 内配置 3 个 PDO,分别是 OD 6040h、OD 607Ah、OD 6060h,设定如
下:
接收 PDO 的
映射参数设定
资料 说明
OD 1600h sub0 3 设定 3 个 PDO 映射数目
OD 1600h sub1 6040h 00h 10h 映像控制指令 (OD 6040h),数据长度 16-bit
OD 1600h sub2 607Ah 00h 20h 映像目标位置 (OD 607Ah),数据长度 32-bit
OD 1600h sub3 6060h 00h 08h 映像模式设定 (OD 6060h),数据长度 8-bit
备注 总长度大小为 38h (56-bit),符合小于 64-bit 的规范。
CANopen 模式 ASDA-B3
11-8
11
11.2.2.2 SDO 物件
通过 Service Data Objects (SDO),用户可写入或读取物件 (Object)。SDO message 格式主要
是由 COB-ID 与 SDO 封包数据所组成。SDO 封包数据最大可传送 4 bytes。
驱动器
h+
-
(
1 2 6
字节 功能
Byte 0 功能码 Command Code
Byte 1 ~ Byte 2 对象索引 Index
Byte 3 对象子索引 Sub-index
Byte 4 ~ Byte 7 资料 Data
◼ SDO 写入
上位机若欲使用 SDO 写入信息,需依照 SDO 格式写入功能码、索引、数据。驱动器再依照写入
的信息,回复相应的讯息。
下图为上位机 SDO 写入的封包格式:
驱动器
h
-
(
1 2 6
功能码 对象索引 子索引 资料
说明
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
23h - - - 资料 写入 4 bytes 资料
2Bh - - - 资料 写入 2 bytes 资料
2Fh - - - 资料 写入 1 byte 资料
ASDA-B3CANopen 模式
11-9
11
下图为上位机 SDO 写入时,驱动器回传的封包格式:
h+
-
(
1 2 6
功能码 对象索引 子索引 资料
说明
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
60h - - - 写入成功回复
80h - - - SDO 异常码 (Abort Code) 错误码回复
注:SDO 异常码 (Abort Code) 请详见 11.2.2.3 节。
范例:
将数值 300,000 (493E0h) 写入伺服参数 P7.001 (OD 2701h)。
写入格式如下:
功能码 对象索引 子索引 资料
说明
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
23h 01 27 0 E0 93 04 00 写入 4 bytes 资料
回传封包如下:
功能码 对象索引 子索引 资料
说明
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
60h 01 27 0 写入成功回复
CANopen 模式 ASDA-B3
11-10
11
◼ SDO 读取
上位机若欲使用 SDO 读取信息,需依照 SDO 格式写入功能码和索引。驱动器再依照欲读取的对
象,响应该对象的数据。
下图为上位机 SDO 读取的封包格式:
驱动器
-
(
1 2 6
功能码 对象索引 子索引 资料
说明
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
40h - - - 读取数据
下图为上位机 SDO 读取时,驱动器回传的封包格式:
驱动器
-
(
1 2 6
功能码 对象索引 子索引 资料
说明
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
43h - - - 资料 读取 4 bytes 数据
4Bh - - - 资料 读取 2 bytes 数据
4Fh - - - 资料 读取 1 byte 数据
80h - - - SDO 异常码 (Abort Code) 错误码回复
注:SDO 异常码 (Abort Code) 请详见 11.2.2.3 节。
ASDA-B3CANopen 模式
11-11
11
11.2.2.3 SDO 异常码 (Abort Code)
异常码如下表:
SDO 异常码 说明
05040001h 客户 / 伺服命令无效或不存在
06010002h 尝试写入只读对象
06020000h 对象不存在于对象字典内
06040041h 无法将对象映像至 PDO
06040042h 映像的物件数目及长度超过 PDO 长度
06060000h 因为硬件错误导致存取失败 (储存或还原错误)
06070010h 数据型态不符;参数长度不符
06090011h Sub-index 不存在
06090030h 参数数值超出范围 (写入)
08000000h 一般错误
080000a1h 从 EEPROM 读取对象时发生错误
080000a2h 将对象写入 EEPROM 时发生错误
080000a3h 存取 EEPROM 时的范围无效
080000a4h 存取 EEPROM 时,EEPROM 的数据内容发生错误
080000a5h 将数据写入加密区时,输入的密码错误
08000020h 无法传输数据或将数据储存至应用程序内
08000021h
因为限制 (以错误状态储存或还原) 导致无法传输数据,或无法将数
据储存至应用程序内
08000022h 对象使用中
CANopen 模式 ASDA-B3
11-12
11
11.2.2.4 同步对象 (SYNC)
同步对象 (Synchronization Object) 是由 SYNC 传送端 (Producer) 周期性的去广播。SYNC 封
包内不带任何资料 (L = 0)。
SYNC 协议如下图:
)
)
Indication
SYNC 对象用于实现上位机与驱动器之间 PDO 传送与接收同步性,而 SYNC 对象传送周期则由
对象 OD 1006h 设定 (详细设定请参阅 11.4 节)。
下图说明 RxPDO (驱动器接收) 与上位机传送 SYNC 的时序关系。控制器会在两个 SYNC 之间
(通讯周期) 传送 RxPDO 给驱动器,而驱动器在收到 SYNC 时,才会执行上一个通讯周期所收到
的 RxPDO。
个周期
ASDA-B3CANopen 模式
11-13
11
下图说明 TxPDO (驱动器传送) 与上位机传送 SYNC 的时序关系。驱动器在收到 SYNC 当下,
将 TxPDO 数据传送给上位机。
11.2.2.5 紧急物件 (EMCY)
当伺服侦测到异常时,会发送异警并通过紧急物件 (Emergency Object) 通知上位机。紧急物件
每次仅能传输一个异警。当有优先权更高的异警时,若前一次优先权较低的异警尚未解除,优先
权较高的异警会覆盖前次并作为紧急对象通知上位机。
(
1 2 6
错误码 Error Register 伺服异警 无
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 ~ 7
错误码对应表
请详见 12.5.2 节 错误异警码
OD 1001h
请详见第 14 章
异警排除
CANopen 模式 ASDA-B3
11-14
11
11.2.2.6 NMT Services
◼ 状态机 State Machine
NMT 状态机如下图。驱动器在完成初始化 (Initialization) 后,即进入 Pre-Operational。NMT 状
态机决定通讯功能的行为,例如:PDO 仅在 Operational 状态下作用。
-
(1)
()
(4) ()
(7)
(8)
(
(11)
()
()
()
状态 说明
Initialization
驱动器在上电后成功完成初始化,且无任何错误发生。此状态中仍无法传送封
包。
Pre-Operational
可经由 SDO 交换数据。若伺服驱动器发生异警,将会传送紧急讯息通知上位
机。
Stopped 可使用 SDO 和 TxPDO 数据封包与上位机交换数据。
Operational 可进行所有的数据交换,包括 SDO 和 PDO (TxPDO 及 RxPDO)。
下表说明各通讯状态所能使用的通讯对象:
通讯对象 Initialization Pre-Operational Operational Stopped
PDO - - V TxPDO
SDO - V V V
Synchronization Object - V V -
Emergency Object V V -
Boot-Up Object V - - -
NMT Object - V V V
ASDA-B3CANopen 模式
11-15
11
◼ Heartbeat
Heartbeat 的机制主要是使传送端周期性的发送封包给接收端。传送端可为上位机或是驱动器;
相对地,上位机或驱动器亦可做为接收端。
若欲将驱动器作为接收端使用、由上位机发送 Heartbeat,用户需对驱动器设定 Heartbeat 接收
端时间 (OD 1016h)。当驱动器在接收时间内未收到 Heartbeat 信号,即触发 Heartbeat 事件
(AL180 异警) 来提醒用户。Heartbeat 接收端时间 (OD 1016h) 定义为驱动器预期收到
Heartbeat 的时间。使用上,先设定 Heartbeat 接收端时间 (OD 1016h),之后只需让上位机发送
Heartbeat 信号,即开始启动 Heartbeat 机制。Heartbeat 传送端时间由上位机设定,而
Heartbeat 接收端时间 (OD 1016h) 的设定必须大于传送端时间。这是由于在传送 Heartbeat 上
会有延迟及其他不可控的外在因素,因此必须保留一个容忍裕度值。
h
--
-
(1h)
(1h)
S 代码说明如下:
S 功能
0 Bootup
4 Stopped
5 Operational
127 Pre-Operational
若欲将驱动器作为传送端使用,Heartbeat 则由驱动器发送。当上位机于接收时间内未收到
Heartbeat 信号,即触发 Heartbeat 事件,并对应到上位机自行定义的异警。
驱动器可同时扮演两个角色,接收者与传送端,此时需同时设定 OD 1016h 与 OD 1017h,且上
位机也须同时设定作为传送端与接收端。
CANopen 模式 ASDA-B3
11-16
11
◼ Node/Life Guarding
Node/Life Guarding 的机制与 Heartbeat 雷同。两者差异主要在 Heartbeat 仅单方由接收端判断有
无封包,传送端不做判断。Node/Life Guarding 的机制在于主从站之间为双向关系。主站会周期性
发送封包给从站,且从站需在设定的 Guard time (OD 100Ch) 内回复封包给主站,否则将出现异
常。从站则必须设定 Life time,且主站需在 Guard time 时间内发送封包。若从站未收到封包,则
会跳异警 AL180。Life time 的设定是通过 Guard time 乘上一个倍率值 Life time factor (OD 100Dh)
计算而成。
Node/Life Guarding 架构如下图:
- -
Slave
Node
- 7 6 ~ 0
- 7 6 ~ 0
1 0
位 功能 说明
Bit 0 ~ Bit 6
驱动器状态
State of the NMT Slave
4:Stopped
5:Operational
127:Pre-Operational
Bit 7 保留 -
ASDA-B3CANopen 模式
11-17
11
11.3 CANopen 操作模式
本章节说明伺服在 CANopen 模式下,各项由 CiA DS402 所规范的操作模式 (Modes of
operation),内容包括基本操作设定与相关对象说明。
11.3.1 Profile Position Mode (位置规划模式)
伺服驱动器接收到由上位机传送的位置命令后,即控制伺服电机到达目标位置。在位置规划 (PP)
模式下,上位机仅在一开始时告知驱动器目标位置、速度命令与加减速等相关设定。从命令触发
到到达目标位置这中间的运动规划,都是由驱动器内部的运动命令产生器去执行。
下图为驱动器的位置规划模式架构图:
-
+
-
CANopen 模式 ASDA-B3
11-18
11
操作步骤:
1. 设定模式,OD 6060h = 01h,为位置规划模式。
2. 设定目标位置,OD 607Ah (单位:PUU)。
3. 设定速度命令,OD 6081h (单位:PUU/sec)。
4. 设定加速时间斜率,OD 6083h (单位:ms)。
5. 设定减速时间斜率,OD 6084h (单位:ms)。
6. 设定控制指令 OD 6040h,请依照以下步骤操作。步骤 6.1 与 6.2 是为了使驱动器的状态
机 (state machine) 进入准备状态。状态机说明请详见 11.4.3.3 节的 OD 6040h 说明。
步骤 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 说明
6.1 0 0 1 1 0 Shutdown (关闭)
6.2 0 0 1 1 1 Switch on (伺服 Servo On 准备)
6.3 0 1 1 1 1 Enable operation (伺服 Servo On)
6.4 1 1 1 1 1 命令触发 (正缘触发)
7. 在完成第一段运动命令后,若欲执行下一段运动命令,需再设定目标位置、速度等条件。
8. 设定控制指令 OD 6040h。由于命令触发是正缘触发,因此必须先将 Bit 4 切为 Off 再切至
On。
步骤 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 说明
8.1 0 1 1 1 1 Enable operation (伺服 Servo On)
8.2 1 1 1 1 1 命令触发 (正缘触发)
读取驱动器信息:
1. 读取 OD 6064h 取得目前电机回授位置。
2. 读取 OD 6041h 取得驱动器的状态,包括 following error (追随误差)、set-point
acknowledge (伺服收到命令信号通知) 与 target reached (目标到达通知)。




