liaohp
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 113 個(gè)
工控威望: 202 點(diǎn)
下載積分: 612 分
在線時(shí)間: 113(小時(shí))
注冊(cè)時(shí)間: 2011-09-28
最后登錄: 2024-10-31
查看liaohp的 主題 / 回貼
樓主  發(fā)表于: 2021-10-19 22:20
描述:主程序
圖片:
描述:子程序
圖片:
應(yīng)用背景:采集到的模擬量 總是變化很大,我想做一個(gè)相當(dāng)于濾波的程序,原理就是把 數(shù)據(jù)data_in  累加比如1000次,然后 再求平均值,但是我懷疑在  for next循環(huán) 執(zhí)行過程中,外部的數(shù)據(jù)改變了,可能不會(huì)對(duì)for next內(nèi)部 生效,又或者 基于PLC的原理,會(huì)不會(huì)在執(zhí)行for next內(nèi)部程序的時(shí)候,根本就不會(huì)去 處理 for next外部的其他程序。所以想請(qǐng)教各位。
楓落云端
施主,腳抬一下
級(jí)別: 略有小成

精華主題: 0
發(fā)帖數(shù)量: 341 個(gè)
工控威望: 465 點(diǎn)
下載積分: 1547 分
在線時(shí)間: 414(小時(shí))
注冊(cè)時(shí)間: 2017-10-10
最后登錄: 2024-11-29
查看楓落云端的 主題 / 回貼
1樓  發(fā)表于: 2021-10-20 11:45
一般PLC的掃描周期在10ms內(nèi)吧(不排除步數(shù)大的程序超過10ms,畢竟少數(shù),就先不討論),你能確定10ms內(nèi)模擬量波動(dòng)值非常大?還是說模擬量模塊的采集周期比PLC的10ms掃描周期小得多,按1000份算,至少0.01ms也就是10μs的采樣頻率,模擬量模塊有這么快的速度嗎?就算有這么快,模擬量到PLC是否也能這個(gè)快給你接收1000份采樣值。
如果以上都沒有,那么10ms內(nèi)累計(jì)的這個(gè)采樣值的就會(huì)都是一個(gè)數(shù)值,你再怎么累計(jì)1000份再平均都是沒有用的。
楓落云端
施主,腳抬一下
級(jí)別: 略有小成

精華主題: 0
發(fā)帖數(shù)量: 341 個(gè)
工控威望: 465 點(diǎn)
下載積分: 1547 分
在線時(shí)間: 414(小時(shí))
注冊(cè)時(shí)間: 2017-10-10
最后登錄: 2024-11-29
查看楓落云端的 主題 / 回貼
2樓  發(fā)表于: 2021-10-22 12:46
其實(shí)我想說你的程序里算法已經(jīng)有問題了,程序里邏輯就是一個(gè)PLC掃描周期里用FOR循環(huán)采集N次,再平均。
跟你實(shí)際需求的長(zhǎng)時(shí)間多次采集求平均已經(jīng)不同了。