台达伺服初始化:
p2.8=10,初始化( 要重新上电 )
p3.0=0x1E, 从站30#,
p3.1=0x201,从站通讯96N82,
p3.2=6, rtu_N82,
p3.3=0, 断网AL20,0_继续转,1_刹车p5.3,
p3.4=0, 断网看门狗,0_关, xxx_秒,
p3.5=1, 伺服A2专用, 0_只用rs232, 1_只用RS485,[需要再重新上电]
启动策略
''从站地址,30#
从站地址 = 0x1E
脚本返回值 = !SetDevice(设备0,6,"SetAddress(从站地址)")
''DI引脚来源,[p3.6=0x1FFF],0x30D=0x1FFF,
''解决急停报警AL13,
寄存器地址 = 1+0x30C
寄存器value = 0x1FFF
脚本返回值 = !SetDevice(设备0,6,"Write(4,寄存器地址,WUB=寄存器value)")''伺服工作模式:PR + T, [p1.1=h1009], 0x103=0x1009
寄存器地址 = 1+ 0x102
寄存器value = 0x1009
脚本返回值 = !SetDevice(设备0, 6, "Write(4,寄存器地址,WUB=寄存器value)")''增加DI8_复位功能,P2.36=0x102, 0x249=0x102,
寄存器地址 = 1+ 0x248
寄存器value = 0x102
脚本返回值 = !SetDevice(设备0,6,"Write(4,寄存器地址,WUB=寄存器value)")
''回零配置----力矩回零,P5.04 = h109, 0x509=0x109,改方向0x509=0x10A,
寄存器地址 = 1+ 0x508
寄存器value = 0x109
脚本返回值 = !SetDevice(设备0,6,"Write(4,寄存器地址,WUB=寄存器value)")
''----[重新上电]-----------------------------''伺服使能-----P4.7=0x51, 0x40F=0x51,--------[使用1号力矩P1.12=100%]
!SetDevice(设备0, 6, "Write(4,1039,WUB=81)")''--------------------------------------
''开始回零,P5.07 = 0,0x50F=0
''脚本返回值 = !SetDevice(设备0, 6, "Write(4,1295,WUB=0)")''---------------------------------------
寄存器地址 = 1+ 0x50E
寄存器value = 0
脚本返回值 = !SetDevice(设备0,6,"Write(4,寄存器地址,WUB=寄存器value)")''DI8_复位,
''复位true[P4.7_8]0x40F=
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1039,BT08=1)")
''复位false
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1039,BT08=0)")
PR#功能
PR#0, 电机回零_( 只能回零 )
PR#1, 相对运动
PR#2, 绝对运动
PR#3, 相对增量_ ( 上次命令终点坐标 + 相对坐标 )
PR#4, 相对探针_ ( 上次探针坐标 + 相对坐标 )
''#0 回零(不可修改),回零方式P5.04 = 0x109, 或者 P5.04 = 0x10A,
''
''#1相对, [p6.2=0x111142],0x605=0x111142,{ 相对 }
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1541,DUB=1118530)")''
''#2绝对, [p6.4=0x111132],0x609=0x111132,
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1545,DUB=1118514)")''
''#3相对增量, [p6.6=0x111182],0x60D=0x111182, {相对增量} 上个命令终点坐标 + 相对坐标
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1549,DUB=1118594)")''
''#4相对探针, [p6.8=0x1111F2],0x611=0x1111F2, 上个探针坐标 + 相对坐标
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1553,DUB=1118706)")
相对运动
''#1坐标, P6.3, 0x607,
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1543,DUB=相对坐标)")
''呼叫#1
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1295,WUB=1)")
绝对定位
''#2绝对坐标p6.5, 0x60B,
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1547,DUB=绝对坐标)")''呼叫#2
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1295,WUB=2)")
相对增量
''#3相对增量p6.7, 0x60F,
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1551,DUB=相对坐标)")''呼叫#3
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1295,WUB=3)")
相对探针
''#4相对探针p6.9, 0x613,
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1555,DUB=相对坐标)")''呼叫#4
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1295,WUB=4)")
电机速度
我用的是1#速度,
P5.61
电机坐标
用RS485 读取电机坐标,读寄存器 P0.09
p0.9(显示), p0.17(配置)
p0.17=1, // 命令坐标值
RS485监视变量
P0.45(配置), P0.44(显示),
复位
''DI8_复位,
''复位true[P4.7_8]0x40F=
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1039,BT08=1)")
''复位false
脚本返回值 = !SetDevice(设备0, 6, "Write(4,1039,BT08=0)")
伺服电机参数:
电子齿轮比: p1.44分子, p1.45分母,
P1.55 电机最高速度
P1.54到位精度( 编码器脉冲数 )默认1%
P2.35 最大误差位置,默认3圈半. AL09, p2.50复位误差坐标
p1.57 防撞开关
p1.56 预过载
P1.02 限扭,限速[ p1.12 p1.09]
刹车: p1.32
p1.42,通电延时ms,
p1.43,断电延时ms,