今回の記事ではTE2000のEtherCAT diagnostics拡張機能を活用し、EtherCATネットワーク内の診断情報を素早く・詳しく確認する画面を構築します。
さ、FAを楽しもう。

前書きBLOG固定
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Palpay
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Reference Link
http://soup01.com/ja/category/beckhoff/twincat3/texxx/
EtherCAT diagnostics?
EtherCAT Diagnostics ExtensionはEtherCATフィールドバスやターゲットシステムのトポロジーを診断するためのインターフェースを提供します。クライアントでの可視化はEtherCAT Diagnostics Controlが行います。
システム要件
TE2000でEtherCAT diagnostics機能を使用するには、こちらは最低のシステム要件になります。
- TE2000 Version 1.14
- Windows 10 (32/64-bit)/Windows 11/TwinCAT/BSD
EtherCAT devices
こちらはEtherCAT diagnostics 機能のEtherCATデバイスへの接続設定画面です。
ベンダーが上書き
こちらはベンダー名を上書きできます。各EtherCATデバイスはベンダーIDを持っていて、このIDはEtherCATデバイスのベンダーに割り当てられます 。ベンダ名や略称を変更する場合は、対応するVendor IDで新しいエントリを追加します。
また、EtherCAT devicesでは指定した名前と略称はデフォルト値を上書きします。個々のデバイスに対してのみ必要であれば、EtherCATデバイス経由で新しいエントリを作成し、個々のデバイスを特別に変更することができます。
更新間隔
こちらは個々の接続の更新間隔を設定できます。
Diagnostics
こちらの診断画面で現在TE2000のEtherCAT diagnostics拡張機能とTwinCAT3 Runtimeの接続状態を確認できます。
Implementation
今回の記事ではTwinCAT3側とTE2000側部分の構築に分かれています。
TwinCAT3 Side
最初にTwinCAT3側にアクセスしたい変数にAttributeを追加します。
GVL
前回の記事で作成したGVLに{ attribute ‘TcHmiSymbol.ShowRecursively’ }というAttributeを追加すれば、TE2000からその変数をアクセスできます。
{attribute ‘qualified_only’} VAR_GLOBAL { attribute ‘TcHmiSymbol.ShowRecursively’ } OutDataToSiemenS71500 AT %Q*:ARRAY[0..3]OF WORD; InDataFromSiemensS71500 AT %I*:ARRAY[0..5]OF WORD; inDpState AT %I*:USINT; inPDOState AT %I*:BOOL; END_VAR |
TE2000側
次はTE2000側を構築します。
Add new Project
新しいTE2000プロジェクトを追加し、TwinCAT HMI Project Generatorを利用しTemplateプロジェクトを作成します。
Static Applicationを選び>Nextで進みます。
プロジェクトの色合いを設定し、Nextで進みます。
スタートページに今回記事で使用するEtherCAT diagnostics Tempateを使用ししたいので、Contect TempateのDrop-listからEtherCAT diagnosticsを選択し、Finishでプロジェクトを作成しましょう。
少々まってください…
ADS設定
TE2000と接続するTwinCAT Runtime設定も忘れないでください。今回の記事ではローカルのTwinCAT Runtimeと通信するので、特に設定する必要がありません。
マッピング
また、TE2000に表示したい変数をAll Sysmbols>GVL>変数選択>右クリック>Map Symbolで変数をMappingしましょう。
Done!TE2000にMappingされた変数を確認したい場合は”Mapped Symbols”画面からできます。
Diagnostics
Diagnostics Tabで現在TE2000とTwinCAT3の接続状態を確認できます。
新しいコンテンツの追加
今回はTE2000 HMIプロジェクトに新たなページを追加し、Userが2つのページ間に切り替えられるようにします。PagesのFolderに右クリック>Add>New Itemします。
TwinCAT HMI>Contectを選び>Addで新たな画面を追加します。
背景
次は画面の背景色を変更するには、画面の余白部分をクリックし>Properties>Colorsで色を設定しましょう。
ADSステート追加
また、新たな画面ではTwinCAT3状態を目視できるようにします。そのためにTwinCAT>ADS Stateを画面に追加しましょう。
入出力フィールドの追加
そのあとはTwinCAT3のデータ表示または入力する部品を追加しましょう。
詳しい設定方法は昔の記事で紹介しましたので、こちらで参考にしてください。
ページ切り替えを追加
画面にページを切り替えるボタンを追加します。
次は追加されたボタンクリック>Properties>Event>Operator>OnPressedのイベントで動作を追加します。
StepsにGeneral>WriteSymobolを追加します。そしてTarget Contectに切り替えページを設定しましょう。
ページ切り替えの変数はTcHmiTopLevelRegion>Common>Target Contentです。
そして画面の切り替え先は自由にも自由設定可能です。
ダウンロード
最後はTE2000プロジェクトをBuildと起動します。
Result
それでは、最初にBeckhoff社のEL6731-0010 PROFIBUS TerminalとS71500 PROFIBUSマスター間が通信エラーなく、またEtherCAT通信も正常したケースを確認しましょう。
入出力確認・ADSステート確認
出力データ(画面の右側の入力Field)で設定値を入力すると、S71500側がこの入力値を加算し、出力としてBeckhoff EL6731-0010にReturnしてることも確認できました(画面の左側の出力Field)。
また、TwinCAT3 RuntimeがRUNモード稼働中してるとき、TwinCAT3のアイコンが緑です。
TwinCAT3を一旦Configure モードに切り替えると、TwinCAT3アイコンが灰色になります。
そしてTwinCAT3がRunモードに切り替わるときはTwinCATアイコンが赤になります。
EtherCAT Diagnostics‐Slaves状態確認
次はEtherCAT Diagnosticsの動作を確認しましょう。Online画面では各Slaveの状態を変更できます。
Ports画面で各EtherCAT Slaveの設定状態・種類などの情報が表示されます。
Localの四角をクリックすると、現在のEtherCATマスターの状態が表示されます。
Slaves Tabで各EtherCAT Slaveの状態を確認できます。
EtherCAT Diagnostics‐マスター状態確認(正常)
もちろん、EtherCAT マスターの状態もこの画面から変更可能です。
EtherCAT Slaveを右クリックすると、Slavesの表示を折りたたみ式に変わります。
EtherCAT Diagnostics‐マスター状態確認(エラー)
次はEtherCAT通信エラーが発生したときの画面を確認しましょう。
各Slaveのエラー情報もこの画面から確認できます。