西门子1200PLC运动控制料盘多点定位

2025-04-07 05:03:10
推荐回答(2个)
回答1:

很简单啊,你都已经把顺序取料的程序写完了,可以在你原有程序的基础上继续添加跳跃式的定位程序啊
详解如下:
你的原有程序是顺序取料,既然是顺序取料,就必须有初始位置的定位程序,也就是第一步的“位置初始化”程序,这个程序段估计你肯定写了吧?
我现在不知道你的机械臂的定位反馈元件是什么,只能猜测有可能是编码器
当你的机械臂处于1号料位时,此时X轴和Y轴的编码器脉冲数假设都是0,
X轴每正向移动一个料位,编码器脉冲假设增加1000,那么反向移动一个料位就是减少1000
Y轴也是一样,正向移动一个料位增加1000,反向移动一个料位减少1000
那么,程序一开始,先进行位置初始化,
1:检查当前位置,分别比对X轴和Y轴的当前实际脉冲累积数是多少,如果发现机械臂不在1#料位,则开始抬升机械臂,抬升完成后,进行X轴和Y轴的位移动作,直到脉冲数与1#料位的位置吻合,初始化完毕
你现在的程序是顺序移动,也就是你已经知道了X轴和Y轴上每个料位的间隔,这个间隔肯定都会对应一个脉冲差
那好,就直接利用你现在的计算结果(按照图中X和Y的箭头方向,右移是X减,左移是X加,上移是Y减,下移是Y加)
1#料位对应的脉冲数组成的坐标是(0,0)
2#料位对应的脉冲数组成的坐标是(0,-1000)
12#料位对应的脉冲数组成的坐标是(-1000,0)
11#料位对应的脉冲数组成的坐标是(-1000,-1000)
那往后就很好写了啊,
两个方案
1:你只要把36个位置的坐标数全部确定好,然后对应编号,就行了
2:自己编写函数,把1~36个位置,对应成两个函数计算式,再分别根据编号写入X,Y轴的目标脉冲数,然后再对比当前脉冲数,从而确定伺服电机的转向和旋转角度
这样一套下来,就可以实现顺序控制和跳跃式定点控制的自由切换,你原来的程序也不用推翻重写

回答2:

。。。