讨论一下关于绝对值私服内部位置控制方式
由于新设备研发,现在要用到绝对值得私服,现在打算用MODBUS通信,然后私服用内部位置模式,直接修改内部位置达到控制位置,不知可行不,有懂得朋友指点讨论一下,谢谢 还有要做一个直角坐标系的机构,用到好几个轴,同时联动,做搬运功能,还要做人机程序,现在还没有好的思路,程序结构也不晓得怎么搞了,太复杂了, 几轴联动就不是轻松的活 绝对值指得是编码器读数,优点是上电后直接获得绝对位置坐标而不必回原点;如果允许回原点,可选用相对式编码器,以降低成本;
几个轴同时作搬运,严格来说不叫联动,可以将动作按功能划分成模块,如进料系统出料系统等;
模块间可采用485或422总线,实时性要求不高的话用modbus是个不错的选择,省时省力;
实时性要求高点就用can跑canopen,但开发难度会增加;
如果实时性要求非常高,而且研发实力很强,可用VME或EtherCAT;
软件上必须有一个主控,来协调各模块的工作,通过发指令调用各模块的功能;
软件的编写最简单实用的就用状态机;
值得注意的是;模块间的接口要清晰,分工要明确,避免系统整合调试时,带来不必要的麻烦!
hadio 发表于 2013-10-10 05:16 static/image/common/back.gif
绝对值指得是编码器读数,优点是上电后直接获得绝对位置坐标而不必回原点;
如果允许回原点,可选用相对式 ...
恩,谢谢了 就同楼主所说,三菱伺服有内部绝对位置,即使没有装绝对用的电池,不过每次上电内部绝对位置不一样,
上电使能后,读取内部绝对位置坐标,读取后根据这个座标,设定目标位置,我做过3轴的,不过基本不联动,一个动了下一个动,
但是还有多多少少一些问题,我用VB写的上位机,
想要简单省事省力就用PLC+HMI,如果要省钱就自己用MCU开发 PLC之前学过 是欧姆龙的 yuyu87 发表于 2013-10-10 08:34 static/image/common/back.gif
就同楼主所说,三菱伺服有内部绝对位置,即使没有装绝对用的电池,不过每次上电内部绝对位置不一样,
上电 ...
哦,你挺厉害哦,用VB开发的上位机
这是上位机照片,这是第一版,
用电脑控制的,
后来发现跟不上,控制3台伺服,有点力不从心,
后业改为单片机,脉冲控制,
上位机解释执行,
下边是一个产品的示例:
可以自定义产品,因为每个产品位置等都不一样,
/【/】为注释行
/产品版本=A /产品名称=10461 /录入者=余超 /录入时间=2012/7/16
/记下位置指令反等待指令
LOOP,0 /初始化充许抓 允许转
DATA,LOOP,3 /wait 指令执行后直接执行下一个 不切换伺服,如果不是单步则不切换I
DATA,REG,2 /1=1时 三抓可抓取(SFA赋)2=0 时SFA可旋转,否则等待(SFX赋) 旋转归SFA控制
DATA,SPEED,1,3000/同时输出 OUT,OPEN ?
DATA,TIME,1,30
DATA,SPEED,2,2500
DATA,TIME,2,30
DATA,SPEED,3,2500
DATA,TIME,3,40
OUT,M,20 /流水线电机速度 0-20 0关 20全开 15半速 *
OUT,M,AUTO /流水线自动, OAUTO 电机是否自动停止
MOVE,1,5.3 /移动伺服,抓料
MOVE,2,30
WAIT,IN,1,OPEN /检查限位上
WAIT,IN,5,OPEN /检测抓手打开
WAIT,IN,7,OPEN
WAIT,IN,10,OPEN
WAIT,SF,1 /等待伺服执行完毕
WAIT,SF,2
REG,1,1
END,0
/
LOOP,1 /
WAIT,IN,17,OPEN /有产品 WAITXOR,16,15 /输入传感器等待(异或方式,15,16必须其中只有一个为OPEN,另一个为CLOSE10,01)
WAIT,IN,4,OPEN
OUT,1,OPEN /下降待抓
WAIT,IN,2,OPEN /检查下降完成否
OUT,3,OPEN /抓手合闭抓料
WAIT,IN,6,OPEN /检查抓手合闭
OUT,1,CLOSE /抓料上升,放料
WAIT,IN,1,OPEN /检测抓料上升
OUT,2,OPEN /限位开启
MOVE,1,120.5 /移动,放料1
WAIT,IN,3,OPEN /检测限位已开启
WAIT,SF,1
OUT,1,OPEN /放料 1
WAIT,IN,2,OPEN /检测限位下降
OUT,3,CLOSE /放产品
WAIT,IN,5,OPEN /抓手已放开
OUT,1,CLOSE /上升,
WAIT,IN,1,OPEN /已上升
MOVE,1,-120.5 /回去抓料
OUT,2,CLOSE /限位缩回
WAIT,SF,1 /移动完毕
WAIT,IN,4,OPEN /限位回去
WAIT,IN,17,OPEN /有产品
OUT,1,OPEN /下降抓产品 2
WAIT,IN,2,OPEN /下降了
OUT,3,OPEN /抓取产品2
WAIT,IN,6,OPEN /抓取完毕
OUT,1,CLOSE /上升
WAIT,IN,1,OPEN /检测上升
MOVE,1,93 //64.5+27.5
OUT,2,OPEN /限位放料
WAIT,SF,1 /伺服放料2
WAIT,IN,3,OPEN /检测限位
OUT,1,OPEN /放料2
WAIT,IN,2,OPEN /检测下降
OUT,3,CLOSE /放下产品2
WAIT,IN,5,OPEN /产口抓手打开
OUT,1,CLOSE /回位升降
WAIT,IN,1,OPEN /检测回位
MOVE,1,-93 /抓取产品
OUT,2,CLOSE
WAIT,SF,1
WAIT,IN,17,OPEN /有产品
OUT,1,OPEN /抓取产品
WAIT,IN,2,OPEN
OUT,3,OPEN
WAIT,IN,6,OPEN
OUT,1,CLOSE
WAIT,IN,1,OPEN
MOVE,1,65.5 /移至产品3
OUT,2,OPEN
WAIT,SF,1
OUT,1,OPEN
WAIT,IN,2,OPEN
OUT,3,CLOSE
WAIT,IN,5,OPEN
OUT,1,CLOSE
WAIT,IN,1,OPEN //放完三个产品
MOVE,1,-65.5
WAIT,REG,2,0 /等待是否可旋转
OUT,6,NOT /三个产品已抓完,交换
OUT,2,CLOSE
WAIT,TIME,760 /延时,否则下边可能检测到
WAITXOR,15,16
REG,1,1 /下一步可以抓料了
WAIT,SF,1 /完成,开始新一轮循环抓料
END,1
LOOP,2
WAIT,REG,1,1 /如果有产品才可抓
WAITXOR,15,16 /到处
REG,2,1 //指示SFX不可旋转
MOVE,3,35 /下去抓产品
WAIT,SF,3 /等待伺服执行完毕
OUT,4,OPEN /打开抓手
WAIT,IN,8,OPEN /等待抓手合闭
MOVE,3,-35 /上升回位
WAIT,SF,3
REG,2,0 //指示可以旋转了
REG,1,0 /无产品了,SFA可以旋转了
MOVE,2,149 /移至盘头位置
WAIT,SF,2 /等待移动完毕
MOVE,3,14.7 /下降准备盘头
WAIT,SF,3
OUT,5,OPEN /盘头
WAIT,TIME,550
OUT,9,OPEN /盘头气缸动作
WAIT,TIME,950 /延时一段时间 mS
OUT,5,CLOSE
WAIT,TIME,300
MOVE,3,-14.7 /回位
OUT,9,CLOSE
WAIT,SF,3
MOVE,2,155.8 /下料
WAIT,SF,2
WAIT,IN,10,OPEN /下料板在
MOVE,3,49.4 /下降
WAIT,SF,3
OUT,4,CLOSE /抓手开,放料
WAIT,IN,7,OPEN /完毕
MOVE,3,-49.4 /上升
WAIT,SF,3
OUT,7,OPEN /推出
MOVE,2,-304.8 /移至抓料处
WAIT,SF,2
END,2
LOOP,3
WAIT,IN,9,OPEN
OUT,8,OPEN
WAIT,IN,13,OPEN
OUT,7,CLOSE
WAIT,IN,10,OPEN
OUT,8,CLOSE
END,3
yuyu87 发表于 2013-10-10 13:51 static/image/common/back.gif
这是上位机照片,这是第一版,
用电脑控制的,
后来发现跟不上,控制3台伺服,有点力不从心,
你的上下前后限位是做什么用的? yuyu87 发表于 2013-10-10 13:51 static/image/common/back.gif
这是上位机照片,这是第一版,
用电脑控制的,
后来发现跟不上,控制3台伺服,有点力不从心,
做得不错,能连动不? ouyangchao 发表于 2013-10-10 18:52 static/image/common/back.gif
做得不错,能连动不?
三轴单动的,呵,这个项目也比较简单,
约10个电磁伐输出,以及这几个电磁伐的感应器,以及三个伺服的原点, yuyu87 发表于 2013-10-10 19:44 static/image/common/back.gif
三轴单动的,呵,这个项目也比较简单,
约10个电磁伐输出,以及这几个电磁伐的感应器,以及三个伺服的原 ...
O,挺不错的
页:
[1]