0

私はスタックオーバーフローが初めてです。

AdvancedHMI と共に Zedgraph を使用することについての提案を求めています。

現在、イーサネット経由で PLC から「リアルタイム」データを収集する ac# アプリケーションを開発していました。タイマーを使用して 10 ミリ秒ごとにデータを収集し、これらのデータをリストに保持しています。テストが終了したら、データを MySQL db に渡します。

しかし、テストが速すぎて、十分なポイントを集めることができない場合があります。

だから私は提案を求めています。「リアルタイム」グラフ、スレッド、またはタイマーに適したソリューションはどれですか?

主な問題は、各テストに異なるパラメータがあり、その場で更新する必要があるためです。これらのパラメータは PLC から取得されます。したがって、私が行っている手順は次のとおりです。

  1. Zedgraph オブジェクトを初期化する
  2. タイマーを開始する
  3. タイマー内で、PLCに「ラベル、X軸(時間[ms]または距離)など」を要求します)
  4. ポイントをプロットまたはスキップするために、PLC は「validData」フラグを送信します。
  5. X 点と Y 点の読み取り
  6. チャートを更新する

私の方法はひどく非効率的であると確信していますが、現時点ではより良い解決策がありません。

前もって感謝します

4

1 に答える 1

2

Windowsでタイマーを実行すると、リアルタイム/一貫した結果が得られることはありません。オペレーティング システムはリアルタイム オペレーティング システムではありません。10ms で一貫してサンプルが必要な場合は、PLC でタイマーを使用し、データを PLC に保存する必要があります。テストの最後にビットを設定すると、HMI がそのビットを監視します。HMI がビットが真になったことを確認すると、HMI は PLC からすべてのサンプルを読み取ります。

グラフに関しては、プロジェクトを .NET 4.0 をターゲットに設定すると、グラフ作成コンポーネントが組み込まれています。

于 2013-02-22T13:17:58.880 に答える