来回摆动的PLC控制 点击:1180 | 回复:11



donnyxp

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-07-24 20:08:34
楼主
求助帖50分-已结帖

我用 PLSY 发脉冲 给 伺服 ,然后变换相位 来 控制伺服正反转动,  DDRVA 不能用 ,因为 发送脉冲时频率一直是变化的。

 

比如我 发送位置是 A到 B。 A是原点, AB 之间运动时,要是我发送脉冲数量+1.那么 伺服在A到B+1位置 移动 。

发送脉冲数为 -1那么伺服在A到 B-1位置 移动。 我想要 在A+/-1到B位置移动,需要怎么发送脉冲。

以上所有修改需要支持 AB之间运动的时修改。因为A和B都要修改,要不我就以B为原点,发送脉冲好了。

 

希望大神帮忙,重金赏识,谢谢啦




芜湖

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 227回
  • 年度积分:3
  • 历史总积分:649
  • 注册:2012年3月07日
发表于:2012-07-24 22:11:55
1楼

A是原点, AB 之间运动时,要是我发送脉冲数量+1.那么 伺服在A到B+1位置 移动 。

发送脉冲数为 -1那么伺服在A到 B-1位置 移动。 我想要 在A+/-1到B位置移动,需要怎么发送脉冲。             上面所说  你是以A点为原点 也就是说A点是指定位置了  请问一下又怎么能会出现A-1点呢  

donnyxp

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-07-25 00:15:27
2楼

就是原点位置也需要可以调啊,-1和+1表示可调位置

 

donnyxp

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-07-25 00:36:32
3楼

简单的说就是用相对定位,来实现绝对定位。

 

比如绝对定位DDRVA 就可以实现 。

DDRVA K0 K20000   Y0 Y1  向A位置转动

ddrva   K100  k2000  y0 y1  向B位置转动

 

如上程序,伺服会来回移动在0和100之间

比如A到B。 A是0脉冲。  B是100脉冲。  那么 110脉冲,B点那边多了10,就是0到110.  

相反 A的0脉冲变成 -10,那么实际位置是A那方向多走了10, -10到100走了110的距离。 

 

就是A和B的位置都可以调

 

PLSY 指令AB也可以调,但因为是相对位置,把AB分成2条指令

PLSY K20000 K100     y0     AB相   向B运动

PLSY K20000 K100     Y0     BA相  向A运动

 

比如向B运动的100脉冲数变成110,那么向A运动的脉冲数也需要改成110.这实际就是0到110之间运动。要是向A运动的数值不改成110那么就是10到110之间运动。

 

要是我首先设置向A运动的数值110,那么A原点位置就是A+10.B点位置等于B-10。 这样因为先后顺序的问题, 运动的位置就会乱掉,没有绝对定位好用。

 

请问有大神可以解决这个问题不,太感谢了

明理

  • 精华:1帖
  • 求助:1帖
  • 帖子:43帖 | 3150回
  • 年度积分:0
  • 历史总积分:20986
  • 注册:2007年6月21日
发表于:2012-07-25 07:55:22
4楼
PLSY K20000 K100 y0 这个好像在程序中只可以使用一次。

wenwan90

  • 精华:0帖
  • 求助:12帖
  • 帖子:28帖 | 575回
  • 年度积分:12
  • 历史总积分:2497
  • 注册:2011年11月03日
发表于:2012-07-25 08:43:30
5楼

我上次用过一次DDRVA,我在更改速度时,会把DDRVA停止一个扫描周期,待速度更改完毕后再启动DDRVA.

工控小周

  • 精华:0帖
  • 求助:3帖
  • 帖子:45帖 | 502回
  • 年度积分:3
  • 历史总积分:2254
  • 注册:2011年10月28日
发表于:2012-07-25 08:46:00
6楼

