发表于:2013/1/21 15:45:09
#0楼
【转载请注明来源,谢谢!】
[size=4]前言
在《手把手实现伺服控制》示例中(详细见www.yade-auto.com ),已经大概讲述了永宏NC定位指令 FUN140 HSPSO指令的使用,在上例的讲解中,伺服的速度、行程都是用脉冲(PS)来表示。但在很多实际的工程应用中,速度、行程有时候都需要用直观的工程量来表示。比如:速度用mm/min、cm/min、m/mi;行程用 丝(1mm=100丝)、mm、cm、m、deg等单位。这个时候,可以在PLC内部做相应的换算程序,把所需要的机械单位换算成相应的PS个数,但这个过程可能需要很多的数学运算,显的冗繁复杂。如果此时能够配合使用 FUN141 MPARA指令,则会起到事半功倍的效果。
FUN141 MPARA指令说明
永宏的FUN141 MPARA指令在程序里面不是必须的。在程序里面没有书写FUN141指令,PLC会自动采用默认的伺服参数进行工作。也就是如果没有对伺服参数表格进行修改,那么在程序里面写了FUN141或者没有写FUN141,两者效果是一样的。但如果需要对伺服参数进行修改,那么在程序里面就一定要编写FUN141指令,并且要对指令表格进行规划修改并且保存(该表格区域要存于掉电保持型寄存器中)。PLC在每次从STOP→RUN的时候,会自动加载表格1次,以后不再加载,所以程序里面用 M1924 调用 FUN141就可以了。
现在来看看FUN141的庐山真面目吧!
看看这张表格的基本信息:
表格名称:浅谈FUN141指令(红框1,这个名称是编程者自行命名的)
表格长度:24 WORD(红框2,这张表格需要占用24个字寄存器)
配置位置:R6000~R6023(红框3,给出这样表格存储的位置在R6000~R6023区段)
以上是表格的基本信息,表格的内容则由 参数0~参数17 逐一给了简要说明,具体详细说明需要参看编程手册2第13章NC定位章节的13-22文字说明。
需要指出的是:伺服参数表格是依据需要来修改相应的参数,而不是要把表格里面的每个参数都修改一通才罢手。假如,现在的控制只需要用到机械单位,那么只要修改同机械量有关的参数即可;或者控制需要用到原点回归,那么只需要修改同原点回归有关的参数即可。
FUN141 MPARA应用举例
1) 背景说明
有一种划线设备,可以在一块长度小于2米的钢板上的设定位置划上标记线,每条钢板可以设定不重复的位置是50个。
机器的机械大概是这样:步进电机通过滚珠丝杆带动画笔移动(这轴称为X轴),画笔移动到操作员设定的位置,就停下来,启动步进带动的刀具(这轴称为Y轴),在钢板上划一条线;然后移动到下一个需要划线位置(如果有下一个位置的话),再停下来,启动X轴(画笔),在钢板上划一条线。。。。。。直到划完了所有的线之后,X轴返回至起始点。设备在工作前,需要操作员把需要划线的位置告诉PLC,这样才能按照要求划线。屏幕上开放给操作员输入的行程参数是直观的,采用mm单位,同时可以带2个小数点,即:xxxx·xx的形式,如100.00表示100.00mm等。这样通过FUN141来配合相应的140指令,就可以减少程序的数学换算了。
2) 准备工作
在开始编程之前,需要事先了解有关的参数值。
步进电机:步距角1.8°,2相
滚珠丝杆螺距:10mm
这里知道,步进转动一圈,丝杆移动10mm;步进电机步距角是1.8°,无细分的情况下,PLC发200PS给步进电机,丝杆就移动10mm。本应用中,对步进电机进行了10细分,所以PLC输出2000PS,丝杆移动10mm
对应关系: 2000PS ~ 10mm
3) 认识表格
这样就可以开始编程了,如下
观察X轴参数
PS:表示该伺服参数同永宏的第一轴(Y0\Y1)伺服相对应,以后程序里面所有编写的有关第一轴的140指令的运动参数都取决于这条141指令里面所填写的参数。
SR:表示该伺服参数表格放置的位置为 R5000~R5023(伺服参数表格需要占用24WORD),在程序里要特别注意,不能再把这24个寄存器拿去做其它用途。
4) 填写表格
进入FUN141指令的方法同进入FUN140是一样的:选中指令;在英文状态输入法下,按键盘 Z 键进入表格。
这张表格里面被修改的参数已经用红框圈出,以下对修改过的参数进行说明
R5000 参数0单位设定【2复合】:这是表格的第1个参数,选择“复合”,意思是:程序里面有关第一轴的140指令所使用的速度单位是脉冲,行程单位是机械值(具体是多少,还需要查看后面的参数)。
R5001 参数1脉波数/1转(16bit)【2000】:这是表格的第2个参数,值为2000,意思是:步进电机转动一圈需要2000个脉冲(该例步进被细分了)。(假如外部电机转动一圈所需要的脉冲数>65535个脉冲,这时候该参数无法容纳(为16bit),需要把相应的脉冲数填入 参数14,即表格中的 R5017 参数14 脉波数/1转(32bit)中。记住
参数14=0时,每转所需脉冲数以 参数1为准;
参数14≠0时,每转所需脉冲数以参数14为准。)
DR5002 参数2移动量/1转【10000】:这是表格的第3个参数,值为10000,意思是:外部电机转动一圈,相应的机械移动10000μm(滚珠丝杆的螺距,注意这里的单位采用μm,不是㎜)
R5004 参数3最小设定单位【2】:这是表格的第4个参数,值为2,意思是:程序里面有关第一轴的140指令所编写的定位程序中,所填写的机械行程Ut数值带2个小数点。
DR5005 参数4最小设定单位【20000】:这是表格的第5个参数,值为20000,意思是:程序里面有关第一轴的140指令所编写的定位程序中,所填写的定位速度不能超过20KHz。
R5011 参数8加减速时间设定【1000】:这是表格的第9个参数,值为1000,意思是:步进由静止加速到最高速度(参数4)或由最高速度减到静止所需时间为1000ms。
5)编写定位程序
程序里面只要把相应的下一个位置的行程机械值加载进来,就可以利用FUN 140指令驱使画笔移动到相应位置了。
进入表格查看
表格里面速度放在 DR510,机械行程在 DR512
假如这里的 DR510=10000,DR512=50000 Ut
那么就表示电机以10K的速度移动500.00mm的距离(为什么是500.00mm呢?忘了?回头看看伺服参数3 最小设定单位的说明吧。)
结尾
以上就是对永宏FUN141指令应用的一个示例说明,利用141指令配合140进行定位,可以节省很多的运算,有利于编程效率的提高,希望该说明能给大家一点点帮助。
作者:Danny 2012-10-19[/size]