Ex.1 PLC変数の個別アクセス
完成イメージ
PLC変数の値をボタン操作で読み書きするダイアログアプリ
TwinCAT ADS.NETクラス & API
使用するクラス:
TcAdsClient Class : ADSクライアントAPIを提供
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313399947.html
使用するメソッド:
TcAdsClient::TcAdsClient() : コンストラクタ
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313401995.html
TcAdsClient::Connect() : ADS接続
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313437835.html
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313441931.html
TcAdsClient::CreateVariableHandle(), DeleteVariableHandle() :
変数へのハンドルを取得/解放
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313445003.html
TcAdsClient::ReadAny(), WriteAny() : 変数値の読み書き
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313467531.html
https://infosys.beckhoff.com/content/1033/tc3_adsnetref/7313524875.html
フォームデザイン
Visual StudioのToolbox - Common Controlsから
部品をドラッグ&ドロップして配置
配置した各要素のProperties - Appearance - Textを適宜編集
配置した各要素のProperties - Design - (Name)を適宜編集
ハンドルとクライアントの宣言
TwinCAT PLCプロジェクト、C#プロジェクトを作成し、
必要な変数/オブジェクトをそれぞれ定義
ADSサーバーへの接続
ロード時にPLCとADS接続するコードを追加(ローカルの場合)
ロード時にPLCとADS接続するコードを追加(リモートの場合)
Read&Write用のハンドルの作成
変数読み書きのためのハンドルを生成するコードを追加
TC3 PLC変数のWrite
WriteボタンでTextBoxの値をADS書き込みするコードを追加
TC3 PLC変数のRead
Readボタンで変数値をADS読み込みするコードを追加
ハンドルのリソース解放
終了時にハンドルを消去するコードを追加
(参考)PLCと.NETのデータ型の違い
PLCと.NETのデータ型は名称やサイズが異なるため、
対応関係に注意が必要