ouyangchao 发表于 2013-10-9 23:35:00

讨论一下关于绝对值私服内部位置控制方式

由于新设备研发,现在要用到绝对值得私服,现在打算用MODBUS通信,然后私服用内部位置模式,直接修改内部位置达到控制位置,不知可行不,有懂得朋友指点讨论一下,谢谢

ouyangchao 发表于 2013-10-9 23:38:07

还有要做一个直角坐标系的机构,用到好几个轴,同时联动,做搬运功能,还要做人机程序,现在还没有好的思路,程序结构也不晓得怎么搞了,太复杂了,

rifjft 发表于 2013-10-10 00:46:45

几轴联动就不是轻松的活

hadio 发表于 2013-10-10 05:16:20

绝对值指得是编码器读数,优点是上电后直接获得绝对位置坐标而不必回原点;
如果允许回原点,可选用相对式编码器,以降低成本;
几个轴同时作搬运,严格来说不叫联动,可以将动作按功能划分成模块,如进料系统出料系统等;
模块间可采用485或422总线,实时性要求不高的话用modbus是个不错的选择,省时省力;
实时性要求高点就用can跑canopen,但开发难度会增加;
如果实时性要求非常高,而且研发实力很强,可用VME或EtherCAT;
软件上必须有一个主控,来协调各模块的工作,通过发指令调用各模块的功能;
软件的编写最简单实用的就用状态机;
值得注意的是;模块间的接口要清晰,分工要明确,避免系统整合调试时,带来不必要的麻烦!

ouyangchao 发表于 2013-10-10 08:15:12

hadio 发表于 2013-10-10 05:16 static/image/common/back.gif
绝对值指得是编码器读数,优点是上电后直接获得绝对位置坐标而不必回原点;
如果允许回原点,可选用相对式 ...

恩,谢谢了

yuyu87 发表于 2013-10-10 08:34:50

就同楼主所说,三菱伺服有内部绝对位置,即使没有装绝对用的电池,不过每次上电内部绝对位置不一样,
上电使能后,读取内部绝对位置坐标,读取后根据这个座标,设定目标位置,我做过3轴的,不过基本不联动,一个动了下一个动,
但是还有多多少少一些问题,我用VB写的上位机,

ITOP 发表于 2013-10-10 08:42:14

想要简单省事省力就用PLC+HMI,如果要省钱就自己用MCU开发

金牛AKI 发表于 2013-10-10 09:26:35

PLC之前学过 是欧姆龙的

ouyangchao 发表于 2013-10-10 12:53:26

yuyu87 发表于 2013-10-10 08:34 static/image/common/back.gif
就同楼主所说,三菱伺服有内部绝对位置,即使没有装绝对用的电池,不过每次上电内部绝对位置不一样,
上电 ...

哦,你挺厉害哦,用VB开发的上位机

yuyu87 发表于 2013-10-10 13:51:59



这是上位机照片,这是第一版,
用电脑控制的,
后来发现跟不上,控制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

ouyangchao 发表于 2013-10-10 18:52:03

yuyu87 发表于 2013-10-10 13:51 static/image/common/back.gif
这是上位机照片,这是第一版,
用电脑控制的,
后来发现跟不上,控制3台伺服,有点力不从心,


你的上下前后限位是做什么用的?

ouyangchao 发表于 2013-10-10 18:52:47

yuyu87 发表于 2013-10-10 13:51 static/image/common/back.gif
这是上位机照片,这是第一版,
用电脑控制的,
后来发现跟不上,控制3台伺服,有点力不从心,


做得不错,能连动不?

yuyu87 发表于 2013-10-10 19:44:24

ouyangchao 发表于 2013-10-10 18:52 static/image/common/back.gif
做得不错,能连动不?

三轴单动的,呵,这个项目也比较简单,
约10个电磁伐输出,以及这几个电磁伐的感应器,以及三个伺服的原点,

ouyangchao 发表于 2013-10-10 20:20:30

yuyu87 发表于 2013-10-10 19:44 static/image/common/back.gif
三轴单动的,呵,这个项目也比较简单,
约10个电磁伐输出,以及这几个电磁伐的感应器,以及三个伺服的原 ...

O,挺不错的
页: [1]
查看完整版本: 讨论一下关于绝对值私服内部位置控制方式