由于重金赏识,PLSY,这条指令一般不带加减速时间,你用于伺服是可行,你用于步进是不可行,伺服从静止到一定速度对加减速时间要求比较低,今后的项目相对位置可以用DPLSR来做,对于你是用PLSY来实现DRVA,我的建议是在PLSY中的操作数指定为普通寄存器D区,更换D区里的数值就可以实现A+X,A-X,B+X,B-X,任意位置的定位,只需要提前把你需要走的位置的脉冲填在相应操作数的D区里,对于“明理 ”说

PLSY只能用一次,那是因为他接触的比较少,在某些品牌PLC中只能用一次,某些品牌PLC可以随便用,在只能用一次的场合,可以用我上面介绍的操作数定义为D区的方法,或者用流程隔开,用状态转移的STL的方式完成,或者用调用子程序完成,梯形图毕竟是自由的,给你的空间很大!

dianqisu

  • 精华:5帖
  • 求助:0帖
  • 帖子:23帖 | 804回
  • 年度积分:1
  • 历史总积分:9138
  • 注册:2008年12月19日
发表于:2012-07-25 09:09:28
7楼
 应该是可以解决的。但是这些定位指令都是不能在运行中响应脉冲。 如果换成欧姆龙的就好办多了。 梯形加减速,定位完全可以实现。

donnyxp

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-07-25 09:23:55
8楼
回复内容:
对:工控小周关于由于重金赏识,PLSY,这条指令一般不带加减速时间,你用于伺服是可行,你用于步进是不可行,伺服从静止到一定速度对加减速时间要求比较低,今后的项目相对位置可以用DPLSR来做,对于你是用PLSY来实现DRVA,我的建议是在PLSY中的操作数指定为普通寄存器D区,更换D区里的数值就可以实现A+X,A-X,B+X,B-X,任意位置的定位,只需要提前把你需要走的位置的脉冲填在相应操作数的D区里,对于“明理 ”说PLSY只能用一次,那是因为他接触的比较少,在某些品牌PLC中只能用一次,某些品牌PLC可以随便用,在只能用一次的场合,可以用我上面介绍的操作数定义为D区的方法,或者用流程隔开,用状态转移的STL的方式完成,或者用调用子程序完成,梯形图毕竟是自由的,给你的空间很大!内容的回复:

频率和脉冲数,我都是用D来做的,我用M1002给他一个初始值, 触摸屏可以修改D数值,来改变频率和脉冲。 但是脉冲是相对位置。 弱弱的问句,DPLSY 在执行时,改变脉冲数,是不是和改变频率一样,可以随时更改。还是更改后执行1次指令才有效。 DPLSR 和DPLSY 只是差别在+—速时间吧?

EBN-中芯机械

  • 精华:0帖
  • 求助:2帖
  • 帖子:7帖 | 262回
  • 年度积分:0
  • 历史总积分:1761
  • 注册:2009年7月24日
发表于:2012-07-25 17:13:28
9楼

脉冲数运行中改是不行的。要下次启动才生效。两轴PLSY就能用两次。只是输出点不能重复。你的频率和脉冲都用寄存器,从另一个寄存器传送过去,然后根据需求,可先运算再传送。就这样。很久没看到贴子设最佳回复的了。都是问完就走人了。。。嘿嘿。。。

时空----王者之师

  • 精华:2帖
  • 求助:234帖
  • 帖子:480帖 | 4472回
  • 年度积分:66
  • 历史总积分:31282
  • 注册:2008年6月06日
发表于:2012-07-26 13:28:53
10楼
不要用A\B相脉冲,用脉冲加方向控制,这个应用比较成熟点

donnyxp

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2012-08-16 08:30:03
11楼
回复内容:
对:时空----王者之师关于不要用A\B相脉冲,用脉冲加方向控制,这个应用比较成熟点 内容的回复:


DDRVA和DDRVI可以加方向, PLSY 只能用AB相控制,难道还有其他办法?

热门招聘
相关主题

官方公众号

智造工程师