5 程序和注释 自动控制网www.eadianqi.com版权所有 //标题:用脉冲输出进行定位控制 自动控制网www.eadianqi.com版权所有 //主程序 自动控制网www.eadianqi.com版权所有 ld sm0.1 自动控制网www.eadianqi.com版权所有 //仅首次扫描周期sm0.1才为1。 自动控制网www.eadianqi.com版权所有 r m0.0,128 自动控制网www.eadianqi.com版权所有 //md0至md12复位 自动控制网www.eadianqi.com版权所有 atch 0,19 本文来自www.eadianqi.com //把中断程序0分配给中断事件19(脉冲串终止) 本文来自www.eadianqi.com eni 自动控制网www.eadianqi.com版权所有 //允许中断 本文来自www.eadianqi.com //脉冲输出功能的初始化 本文来自www.eadianqi.com
movw 500,smw68 本文来自www.eadianqi.com //脉冲周期t=500us 本文来自www.eadianqi.com
movw 0,smw70 自动控制网www.eadianqi.com版权所有 //脉冲宽度为0(脉冲调制) 自动控制网www.eadianqi.com版权所有
movd 429496700,smd72 本文来自www.eadianqi.com //为参考点设定的最大脉冲数 本文来自www.eadianqi.com //设置逆时针旋转 自动控制网www.eadianqi.com版权所有 ldn m0.1 //若电机停止 自动控制网www.eadianqi.com版权所有 a i1.5 //且旋转方向开关=1 本文来自www.eadianqi.com s q0.2,1 //则逆时针旋转(q0.2=1) 自动控制网www.eadianqi.com版权所有
//设置顺时针旋转 本文来自www.eadianqi.com ldn m0.1 //若电机停止 自动控制网www.eadianqi.com版权所有 an i1.5 //且旋转方向开关=0 本文来自www.eadianqi.com
r q0.2,1 //则逆时针旋转(q0.2=0) 自动控制网www.eadianqi.com版权所有 //联锁 自动控制网www.eadianqi.com版权所有 ld i1.1 本文来自www.eadianqi.com //若按“stop”(停止)按钮 自动控制网www.eadianqi.com版权所有 s m0.2,1 //则激活联锁(m0.2=1) 自动控制网www.eadianqi.com版权所有 //解除联锁 自动控制网www.eadianqi.com版权所有
ldn i1.1 本文来自www.eadianqi.com //若“start”(启动)按钮松开 自动控制网www.eadianqi.com版权所有 an i1.0 自动控制网www.eadianqi.com版权所有
//且“stop”(停止)按钮松开 本文来自www.eadianqi.com
r m0.2,1 //则解除联锁(m0.2=0) 本文来自www.eadianqi.com //确定操作模式(参考点定位控制) 本文来自www.eadianqi.com ld i1.4 自动控制网www.eadianqi.com版权所有 //若按“设置/取消参考点”按钮 自动控制网www.eadianqi.com版权所有 eu //上升沿 自动控制网www.eadianqi.com版权所有 call 1 //则调用子程序1 自动控制网www.eadianqi.com版权所有 //启动电机 自动控制网www.eadianqi.com版权所有 ld i1.0 本文来自www.eadianqi.com //若按“start”(启动)按钮 自动控制网www.eadianqi.com版权所有 eu //上升沿 本文来自www.eadianqi.com an m0.1 //且电机停止 自动控制网www.eadianqi.com版权所有
an m0.2 //且无联锁 本文来自www.eadianqi.com
ad≥ smd72,1 本文来自www.eadianqi.com //且步数≥1,则 自动控制网www.eadianqi.com版权所有 movb 16#85,smb67 本文来自www.eadianqi.com //置脉冲输出功能(pto)的控制位 自动控制网www.eadianqi.com版权所有 pls 0 //启动脉冲输出(q0.0) 本文来自www.eadianqi.com s m0.1,1 本文来自www.eadianqi.com //“电机运行”标志位置位(m0.1=1) 自动控制网www.eadianqi.com版权所有 //定位控制 自动控制网www.eadianqi.com版权所有
ld m0.3 自动控制网www.eadianqi.com版权所有 //若已激活“定位控制” 操作模式 本文来自www.eadianqi.com an m0.1 //且电机停止 自动控制网www.eadianqi.com版权所有
call 2 //则调用子程序2 本文来自www.eadianqi.com //停止电机 本文来自www.eadianqi.com
ld i1.1 本文来自www.eadianqi.com //若按“stop”(停止)按钮 本文来自www.eadianqi.com eu //上升沿 自动控制网www.eadianqi.com版权所有
a m0.1 //且电机运行,则 本文来自www.eadianqi.com call 0 //则调用子程序0 自动控制网www.eadianqi.com版权所有
mend //主程序结束 本文来自www.eadianqi.com //子程序1 本文来自www.eadianqi.com sbr 0 //子程序0停止电机 自动控制网www.eadianqi.com版权所有 movb 16#cb,smb67 本文来自www.eadianqi.com
//激活脉宽调制 本文来自www.eadianqi.com pls 0 //停止输出脉冲到q0.0 自动控制网www.eadianqi.com版权所有 r m0.1,1 自动控制网www.eadianqi.com版权所有 //“电机运行”标志位复位(m0.1=0) 自动控制网www.eadianqi.com版权所有 ret //子程序0结束 自动控制网www.eadianqi.com版权所有
sbr1 自动控制网www.eadianqi.com版权所有
//子程序1,“确定操作模式” 自动控制网www.eadianqi.com版权所有 ld m0.1 //若电机运行 自动控制网www.eadianqi.com版权所有 call 0 自动控制网www.eadianqi.com版权所有 //则调用子程序0,停止电机 本文来自www.eadianqi.com //申请“参考点曲线” 本文来自www.eadianqi.com ld m0.3 自动控制网www.eadianqi.com版权所有
//若已激活“定位控制”,则 本文来自www.eadianqi.com r m0.3,1 自动控制网www.eadianqi.com版权所有
//参考点标志位;复位(m0.3=0) 自动控制网www.eadianqi.com版权所有 r q1.0,1 本文来自www.eadianqi.com
//取消“定位控制激活”信息(q1.0=0) 自动控制网www.eadianqi.com版权所有
movd 429496700,smd72 本文来自www.eadianqi.com //为新的“参考点曲线”设定最大的脉冲数。 本文来自www.eadianqi.com cret 本文来自www.eadianqi.com
//条件返回到主程序。 自动控制网www.eadianqi.com版权所有
//申请“定位控制” 本文来自www.eadianqi.com ldn m0.3 自动控制网www.eadianqi.com版权所有
//若未设置参考点(m0.3=0),则 自动控制网www.eadianqi.com版权所有 s m0.3,1 本文来自www.eadianqi.com //参考点标志位置位(m0.3=1) 本文来自www.eadianqi.com
s q1.0,1 本文来自www.eadianqi.com
//输出“定位控制激活”信息(q1.0=1) 本文来自www.eadianqi.com ret //子程序1结束 本文来自www.eadianqi.com //子程序2 自动控制网www.eadianqi.com版权所有 sbr2 //子程序2,“定位控制” 本文来自www.eadianqi.com
movb ib0,mb11 本文来自www.eadianqi.com //把定位角度从ibo拷到md8的最低有效字节mb11。 本文来自www.eadianqi.com r m8.0,24 本文来自www.eadianqi.com //mb8至mb10清零 自动控制网www.eadianqi.com版权所有 div 9,md8 自动控制网www.eadianqi.com版权所有 //角度/9=q1+r1 自动控制网www.eadianqi.com版权所有 movw mw8,mw14 本文来自www.eadianqi.com //把r1存入md12 本文来自www.eadianqi.com
mul 25,md8 本文来自www.eadianqi.com
//q1×25→md8 自动控制网www.eadianqi.com版权所有 mul 25,md12 本文来自www.eadianqi.com
div 9,md12 自动控制网www.eadianqi.com版权所有 // r1×25/9= q2+r2 本文来自www.eadianqi.com call 3 自动控制网www.eadianqi.com版权所有 //在子程序3中循环步数 本文来自www.eadianqi.com movw 0,mw12 //删除r2 本文来自www.eadianqi.com
+d md12,md8 本文来自www.eadianqi.com //把步数写入md8 本文来自www.eadianqi.com
movd md8,smd72 自动控制网www.eadianqi.com版权所有 //把步数传到smd72 本文来自www.eadianqi.com ret //子程序2结束 自动控制网www.eadianqi.com版权所有
//子程序3 自动控制网www.eadianqi.com版权所有
sbr3 //子程序3,“循环步数” 自动控制网www.eadianqi.com版权所有 ldw≥mw12,5 //如果r2≥5/9,则 自动控制网www.eadianqi.com版权所有 incw mw14 //步数增加1。 本文来自www.eadianqi.com ret 自动控制网www.eadianqi.com版权所有 //子程序3结束 本文来自www.eadianqi.com //中断程序0,“脉冲输出终止” 本文来自www.eadianqi.com int0 //中断程序0 本文来自www.eadianqi.com r m0.1,1 自动控制网www.eadianqi.com版权所有 //“电机运行”标志位复位(m0.1=0) 自动控制网www.eadianqi.com版权所有 ret //子程序0结束 本文来自www.eadianqi.com 6 结束语 本文来自www.eadianqi.com
通过对硬件和软件的合理设计,用较为价廉的西门子s7-200系列plc作为核心控制部件,构成的定位系统能够达到精确定位的目的。特别应指出的是通过灵活、巧妙的应用plc的指令系统,可使系统实现高精度定位。 本文来自www.eadianqi.com
|