新手第一次使用伺服:急求,谢谢!
一、系统结构:Smart200 ST60+台达B2伺服控制(位置控制)一个机械手,机械手两个轴,一个平移,一个升降。手上有6个扎针,依次到位扎取物料。
二、生产工艺:从原点(设备右端)开始机械手左移到平移取料位,再下降到升降取料位,然后扎针1下落扎料,右移一段距离,扎针2下落炸了,依次到扎针6,全部扎去物料后,直接右移到平移落料位,再下降到升降落料位落料,然后回来往复。
三、编程情况:通过运动向导设置了运动程序库,只使用了初始化CTRL、RSEEK、MAN、GOTO这几个指令。RSEEK指令回原点,MAN指令手动运行,GOTO指令0模式绝对值自动运行,根据工艺给定位置和速度到达需要地方执行。
注:CTRL、RSEEK、MAN、GOTO我均用SM0.0一直激活EN,MAN、GOTO的速度设定一致,当前速度,当前位置一致。
四、遇到问题:(急迫急等:1.CTRL、RSEEK、MAN、GOTO执行准则?2.原点和手动速度设定?3.GOTO暂停和停止设计,暂停再继续动作乱套?)
1.运动准测:必须确保在同一时间仅有一条运动控制子例程激活。CTRL、RSEEK、MAN、GOTO均用SM0.0一直激活EN,是否不妥,违背该准测,如果违背,怎么确保同时只执行一条?像Modbus一直轮询吗,每次执行一个吗?还是回原点时RSEEK有效、手动时MAN有效、自动时GOTO有效,CTRL怎么办?
2.RSEEK指令回原点是按照什么速度执行的?我向导参考点-查找里设置的低速2,高速200,但实际执行回原点的时候速度一直为20,不知道哪里来的速度值?
3.MAN手动时是按照什么速度执行的?前两天手动还可以,当时以为是以手动设定的速度执行的,没过多关注这个速度,重点在考虑自动的问题。今天不知道为什么突然伺服是振动着走的,速度不是设定值,而且速度忽大忽小,观察了下像是S波,小到大,再大到小,依次变化,而不是一个稳定的手动速度值运行。
4.GOTO指令自动执行的时候,先发位置、速度信号,然后再发一个脉冲,执行过程是怎样的?是否是这个脉冲后,GOTO一直执行到设定位置,当位置改变就又继续运行走了。还是这个脉冲只执行到这个位置就完成了?想要往别的地方去,必须改变位置,且再发一个脉冲。那么这个脉冲下,该位置还没执行到位,正在执行的过程中,速度、位置改变了,GOTO执行怎么执行?
5.GOTO指令自动时,系统想要启动、暂停、继续、停止等操作,不知道启动可不可以和继续,停止可不可以和暂停合并使用,一直没想好办法?
6.GOTO指令自动时,暂停我用的Abort值,暂停时置1,继续时清0,想停车(停止)怎么办?目前用的启动、暂停、继续,另外加了回原点和系统复位。
7.GOTO指令自动时,发现有些时候暂停后继续正常,有些时候暂停后继续动作就乱套了?这个指令不熟悉,一直没找到原因所在。不过今天发现暂停好像刚好停在一个需要往下一个工序去时(要改变位置加再发一个脉冲之前),好像暂停在了设定位置和当前位置一致的时刻,这个指令(改变位置+发脉冲)执行不了。感觉这个理解也不太对。
问题补充:
8.两个轴各自使用了1个CTRL、1个RSEEK、1个MAN、1个GOTO,而工序中一个循环平移位移改变8次,升降2次,平移改变是在1个GOTO上改变位置发脉冲实现的。GOTO指令是不是理解错误了,只能用1个还是1个位移或者工序可以用一个?
999.好像犯了准测错误:必须确保在同一时间仅有一条运动控制子例程激活。2个轴的初始化可以一直SM0.0激活,其他包括两个轴的所有RSEEK、MAN、GOTO,都必须同时执行仅有1个子例程吗?还是每个轴自己保证1个就可以了?
图片说明:
悬赏西币:5 | 解决时间:2018-07-17 22:51:47 | 提问者:
划船歌子 - 资深学长  第3级
问题ID:195110