CDHD激光干涉仪测试脚本代码分享
Written on
October
6th, 2025
by
Zhou Heng
© Zhou Heng
在高创的官方网站资料下载中心有 驱动脚本编写指南.pdf下载
在高创官方网站有很多有用的资料,还可以询问当地的代理等
;=== 配合激光干涉仪测试脚本===
en ;驱动器去使能
unitslinpos 3 ;运动单位(mm)
opmode 8 ;运动模式
acc 200 ;加速度
dec 200 ;减速度
#var $movespeed_100 = 20 ;运动速度
#var $Single_trip_range= 10 ;运动距离,200/20,调整数字的正负号可以调整起始方向,正为0到200,-为0到-200
#var $SingleTripNum = 6 ;往返3次,3 * 2 = 6 ,
#Label run_num ;测试20个点
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;1
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;2
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;3
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;4
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;5
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;6
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;7
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;8
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;9
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;10-1(10)
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;1
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;2
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;3
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;4
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;5
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;6
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;7
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;8
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;9
#Delay 3200
MOVEINC $Single_trip_range $movespeed_100 ;10-2(20)
#Delay 3200
#Delay 3200
$Single_trip_range = -$Single_trip_range ;电机运动反向
$SingleTripNum =$SingleTripNum - 1
#IF $SingleTripNum > 0 run_num
mb
k
;=== 配合激光干涉仪测试脚本 (注:此代码未上驱动器验证,仅供参考,注意stop)===
en ;驱动器去使能
unitslinpos 3 ;运动单位(mm)
opmode 8 ;运动模式
acc 200 ;加速度
dec 200 ;减速度
#var $movespeed = 20 ;运动速度: 20mm/s
#var $move_distance = 10 ;每次移动距离: 10mm
#var $points_per_direction = 20 ;每个方向移动点数
#var $trip_count = 6 ;方向改变次数 (3次往返 = 6次方向改变)
#var $delay_time = 3200 ;延时时间: 3200ms
#var $current_direction = 1 ;当前运动方向 (1=正向, -1=反向),此数*移动距离=控制移动距离的方向
#var $move_sequence = 0 ;移动序列计数器
;=== 主循环:控制方向改变 ===
#Label direction_loop
;=== 内循环:每个方向的连续移动 ===
#var $point_count = 0 ;点计数器重置
#Label move_loop
MOVEINC $move_distance * $current_direction $movespeed
#Delay $delay_time
$point_count = $point_count + 1
#if $point_count < $points_per_direction move_loop
;=== 更新方向和计数器 ===
$current_direction = -$current_direction ;改变运动方向
$trip_count = $trip_count - 1 ;减少剩余行程计数
;=== 检查是否继续循环 ===
#if $trip_count > 0 direction_loop
;=== 程序结束 ===
mb
k
Feel free to share!