发表于:2017/7/1 13:04:56
#0楼
现在程序写到相关算法的步骤,有点头大,我用的是汇川的绝对值编码器电机,伺服IS620P,PLC也是汇川的,现有的思路如下,请前辈们帮忙指点一二:
上电后手动点动到出料孔,这里是需要作为刀架中某一把刀起始的位置,也就是原点,直接点击MODBUS读取的编码器值,记录该值,然后后面的工位依次加间隔的脉冲数作为定位点(问题1:这里不知道对不对,因为电机逆时针是正转,我如果工位顺序按照钟表的顺时针来排布会不会有问题,还是说要和电机方向一致来排布??),写入寄存器,同时每个工位用一个寄存器标记是第几号工位。之后通过上次问的关于钟面选刀最优路径的问题所知晓的方法选刀(每把刀有一个数据范围,进料的直径落在这个范围内就选择这把刀),帖子如下:
http://bbs.gkong.com/archive.aspx?id=442609
数据比较,选择刀后,将刀号写入寄存器用于下一次进料后选取路径用(也就是伺服电机正反转用),因为这把刀现在就跑到当初定好的原点去了,机器选择的是1:40的减速机,也就是电机40圈,负载转盘转1圈,共需要脉冲总数40x2的23次方=335544320个脉冲(假设齿轮比1:1),如果我当时设置的原点位置为100个脉冲位置,那每个工位的脉冲分别是100、41943140、、、、类推(每等份=335544320/8=41943040个),假设我下次进料后,判断该选择第3把刀了,这时候,第三把刀的位置是83886080,根据路径判断应该是反转回来到达0号刀位置(原点),这里走绝对定位指令就直接吧目标位置写为100,方向反向,但是如果我选择的是7号刀,这时候7号刀就不应该逆向回来了,直接往前走一个工位就是0点位置,这时候走的脉冲位置就应该是40x2的23次方+100了吧?方向不反。
问题2:我读取的是伺服内H0B07功能码,32位有符号寄存器,时间久了会不会出现溢出的情况呢?
然后每次如果人为的重新定原点,我还得把相应的刀号,定位位置脉存进去,这是我的思路,请耐心的师傅们看看对不对的??谢谢了
上电后手动点动到出料孔,这里是需要作为刀架中某一把刀起始的位置,也就是原点,直接点击MODBUS读取的编码器值,记录该值,然后后面的工位依次加间隔的脉冲数作为定位点(问题1:这里不知道对不对,因为电机逆时针是正转,我如果工位顺序按照钟表的顺时针来排布会不会有问题,还是说要和电机方向一致来排布??),写入寄存器,同时每个工位用一个寄存器标记是第几号工位。之后通过上次问的关于钟面选刀最优路径的问题所知晓的方法选刀(每把刀有一个数据范围,进料的直径落在这个范围内就选择这把刀),帖子如下:
http://bbs.gkong.com/archive.aspx?id=442609
数据比较,选择刀后,将刀号写入寄存器用于下一次进料后选取路径用(也就是伺服电机正反转用),因为这把刀现在就跑到当初定好的原点去了,机器选择的是1:40的减速机,也就是电机40圈,负载转盘转1圈,共需要脉冲总数40x2的23次方=335544320个脉冲(假设齿轮比1:1),如果我当时设置的原点位置为100个脉冲位置,那每个工位的脉冲分别是100、41943140、、、、类推(每等份=335544320/8=41943040个),假设我下次进料后,判断该选择第3把刀了,这时候,第三把刀的位置是83886080,根据路径判断应该是反转回来到达0号刀位置(原点),这里走绝对定位指令就直接吧目标位置写为100,方向反向,但是如果我选择的是7号刀,这时候7号刀就不应该逆向回来了,直接往前走一个工位就是0点位置,这时候走的脉冲位置就应该是40x2的23次方+100了吧?方向不反。
问题2:我读取的是伺服内H0B07功能码,32位有符号寄存器,时间久了会不会出现溢出的情况呢?
然后每次如果人为的重新定原点,我还得把相应的刀号,定位位置脉存进去,这是我的思路,请耐心的师傅们看看对不对的??谢谢了
[此贴子已经被作者于2017/7/1 13:21:37编辑过]
学习电子电路、工控、计算机高级语言编程(软件方向)及网络(web方向)编程。