xujiehao04
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 182 点
下载积分: 345 分
在线时间: 108(小时)
注册时间: 2015-11-01
最后登录: 2024-10-12
查看xujiehao04的 主题 / 回贴
楼主  发表于: 83天前
今天遇见一个BUG    

就是一个DDRVA K0 K50000 Y1 Y3 的指令

还有一个是回原点指令

回原点指令成功后 已经对d8350清零处理了  

这时我启动DDRVA K0 K50000 Y1 Y3 后 照理说现在的位置应该是在回原点清零后的位置

可是始终要跟清零的位置相差3个毫米  后来我把DDRVA K0 K50000 Y1 Y3 这个指令删掉 按照原来的模样又写了一遍灌进去 就奇迹般的好了

这个是不是一个BUG
小侯
小侯
级别: 工控侠客
精华主题: 0
发帖数量: 482 个
工控威望: 2612 点
下载积分: 8093 分
在线时间: 507(小时)
注册时间: 2008-10-17
最后登录: 2024-11-15
查看小侯的 主题 / 回贴
1楼  发表于: 83天前
DDRVA K0 K50000 Y1 Y3
這指令走絕對位置,亦即從現在位置走道絕對位置0,若原點位置若有問題或是脈波遺失就會造成位置不準確。

照你後面所說快速回原點及一般回原點會相差3mm,這樣你要看快速回跟一般回有何差異,一般來說原點復歸還有所謂的蠕行速度之類的設定就是怕原點信號每次不准,當你速度高時,從高速到靜止的減速所用的時間會比低速到靜止還要長,所以一般來說,原點復歸會以慢速來進行,以原點信號目標,碰到原點(DOG)後以蠕行速度脫離或是伺服Z點等,或是碰到原點信號再行進一固定距離,使其每次都是在同一位置,若是有做快速回原點需求,則用絕對位置0來進行,此時原點位置,則以位置值0為目標,而非原點信號為目標。

DDRVA K30000 K5000 Y0 Y2
Y0為脈衝信號輸出,Y2為運轉方向控制
你有確認指令執行時當前位置嗎,若你位置值低於K30000則正轉至K30000,若是高於K30000則逆轉

然後你的程式沒有註解,這要怎樣判讀你的指令與接點用途