登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:双字运算问题

点击:2248 回复:13

附件 TAIDA 1.jpg
上面是程序中D420的地方
附件 TAIDA 2.jpg
这是触摸屏中D420的设置
请教下,我触摸屏上D420是控制伺服电机的速度。最多设置到到1600多,超过了伺服电机就不转了,因为伺服电机带了个20速比的减速机,我把D420后面又*了20,是不是D420超过32767就不行了啊,
请教下,我现在速度太低了,但是速度有设置超过1600多电机都不转,只好把电子齿轮比加大了,电机才加快了,就是不懂D寄存器超过32767就不行了为啥
19-01-25 18:06
你的D420数据最大值是多少?超过32767吗?,如果没超,那就没必要使用双字运算,把指令中的“DMUL”改成“MUL”,也就是说16位的计算,不过计算的结果是32位(D400、D401),如果计算的结果D400没超过16位,可以直接调用D400(16位)。
19-01-25 18:28
会超过的32767的,你这个倒是提醒了我,如果D420超过了32767,那是不是上面那条指令也要DFLT  D400  D200
附件 微信截图_20190126081602.jpg
19-01-26 08:18
你这是用单字寄存器吧,单字16位,最大为2的16次方,即从-32768到+32768(大概是这个范围),建议用双字数字寄存器为32位。
还有速度不能调快是应为功率恒定的情况下,速度加快,力就会减小,所以会转不动,步进电机的话可以通过加大输入电压来增加转速上限,你可以参考下。
祝好运!
19-01-26 08:47
谢谢!速度算过了,额定转速3000转每分钟伺服电机,加上减速机以后是150转每分钟,我这还没超过这个速度的,D420确实是单字,不过好像台达的用双字运算符他会默认寄存到D420和D421两个寄存器中,所以我只要保证我D421没有交叉使用就好
19-01-26 09:05
嗯嗯是的
19-01-26 09:13
请楼主仔细的再看说明书,16位计算并非D420(D420、D421)是双字,而是计算的积D400是双字(D400、D401)。
附件 截图.jpg
19-01-26 11:17
好的,谢谢啊!那就是后续对积的运算就要用DFLT、DMUL...之类的是吧
19-01-26 15:15
后续对积的运算就要用DFLT、DMUL...之类的是吧?不对,如果计算的积D400没超16位,可以直接调用D400(单字,16位),无须用到D421,如果超过16位,需要用双字调用D400、D401。
19-01-26 15:55
16位带符号最大值为32767;
19-01-26 18:37

上一页下一页

工控新闻

更多新闻资讯