您现在所在的是:

PLC论坛

回帖:6个,阅读:830 [上一页] [1] [下一页]
2638
qianjiansong
文章数:287
年度积分:50
历史总积分:2638
注册时间:2008/8/16
发站内信
发表于:2009/11/9 14:52:55
#0楼
各位:
      在下不才,分享一下这几天以来我在使用台达PLC(EH2系列)时碰到的一些问题:
      一、我有控制两台伺服电机做运动控制,其中伺服A(Y0,Y1)放在主程序中,伺服B(Y2,Y3)的驱动程式放在子程式中,有主程式进行调用;但整个程式在联机运行的过程中,当调用伺服B运行完毕,返回主程序时,本应是主程式中的伺服A运动的(在线调试时,伺服A电机前面的控制接点都是导通的,但是伺服A始终就是不运动);
      最终的解决方法是:不使用调用指令Call;整个正式回复正常,原因正在分析中。。。
   
     二、我使用的一个数据寄存器D52,运用其做了一次乘法运算,D52作为乘数;后续就是将d52赋值给其他的值,没有对D52在改变其值的操作:前期在运行的时候,程序OK;一段时间后,也不知道什么原因,D52在运行完乘法运算后,其值就变为零了,程式没变;
      解决方法:我将d52,换成了D520,程式回复正常;
以上是我最近两天碰到的问题,以及最终问题的解决,供大家分享!也希望能与您探讨!
3506
txgyzy
文章数:74
年度积分:50
历史总积分:3506
注册时间:2009/8/10
发站内信
发表于:2009/11/9 16:43:27
#1楼
前几天我碰到同样的问题,跟你的解决方法一样!
2638
qianjiansong
文章数:287
年度积分:50
历史总积分:2638
注册时间:2008/8/16
发站内信
发表于:2009/11/9 17:25:32
#2楼
我现在还有一个疑问,就是三菱PLC指令DMUL指令中,32位*32位=64位;积为64位,那么,我后面的加法怎么加的;DADD指令是32位+32位=32位;根本就没有64位的加减法的,我该怎么处理?
1059
bogegongkong
文章数:13
年度积分:50
历史总积分:1059
注册时间:2007/12/8
发站内信
发表于:2009/11/10 0:24:43
#3楼
以下是引用qianjiansong在2009-11-9 17:25:32的发言:
我现在还有一个疑问,就是三菱PLC指令DMUL指令中,32位*32位=64位;积为64位,那么,我后面的加法怎么加的;DADD指令是32位+32位=32位;根本就没有64位的加减法的,我该怎么处理?
用浮点数运算.
2638
qianjiansong
文章数:287
年度积分:50
历史总积分:2638
注册时间:2008/8/16
发站内信
发表于:2009/11/10 11:37:49
#4楼
以下是引用bogegongkong在2009-11-10 0:24:43的发言:
以下是引用qianjiansong在2009-11-9 17:25:32的发言:
我现在还有一个疑问,就是三菱PLC指令DMUL指令中,32位*32位=64位;积为64位,那么,我后面的加法怎么加的;DADD指令是32位+32位=32位;根本就没有64位的加减法的,我该怎么处理?
用浮点数运算.

浮点运算也没有直接进行64位加法运算的,请问您具体的执行方式是怎样的,谢谢!
1059
bogegongkong
文章数:13
年度积分:50
历史总积分:1059
注册时间:2007/12/8
发站内信
发表于:2009/11/11 23:05:24
#5楼
看看浮点数范围,如果还满足不了你运算数据大小的要求,可真没辙了.
2255
jxwsdd
文章数:155
年度积分:50
历史总积分:2255
注册时间:2007/11/1
发站内信
发表于:2009/11/12 10:30:21
#6楼
可以解决但是非常麻烦
一般数据32位就够了!~

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

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

62.4004