文章

CDHD激光干涉仪测试脚本代码

CDHD激光干涉仪测试脚本代码

在高创的官方网站资料下载中心有 驱动脚本编写指南.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
本文由作者按照 CC BY 4.0 进行授权