如果需要通过硬件定时器对输出口进行操作,那么下面这个指令一定要来学习!
(2)测试代码详情
'主函数逻辑 '轴参数初始化 BASE(0,1,2) DPOS=0,0,0 MPOS=0,0,0 UNITS=100,100,100 MAX_SPEED=10000000,10000000,10000000 '停止线程和轴运动 STOPTASK 1 RAPIDSTOP(2) WAIT IDLE '清除控制器报警 DATUM(0) '开始轨迹规划 '单在Sin曲线轨迹规划插入对输出口的操作指令 MySingleAxisSinOP(0,10,Pi/50,0,0.25) END '/****************************************************************************** '函数功能:单轴sin函数的轨迹+输出口多次输出 '函数模型:y=10*sin(Pi/50*x+0) ' 输 入 :AxisNum(运动的轴) ' 输 出 : '具体需求:要求Sin函数每隔0.5个周期打开一次输出口,并且输出口的以脉冲的形式输出4个脉冲 '******************************************************************************/ GLOBAL SUB MySingSinOP_HwTime(AxisNum) LOCAL lvTime,Space lvTime=0 Space=0.5 BASE(AxisNum) MOVE_OP(0,OFF) MOVE_HWTIMER(0, 60000, 30000, 4, OFF, 0) MOVE_HWTIMER(2, 60000, 30000, 4, OFF, 0) WHILE 1 MOVE_PTABS(10,10*SIN(PI*lvTime/50+0)) '检测是否执行到Space个周期,执行到需要打开/关闭输出口,mod是求余指令 IF lvTime MOD (50) = 0THEN MOVE_OP(0,ON) ENDIF lvTime=lvTime+1 DELAY(1) WEND ENDSUB(3)测试结果