1.概要
Asset Administration Shell(アセット管理シェル,AAS)を作成するツールのAASX Package Explorerの操作手順書をまとめました。
公式のマニュアルは無いため操作して確認しました。
用語の中で筆者の知らない用語や項目が多々あったので、そこは詳細に記述していません。
知っている人が居れば教えてください。
AASの仕様を理解しているものとして記述しています。
AASの仕様はIDTAにあります。
以下のリンクから最新を取得してください。
AASX Package Explorer(https://github.com/eclipse-aaspe/aaspe)
2024/5/16時点で最新バージョンはaasx-package-explorer.2024-05-08.alpha.zip(Pre-release)でした。
2.目次
- 概要
- 目次
- AASX Package Explorerのインストール
- メニューバーの機能と操作について
- AASXファイルの新規作成手順
- Submodelの作成方法
- ローカルリポジトリの作成方法
- サーバリポジトリの接続方法
2.1 AAS V3仕様
2023年4月に公開されたV3の仕様書を基にAASX Package Explorerが実装されます。
ただし、IDTAで開発中のAlphaリリースのため、仕様書すべてが実装されていません。
2.2 用語と定義
記事の用語定義を記述します。私の解釈で記述しています。正しい仕様はV3の仕様書を理解してください。
用語 | 説明 |
---|---|
AAS | Asset Administration Shell,アセット管理シェルの略称です。 Assetのメタデータを含みます |
Package Explorer | AASX Package Explorerの略称です。 |
Asset | Assetは資産、ここでは実物を指し示すためのID。PLCやセンサーなどを示します。AASの中でassetをIDで実物を指定できるようにする。 |
IDTA | Industrial Digtal Twin Associationの略称です。IDTA がリンク先です。 |
AASX | AASのファイル形式です。この中にAASに関する情報をファイルとして保存します。 |
Submodel | SubmodelはAASの中に構成要素をまとめたものです。1つのAASに複数のSubmodelを含みます。 |
SubmodelElement | Submodelを構成する要素でいろいろな要素があります。 |
3.AASX Package Explorerのインストール
Package ExplorerはGitHubからzipファイルをダウンロードしてきます。
zipファイルを適切なフォルダに置き、展開します。
展開したら、AASXPackageExplorer.exeを見つけ起動します。
3.1 AASX Package Explorerの起動方法
- デスクトップにAASXPackageExplorer.exeのショートカットを張り付ける
- 起動済みのPackage Explorerをクイックバーに登録する。
- AASXのファイル拡張子の関連付けは以下のメニューを利用する。
3.2 Package Explorerの2つのモード
3.2.1 閲覧モード
①サムネール表示部
②リポジトリ表示部
③中央部(要素表示部)
④右部(属性表示部)
3.2.2 編集モード
メニューバーの「Workspace」→「Edit」を選択します。
①サムネール表示部
②リポジトリ表示部
③中央部(要素を選択し、右部で詳細を表示します)
④右部(要素の値、コピー&ペーストをして、要素の属性を編集します)
4. メニューバーの機能と操作について
4.1 Import
Importのメニューの下の項目は以下があります。
項目 | 説明 |
---|---|
Import AutomationML into AASX | AutomotinMLのファイルをAASXにインポートする |
Import Submodel from JSON | 編集モードで、Submodelを選択し、「Import Submodel from JSON」を選択します。選択したSubmodelの下に追加されます。 |
GET Submodel from URL | - |
Import Submodel from Dictionary | - |
Import Submodel Elements from Dictionay | - |
Import BMEcat-file into SubModel | - |
Import Thing Description JSON LD Document into SubModel | - |
Import CSV-file into SubModel | - |
Import AAS from i4aas-nodeset | - |
mport OPC UA nodeset.xml as Submodel | - |
Import BAMM RDF into AASX | - |
Read time series values into SubModel | - |
Import SubmodelElements from table | - |
4.2 Export
Exportのメニューの下に以下の項目があります。
機能調査は調査中です。
項目 | 説明 |
---|---|
Export AutomationML | AutomationMLをExportする。 |
Export Submodel to JSON | 編集モードで、対象となるSubmodelを選択し、メニューの「Export Submodel to JSON」を選択します。ダイアログが表示し、ファイル名を指定し、OKボタンを押します。JSONファイルで出力します。 |
PUT Submodel to URL | - |
Export to TeamCenter CST | 調査中、V3で追加。TeamCenter CSTはSiemensが提供するソフトウェアです。 |
Export JSON schema for Submodel Template | - |
Export AAS as i4aas-nodeset | - |
Export OPC UA Nodeset2.xml (via UA serer plug-in) | OPC UAのNodeset2.xmlのファイルを出力します。中身のOPC UA仕様のXML仕様は調査中です。 |
Copy selected element JSON to clipboard | 中央部で選択した要素をJSON形式でクリップボードにコピーする。 |
Export Submodel as options for GenericForms | - |
Export Submodel as snippet for PredefinedConcepts | - |
Export Submodel as Thing Description JSON LD document | - |
Print Asset as code sheet | - |
Export TeDZ Simulation | - |
Export SubmodelElemnets as table | - |
Export SubmodelElemnets as UML | - |
Export Submodel as UML | - |
Export Submodel as AsciiDoc SMT spec | - |
4.3 AASX File Repository File
リポジトリとはAASXファイルの複数ファイルを管理する場所。
ローカルファイルで管理する場合とリポジトリのURL、サーバで管理する場合があります。
Package Explorerでは以下のメニューからアクセスします。
以下の左下の赤枠部分に複数のAASXファイルの一覧を表示します。
リポジトリ部のアイコンをダブルクリックするとカレントのAASXファイルが切り替わります。
4.3.1 リポジトリ操作
リポジトリ部の縦三点のアイコンをクリックしてメニューを表示して操作します。
項目 | 説明 |
---|---|
New(local) repository | 新規のローカルリポジトリを作成します。 |
Open(local) repository | ローカルリポジトリファイルを開きます。 |
Connect HTTP/REST repository | AASX サーバに接続し、リポジトリに接続します。 |
Query HTTP/REST registry | 調査中です。 |
Create last recently used list | 最後にアクセスしたAASXファイルのリストを表示します。 |
Query open repositories | 調査中です。 |
4.4 Workspace
項目 | 説明 |
---|---|
Edit | 選択すると編集モードに入ります。 中央部は、隠された項目を表示します。 右部は入力項目が表示し、編集できます。 |
Hints | 右部の青枠のヒント情報を表示します。 チェック有り状態で表示し、無し状態は表示しません。 |
Test | - |
Find | 編集モード時に有効で、検索窓を表示します。 右部の赤枠の部分を検索します。 |
Replace | 編集モード時に有効で、文字列置換を行います。右部の赤枠の部分を置換します。 |
Navigation | Back,Homeとサブメニューがあります。 Back:中央部でひとつ前の位置に戻る。 Home:中央部で基準の場所に戻ると思われる? |
Editing locations | Push location:不明 Pop location:不明 |
Create | プラグインとして用意されたひな形のSubmodelを読込みます。 |
Visualize | 閲覧モード時、AASやSubmodelElementなどの関係を可視化して右部に表示します。 |
Convert | - |
Buffer | 編集中の内部のコピー情報をクリアします。 |
Events | - |
Scripts | ダイアログを表示します。利用方法対象がよくわかりません。その詳細は調査中です。 |
4.5 Option
項目 | 説明 |
---|---|
Show id as IRI | 調査中です。 |
Verbose connect | デフォルトでチェックが入っている。 |
Load without prompt | 調査中です。 |
Animate elements | 調査中です。 |
ObserveEvents | 調査中です。 |
Compress Events | 調査中です。 |
4.6 Help
項目 | 説明 |
---|---|
About | バージョン情報のダイアログを表示します。 |
Help on Github | 右部に、Githubのヘルプを表示します。 |
FAQ on Github | 右部に、GithubのFAQを表示します。 |
Issues on Github | 右部に、GithubのIssuesを表示します。 |
Available options | V3ではダイアログ表示が削除されました。Help on GitHubの中でコマンドラインオプションの記述があるので参照してください。 |
5. AASXファイルの新規作成手順
以下のような順番でAASXファイルを作成します。
- AASの作成
- AssetInformationの作成
- Submodelの作成
- サムネールの作成
5.1 AASの作成
編集モードのまま、以下の手順で行います。
- メニューバー→「File」→「New」をクリックし、新規作成状態にします。
- メニューバー→「Workspace」→「Edit」で編集モードにします。
- 中央部の「AdmnistrationShells」を選択します。
- 右部のEntitiesの「Add AAS」をクリックします。
- 入力する主な項目は以下の通りです。
詳細は、「アセット管理シェル(AAS)作成ガイドライン」を参照してください。 - ReferableのidShortに適切な名前を入力します。
- Identifiableのidに適切な値を入力します。「Add AAS」をクリックするとデフォルト値が入力します。必要に応じて変更してください。
- administrationの「Create data element!」ボタンを押します。
versionとrevisionの欄が表示されます。適切な値を入力します。 - 「Take over changes」ボタンを押し反映します。
- 「File」→「Save as」でファイル名を指定して保存します。
5.3 AssetInformationの作成
編集モードで以下の手順で行います。
-
入力する項目は以下の通りです。
kind
globalAssetId
assetType
specificAssetId
defualtThumnail
詳細は「アセット管理シェル(AAS)作成ガイドライン」を参照してください。 -
globalAssetIdは「Create data element!」のボタンを押し、サンプルのIdとして「Generate」をクリックします。
globalAssetIdが既に決まっている値ならその値を入力します。 -
kind はInstance/Type/NotApplicableのどれかを選択してください。
Type:設計工程の場合に利用します。※
Instance:製造工程の場合に利用します。※
NotApplicable:適用できない
TypeとInstanceの関係性は、Typeがオブジェクト指向でのオブジェクトで、Instanceはオブジェクトから派生し実体化したものと考えられます。
今回はInstanceを選択します。
※使用するルールは、RAMI4.0での設計と製造を意味しています。TypeとInstanceの範囲は、製品によって変わります。 -
「assetType」は必要に応じて、「Create data element」ボタンを押します。
以下の図の空欄に文字列を入力します。 -
「defaultThumbnail」の「Create empty Resource element!」ボタンは、必要に応じおしてください。サムネール画像の変更の章で詳細を記述します。
5.4 Submodelの作成
Submodelの作成はSubmodelの入力項目を入力します。
SubmodelElementと呼ばれる内部項目のSubmodelElementCollectionやPropertyの項目を作成します。SubmodelElementの作成はAppendixの章を参照してください。
以下はSubmodelの入力項目の手順を記述します。
-
Submodelを追加したいAASを選択します。
-
Submodelの作り方は3つあります。
-
ReferableのidShortに適切な一意になる文字列を入力します。
今後、ルールを策定して、製品毎に決める必要があります。
-
displayNameは必要に応じて、「Create data element!」ボタンを押します。
コメント訳「表示名の使用は、多言語で人間が読めるReferableの名前を表すために推奨されます。displayNameとdescritpionとの用途の違いが判然としない。短い名前か詳細の記述かの違いと思われる。 -
descriptionは必要に応じて、「Create data element!」ボタンを押します。
コメント訳「説明の使用は、Referableの消費者がその性質を理解できるようにするために推奨されます」
「Add blank」ボタンが表示され、ボタンを押します。
以下のようになり、「en」(英語)の言語コードを選択したら説明文は英語で記述します。複数言語の説明欄なので、英語、日本語で説明した方が良いです。
-
extensionsは必要に応じて、「Create empty list of Extensions」ボタンを押します。
-
admnistrationの「Create data element」ボタンを押します。
-
Kind (of model)の種類を選択します。TemplateかInstanceを選びます。今はInstanceを選びます。
-
SemanticIDの項目は、必要に応じて入力します。今回は未入力で進めます。
Semantic IDは意味論、値がどういう意味を持つかを明確に定義するものです。
利用の仕方は以下の通りです。- ECLASSで定義されているものを利用します。
- Package Explorer内部で独自に定義しているものを利用します。
- 未定義のまま利用します。
-
上記のように必要な項目を入力します。他に製品に必要なSubmodelを作成します。
IDTAで標準テンプレートの「Nameplate」などを作成します。
5.5 SubmodelElementの作成
SubmodelElementとは、Property, SubmodelCollection, Range, ReleationshipElementなどのSubmodelの構成要素です。SubmodelElementの一般的な追加方法を説明します。
-
中央部で追加するSubmodelをクリックする。
-
右部のSubmodelElementの中からボタンをクリックする。
「Add Property」:propertyを追加する。
「Add MultiLang.Prop」:MultiLanguagePropertyを追加する。
「Add Collection」:SubmodelCollectioを追加する。
「Add other ..」:ダイアログを表示して、上記を含み他のSubmodelElementを表示します。その中からクリックすると他の項目を追加できます。 -
例として「Add Property」をクリックする。
-
「Take over changes」をクリックして反映する。
-
Saveしてファイルに保存する。
5.6 サムネールの作成
5.6.1. DefaultThumbnailからの変更手順
5.6.2. Supplemental filesからの変更手順
- サムネール画像を準備します。
- メニューバー→「Workspace」→「Edit」にチェックを入れます。
- 中央部の下部に[Env]→[Supplementary files]をクリックします。
- 中央部の下部に[Env]→[Supplementary files]の[▷]をクリックします。
ファイルが展開されます。 - 7.5の説明図のように、[/thumbnail.png]であることを確認します。
- 差し替えるファイルのファイル名を[thumbnail.png]に変更します。
- 図の1の[select]ボタンを押し、準備したthumbnail.pngを選択します。
- 図の2のEmbed as thumbnail(only one file per package!) にチェックを入れます。
- 図の3の[Add file to package]ボタンをクリックします。
- File→Saveを選択し、保存します。
- Package Explorerを終了して、同じAASXファイルを開きなおすと反映します。
注意事項:ファイル名はthumbnail.pngかthumbnail.jpgを使用する方が良いでしょう。
また、サムネール画像はパッケージに1つしか登録できません。
6. Submodelの作成
Submodelの作成には以下の方法があります。
- Pluginを利用する。
- 「Open Auxiliary AAS」を利用してAASXを開き、コピーの項目で指定して利用する。
- SubmodelをJSONファイル形式でExport/Imortして利用する。
参考情報
IDTAのテンプレートのAASXファイルを利用する場合、以下URLからAASXファイルをダウンロードしてください。
https://github.com/admin-shell-io/submodel-templates
6.1. Pluginを利用する
PluginのメニューからSubmodelのひな形を取得する方法があります。
Package Explorerを編集モードにします。
メニューバーの「Workspace」→「Create …」→「New Submodel from plugin」を選択します。
以下のダイアログが表示します。追加したいPluginを選択します。
「Select!」ボタンをクリックします。
追加されたSubmodelの各項目に必要な情報を入力します。
6.2. 「Open Auxiliary AAS」を利用する方法
以下の例はSubmodelのデータをコピーします。
Package Explorerを編集モードにします。
メニューバーの「Workspace」→「Edit」を選択します。
メニューバーの「File」→「Open Auxiliary AAS ..」を選択します。
ダイアログが開くので読込みたいAASXのファイル名を選択します。
「Env」アイコンのAdministrationShellsを選択します。
右部の「Copy recursively」をクリックします。
ダイアログが開きます。
下にスクロールして、外部読込みの”Package”(ファイルパス)の中のSubmodelを選択します。
例では「Nameplate」のSubmodelを選択しています。
「Select!」をクリックしてSubmodelを読込みます。
必要な情報を修正してください。
参考情報: Asset Administration Shell(AAS)アイコンや他のPropertyなど(SubmodelElement)もコピー可能です。
6.3. 編集モードの「Copy」ボタンを利用する方法
以下の例はコピー元のAASXとコピー先のAASXのPackage Explorerを別々に開いて操作する方法です。「コピー」は同一のAASX Package Explorerでもコピーペーストが可能です。
テンプレートのAASXファイルをダウンロードします。
テンプレートのAASXファイルをPackage Explorerで開きます。
コピー先のAASXファイルを開きます。
コピー元のSubmodelを選択して「Copy」をクリックします。
コピー先のSubmodelを選択して「Paste below」をクリックします。
6.4. SubmodelをJSONファイル形式でExport/Importする方法
6.4.1. SubmodelのExport
以下の図のように、Exportしたい対象に「SM」(Submodel)を赤枠で選択済み状態にします。
File→Export→Export Submodel to JSONを選択します。
ダイアログが表示しますので、適切なファイル名を入力して保存します。
6.4.2. SubmodelのImport
以下の図のように、「SM」(Submodel)を赤枠で選択済み状態にします。
Importする対象を置き換えるわけではないですが、AASを選択して、Importするとエラーになります。どれかSubmodelを選択しておきます。
File→Export→Improt Submodel to JSONを選択します。
Submodel単位で情報をImportします。
同じ名前のSubmodelがあるとImportできません。例えば、Nameplateの名前が既存のAASXファイルの中にSubmodelが有れば、同じ名前の場合、エラー無しでそのままの状態になります。
7. ローカルリポジトリの作成方法
ローカルリポジトリファイルを作成する手順を紹介します。ローカルリポジトリとは下図、赤枠の部分のアイコン表示部分をローカルPCのAASXファイルで作成する方法です。
7.1. 前提条件
基本的にはAASXファイルが複数あれば、リポジトリファイルは作成できます。
リポジトリは以下の構成図を想定しているのが理想です。
青色:1つAASXファイル(BoMのSubmodelを含む)
緑色:複数のAASXファイル
7.2 作成手順
作成手順は以下の順番を参照すれば、作成できます。
7.2.1 New(local) repository
File→AASX Repository→New(local) repositoryを選択します。
以下のダイアログが表示します。OKをクリックします。
7.2.2 Add multiple AASX files
拡大図の赤枠の縦三点をクリックします。
以下の「Add multiple AASX files」を選択します。
以下のようにダイアログが表示しますので、AASXファイルを複数選択します。
「開く」をクリックします。
以下のように選択したAASXファイルを表示します。
7.2.3 Save as
表示した段階では保存できていません。JSONファイル形式で名前を付けて保存することで次回利用できます。
以下のように赤枠の縦三点をクリックします。
以下の図の赤枠の「Save as」を選択します。
以下の図のダイアログが表示します。ファイル名に適切な名前を入力し、保存します。
7.2.4 close
closeを選択することで、リポジトリの表示を消します。
確認のダイアログが表示します。OKをクリックします。
以下の状態になり、赤枠のリポジトリの表示が消えます。
7.2.5 Open(local) repository
保存したリポジトリファイルを開きます。
File→AASX Repository→New(local) repositoryを選択します。
前回保存したリポジトリを表示できます。
7.3. 操作方法
リポジトリの赤枠の部分をダブルクリックします。
確認のダイアログが表示します。OKをクリックします。
目的のAASをロードします。違うAASを選択すると他のAASに切り替わります。
8. サーバリポジトリの接続方法
AASX サーバが起動しているサーバに対して、接続して、リポジトリを表示する方法を紹介します。
8.1. 前提条件
AASXサーバが起動し、サーバに対してpingが通る状態であること。
8.2. 接続手順
8.2.1 Connect HTTP/REST repository
下図の赤枠の「Connect HTTP/REST repository..」を選択します。
8.2.2 Dialog
下図の赤枠内にURLを記入します。
例として下記の図のように記載します。OKボタンをクリックします。
9.改定履歴
改定記号 | 改定年月日 | 改定内容 |
---|---|---|
A | 2024年5月 | 新規作成 |