各位新進大家好,我想設計一個程式但,似乎沒有找到我要的解答,向各位請教。
我會在該控制時間點前 『告訴我某時間點會 給出移動指令值,並用該移動指令去做計算』,在指令時間之前,維持之前的移動指令。
假設12:00移動指令為100,在下個指令來之前都以100做計算,
若到了12:02時移動指令為105,在下個指令來之前都以105做計算,
若到了12.29時移動指令為151,在下個指令來之前都以151做計算,…依此類推。
更新移動指令指令.vi (10.5 KB)
各位新進大家好,我想設計一個程式但,似乎沒有找到我要的解答,向各位請教。
我會在該控制時間點前 『告訴我某時間點會 給出移動指令值,並用該移動指令去做計算』,在指令時間之前,維持之前的移動指令。
假設12:00移動指令為100,在下個指令來之前都以100做計算,
若到了12:02時移動指令為105,在下個指令來之前都以105做計算,
若到了12.29時移動指令為151,在下個指令來之前都以151做計算,…依此類推。
更新移動指令指令.vi (10.5 KB)
抱歉剛下班,現在才回訊息,謝謝您的用心回復。
下列敘述是我真正需解決的,簡易版那個似乎行不通。
因為我要控制的是「基準頻率調整指令」,而這在真正要控制的前1分鐘,
台電才會告訴我們 1.時間 2.基準頻率調整指令,所以我當下其實並不知道未來的指令為何?
所以須收到指令後1分鐘後動作,即便現在接收到新的指令,但這是下一分鐘才要動作的指令,現在還是要維持上分鐘的指令做動作。
台電說 :「基準頻率調整指令,透過遙測通訊模組,每分鐘會給予一個指令。
每分鐘做發送,但大部分時間都是60Hz,若新的這分鐘收到新的頻率指令時,就必須在下一分鐘做調整。」
我建議 程式架構 使用 Producer/Consumer Design Pattern
你可以試著把 預設時間指令.vi
程式架構改為 Producer/Consumer Design Pattern
上面 迴圈 Event 偵測觸發事件 ( 調整指令 & 發送指令 )
下面 迴圈 執行移動指令.
謝謝您的解釋,對我幫助甚大,這程式我需要花些時間理解一下,我問您在請教您。非常感謝~
另外 你說 簡易版那個似乎行不通
是有遇到甚麼問題? 可以說明一下嗎?
非常謝謝您的回復~
因為原意為這列這句:
台電說 :「基準頻率調整指令,透過遙測通訊模組,每分鐘會給予一個指令。
每分鐘做發送,若新的這分鐘收到新的頻率指令時,就必須在下一分鐘做調整。」
1:59 時發送 2:00的指令為60.00 (1:59:00 ~ 1:59:59 未有指令)
2:00 時發送 2:01的指令為60.01 (2:00:00 ~ 2:00:59 指令原為60.00),【因為程式的問題,到 2:01:00時因為同時接收到2:01時發送的指令60.02,所以原本該出60.01的指令會變成60.02。】
2:01 時發送 2:02的指令為60.02
2:02 時發送 2:03的指令為60.01
雖然程式有維持之前指令的的方法,但若同時收到新指令與原本在該指令維持的時間在同一時刻發生時,會有問題,想請問有無善方法~謝謝~
更新移動指令指令_簡易版2.0.vi (11.1 KB)
這方法似乎可行,非常的感謝您~ \ (^ _^ ) /