B&R#Automation Studio_Part04_Configure an OPC UA Server

B&R Automation StudioのTutorial第4話です。今回はB&RのAutomation StudioでOPC UA Serverの立ち上げ・そしてOPC UA に関するコンセプトを簡単に説明します。

さ、始めよう!

Reference Link

B&R#Your first Project in Automation Studio
B&R#Automation Studio_Part02_First ST Program /Watch/ Trace

OPC UA?

OPC UAは、産業におけるオートメーション・アプリケーションのための、メーカーに依存しない通信プロトコルです。個々のセンサーやアクチュエーターからERPシステムやクラウドまでのEnd to Endの通信を可能にします。

B&Rは長年OPC Foundationの様々なワーキンググループのメンバーで、様々な製品を作っています。B&R の Automation Studio エンジニアリング環境での OPC UA デバイスの設定とアクセス権の設定を、数回のクリックで簡易設定できます。

さらにB&R の Automation StudioはPLCopen Function Blockが提供され、オートメーションプロジェクトに OPC UA 機能を実装するために使用されます。

Advantages

OPC UAは、ERPシステムから個々のセンサーやアクチュエーターまで、統合された通信を可能にし、様々な分野相互運用性を実現します。OPC UAは柔軟で完全に独立しており、industrial 4.0に様々な貢献をしています。OPC UAを使用することにより色々なメリットがあります。

  • International standard (IEC 62541)に準じる
  • 安全・セキュリティのデータ交換
  • 信頼性高まる
  • ベンダーに依存しない
  • プラットフォームに依存しない
  • Vertical and horizontal communication

International standard (IEC 62541)

OPC UAは、OPC Foundationによって仕様が定義され、IEC 62541で標準化されています。OPC UA仕様は14部から構成され、PLCopenや他のコンソーシアムなど他の組織の仕様によって継続的に補足されています。

  • IEC/TR 62541-1 Part 1: Overview and concepts
  • IEC/TR 62541-2 Part 2: Security model
  • IEC 62541-3 Part 3: Address space model
  • IEC 62541-4 Part 4: Services
  • IEC 62541-5 Part 5: Information model
  • IEC 62541-6 Part 6: Mappings
  • IEC 62541-7 Part 7: Profiles
  • IEC 62541-8 Part 8: Data access
  • IEC 62541-9 Part 9: Alarms and conditions
  • IEC 62541-10 Part 10: Programs
  • IEC 62541-11 Part 11: Historical access
  • Part 12: Discovery
  • IEC 62541-13 Part 13: Aggregates
  • Standard OPC UA specifications
  • Part 14: PubSub
  • IEC 62541-100 PLCopen IEC 61131-3

Where to use?

OPC UAは、B&Rシステムの様々なところで使用されています:

  • HMIアプリケーションとコントローラとの接続(mapp Viewなど)
  • B&RControllerのデータ交換
  • 他社のCPUとのデータ交換
  • Fieldbusデバイスの接続(例えばB&RのBus ControllerもしくはOPC UA対応したsensors またはactuators)

HMI Applications

OPC UAのHMIアプリケーションとPLCシステム間のプロセス変数の交換になる活用ケースです。簡単に説明すると、HMIアプリケーションはOPC UA ClientをPLC などのControllerはOPC UA Serverに接続します。ServerにあるOPC UA Nodeは、PLC との間でプロセス変数データを受信します。

OPC UA bus controller

Bus ControllerはOPC UA Server機能を提供し、様々なOPC UA ClientにそのBus Controllerと接続し、Bus ControllerにインストールしたIOモジュールからデータを読み書きできます。

例えば下図のBus Controller X20BC008U は、OPC UA システムと X20 I/O システムを接続し、OPC UAサービスを使用して、Bus ControllerとX20 I/Oモジュールの両方からデータを要求または送信できます。

OPC UA標準に従ったB&R Bus Controllerは、B&R製品だけでなく、他社のOPC UA Clientでもアクセスできます。

