秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
楼主  发表于: 2012-06-28 22:56
师傅们好,运台是靠伺服电机来带动的,为什么电控箱上电的时候,运台上可以任意移动,当按下原点回归按钮,以一定的速度反转,当碰到近点开关时,再以更低的速度正转,直到找到Z相后停止,此点就是原点,停止后我用手去移动运台,不管怎么移都移不动运台,这是怎么回事啊?是不是此时伺服必须靠程序来控制才会转
还有一个问题,就是在原点位置的时候,触摸屏上显示的当前位置是0mm,当按下手动反转,触摸屏上的数值变成了负的数值,再按手动正转,数值由负mm的到原点位置0mm变成正的数值显示,这个程序是怎么编写的。是不是在原点位置0MM时,如果是反转的话,位置的当前值用减法指令SUB K0  D10  D20      D10当前值, D20 显示在触摸屏上/
具体编写要怎么编,求指点   D8140用不用派上用场?请师傅们指点一下,小弟在此感谢了
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
1楼  发表于: 2012-06-28 23:19
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
2楼  发表于: 2012-06-29 12:41
引用
引用第6楼tkggtdkjpl于2012-06-29 11:29发表的  :
太简单的问题一般都不回答,自己想.提示一点.将脉冲量转换成距离
触摸屏显示设成32位有符号整数或32位浮点数

师傅,就是在原点位置的时候,触摸屏上显示的当前位置是0mm,当按下手动反转,触摸屏上的数值变成了负的数值,再按手动正转,数值由负mm的到原点位置0mm变成正的数值显示,这个程序是怎么编写的。是不是在原点位置0MM时,如果是反转的话,位置的当前值用减法指令SUB K0  D10  D20      D10当前值, D20 显示在触摸屏上/
这个怎么编的?
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
3楼  发表于: 2012-06-29 12:43
引用
引用第3楼狗蛋大兵于2012-06-29 07:48发表的  :
使能上了 伺服就动不了啦  发脉冲才能动  D8140 是存储Y0的脉冲数 与D8141组成32位  
根据你要求触摸屏显示伺服位移  D8140应该要用的  要看你的丝杠螺距 还有你的齿轮比 伺服一周脉冲数  例如 丝杠螺距10MM  齿轮比1:1  伺服转一周10000个脉冲  那个当你发10000个脉冲的时候  伺服位移式10MM  D8140里面数为10000  然后写程序把D8140传给任意个D 比如 D30  然后DDIV D30 K1000 D50  触摸屏显示的数就取D50  不知道我说明白了吗  。
        
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
4楼  发表于: 2012-06-29 12:44
引用
引用第8楼秋秋于2012-06-29 12:43发表的  :


师傅,就是在原点位置的时候,触摸屏上显示的当前位置是0mm,当按下手动反转,触摸屏上的数值变成了负的数值,再按手动正转,数值由负mm的到原点位置0mm变成正的数值显示,这个程序是怎么编写的。是不是在原点位置0MM时,如果是反转的话,位置的当前值用减法指令SUB K0  D10  D20      D10当前值, D20 显示在触摸屏上/
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
5楼  发表于: 2012-06-29 13:00
师傅,就是在原点位置的时候,触摸屏上显示的当前位置是0mm,当按下手动反转,触摸屏上的数值变成了负的数值,再按手动正转,数值由负mm的到原点位置0mm变成正的数值显示,这个程序是怎么编写的。是不是在原点位置0MM时,如果是反转的话,位置的当前值用减法指令SUB K0  D10  D20      D10当前值, D20 显示在触摸屏上/
就是<0就要显示负数,>0要显示正数,用比较可以吗
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
6楼  发表于: 2012-06-29 13:01
就是<0就要显示负数,>0要显示正数,用比较可以吗
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
7楼  发表于: 2012-06-29 22:34
是的  像你说的 用DRVA  正转应该写 DRVA K数 K数 Y0 Y2  反转脉冲数写K负数
想要在触摸屏显示负值是吗  
那你就写 SUB  K0 D50  D50

师傅,在原点位置0MM,如果是手动正转就要显示正数
       在原点位置0MM,  如果是手动反转就要显示负数,
我可以这样子编吗,  LD  >= D8140  K0    AND  M1   OUT  M2        
LD M2      OUT   MOV   D210     D220    式中,  M1是手动正转 辅助中继             D210是当前位置 数值,D220是触摸屏上显示  
LD<=D8140  K0    AND  M2   OUT  M3      
LD M3      OUT   SUB    KO  D210     D220    式中,  M2是手动反转 辅助中继             D210是当前位置 数值,D220是触摸屏上显示  
可以这样编写吗,还是有更好的思路没有?我编程思路不怎么清晰,还望师傅指点,再
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
8楼  发表于: 2012-07-04 22:25
秋秋
有志者事竞成
级别: 家园常客
精华主题: 0
发帖数量: 416 个
工控威望: 528 点
下载积分: 1305 分
在线时间: 236(小时)
注册时间: 2010-05-11
最后登录: 2024-01-09
查看秋秋的 主题 / 回贴
9楼  发表于: 2012-07-10 23:08
请问M8340和M8348有什么区别?是不是像手册说的,M8340是表明Y0脉冲输出已经结束了,如果这时接通PLSY  D300   D302   Y0   Y3,那么,是不是接通没有断开的话,M8340都在ON的状态,而一旦接通断开,则M8340马上OFF,而M8348是定位结束的标志,即如果DDRVI  D302 D300  Y0  Y3,如果D302的脉冲数还没发送完毕并且驱动没有断开的话,则M8348接通,直到D302的脉冲数发送完毕则M8348断开,是这样的吗?
  
    即M8340是监控普通脉冲输出指令的指令执行是否结束,而M8348是专门监控定位指令DDRVI,DDRVA的指令是否正常执行结束的标志? 谢谢!