TE2000?
こんにちわ。このシリーズはTwinCAT 3 TE2000 HMI Engineeringについて話しします(どんどんシリーズ新規作ってると気がします…)。TwinCAT HMIは名前通りHMI(Human Machine Interfaces)を作成するツールになります。
そしてTwinCATはVisual Studioと統合し、グラフィック的にWYSIWYG Editorを使用できます。つまりープログラムなしです。それらのボタン・表示などは直接にPLCやC++モジュールのリアルタイム変数と接続されます。もちろんJavascriptでプロジェクトをdevelop することができます。そ
作成してたプロジェクトじゃそのままLive Modeで変更の確認が可能です。そしてTE2000はHTML5とJavascriptベースなので、解像度なども自動的に調整します。
CASE
Local Client
ネットワーク内で異なるコントローラーと複数のClientデータ交換できます。ClientはLocal PCやPanel PC、Tablet・スマートフォンからも接続できます。
Multi-client
HMIは異なるのCleintで、異なるの解像度で同時表示することができます。
Multi-runtime
TwinCAT HMIは複数のリアルタイムシステムと接続できます。そのTwinCAT RuntimeはPLC 言語・C/C++・MATLAB®/Simulink®. にも可能です。
Multi-protocol
TwinCAT HMI ServerはすべてのTwinCAT RuntimeとADS Extension経由で通信できます。それだけではなくOPCUA ExtensionやSever Extensions SDK使用し他のProtocolも実装できます。
Multi-server
TwinCAT HMI Serverに他ののTwinCAT HMI Severにも通信できます。その機能はServer-toServer Commuincationと呼ばわれます。
Clientライセンス
以下はClientライセンスです。接続数によって選びましょう。
Engineering
いつも書いていますが、TwinCAT HMIはVisual Studio®に統合されています。つまりあなたがPLCプログラムとHMIを一つのツールだけで完結することができます。TwinCAT HMI Creatorが画面の作成などのときに使われ、そしてBeckhoff社自体も色々なExtensionも提供しています。(もちろん自作でNon-Real Timeものも実行可能です)
下図で書いてたとおり、TwinCAT HMIはADS Protocol Supportしており、すべてのTwinCAT デバイスと通信することができます。
Client/Server
TwinCAT HMIはClient/Server思想で動いています。つまりClient側になにも特別なソフトインストール必要なく、必要なのはWeb Browserだけです。(HTTP/HTTPS Protocol)
TwinCAT HMI ServerはWWW RootとServer Extension2つに分かられ、WWW RootはすべてのFrameworkやPage(テキスト・画像など)、そしてUserさんがアプリケーションによって自分のServer機能をServer Extensionから拡張します。(例えばOPC UA通信)
ライセンス
TwinCAT HMIのライセンスはTwinCAT XAEベースで計算します。すべてのFunctionは7日のTrial ライセンスがあり、いつでも更新できるんです。同時に接続してるClient数(Browser)と接続先(Controller)の数は計算されいます。TF2000は1:1の1Client対1Targetができます。もしそれ以上の接続がああればTF20x0 Packageに拡張することができます。
System Requirmet
Engineering
Client
Download
下記のLINKをアクセスし最新バージョンのTE2000をダウンロードしましょう。
TE2000 | TwinCAT 3 HMI Engineering | Beckhoff Worldwide
Installation
DownloadしたEXEを実行します。
英語を選びOKします。
Next>します。
ライセンス同意し、Nextします。
UserNameなどを入手しNext>します。
Visual Studio 2019とTwinCAT XAE ShellをSystemに統合します。Next>します。
Installします。
少々お待ち下さい…
これでOKです。
パソコン再起動します。
新規プロジェクト
Install終わったら新規HMI Serverプロジェクト作成します。
TwinCAT HMI Project Generatorを選び、Nextします。
Projectの名前を設定します。
とりあえずBase Application Templateにし、Nextします。
まだ初心者なのでStatic Applicationを選び、Nextします。
Layoutなどもそのままで設定します。Next。
ScreenのLayoutを設定します。ここもDefaultにしますので、そのままFinishにいきます。
初めてHMI Server起動するときにTrial ライセンスの入手が必要です。
よし、それでHMI Server Projectが作成されました!
OPCUA
HMI ServerはADSやOPCUA などで相手Deviceと通信できますが、今回はOPCUA の導入を紹介します。HMI ServerはOPCUA Client としてOPCUA Serverと通信するにはOPCUA Client Extensionが必要です。(例えばADS ProtocolがSupportしないのデバイスなど)
Packages Install
TcHMIProject>Referenceで右クリック、Manage NuGet Packages..をクリックします。
NuGetPackage Managerが起動されます。
Package sourceのところにTwinCAT HMI Officialを設定します。
そうするとBeckhoff社のPackagesが表示されますね。
OPCUAを検索します。
Beckhoff.TwinCAT.HMI.OpcUaのPackagesが出てきますね。
次は右側でVersionのDrop Listから最新バージョンを入れましょう。
このPackagesをインストールしますか?みたいなPOPUPです。
OKで進みます。
ライセンス
OPCUA Client Extension使用するにはTF2110のライセンスが必要です。そのライセンス入れてない状態でコンパイルしますと、以下のようなwith error ‘LICENCSE’(init_config) のエラーが出てきます。
SYSTEMでTF2110を入れましょう。
そうするとTcHmiOpcUaのところが緑ICONになります。
OPCUA設定
ではライセンス入れたところで、次は接続先のServerを設定します。
TcHmiOpcUaをクリックします。
右ぐぁにTwinCAT HMI Server Configurationがの設定画面が出てきます。
今回使用するにはUaCPPServerです。
Namespaces>Addします。
このような設定画面出てきます。
先立ち上げてたCppServerの設定を入力し、Addします。
そうするとCppServerが追加されました。
DiagnosticsのTabで現在のServer状態が確認できます。
OPCUA Tag 追加
次はTag追加します。
View>Other Windows>TwinCAT HMI Configurationをクリックします。
このような構成画面表示されます。
Server Symbols>All Symbolsを展開しますと、
先追加したOPC Serverと通信確立されたらそのように中にあるNodeが全部見えるようになります。
Hmi Serverで使いたいTagを右クリックし>Map Symbolします。
Server Symbols>Mapped Symbolsでいま追加されたTag一覧できます。
では練習でBoolsも追加してみます。
画面構成
次は画面構成しますね。
Desktop.viewをクリックします。
.view は画面Objectですね。
ダブルクリックすると、このような画面が見えますね!
右にある小さいICONがあり(赤枠してるところ)
それでGraph viewとCode Viewに切り替えることができます。
(HM ServerはHTML5ベースなので)
もちろん下にも表示切り替えるところがあります。
(これをみつかるまで5分かかりました…)
文字表示追加
では最後に数字表示Objectを追加し、その第1話を終わりたいと思います。
右にあるToolboxsからCommon>Numberic Inputを選び、右へひっばります。
次はその数字表示のObjectをクリックし>右にPropertiesを。
Tag Setup
Common>Valueのところに小さいな四角ICONがあります。
クリックしCreate data bindingを押します。
そうすると、先追加されたTagが一覧できます。そのあとに割り付けたいTagを選択します。
今回自分はCppServerのずっと変換するDynamic変数を設定します。
MinValue・MaxValueと桁数も設定してください。
起動
プロジェクト終わりましたのでの実際確認していきましょう。
Task BarからHmi ServerのICONを右クリックしProject TcHmiProject1 on port3000を選びます。
更にStart Pageをクリックします。
Result
先追加された数字ObjectはCpp Serverからもらった変数値を表示されるはずです。
最後
はーい、お疲れ様です。
もしなにか質問あれば、メール・コメント・Twitterなどでもどうぞ!
Twitterのご相談:@3threes2
メールのご相談:soup01threes*gmail.com (*を@に)
Youtube Channel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