私は約1年前から製造機械用のGUI(またはHMI)を開発してきました。GUIが読み取りアクセスを必要とするマシンには約5000個のパラメーターがあります。
現在、マシンからすべての変数をマシンからのいくつかの大きなデータブロックとして収集し、それらを解析してGUIのリストに配置するデーモンスレッドがあります。
私は40ミリ秒未満ですべてを収集、更新、解析します。これは、必要な1秒の更新頻度をはるかに下回っているため、これは問題なく機能していると思います。
問題は、実際のGUIでコントロールを更新する方法です。コントロールは、それが作成されたのと同じスレッドでしか更新できないためです。現在、すべてのコントロールをループする別のスレッドを使用してから、BeginInvoke(winform)またはDispatcher(wpf)を使用してユーザーのすべてを更新しています。これは私には非常に複雑に思えます。
似たようなことをしたり、GUIを更新するためのよりエレガントな方法を持っている人はいますか?
ありがとう!