投稿者 魔界の仮面弁士  (社会人) 投稿日時 2019/6/11 16:19:57
お使いの Visual Basic のバージョンは何でしょうか。
(コードを見る限り、VB2008 以上ではあるようですが)


> Registers = ModbusClient.ReadHoldingRegisters(0, 3)

EasyModbus のことは全く知らないのですが、検索でヒットするのは下記ですね。
http://easymodbustcp.net/en/modbusclient-methods


> ・通信データの受信
> ・グラフへの描画

データはどのようなタイミングで受信されるのでしょうか。

(1) データが届くたびに、ライブラリからイベント(またはコールバックデリゲート)が呼ばれる形式。
 コールバックは UI スレッドに対して行われる。

(2) データが届くたびに、ライブラリからイベント(またはコールバックデリゲート)が呼ばれる形式。
 コールバックはワーカースレッドに対して非同期的に行われる。

(3) アプリ側から任意のタイミングでデータを取りに行く形式。
  データが無ければ、空のデータが返される。

(4) アプリ側から任意のタイミングでデータを取りに行く形式。
  データが無い場合、新しいデータが届くまで呼び出し元がブロックされる。

(5) その他



> どのようにコードを変更すれば良いのでしょうか。

たとえば (3) であれば、Timer で定期的(たとえば 200ミリ秒ごと)にデータを受け取り、
新しいデータがあれば、それを Chart にプロットするという処理になりそうです。