日記；回すだけ②TwinCATのインストール

　[この記事を参照](https://eetimes.itmedia.co.jp/ee/articles/1603/31/news037_5.html)して、TwinCATをインストールします。
###手順
　最初に、無償のVisual Studio 2019 Communityをインストールします。
　次に、[Windows Driver Kit Version 7.1.0](https://www.microsoft.com/en-us/download/details.aspx?id=11800)をインストールします。なんか古そうですが。
　TwinCAT3は、ベッコフのWebサイトからダウンロードしてインストールします。ダウンロードしたのはTC31-Full-Setup.3.1.4024.12.zipですが、Webサイトには、ダウンロードの入り口はありません。ユーザ登録をすると現れます。
　インストールしたら、最初に、ESIファイルをC:\TwinCAT\3.1\Config\Io\EtherCATにコピーします。ベッコフのは最初から入っています。筆者はオムロンのカプラとmaxonのEPOS4のESIファイルを入れました。このファイルは、機能を記述したXMLのテキストです。PCを再起動します。
　PCが立ち上がると、初期設定のTwinCAT3が起動して常駐?します。その後、スタートメニューからTwinCAT3を立ち上げます。
###構成
　PCがマスタになり、下記のスレーブをイーサネット・ケーブルでつなぎました。

- オムロンのカプラNX-ECC202に入力モジュールNX-ID5342、出力モジュールNX-OD5121-1を接続
- ベッコフのカプラEK1100に出力モジュールのEL2008を接続
- maxonのEPOS4 Module 24/1.5 EtherCAT

　カプラ類は、ヤフオク、ebayで入手した中古品です。TwinCATの動作を確認するために用意しました。

###認識
　新しいプロジェクトからNew TwinCAT Project...をえらび、任意の名称を付けてOKをクリックします。ここでは、デフォルトのTwinCAT Project8です（最初は8ではなく1です）。
![t101.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/a0e02c0e-364f-0e78-27b8-6e446bc6ab33.png)
　最初に、ネットワーク・カードを有効にします。
　メニューのTwinCATからリアルタイムイーサネット互換デバイスの表示をクリックします。別のEthernet Adaptersパネルが出ます。Compatible devicesの項目に入っているNICをマウスで選択し、右のInstallをクリックすると、上部のInstalled and ready to use...の項目に移動します。
　Compatible devicesの項目に何も表示されていないNICは使えません。installしても使えないNICもあります。このダメなNICは、後の作業のスキャンができません。
![t102.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/4708fc28-4729-5572-a48b-dde1e6134318.png)
###デバイスを有効にする
　最初に、使わないメニュー（SAFTY、C++、ANALYTICS）を非表示にします。最終的な記述言語はPLCに入っているST言語です。非表示しなくても、何も問題は起こりません。
<img width="350" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/56b84f06-4573-b6ab-a7b1-5e6e25ce6298.png">

　I/Oをクリックし、その下にあるデバイスを右クリックします。新しい項目の追加を選ぶと出てくるデバイスの挿入パネルで、EtherCATマスタを選択し、OKをクリックします。
![t104.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/ac50294b-7ce6-6b46-b423-cd942ce22eae.png)
　デバイス検出個所というパネルが出るので、Installed and ready to use...の項目に入れたNICを選択します。
<img width="500" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/1e36d41d-c96d-a3ef-4687-d7f1ed3d8cae.png">


　左側のメニューは、ソリューションエクスプローラと呼ばれます。

<img width="400" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/b809a327-2b4f-3e8d-e5ff-2d27ebf97da8.png">


　デバイス1（EtherCAT）を右クリックして出てくるメニューの**スキャン**を選択します。機材の電源を入れ、イーサネット・ケーブルをつないでおきます。
<img width="400" alt="ファイル名" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/eaf91e27-d235-ee11-0c5d-84b9d0d84e06.png">


　スレーブを検出していきます。何も起こらないときは、これまでの設定が間違っています。手動でもデバイスを追加できますが、なんども泥沼に入ってしまいました。
　EPOS4を見つけたときに出たパネルです。NC-構成を選びます。1軸が追加されます。

![t108.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/45be51c6-7b7a-69fb-c4df-beb23d376f1d.png)

　スキャンが終了しました。中央のエリアは、左のエリアで、デバイス1（EtherCAT）をダブルクリックしたら出る画面です。タブはアダプタを選択しています。
![t109.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/b97f2a13-91ee-7b21-4f00-666e014b2541.png)
　メニューの中に二つのフロッピ・アイコンがあり、これをクリックして保存を実行します。
![t109a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/fe34f5e2-babd-494d-7e09-7aca60be6d9b.png)
　フロッピの下にあるアイコン「構成の有効化」をクリックします。
![t110.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/12e06bc8-b6a8-7573-32e6-137d7b6a3d83.png)
　構成のアクティブ化の確認が出るので、OKをクリックします。
![t111.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/04d88404-e57e-e284-58cf-e401cf53455b.png)

　TwinCATの再起動をするパネルが出るので、OKをクリックします。始めて動かすとき、この前後でライセンスがないというパネルが出ます。5文字のコードを入れるパネルが出ているので、その文字を入力します。これだけの操作で、7日の実行に必要なライセンスが有効になります。
![t112.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/ca8df1d5-6ce8-3868-d77b-185887743b2b.png)
###動作確認
　最初に、オムロンの入力モジュールModule1(NX-ID5342)のInput Bit 16bitsをクリックし、中央のエリアでオンラインタブを選びます。
　A-4端子をGNDにつなぐと、0が64変わりました。モジュールの動作確認用LEDでは'6'が点灯しています。
![t113.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/e9309fd3-02bf-5f02-51d1-b7812904d83d.png)
　同様にオムロンの出力モジュールModule2(NX-OD5121-1)のOutput Bit 16bitsをクリックし、中央のエリアでオンライン・タブを選びます。書込(W)ボタンをクリックし、10進数で'5'を入れ、OKを押しました。モジュールの動作確認用LEDでは'0'と'2'が点灯しています。
![t114.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/ec67d803-481c-0d4c-a794-d055f0379993.png)

　ベッコフの出力モジュール・ターミナル3(EL2008)のChannel2-Outputをクリックします。書込(W)ボタンをクリックし、BOOLで'1'を選択し、OKを押しました。モジュールの動作確認用LEDでは上段右が点灯しています。
![t115.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/2182653c-0f09-3d9b-33a9-216958c15eac.png)

　ここまで、すべてのLEDは**オール・グリーン**です。中古品のI/Oモジュールがいずれも動作していることが確認できました。
　別途ST言語でI/Oを制御するプログラムを作っていくと、オムロンはエラーが出て、正しく動作しませんでした。まだ解決していません。ベッコフのカプラは正しく動作しました。