讀取兩個 Modbus 程式剛起動會時"重秒"
程式邏輯:
有兩顆電表一顆專讀頻率,一顆讀取其它參數
《電表1》讀取其他參數,每秒只讀取1次
《電表2》只讀頻率1秒讀10次,然後再平均後得出=1秒1個頻率值
裡面的for loop(10)代表頻率1秒讀10次
外面的for loop(10)代表將讀取到的參數每10秒做成一個檔案
所以一秒會有頻率&其他參數
每10秒會再將這些參數 之後做成一個檔案
將這些參數整合後須再做其他處理,但是目前Modbus程式會遇到,程式剛起動會"重秒"
用成毫秒觀察發現,在第1秒時或第2秒時可能會在一秒內讀取兩次
將小數點顯示至小數第二位後,就發現了原因,
"可能"除了開頭第1秒的(第一&二個) & (第二&三個)外
之後的其他秒數都是X.80毫秒(都每隔1000ms整跳一秒)
N+1個迴圈後 秒數小數點都是X.80
《《以下的截圖都是程式剛剛啟動第一個迴圈時的畫面》》
所以如果程式開始的瞬間是在X.80~X99之間,就不會發生重秒的問題
但若程式開始瞬間是在X.00~X.79的話就會發生"重秒"
有時候也會發生在第2和3格才出現重秒的情況
重秒影片.7z (2.8 MB)
Modbus重秒.vi (32.5 KB)
請問各位高手,如何讓Modbus程式不要剛起動時有"重秒"發生 ~ 謝謝。