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

主题:请大神指点一下为什么这样写???

点击:912 回复:17

引用 HSC316 在 2023/5/29 9:17:39 发言【内容省略】

不一定要放在断电保持寄存器,随便哪个都可以
DDRVA D220 D222 Y0 Y1 这条指令 D220是距离,也就是电机转多少圈。D222是速度。
一般的做法是速度D222直接放在触摸屏上面,距离大部分是要转换的,
因为工艺上我们输入的是工程量比如多少毫米,但定位指令只认识脉冲数量,所以需要转换。大概怎样转换7楼已经说了。
你需要做的是在触摸屏上做一个浮点数的输入,假设D200,在程序里面先用D200除以0.001,(DEDIV D200 E0.001 D300),
结果在D300,这个D300是浮点数,定位指令不能用,需要用DINT转成整数,(DINT D300 D220)
D8340是一个脉冲显示,相当于是一个实际位置,可用可不用,有些需要在触摸屏上显示实际位置就需要用上
但要求显示的也是工程量单位,所以也需要进行转换
DMOV D8340 D400  先把它传给一个普通寄存器
DFLT D400 D410  转成浮点数
DEMUL D410 E0.001 D420 乘以转换系数
最后把D420显示在触摸屏上即可
23-05-29 10:36
感谢大神的耐心指导,我是小白也是在自学三菱PLC3U.见笑了。 您的意思我已经明白,
那还可不可以这样,我利用D8340当前值里显示的脉冲数,直接  D8340 DMOV D200 D200 DMOV D220
然后 直接就定位DDRVA D220 D230 Y0 Y1,这样定位可以吗?定位距离通过DDRVI 手动走到要定位的点。然后通过D8340所显示的脉冲数记录下来。在传送给D220 ,可以嘛?不用转换成毫米单位和浮点数。这样能实现精准定位嘛?
23-05-29 13:22

引用 HSC316 在 2023/5/29 13:22:19 发言【内容省略】

你这样的做法我没有做过,你可以试一下,但我想应该是不行的,假设你手动定位到2000的位置,这个时候你再绝对定位2000,伺服是不会动的。除非你先保存起来,然后离开这个位置,下次再调用,我觉得你的想法类似于示教,先手动调到某个位置记录下来,自动走时再调用出来。
23-05-29 13:53
有些信捷的定位指令要用到双精度浮点数,而触摸屏出来没有这种数字格式,只好在PLC里转换!
23-05-29 14:04
对我说的就是示教的方法。先设好原点,再说手动到定位点,记录保持当前脉冲数,然后传送给定位指令进行定位。这样可行吗?
23-05-30 08:58

引用 HSC316 在 2023/5/30 8:58:05 发言【内容省略】

示教一般是配套手摇脉冲发生器的,这样的功能应该要支持运动控制的主机或者模块才行。
至少FX3U是不支持的
如果你用PLSY指令手动走,这个指令的脉冲数累计数是在D8140里面的
看看能不能在原点时把D8140清零,然后手动走,定下来后把D8140传出来
23-05-30 11:37
大神你好,谢谢你的耐心回复,我是用的示教的方法得知定位距离的,然后保持下来,后面调用定位距离。这样我感觉比较简单。别的方法我也不会也不知道。不过我刚刚看了你7楼和10楼的回复,我好像知道了除了示教的方法可以得知移动距离外。通过你叙述的运算方法也可以得知移动定位距离。是不是???大神。通过触摸屏上输入的100毫米。程序里就可以通过运算的方式得知脉冲数,然后传送到定位指令中。我这样理解对不对???大神表情表情
23-07-11 17:07
通过触摸屏上输入的100毫米。程序里就可以通过运算的方式得知脉冲数,然后传送到定位指令中。我这样理解对不对???
对的
23-07-11 20:00

上一页 上一页

工控新闻

更多新闻资讯