您现在所在的是:

永宏FATEK

回帖:7个,阅读:8782 [上一页] [1] [下一页]
875
gufayuan
文章数:24
年度积分:50
历史总积分:875
注册时间:2010/10/28
发站内信
发表于:2011/5/17 17:20:41
#0楼
各位好,      
     最近第一次接触到了永宏PLC,是用来控制伺服电机的,发现如下问题:
    1、在“I/O组态”上面设置“输出设定”为Y0=PLS,Y1=DIR,然后伺服命令表格和伺服参数表格也设置好了。
       这个时候我想用一条140指令点动控制伺服电机的正反转,有没有办法不通过设置脉冲数的正负值来控制正反转?
       比如我M0控制正转,M1控制反转,但是脉冲数总是0(表示无限个脉冲),可以实现吗?
    2、如上设置,控制伺服电机“正转—反转—正转—反转”如此运行一次或者循环运行,我知道的是可以在伺服命令表格
       里面设置步数来实现,请问这样可以吗:
               1  SPD  D0   DRV  ADR ,+,D46,Ut    WAIT TIME, 100   goto  next
                       2  SPD  D0   DRV  ADR ,-,D46,Ut    WAIT TIME, 100   goto  next
                       3  SPD  D0   DRV  ADR ,+,D46,Ut    WAIT TIME, 100   goto  next
                       4  SPD  D0   DRV  ADR ,-,D46,Ut    WAIT    X0   goto  next(end)
         但是把表格存入PLC以后,上面第二步总是会自动变化,D0变成R2,D46也变化,还有变成GOTO146,
         不知道为什么会变成这样呢?难道是我上面每一步都用同样的寄存器的问题吗?然后我就改成了连续的寄存器.但是发现情况仍然一样。能否告诉我这样的动作应该怎样实现呢?
       3、如果我用点动控制一轴的脉冲输出,如果要换方向的时候我现在只能通过改变脉冲数的正负值,假如D2是伺服命令表格里面的脉冲数,而当我通过mov d10  d2给定脉冲数,并且d10也有正负值,可是实际上方向都是不变的,但是如果我直接在文本屏上设置D2这个参数的正负是,竟然就可以改变运动方向了。这个是为什么呢?        
       以前用的一般都会是三菱,或者西门子,只是现在的项目需要多轴脉冲输出,所以就选择了永宏PLC(型号为:FBs-               32MAT),至于会不会继续用下去,还得看做这个项目的效果,麻烦各位大虾帮忙解决下这个问题。
         也可以加我的Q(648673091) 或者发点启示到我的邮箱(gufayuan@yahoo.cn)                    
                                                                                      谢谢。


[此贴子已经被作者于2011/5/17 19:26:07编辑过]
23805
wushulin 版主
文章数:6168
年度积分:238
历史总积分:23805
注册时间:2006/2/17
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
西门子PLC体验(一)
我秀我做2014
2013论坛优秀版主
秀秀我的办公桌
晒工控工具书
2012论坛优秀版主
2011国庆活动
2010年度论坛贡献奖
发表于:2011/5/17 19:42:48
#1楼
我对永宏的也不是很熟,第一次用就写了一个四轴的机器。感觉有些地方有点莫名其妙。那个表格自动生成的方式,在控制时很是咬口,不过明白后也就好了,格走完后一定要把指令关掉,否则它还会不停的走。R是数据寄存器,相当于D寄存器
汽车车桥生产在线检测设备;其它大批量零件生产过程检测,
承接:非标自动化设备设计、旧设备改良与维修; 单独非标项目合作。
875
gufayuan
文章数:24
年度积分:50
历史总积分:875
注册时间:2010/10/28
发站内信
发表于:2011/5/18 8:09:22
#2楼
永宏PLC编程
附件
附件
    上面第一张图是我设置的寄存器,第二张时从运行一次后从PLC读出。  
    但是PLC会自动把我原来设置的寄存器设置成别的了,而且下一步也变化这么大,根本就没办法走完四步然后再停止,所以现在就比较纳闷。
  还有寄存器数据给定也是,必须在文本屏上面直接设置表格的数据才行,如果通过设置其他寄存器,然后通过MOV指令传送到表格的寄存器,那样也不能实现正反转,这样就造成我要正转的时候就要设置一下把数据设置成正值,要反转的时候就要把数据设置成负值,很是麻烦。


[此贴子已经被作者于2011/5/18 8:10:59编辑过]
875
gufayuan
文章数:24
年度积分:50
历史总积分:875
注册时间:2010/10/28
发站内信
发表于:2011/5/19 16:28:05
#3楼
问题解决
经过这几天的研究,终于把上面的问题搞定了,永宏PLC有某些地方还是可以的,
但是消耗寄存器实在太多了,而且140指令的用法即使在不同的步进阶梯指令中也是不能出现的,所以就造成了更严重的使用寄存器;还有伺服命令表格里,一步就多占用9个寄存器,用起来确实比较麻烦。。。。
563
巍峨雪岭
文章数:3
年度积分:50
历史总积分:563
注册时间:2013/10/31
发站内信
发表于:2013/12/2 18:18:55
#4楼
回复 #2楼 gufayuan
DRVC属于多段变速指令,多段变速控制只能同方向,不能正反向的;
为什么不直接用DRV试试呢?
563
巍峨雪岭
文章数:3
年度积分:50
历史总积分:563
注册时间:2013/10/31
发站内信
发表于:2013/12/2 18:42:24
#5楼
1 脉冲数总是零,坐标设为ADR时就可以连续运行,±应该可以表示运转方向的;你可以用两个FUN140,M0控制一个,M1控制一个,分别正转反转就行了,但是要注意正反转的互锁问题。小弟也是初学者,我没试过,觉得应该可以的。

2 最后一步为什么还要用WAIT呢?结束就直接MEND,你这样没有最后一步的,程序也许会出想不到的错的

3 可能跟MOV指令有关,你用的是32位还是16位?换一下试试看~
689
q1131808581
文章数:29
年度积分:50
历史总积分:689
注册时间:2013/6/3
发站内信
发表于:2013/12/12 23:10:21
#6楼
以下是引用巍峨雪岭2013/12/2 18:18:55的发言:
DRVC属于多段变速指令,多段变速控制只能同方向,不能正反向的;
为什么不直接用DRV试试呢?
赞一个
740
w70501
文章数:19
年度积分:50
历史总积分:740
注册时间:2011/8/20
发站内信
发表于:2014/10/8 8:18:12
#7楼
谢谢分享

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005