Controller to controller

OPC UAを使用すると、PLCシステム間の通信もPLCopen で指定されたFBを使用すれば、簡単に実装できます。Automation Studio には 20 以上のFBが提供されており、接続先のOPC UAデバイスにデータを転送したり、メソッドを呼び出すことができます。

Information model

OPC UA仕様に基づいてたB&R OPC UA Serverでは、PLCシステムはOPC UA ddress spaceにMappingされています。そのInfomration modelは以下の部分に準じます。

  • Part 3 (Address Space Model) 
  • Part 5 (Information model) 
  • Companion Specification PLCopen OPC UA Information Model 1.00 Specification

Nodes

B&R OPC UAサーバには、仕様に従って必要なOPC UA Nodesが含まれています(例えばServer Objectなど)。さらに、起動中または動作中のB&R OPC UAサーバの状態を示す変数もNodesとしてServerにMappingされます。

NodeID

OPC UA ServerのNodeはNodeID によってAddresssapce内で一意に識別される。そのNodeID は NamespaceIndex、Identifier、IdentifierType から構成される。

NamespaceIndex

OPC UA ServerのNodesは OPC Foundation、PLCopen 組織、または B&R 自身によって定義される可能性があり、OPC UA のAddress spaceはNamespaceに管理されています。

なので、NameSpaceから該当するNodeはどこから定義されたのか次のような形式で分別できます。

Automation Studio
OPC UA bus controller

URIは非常に長いので、NodeIDで指定する代わりにURIをServer Objectにある “NamespaceArray “で管理しています。例えば、Automation Rutnimeの場合に、

Implementation

Automation Studio Side

Enable the OPC UA system

B&R のControllerでOPC UA Serverを使用するにはAutomation Runtime Configurationで有効するし、別の画面から設定可能です。基本的な設定は、OPC UAシステムを有効にするだけで十分で、Server設定では、ポート、暗号化アクセス、送信サイクル・タイム、リンク可能な変数数などのサーバー・プロパティを設定することもできます。

プロジェクトにPhysical Viewを切り替え>CPUを選び>右クリック>Configurationを開きます。

OPC-UA System>Activate OPC-UA Systemという項目があり、DefaulrではOffになってます。

Activate OPC-UA Systemの設定項目をOnにするとセキュリティ設定・使用PortなどOPC UA Serverの細かい設定が表示されています。

Configure the Access/Security

次はB&RのConfiguration Viewを開きます。

Configuration Viewが切り替えられ>AccessAndSecurityの項目からUserRoleSystemがあります。このUserRoleSystemにOPC UA ClientがB&RのOPC UA Serverをアクセスするときのセキュリティ関係やLogin情報を設定できます。

ではUserRoleSystem>Role.roleを開いてみます。

Add User

User.userを右クリック>Open>Open As TableでプロジェクトのUser変更を行います。

User Configuration画面が表示されました。

User.userにはいまAnoymousしかありませんので、User画面にも同じように反映されています。

Userの構築画面に右クリック>Add ”User” Elementで新しいUserを追加します。

DonE!Anonymous_1というUserが追加されました。

User name 

Anonymous_1のところをクリックしてUser名を変更します。

今回のTutorialではAdminに設定します。

Password

User AdminにLoginするPasswordを設定します。

Done!

Roles

次はRolesです。Rolesは該当するはどこのGroupに所属するかを設定できます。

User AdminはRoles Adminstrators に所属するように設定します。

Add Roles

もし新しいRolesを追加したい場合、Role.roleを右クリック>Open>Open As Tableします。

Rolesの定義画面が表示されます。

Role Configuration画面を右クリック>Add “Role Element”で新しいRoleを追加します。

Adminstrators_1というRolesが追加されました。

Roles名をEnginnerに変更します。

先程のUser Configuration画面に戻り、新しいUser Chrisを追加し、RolesをEngineerに所属するように設定します。

Roles and User?

