プロジェクトの作成
Visual Studioを起動し、[ファイル(F)]から[新規作成(N)]-[プロジェクト(P)]を選択します。
[新しいプロジェクトの作成]ダイアログボックスのテンプレートから、[C#]の [Windows フォーム アプリ]を選択し、[次へ(N)]ボタンをクリックします。
[新しいプロジェクトを構成します]ダイアログボックスから、作成するプロジェクトの名前と保存場所を指定し、[次へ(N)]ボタンをクリックします。
[追加情報]ダイアログボックスから、[.NET 8.0(長期的なサポート)]を選択し、[作成(C)]ボタンをクリックすると、プロジェクトが作成されます。
※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。
クラスライブラリのインクルード
Visual C#でlibmodbus関数を使用するには以下のファイルが必要となります。
・ModbusTCPの場合
ModbusCs.cs
ModbusTcpCs.cs
・ModbusRTUの場合
ModbusCs.cs
ModbusRtuCs.cs
Visual Studioのメニューバーから[プロジェクト(P)]を選択し、プルダウンメニューから[既存の項目の追加(G)]を選択します。
[既存項目の追加]ダイアログボックスから、上記ファイルを指定し、[追加(A)]ボタンをクリックすると、プロジェクトにクラスライブラリが追加できます。
Visual Studioの[ソリューション エクスプローラー]ウィンドウ内のツリービューで、登録したクラスライブラリの有無が確認できます。
※上記は、Microsoft Visual Studio Professional 2022 (64ビット)の内容です。バージョンにより項目名やコマンド等が異なる場合があります。
ネームスペースの追加
クラスライブラリ中のメソッドを使用するために、ネームスペースを追加します。
C#ソースコード(拡張子.csファイル)の先頭に、以下の二行を追加してください。
using ModbusCs;
using ModbusTcpCs;
※ModbusRTUの場合は、「using ModbusRtuCs;」としてください。
クラスインスタンスの作成
libmodbusのクラスライブラリを使用するために、クラスのインスタンスを作成します。
C#ソースコード(拡張子.csファイル)中の、フォームクラスの先頭に以下の行を追加します。
public class Form1 : System.Windows.Forms.Form
{
Modbus modbus = new Modbus();//←追加
ModbusTcp modbustcp = new ModbusTcp();//←追加
※ModbusRTUの場合は、「ModbusRtu modbusrtu = new ModbusRtu();」としてください。
クラスライブラリメソッドの使用方法
C#では、直接libmodbus関数を呼び出すのではなく、クラスライブラリのメソッドを呼び出します。
libmodbus関数は、クラスライブラリのメソッドから呼び出されます。
クラスライブラリ中のメソッドは、元々の関数からプレフィクスを除いた形で定義されていますので、
それに合わせて呼び出してください。
例) modbus_new_tcp関数の場合
Ret = modbustcp.NewTcp ( ・・・・
例) modbus_read_bits関数の場合
Ret = modbus.ReadBits ( ・・・・
EXEアプリケーションを"Any CPU"ビルドする際の注意点
一般的に、Visual Studio設定「構成マネージャー」ウィンドウ内の「アクティブ ソリューション プラットフォーム(P)」項目で、"Any CPU"を指定してビルドしたEXEアプリケーションは、64ビットOS環境でも、32ビットOS環境でも実行することができます。
しかしながら、.NET8フレームワーク対応のEXEアプリケーションを開発する場合は、ターゲットOSを意識する必要があります。
詳細は、FAQ「.NET8以降の.NETの実行環境」を参照してください。