liufuyejin
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 115 個
工控威望: 298 點
下載積分: 767 分
在線時間: 60(小時)
注冊時間: 2007-09-15
最后登錄: 2012-10-15
查看liufuyejin的 主題 / 回貼
樓主  發(fā)表于: 2011-03-02 21:11
我用一臺FX3U PLC控制松下伺報,剛開始只用幾百步來程序來調試定位很精確,但是我把程序寫完后,步數(shù)多了,有6~~7千步,這時定位就不準了,每個來回都不同,請問各路高人,有什么方法來解決這個問題???/
                 謝謝!
ykykkhor
Best Regards,YK
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 259 個
工控威望: 308 點
下載積分: 139414 分
在線時間: 560(小時)
注冊時間: 2009-07-30
最后登錄: 2024-12-23
查看ykykkhor的 主題 / 回貼
1樓  發(fā)表于: 2011-03-03 22:51
引用
引用第4樓jian.abcde于2011-03-03 14:07發(fā)表的  :
幾百步來程序來調試定位很精確,是因程序掃描周期短,所以精確。步數(shù)多了,有6~~7千步,這時定位就不準了,是因程序掃描周期太長,所以不準了?梢杂米映绦蛘{用指令CALL,重復多用幾次CALL,應該能解決。

1) 的確是受因程序掃描周期影響, 不過依然是由于編程的方法有很大的進步空間。
2) 一個好的程序不應輕易被多了步數(shù)、延長了程序掃描周期而定位精確度受影響的。
3) 使用 CALL 是好方法, 如果編寫程序的方法更進步是可以避免被 CALL 的。
4) 加油!!! 祝你成功 !
ykykkhor
Best Regards,YK
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 259 個
工控威望: 308 點
下載積分: 139414 分
在線時間: 560(小時)
注冊時間: 2009-07-30
最后登錄: 2024-12-23
查看ykykkhor的 主題 / 回貼
2樓  發(fā)表于: 2011-03-06 22:32
引用
引用第8樓liufuyejin于2011-03-05 09:09發(fā)表的  :
我一開始寫的時候就有想過這個問題,就是用子程序來控制的,在電腦上看,PLC發(fā)的脈沖也是準確的,我都煩死了,因為機臺控制的東西多,程序要寫那么長。(樓上的朋友指的多處調用,是不是在多個地方插入CALL來控制?)

1) CALL 是即時中斷主程序, 直接跳入子程序, 靠 RET (A / Q) 或者 SRET (FX) 回調主程序中斷處繼續(xù)執(zhí)行, 所以應該直接影響掃描時間
2) 忘記回調主程序 RET (A / Q) 或者 SRET (FX)
3) CALL 是即時中斷調用子程序, 子程序僅做一次性的執(zhí)行, 如果脈沖無法在執(zhí)行中發(fā)完, 那么脈沖 。。。。。就會被中斷了
4) 脈沖指令應該用在主程序中
5) 把程序發(fā)上來, 好讓我們一起研究, 不必繞了一大圈仍然在猜想你的程序是怎么寫的
6) 加油!!!