次のStepに進む前、RolesとUserの関係を少し説明します。例えば、あなたはある生産LINEの担当で、メンテナンス・開発・改造の分野を任されています。当然、あなたのRolesはMaintenance・Modification・Developementにも入っており、それらのRolesに対する権限を持っています。

あなたのTeamに新しいメンバーTomさんが入ってきました。Tomさんの担当分野はLINEのメンテナンスのみで、当然改造や開発に対するアクセス権限を持っていません。

それはRolesとUserの考え方です。Userは1つだけに対して複数の役割があります。

Mapping

次はOPC UA にPublishするNodeを設定します。

Adding OPC UA mapping

OPC UA Default ViewをToolboxからConfiguration View追加することにより簡単にOPC UA とRuntime間の変数Mappingをできるようになります。

つまり、Automation Runtime OPC UAサーバーを利用でき、各Node値の範囲、読み取り/書き込みアクセス、単位など、多くの設定オプションが可能です。

Add Default view

OPC UA Default Viewを追加するにはToolboxにあるOPC UA Default view FileをConfiguration Viewに追加しましょう。

OPCUaMap.uadが追加されました。

OpcUaMap.uadはOPC UA Default Viewでもあり、Runtimeの変数の属性を設定できます。

Configure 

OPC UA Serverの基本設定を行うためにDefault Viewをクリックします。

Automation Studioの右にあるProperties‐ Default ViewではOPC UAのセキュリティ設定項目などが表示されます。

Add Role

3rd‐PartyからB&RのAutomation Runtime OPC UA ServerにアクセスするためのLogin情報を追加します。まずOPC UA ServerにアクセスできるRolesを追加していきます。

Rights/Roles>Add Roleします。

Drop-Listが表示されます。まずAdministratorsを選びましょう。

Done!Value列に該当するUserがOPC UA Server対して許可する動作をCheck/UnCheckで設定できます。

同じ操作でEveryone・EngineerのRolesも追加指定していきましょう。

Enable tag

OPC UA ServerにPublishするTagを選択し>右クリック>Enable Tagします。

Done!PublishされるTagは黒色文字になります。

最後はプロジェクトをRuntimeにDownloadしましょう。

UaExpert Side

B&RのOPC UA Serverを検証するためUaExpertを使用します。

Add Server

Add ServerでUaExpertに接続するServerを追加します。

Add Server画面が表示されました。

Custom Discoveryから<+Double Click to Add Server..>で新規Serverを追加します。

B&R OPC UA ServerのURLを入力し>Okで進みます。

Done!B&RのOPC UA Serverが検索できた場合はB&Rの OPC UA Serverと接続できるセキュリティOptionsが表示されます。

今回の記事ではBasic256Sha256で接続します。

Done!B&RのOPC UA Serverが追加されました。

Connect Server

Connect ServerのボタンをクリックしB&RのOPC UA Serverと接続します。

証明書の承認画面が表示されます。

Trust Server certificateをしContinueで進みましょう。

Done!UaExpertとB&RのOPC UA Serverが接続に成功しました。

Add Nodes

CPU>GlobalVarsで先程Automation StudioでEnableしたTagも表示できました。

NodeをUaExpertに追加してみます。

BadUserAccessDenied…?

でもBadUserAccessDeniedというエラーが表示されました。

Properties

UaExpertがB&RのOPC UA ServerにLoginするときの方法を変更するため>Server>B&RのOPC UA Server>Propertiesを開きます。

Authorization SettingsをUsernameに変更し、Username欄をAdminに入力します。

もう一回LoginするとPassword聞かれるようになります。

BadResourceUnavailable..?

Loginは成功しましたが、今度はBadResourceUnavailableというエラーが表示されました。

NodesのAttributesを開くとValueのTimeStampが古く、おそらくB&Rのプロジェクトに該当する変数を使用しTimeStampを更新する必要がありますね。

Use it in program

Automation StudioにOPC UA ServerでPublishした変数を使ってみます。

Result

Done!

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする