今回の記事ではStraton RuntimeからOPC UA Serverを立ち上げ、uaexpertだけではなく、Beckhoff TwinCAT3 TE2000のHMI Serverから接続してみます。
また、記事の中にTE2000のHistorical Dataの表示方法・様々なObject設定の説明も行います。
さ、FAを楽しもう。

Reference Link
http://soup01.com/ja/category/beckhoff/twincat3/texxx/
http://soup01.com/ja/category/straton/
前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
現在、私達の活動はほぼ無償で続けており、より多くのコンテンツを提供するためには、皆様の温かいご支援が大変重要です。もし可能であれば、以下のリンクから応援していただけると大変嬉しく思います。
高橋クリスのメンバーシップ
こちらはFullさん(full@桜 八重 (@fulhause) / X)と共にやっているラジオにメンバーシップを登録いただけます。
https://note.com/fulhause/membership/join
AMAZON ギフトリスト
こちらは自分のブログのコンテンツ制作や設備の充実に大いに役立てさせていただきます。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon
こちらは自分のブログのコンテンツ制作や設備の充実に対する小さな応援の気持ちのPatreonです。
https://www.patreon.com/user?u=84249391
皆様のサポートが、私たちの活動をより充実させる力となります。
どうぞよろしくお願いします。
メールアドレス(*=@)
X
Historical data?
Historical dataとは、データベースに保存されている過去のデータです。
TwinCAT HMIの任意のサーバーシンボル(PLCからの数値など)は、TcHmiSqliteHistorize拡張機能によってヒストリ化できます。 この拡張機能は、SQliteデータベースのリングバッファにデータを保存します。
データがデータベースに保存される間隔は、シンボルごとに定義できる。 データがデータベースに保存されるのは、サーバーが稼動している間だけです。 注意するのは、サーバーが終了すると、履歴データはデータベースに書き込まれません。
また、履歴データは、付属のコントロールであるトレンドラインチャートに表示されます。 このコントロールにより、様々なヒストリカルデータを同時に表示することができます。
Implementation
Straton Side
最初にStraton側でOPC UA serverを立ち上げ、uaExpertから接続テストを行います。
Program
前回Starton Part5の記事を少し修正し、EIP部分のプログラムを一旦削除します。
Add OPC UA Server
OPC UA Serverを追加するために、Fieldbus Configurationsをクリックします。
次は下図のボタンをクリックします。
Add Cofigurationの画面が表示され、OPC UA>OPC UA Serverを選び、OKで進みます。
次はOPC UA Serverの設定画面が表示されます。
Authentication settingsの設定項目でAnonymousとUsername Passwordを設定し>OKで進みます。
Done!OPCUA Serverが追加されました。
Add Master/Port
次はOPC UA ServerのInstanceを追加するために、右クリック>Insert Master/Portをクリックします。
TCP/IP AddressはLocalhostで、PortはOPC UA Serverのポートになります。すべての設定が完了したら、OKで進みましょう。
Done!
Add Tags
OPC UA ServerのTagsを追加するため、先程Insertした OPC UA Serverを右クリック>Add TAG(S)をクリックしましょう。
こちらはStratonのOPC UA Tags追加画面になります。
Add Groupをクリックし、新たなOPC UA Tag Groupを追加します。
新しいGroupが追加されました。
次はGroup名を変更します。
最後は左にあるプロジェクト内のTagを選び、”>”ボタンをクリックすればTagが自動的に該当するGroupに追加されます。
Done!今回記事で必要なTagを追加しました。
Add Variables
StratonではOPC UA Serverの現在状態を確認できる変数を追加することもできます。先ほど追加したGroupを右クリック>Insert Variableします。
変数の追加画面が表示されます。
Tag TypeのDrop-ListからOPC UA Serverの状態を取得するTagを設定できます。
今回はNb. Used Sessionsを選択します。つまりこの変数が現在Straton Runtimeに接続されているOPC UA Client数を表示可能です。
Done!
Download
最後はプロジェクトをMini PCにDownloadしましょう。
Done!それでStraton Runtime側が完成しました。
Check via uaExpert
ではUaexpertを使用し、Straton RutimeのOPC UA Serverの接続確認を行います。
uaexpertを起動し、プラスボタンで新規接続を追加します。
Customer Discovery>Double click to Add Serverで新規接続を追加します。
Straton Runtimeで設定したIPアドレスとPORTを入力し、OKで進みます。
Done!StratonのOPC UA Serverを検索できました。
最後は下図のボタンでStraton OPC UA Serverと接続しよう。
Done!
Beckhoff TE2000 Side
これからBeckhoff TE2000側を構築します。
Configure OPC UA Client
新しいOPC UA接続を追加するため、TcHmiOpcUaをクリックし、+Addボタンをクリックします。
OPC UA Serverの追加画面が表示されます。Straton Runtimeで構築したOPC UA Serverの設定を入力してください。
Done!
Advanced Settings
Straton Runtimeと接続するために、Advance Settingsに新たなConfigurationを追加します。
Start NodeにIdentifier TypeをStringに設定し、Namespace Indexを1.0に設定してください。
その設定の根拠を確認するために先ほどのuaexpertをもう一度開きましょう。
OPC UAのノードのAttributesを確認すると、Namespace=1、Identifier Type=Stringであることがわかります。
なので、Namespace=1、Identifier TypeをStringに設定しました。最後はAcceptボタンをクリックし設定を保存し、OPC UA 接続のAdvanced Settingsに適用してください。
Result
Diagnosis Tabを開き、StratonとBeckhoff TE2000の接続を確認しましょう。
現在状態はConnection State=Goodなので、接続は問題なしです。
Map the variables
今度はStraton RuntimeのOPC UA ノードをTE2000にMappingするため、TwinCAT HMI Configurationをクリックします。
Server Symbols>All Symbolsを開き、現在接続してるOPC UA Serverのすべのノードを確認できます。
次はアプリケーションに合わせて必要なノードを選択した状態で右クリック>Map Symbolをクリックしてください。
Done!次はMapped Symbolsで現在Mappingされた変数・そして現在値を確認できます。
Configure Screen
次は画面を作成します。Desktop.viewをクリックしてください。
Add Numeric Input
右にあるToolboxからNumeric Input Objectを追加します。
Configure Display Value
先程追加したNumeric Inputに表示する変数を設定するため、Common>Value>Create data bindingをクリックしてください。
Configure Enter Value
次はNumeric Inputに入力した数値をTagに書き込みたいので、下図のオレンジ枠にあるボタンをクリックします。
次は.onMouseEnterにActionを追加します。それはEnterボタンが押さたときにトリガーできるイベントです。
General>WriteSymbolsをStepsにDropしてください。
Write To Symbolはこのイベントが実行されたとき、書き込みのTagを設定する場所です。
Create data bindingをクリックしてください。
アプリケーションに合わせて適切な変数を追加します。
Value欄にTagに書き込むときどんな値を参考にするかを設定する場所です。先ほどと同じく、Create data bindingをクリックしてください。
Common>Valueを選択してください。そちらはNumeric Inputに入力する値になります。
Add Button
次はBool値をON/OFFするボタンを追加します。
Done!
Configure Button Text
ボタンのテキストを設定するにはCommon>Textに適切なテキストを入力してください。
Done!
Configure Click event
次はボタンがクリックされたときトリガーするイベントを設定します。
今回はOperator>.onPressedを使用します。こちらはボタンが押されたときトリガーできるイベントです。
次はStepsを構築します。
下図のように、ボタンが押されたとき、Bool値がTrueであればFalseにし、FalseであればTrueに変更する反転ボタンを作成します。
Configure Button Lamp Color Event
今度はBool値によってボタンの色を変更できるようにします。イベントにあるControl>.onStateChangedに設定を追加しましょう。
StepsにBool値がTRUEであれば緑、FALSEであれば赤に設定します。
Add Trend Line Chart
最後はHistorical dataを表示するようにCharts>Trend Line Chartを画面に追加します。
Add SqliteHistorize Packages
Historical dataを使用するためにSqplitehostorize Packagesをインストールしてください。
Applyで進みます。
Done!ServerにTcHmiSqliteHistorizeが表示されたら、これはインストール成功です。
TcHmiSqliteHistorizeの設定をアプリケーションに合わせて設定しましょう。今回の記事ではすべてDefaultのままに設定します。
Package Status
Diagnosticsで現在SqliteHisorize Packageの状態を確認できます。
Add Symbol
次はSqliteHisorizeに履歴データとして保存するシンボルを追加するので、+Add Symbolをクリックしてください。
シンボルの追加画面が表示されます。
Mapped Symbolsに履歴保存したいシンボルを設定してください。
Done!
最後はAcceptボタンで設定を保存してください。
Configure Display Value
Trend Line Chartに表示するシンボルを設定するために、Common>Line Graph Descriptionにある…ボタンをクリックします。
こちらはLine Graph Descriptionの設定画面になります。
Symbolの欄にSelect Historized symbolをクリックします。
先ほど設定した履歴保存用のシンボルを選択しましょう。
Configure Display
次は表示をアプリケーションに合わせてX/Y 軸の表示マスなどを設定してください。
Show Menu Bar
Trend Line ChartにはDefaultでZoom IN/Zoom Outなどの操作ボタンを追加できます。Menu Bar>Show Menu BarにCheckboxを入れてください。
Done!Trend Line Chartに操作ボタンが表示されました。
Download
最後はプロジェクトをDownloadしましょう。
Result
Done!StratonからPMW値のON/OFF繰り返し値を確認できました。
xRUNが現在緑色なので、Bool値がTRUEであることがわかります。
Straton Runtimeにも同じくxRUN=TRUEであることを確認できました。
次はPMW Set Pointを50に設定します。
Starton Runimeでは50に変更されました。