三轴联动可编程控制器使用实例说明书.docx
《三轴联动可编程控制器使用实例说明书.docx》由会员分享,可在线阅读,更多相关《三轴联动可编程控制器使用实例说明书.docx(16页珍藏版)》请在冰豆网上搜索。
三轴联动可编程控制器使用实例说明书
1.用模拟量1调速(外壳上标写A1的可调电位器)1
1a.接上启动开关的的正反转2
2.上电时三个轴轮流回原点,之后正反转循环3
3.上电回原点后正反转来回循环,并用电位器调节电机转反转动量3
4.在两个限位开关内来回移动4
5.在两个限位开关内来回移动,可接暂停开关5
6.ZYZ三轴坐标任意两点间来回移动5
6a.有循环次数的两点间转动9
7.X轴横向钻孔9
8.横竖排列钻孔10
9.N行I列钻孔使用变量适合用触屏控制11
10.三轴点动12
控制器上电后,三个进程指令各自按第一行,第二行,第三……顺序执行,执行到最后一行后,自动返回到第一行循环执行。
当执行到判断指令等跳转功能的指令时,才会改变原有的执行顺序。
程序三个进程并行执行,作用基本一样。
但第三进程不能被“
”指令停止。
三个进程都可以有使电机转动的指令。
当电机还在转动时,如再次执行到转动指令,则该条指无效。
电机转动时,如果转动的方向与编程时的理论转动方向相反时,两相电机可以对调其中一相的两根线来解决。
其它电机也可以用调换接线顺序的方法来改正。
如不想改接线,也可以在程序上修改坐标值正负。
1.用模拟量1调速(外壳上标写A1的可调电位器)
三个电机正转50个单位,再反转50个单位。
一个单位长度输出多少个脉冲设置如下图,本例设置成640个脉冲,是驱动16细分,丝杆螺距5mm,走1mm的脉冲数。
执行过程:
执行进程一第一行,设置速度用电位器调速,加速度为220。
执行第二行,转动到从标50,50,50。
因为上电时控制器内部坐标是0,0,0。
现在转动到50,50,50,也就是三个轴同时正转50(正转,输出50×640=32000个脉冲,640为单位脉冲数的设置值),第二执行完成后,内部坐标更新为32000,32000,32000。
执行第三行,上一个指令执行完后,内部坐标是32000,32000,32000,现在第三行指令是要转动到0,0,0,也就是三个轴同时反转50(反转,输出50×640=32000个脉冲),第三行执行完成后,内部坐标更新为0,0,0。
执行第四行,跳转到第1行。
这样就实现了循环。
运行的效果是三个电机同时正转50,反转50,循环…….并可用A1电位器调速。
第二进程与第三进程都是空的指令,执行时什么也不做。
1a.接上启动开关的的正反转
按下启动按钮执行一个正反转动作,之后再等待按钮按下,有按下再执行正反转一次。
启动开关接在IN2与GND端子上。
执行过程:
执行进程一第一行,设置速度用电位器调速,加速度为220。
执行第二行,空指令,什么也不做,这行可以删除,不影响功能,本例这样写只是便于阅读。
执行第三行,等待IN2接的开关与GND接通,没有接通一直等待。
执行第四行,转动到坐标50,50,50。
因为上电时控制器内部坐标是0,0,0。
现在转动到50,50,50,也就是三个轴同时正转50(正转,输出50×640=32000个脉冲),第二执行完成后,内部坐标更新为32000,320000,320000。
执行第三行,上一个指令执行完后,内部坐标是32000,320000,320000,现在第三行指令是要转动到0,0,0,也就是三个轴同时反转50(反转,输出50×640=32000个脉冲),第三行执行完成后,内部坐标更新为0,0,0。
执行第四行,跳转到第3行。
这样就实现了循环。
运行的效果是按一下启动开关,三个电机同时正转50,反转50,并可用A1电位器调速。
第二进程与第三进程都是空的指令,执行时什么也不做。
2.上电时三个轴轮流回原点,之后正反转循环
执行过程:
执行进程一第一行,设置速度脉冲频率为10000Hz,加速度为220。
执行第二行,X轴回原点,原点开关信号输入到IN1,开关安装到X转反向转到的方向顶端上。
执行第三行,y轴回原点,原点开关信号输入到IN1,开关安装到y转反向转到的方向顶端上。
执行第四行,z轴回原点,原点开关信号输入到IN1,开关安装到z转反向转到的方向顶端上。
执行第五行,空指令,什么也不做,这行可以删除,不影响功能,本例这样写只是便于阅读。
执行第六至第八行,与例程一相同。
执行第九行,跳转到第6行。
这样就实现了循环。
运行的效果是上电时三个轴轮流回原点,回原点时的最快脉冲频率是10000。
回原点后,三个轴正反转循环,最快脉冲频率为电位器A1设置。
3.上电回原点后正反转来回循环,并用电位器调节电机转反转动量
执行过程:
第一至第五行与上例相同。
执行第六行,把X轴的单位脉冲数与电位器2的值相乘赋值给变量1,即V30*V25=V1。
电位器的输入值最小是0,最大是255。
执行第七行,V1变量除以3,把商重新赋值给V1。
除以三的用意是电位器调节精度为1/3个单位长度,如是16细分,5mm丝杆,本例精度则是1/3mm。
用电位器调节长度是0-255*1/3mm。
执行第七八行,V1变量除以10000,把商重新赋值给V1。
为什么要除10000,原因在V30的单位脉冲数是扩大10000位后才保存在控制器内,除以10000只是还原。
上述三行指令执行结果是(V30单位脉冲数)×(V25电位器2)÷3÷10000=V1。
执行第九到第十二行,空行,什么都不做。
执行第十三至十五行,与例程1相同,只是第14行转动指令的参数用到了变量,当用变量后,控制器输出的脉冲数将不与单位脉冲数相乘,直接输出变量值个数的脉冲。
4.在两个限位开关内来回移动
注意上电前当前位置一定要在两个开关之内,不然可能会撞车。
执行过程:
执行进程一第一行,设置速度用电位器调速,加速度为220。
执行第二行,X轴正转,直至IN2接的限位开关触发后停下来,参数3表示当IN2低电平时为有效触发,即IN2要接常开开关。
执行第三行,X轴反转,直至IN1接的限位开关触发后停下来,IN1接常开开关。
执行第四行,跳转到第2行。
这样就实现了循环。
运行的效果是电机在两个开关内来回转动,循环…….并可用A1电位器调速。
第二进程与第三进程都是空的指令,执行时什么也不做。
5.在两个限位开关内来回移动,可接暂停开关
开关内来回移动的程序写在进程一内,与上例一模一样。
响应接在IN8暂停开关的程序写在进程三内写,如下图:
执行过程:
进程一的执行过程与上例一样。
执行进程三第一行,判断IN8接的开关是否有按下,没按下(即IN8为高是平时),跳转到每一行,实际上就是没有按下一直执行第一行。
有按下时,则执行下面一行。
执行第二行,反转状态,129运行/暂停位。
如原来是运行状态,执行该指令后就为暂停状态,反之亦然。
执行第三行,IN8是不按下,如按下就一直执行第3行,直到按下的开关放开后再执行下面行。
如不等待开关放开,则每按一次开关,运行/暂停状态会反转多次,最后状态与按下开关的时间而不同。
执行第四行,跳转到第一行,继续去判断IN8接的开关是否再次补按下。
运行效果是电机在两开关内来回移动,当IN8接的开关按下时,来回移动暂停,开关再次按下时,电机继续上次的来回移动。
再按下,又暂停…….
6.ZYZ三轴坐标任意两点间来回移动
用遥控器修改两点坐标,并可保存在控制器内,下次上电直接在修改后的两点间移动。
进程一第一行至第四行三个轴回原点。
之后在第七行至十二行循环执行,电机在两个坐标之间直线转动。
V1—V95为断电可保存寄存器,初始值可以点击编程软件“
”按钮设置初始值。
如下图:
当没有用遥控制修改保存坐标的V1-V6寄存器时,电机在坐标(1,2,3)与坐标(500,500,500)两点间来回转动。
用遥控器修改V1-V6寄存器的坐标写在进程三内,当控制器暂停时,才允许修改V1-V6,代码如下:
第一行是获取所有输入信号编码后的数值,编码规则是各IN*输入信号对应的值之和乘以258再加上各遥控器按钮对应的值之和。
各输入对应的值如下表:
遥控6号键
遥控5号键
遥控4号键
遥控3号键
遥控2号键
遥控1号键
32
16
8
4
2
1
IN8
IN7
IN6
IN5
IN4
IN3
IN2
IN1
128
64
32
16
8
4
2
1
例如上表中灰色底字的输入有信号时,编码后的数值为(32+4)×256+(16+4)=9236。
第二行是取余数运算。
把IN*输入信号的编码值除去。
如面计算的结果9236÷256后,余数等于20,即是遥控5号键与遥控3号键同时按下时的编程值。
第三行判断遥控输入编码值是否为1号钮与6号钮同时按下。
如是则跳转到61行去执行运行/暂停状态切换,不是则继续执行下面一行。
第四行判断当前是否是暂停状态,如不是暂停状态则跳转到第一行,重复上面的过程。
如果已在暂停状态,则继续执行下面的指令。
第六至十五行根据遥控输入编码后的值去执行对应的程序。
如第十行,输入编码值为1时,就跳转到18行,不等于1时,则继续执行第十一行。
再看18行,执行开启电机转动,之后把1保存到V19,再跳转到第36行。
第36,第37与第一行第二行一样,是获取输入信号编码值,第38比较V19保存的值是否与新获取的编码值相同,相同则跳转到36行,重新获取输入编码值再比较。
一直到不相同时,才执行第39行,关停电机转动。
关停后,跳转到第一行。
这样就完成了一次点动操作。
其余点动等操作的执行过程与此类似,读都可自行分析。
6a.有循环次数的两点间转动
此例在上例的基础上设置了4次循环,之后要等待IN1接的开并按下后,再执行4次循环。
程序只是进程1里有所区别,如下图:
第七行是设置循环次数,即第8至第12行的5行指令按顺序重复执行2遍。
完了再执行第12行后面的程序。
第十五行是等待IN1接的开关按下。
没按下一直等待。
7.X轴横向钻孔
钻孔个数可调,Z轴上装钻头。
第二行接启动开关,按下后才开始钻孔。
第三行是空行,什么都不做,可以删除,本例只是为了便于阅读。
第四行设置成相对坐标,这样第7行循环一次就会正向转动10。
第五行是设置本行后面的2行程序按顺序执行4次,即第6—7行程序执行4次。
第六行是去调用15行开始的Z轴下降10再上升10的子程序。
第七行X轴正向移动10。
因第五行的设置,第六,第七行重复执行4次,即4个孔,4次移动,(示意图:
O---O----O----O----)。
第八行再补钻一个孔,总钻5孔,移动4次,(示意图:
O---O----O----O----O)。
第11行,设置成绝地坐标。
第12行,转动到坐标0,也就是上电时的位置。
第13行,跳转到第二行。
等待启动开关按下。
执行效果:
按IN2接的开关按下,钻一排孔后,回到钻第一个孔的位置,再次等待开关按下重复。
8.横竖排列钻孔
上例的钻孔在Y方向上等距钻3排。
执行过程与上例基本相同,7—10行为钻一排孔的程序。
钻完一排后,第11行Y轴移动20。
第12行把V3正负变换,原来正现为负,原来负现变正。
7—12行为第6行循环指令的循环体,执行到指定次数后才会继续执行第13行。
所以第一次循环后,会跳转到第7行重复上面分析的过程,不同的是第二次循环时,V3是负数,所以第二排钻孔是负向移动。
最终效果第一排孔是左向右钻,第二排是右向左钻……….
示意图:
O---O----O----O----O
O<-----O<-----O<-----O<------O
O---O----O----O----O
9.N行I列钻孔使用变量适合用触屏控制
上电三个轴分别回原点,再等待启动信号后,N行I列钻孔。
可以用触屏修改行数,列数,行宽,列宽。
V1存列数,V2存行数,V3存列宽,V4存行宽。
8到18行是变量的初始化与相应的计算,20行到33行执行过程与例8基本相同,读者可自分析。
10.三轴点动
在输入端IN1—IN6分别接下6个点动开关,用于X,Y,Z轴6个方向的点动控制。
控制器上电后,2-8行轮流判断IN1—IN6上接的开关有否被按下。
执行第一行,设置速度与加速度。
执行第二行,判断IN1接的开关是否按下,没按下继续执行下一下,有按下跳转到第10行。
执行第三至第七行,过程与第二行相同。
执行第八行,返回到第2行重新判断输入信号。
如上面的判断中,IN1输入端有信号,跳转到第10行。
执行第10行,开启电机转动,这个指令的三个参数当中,只有X轴坐标为最大值(软件会自动计算最大值,编程时只要填入一个足够大的数即可),Y与Z轴是系统当前坐标。
这指令的用意是只让X轴向大坐标位置转动,而Y,Z轴保持在当前坐标,效果就是只有X轴转。
这行开启电机转动后就跳转到下一行,不等待电机转动完成。
执行第11行,等待IN1接的开关放开。
不放开就一直等,放开后才执行下一行。
执行第12行,如上一行已等到开关放开,就关停电机转动。
执行第13行,跳转到第二行去执行。
更多实例不定期更新,可到XX网盘下载: