### DAC -- 总线轴模拟量控制

类型 | 轴参数
描述 | 伺服轴 DA 直接控制，速度或力矩模式下支持。 单位为 DA 模块的刻度，12 为或 16 位。 速度控制时要看驱动器具体单位。 力矩控制时单位为千分之一，等于 1000 时表示 100%力矩。
语法 | VAR1 = DAC，DAC = expression
使用控制器 | 带 EtherCAT 接口或 Rtex 接口，2017 以后固件支持
例程 | 例一 Rtex 速度控制 请先使用 Rtex 初始化例程，并将例程中的 ATYPE 设置为 51。 然后可在 ZDevelop 在线命令直接发送 dac 指令，如下图 此时电机会以 10r/min 的速度旋转，发送 dac= - 10 会反向旋转。 也可以在程序中发送 dac 指令。 速度单位根据驱动器手册确认，如下： 指令速度 [大小]：带符号 32bit [单位]：通过 Pr7.25（RTEX 速度单位）设定
Pr7.25 | 单位
0 | [r/min]
1 | [指令单位/s]
[设定单位]：负向最大过速度等级~正向最大过速度等级 r/min 单位下设定时，在内部演算时换算到指令单位/s，换算后的值限制在以下范围：-80000001h~7FFFFFFFh 此时单位为【r/min】 例二 Rtex 力矩控制 请先将驱动器参数 pr6.47 的第一位置为 0，关闭 2 自由度控制模式；参数 pr3.17 设置速度限制，如下图。（参照松下 Rtex 手册） Pr3.17(速度限制选择)的设定值是 1 时，可以通过 SL_SW 切换转矩控制时的速度限制值。
分类 | 3 | 3 | 3
No. | 17 | 21 | 22
属性 | B | B | B
参数名称 | 速度限制选择 | 速度限制值 1 | 速度限制值 2
设定范围 | 0~1 | 0~20000 | 0~20000
单位 | / | r/min | r/min
功能 |
值 | SL_SW
0 | 1
0 | Pr3.21
1 | Pr3.21 | Pr3.22
设定转矩控制时的速度限制值的选择方式 | 设定转矩控制时的速度限制；转矩控制中在不超过速度限制值设定的速度内进行控制，另外，内部值被 Pr5.13(过速度等级)、Pr6.15（第 二过速度等级）、Pr9.10（最大过速度等级）的最小设定速度进行限制 | Pr3.17（速度限制选择）=1 时，设定 SL_SW 为 1 时的速度限制，另外，内部值被 Pr5.13（过速度等级）、Pr6.15（第二过速度等级）、Pr9.10（最大过速度等级）的最小设定速度进行限制
再使用 Rtex 初始化例程，并将例程中的 ATYPE 设置为 52。 然后可在 ZDevelop 在线命令直接发送 dac 指令，此时电机会开始转动。 当前驱动器为 0.03 的力矩，如果 dac 发送过小时，电机无法克服摩擦力，不能转动。 也可以在程序中发送 dac 指令。 力矩控制时 dac 的单位为千分之一的力矩，dac=1000 是表示 100% [大小]：带符号 32bit [单位]：0.1% [设定范围]：负向电机最大转矩~正向电机最大转矩 最大转矩限制[%]=100×Pr9.07/(Pr9.06×2 ½) 例三 EtherCAT 速度控制 FOR I=0 TO 1 '初次使用将所有轴设为普通脉冲类型 ATYPE(I)=1 NEXT SLOT_SCAN(0) '总线扫描开始 IF NODE_COUNT(0,0)>0 THEN AXIS_ADDRESS(0)=1 '将第一个驱动器映射到轴 0 ATYPE(0)=66 '66 为速度控制模式 DRIVE_PROFILE(0)=20 '速度控制要设置为 20 DELAY (200) SLOT_START(0) '总线扫描成功，启动总线 DRIVE_CONTROLWORD(0)=128 '清除驱动器错误 DELAY (2) DRIVE_CONTROLWORD(0)=6 DELAY (2) DRIVE_CONTROLWORD(0)=15 DELAY (2) DELAY(20) DATUM(0) '清除控制器错误 BASE(0) AXIS_ENABLE=1 '映射轴使能打开 WDOG=1 '轴使能 DAC=10000 '电机以 10000 脉冲每秒的速度转动 ENDIF 例四 EtherCAT 力矩控制 将例三中的 ATYPE 改为 67，DRIVE_PROFILE 改为 30 即可。 此时 dac 发送范围 0~1000,1000 表示 100%力矩，反向选择发送负值即可。
相关指令 | SERVO