高下勞動
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個(gè)
工控威望: 170 點(diǎn)
下載積分: 550 分
在線時(shí)間: 94(小時(shí))
注冊時(shí)間: 2011-06-23
最后登錄: 2024-01-04
查看高下勞動的 主題 / 回貼
樓主  發(fā)表于: 2014-12-11 23:31
這是我把修改的程序部分如圖所示:原程序中d14和d16是 分開的,分別控制兩段行程。后來我把d14和d16做了一個(gè)加法運(yùn)算放d58.出現(xiàn)了一個(gè)問題。運(yùn)行一一天 就會偶而出現(xiàn)那么一兩次y0脈沖數(shù)據(jù)還沒有 達(dá)到伺服就莫名停止了工作。y0前面的 點(diǎn)都是接通的。 想不 明白造成程序部 不 穩(wěn)定的 因素在 哪里
高下勞動
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個(gè)
工控威望: 170 點(diǎn)
下載積分: 550 分
在線時(shí)間: 94(小時(shí))
注冊時(shí)間: 2011-06-23
最后登錄: 2024-01-04
查看高下勞動的 主題 / 回貼
1樓  發(fā)表于: 2014-12-12 16:31
引用
引用第3樓gufan8099663于2014-12-12 08:18發(fā)表的  :
DMUL是雙字節(jié)乘法通道互相干涉,程序會把D178,D179的值乘以K200放在D14,D15,D16,D17里面,所以D16,D17被雙重占用,如果數(shù)值小沒有發(fā)生溢出就沒問題,數(shù)值一大通道就打架了

果然是 一語驚醒夢中。  原來是 一直以為32位只帶兩個(gè)寄存器,沒往這里 想沒仔細(xì)看手冊吃了 虧。     不過原作也是 這樣程序用了好久都沒 問題 ,因?yàn)橛玫?2位 數(shù)值也排除溢出的 可能。我 只用dadd把d14和d16相加怎么就變得 不 穩(wěn)定呢 ? 再次請教
高下勞動
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個(gè)
工控威望: 170 點(diǎn)
下載積分: 550 分
在線時(shí)間: 94(小時(shí))
注冊時(shí)間: 2011-06-23
最后登錄: 2024-01-04
查看高下勞動的 主題 / 回貼
2樓  發(fā)表于: 2014-12-12 16:33
引用
引用第7樓理論初學(xué)者于2014-12-12 13:41發(fā)表的:

那原來程序也是這樣使用為什么不打架呢?只是在下面做了個(gè)加運(yùn)算就打架有點(diǎn)說不過去吧。

同問。我現(xiàn)在 考慮是是 不 是 因?yàn)槭褂弥丿B而使程序有 時(shí)候掃描出錯 。   這次設(shè)備送的比較遠(yuǎn) 沒 辦法做實(shí)驗(yàn)了哎。