TwinCATプロジェクトとC#プロジェクトが含まれた Visual Studio のソリューションファイルを開きます。
Visual Studioのソリューション内には、下図の2つのプロジェクトが存在します。
“FileSource1”に画像を追加します。下図の例では、640 x 480, 24bitカラーのビットマップファイルを10枚セットしています。
TwinCAT PLCプログラムに、C#アプリがADS通信で取得する為の画像データを用意します。具体的には、TwinCAT Visionが扱う画像データ(ITcVnImage型)を、次の関数を用いてバイト配列に出力します。
次図のTwinCAT PLCプログラムは、実際にC#アプリがADS通信で取得するバイト配列を作成している箇所です。PLCのPOUである”Vision”プログラムに、”aBuffer”というバイト配列を宣言しています。このバイト配列には、画像のピクセルデータ(0 to 255)が画素数分格納されます。
TwinCATのPLCプログラムを Active Configuration し、プログラムを実行してください。
プログラム実行後、”ADS Image Watch”ウィンドウを表示させることで、”FileSource1”に登録した画像を
1000 ms 間隔で取得していることが確認できます。(※次図を参照)
次にC#アプリケーション側の実装を行います。
C#プロジェクト”WindowsFormsApp1”の”Form1”に、下図のようなWindowsフォームを用意します。
ADSライブラリをC#プロジェクトに追加します。
プログラムを実行し、確認します。
1)最初に、TwinCATプロジェクトを Active Configuration し、プログラムを実行。
2)次に、C#アプリケーションを実行。
3)C#アプリケーションの”button1”を押し、画像が表示されることを確認。