xuzhanily
kakasese
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 76 個
工控威望: 196 點
下載積分: 1186 分
在線時間: 324(小時)
注冊時間: 2012-03-28
最后登錄: 2024-08-17
查看xuzhanily的 主題 / 回貼
樓主  發(fā)表于: 2021-09-16 15:53
圖片:
圖片:
如圖,1200PLC使用FOR指令后,掃描周期時間增加,當前為45MS, 如果增加循環(huán)次數(shù),這個掃碼周期時間還會增長,
           把FOR循環(huán)指令斷開后,掃描周期時間立即減少為6MS.  這是真的不能忍啊,用FOR循環(huán)可以簡化程序工程
           量,但掃碼周期變長了,有沒有好的解決方法?
      
xuzhanily
kakasese
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 76 個
工控威望: 196 點
下載積分: 1186 分
在線時間: 324(小時)
注冊時間: 2012-03-28
最后登錄: 2024-08-17
查看xuzhanily的 主題 / 回貼
1樓  發(fā)表于: 2021-09-16 16:09
圖片:
這個是FOR循環(huán)的程序,大神們幫忙看看
木林森
拒絕加班內(nèi)卷,從我做起!
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 304 個
工控威望: 2072 點
下載積分: 1813 分
在線時間: 204(小時)
注冊時間: 2020-08-16
最后登錄: 2024-11-02
查看木林森的 主題 / 回貼
2樓  發(fā)表于: 2021-09-16 17:23
如果不是要求在同一個掃描周期里計算完循環(huán),PLC里的 for 可以用 if 代替 ,做一個條件利用PLC的掃描周期做循環(huán),從而減小掃描周期時間。
ajunn
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 522 個
工控威望: 682 點
下載積分: 1659 分
在線時間: 1027(小時)
注冊時間: 2008-11-05
最后登錄: 2024-10-26
查看ajunn的 主題 / 回貼
3樓  發(fā)表于: 2021-09-16 17:31
[ 此帖被ajunn在2021-09-16 19:17重新編輯 ]
天空流星
SZ-CL
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 569 個
工控威望: 6191 點
下載積分: 19349 分
在線時間: 557(小時)
注冊時間: 2008-03-17
最后登錄: 2024-11-02
查看天空流星的 主題 / 回貼
4樓  發(fā)表于: 2021-09-16 17:46
引用
引用第2樓木林森于2021-09-16 17:23發(fā)表的  :
如果不是要求在同一個掃描周期里計算完循環(huán),PLC里的 for 可以用 if 代替 ,做一個條件利用PLC的掃描周期做循環(huán),從而減小掃描周期時間。


還是要看需要結(jié)果的實時性,循環(huán)次數(shù)*掃描時間,就是出結(jié)果數(shù)據(jù)的時間,數(shù)據(jù)提前運算,確保使用時已經(jīng)更新就可以,還可以加個循環(huán)完成的標記,避免數(shù)據(jù)沒有完全更新時就被調(diào)用
一些運算把前面加條件,從一直運算改為使用時才運算,也能降低掃描周期
xuzhanily
kakasese
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 76 個
工控威望: 196 點
下載積分: 1186 分
在線時間: 324(小時)
注冊時間: 2012-03-28
最后登錄: 2024-08-17
查看xuzhanily的 主題 / 回貼
5樓  發(fā)表于: 2021-09-17 09:06
引用
引用第4樓天空流星于2021-09-16 17:46發(fā)表的  :


還是要看需要結(jié)果的實時性,循環(huán)次數(shù)*掃描時間,就是出結(jié)果數(shù)據(jù)的時間,數(shù)據(jù)提前運算,確保使用時已經(jīng)更新就可以,還可以加個循環(huán)完成的標記,避免數(shù)據(jù)沒有完全更新時就被調(diào)用
一些運算把前面加條件,從一直運算改為使用時才運算,也能降低掃描周期

謝謝回復(fù),已經(jīng)有了解決方案了,就是你說的有條件的執(zhí)行,不需要執(zhí)行時,就斷開循環(huán),
看來for循環(huán)還是盡量少用,能用if語句實現(xiàn)的就不要用for循環(huán)了,太影響掃碼周期了。。。