重い機械を制御するためのSCADAソリューション用の.NETプログラムを開発しましたが、アプリケーションの時間管理に関連する問題がいくつかあります。勧告。.NET上のアプリケーションのような確定的なアプリケーションプログラミング
私はWinformsタイマーを使用して定期的にチェックし、制御されているプロセスに関連するいくつかの変数の値を記録します。アプリケーションは、中断することなくオンに約40時間を費やします。開始時にはタイマーが作動し、5分間隔で値がデータベースに記録されます。しかし、40時間が終わると、同じタイマーが設定を変更せずに、1時間に1回だけ呼び出されます。
私の質問は基本的には "特定のコードがC#で開発されたプログラムで固定周期間隔で実行されるようにするにはどうすればよいですか?"私は実際には純粋なリアルタイムソリューションは必要ありません。機能が常に一定の時間間隔で呼び出されるようにしてください。しかし、それらの間隔は非常に重要ではない、我々は約5分の長さを話している。コードを実行するのにかかる時間は重要ではありませんが、コードが常に同じ時間に実行されることが重要です。
通常のユーザー空間プログラムではなくサービスとしてアプリケーションを実行する方がよいでしょうか?それはC + +で "タイムクリティカル"の部分を開発し、ソケットなどを介してC#のコードと通信するより良い選択ですか? begginingタイマーで
_real-time_群衆の怒りを解消するために、あなたのタイトルを改め、あなたの 'tags 'を改訂したいと思うかもしれません。 5分間隔はほとんどありません_real-time_プログラミング – MickyD
コードを見ることなく、何が間違っているのかは分かりませんが、WinFormsのタイマーは問題ではありません。それらは問題が他の場所にあるので、数ヶ月後でも適切にチェックされます –