インダストリアル接続の例
ThingWorx のインダストリアル接続を使用して、ThingWorx Kepware Server に接続し、ThingWorx Kepware Server に存在するタグをモデル化および設定し、ThingWorx モデル内の Thing にバインドできます。
* 
この例は、ThingWorx 8.0 以降がインストールされ、実行されていることを前提としています。
ThingWorx でのアプリケーションキーと Thing の作成
ThingWorx Kepware Server に接続するには、アプリケーションキーと、IndustrialGateway Thing Template を使用する Thing を作成する必要があります。
1. ThingWorx でアプリケーションキーを作成します。後から使用するために「キー ID」をコピーします。
2. ThingWorx で Thing を作成します。ThingWorx Kepware Server で後から使用するので、この Thing の「名前」をメモしておきます。
* 
この例では、Thing の名前は ThingWorxKepwareServer です。
3. 「ベース Thing Template」フィールドで、IndustrialGateway を選択します。
4. 「保存」をクリックします。
ThingWorx Kepware Server のインストール
1. ThingWorx Kepware Server のインストーラをダウンロードして起動します。
2. 「ようこそ」ページで、「次へ」をクリックします。
3. ライセンス契約に同意し、「次へ」をクリックします。
4. インストール場所をそのまま使用するか変更して、「次へ」をクリックします。
5. データの場所をそのまま使用するか変更して、「次へ」をクリックします。
6. ThingWorx Kepware Server のデスクトップへのショートカットのインストールを承認するか無効にして、「次へ」をクリックします。
7. 必要に応じてスイートを選択し、「次へ」をクリックします。
8. 「完全インストール」の左にあるアイコンをクリックし、「Entire feature will be installed on local hard drive」を選択するか、ご利用の環境に適切な機能を有効にします。
9. 選択を確認し、「次へ」をクリックします (変更する場合は「Back」)。
10. (必要に応じて) 動的アドレス指定を有効にし、「次へ」をクリックします。
11. 強力な管理者パスワードを設定 (またはこの時点ではスキップ) し、「次へ」をクリックします。
12. 「インストール」をクリックします。
13. 「終了」をクリックします。
「ThingWorx Kepware Server」アイコンがデスクトップに表示されます。
ThingWorx Kepware Server の設定と ThingWorx への接続
1. デスクトップ上のアイコンから ThingWorx Kepware Server のコンフィギュレーションを実行します。「コンフィギュレーション」ウィンドウが開きます。
2. 「プロジェクト」を右クリックして「プロパティ」を選択します。
3. 「プロパティエディタ」で、「ThingWorx」を選択します。
4. 以下のように設定します (ここにリストされていない設定はデフォルトのままで構いません)。
「有効化」「はい」に設定します。
「ホスト」 - ThingWorx インスタンスの IP または完全修飾ドメイン名。
「ポート」 - ThingWorx が応答するポート (通常は 80 または 443)。
「アプリケーションキー」 - 前の手順で作成したアプリケーションキーの「キー ID」
「自己署名証明書を信頼」 - お使いのプラットフォームに自己署名証明書がある場合は、「はい」に変更します。最大限のセキュリティを確保するには、「いいえ」に設定します。
「すべての証明書を信頼」 - 証明書の厳密なチェックを無効または有効にします。これは一部の自己署名証明書で必要になる場合があります。最大限のセキュリティを確保するには、「いいえ」に設定します。
「暗号化を無効化」 - プラットフォームで SSL 暗号化を使用していない場合は、「はい」に設定します。最大限のセキュリティを確保するには、「いいえ」に設定します。
* 
暗号化されていない通信にはセキュリティリスクがあり、小規模のテスト中にのみ、または環境のセキュリティがほかの手段によって周辺で確保されている場合にのみ有効にしてください。
「Thing 名」 - 前の手順で ThingWorx で作成した IndustrialGateway Thing の名前。
* 
「Thing 名」は、大文字と小文字の区別も含め、IndustrialGateway Thing 名と完全に一致していなければなりません。
5. 「適用」をクリックします。ThingWorx Kepware Server が ThingWorx への接続を試みます。
* 
評価時には、サンプルデータおよびタグとして ThingWorx Kepware Server で Simulator Driver を使用すると便利です。 Simulator Driver のマニュアルを参照してください。
ThingWorx Kepware Server のタグの ThingWorx のプロパティへのバインド
ThingWorx Kepware Server を ThingWorx に接続した後、ThingWorx Kepware Server に接続されている IndustrialGateway Thing を見つけ、ThingWorx Kepware Server のタグを ThingWorx のプロパティにバインドします。
1. Composerを開きます。
2. 「ブラウズ」 > 「インダストリアル接続」の順にクリックします。
* 
接続されているインダストリアル接続がない場合は表示されません。ThingWorx Kepware Server がインストールされているものの、接続されていない場合、デスクトップツールバーの「ThingWorx Kepware Server」のアイコンから「ランタイムサービスを開始」をクリックします。
3. ThingWorx Kepware Server が動作している状態で、インダストリアル接続 Thing が表示されます。「データベース」アイコンの列にチェックマークがない場合、その Thing を永続化するために保存します。
a. エンティティ名をクリックします。
b. 「保存」をクリックします。
4. 「インダストリアル接続」ヘッダードロップダウンで、「検出」をクリックします。プラス記号 (+) をクリックして、ThingWorx Kepware Server に存在するチャンネルとデバイスを展開します。
5. 個々のデバイスをクリックすると、使用可能なタグがその下にリストされます。新規アセットに追加するタグの横のチェックマークをオンにし、「新規エンティティにバインド」をクリックします。
6. Thing Template を選択し、「OK」をクリックします。
* 
Remote Template タイプを選択する必要があります。
7. 新しい Thing の作成画面が表示されます。新しい Thing のコンフィギュレーション情報とバインド情報が、ThingWorx Kepware Server を介して自動的に接続するように設定されます。Thing の「名前」を入力します。
8. 「保存」をクリックします。
* 
保存すると、IndustrialThingShape は Thing によって実装され、Thing から除去できなくなります。IndustrialThingShape が実装されている Remote Thing からベース Thing Template が派生している Thing を保存すると、タグアドレスベースのリモートバインドだけが可能になります。
* 
ThingWorx は IndustrialThingShapes でのプロパティの継承をサポートしていません。
Thing 上でプロパティがオーバーライドされると、プロパティのバインドに関する Thing Shape に対する変更は反映されません。これはバインドに関するアスペクトに限定されます。インスタンスのプロパティベースタイプが変更されると、その変更が適用されます。
Thing 上のオーバーライドされたプロパティは削除する必要があります (基本的にはオーバーライドを元に戻します)。また、Thing Shape へのすべてのバインド関連の変更は、Thing で反映されます。
9. 「インダストリアル Thing」ヘッダードロップダウンで、「プロパティおよびアラート」を選択します。「再表示」をクリックします。ThingWorx Kepware Server からの現在のデータに基づいて、値が変更されます。
10. 任意のプロパティを表示または編集するには、「名前」列でそのプロパティをクリックします。
* 
インフォテーブルタイプのプロパティでは、「プッシュタイプ」が「常時プッシュ」に設定されていなければなりません。
* 
以下はインダストリアル接続 Thing に固有のプロパティです。
「タグアドレス」: ThingWorx Kepware Server に存在するタグのアドレス。プロパティ名とバインドされているタグアドレスが同じである必要はありません。
「インダストリアルデータ型」: ThingWorx Kepware Server に存在するデータ型。これは ThingWorx のベースタイプに相当します。
「プッシュタイプ」: デフォルトのプッシュタイプは「値の変更に基づいてプッシュ」です。「デッドバンドに基づいてプッシュ」「値の変更に基づいてプッシュ」とよく似ていますが、プッシュされる値が若干異なります。たとえば、デバイスからの値が 1、2、3、および 4 で、「プッシュタイプ」が「値の変更に基づいてプッシュ」「プッシュのしきい値」が 2 の場合、エッジからの値は 1 になります。変更が 1 だけであるため、この値が再びプッシュアップされることはありません。この同じ例でプッシュタイプが「デッドバンドに基づいてプッシュ」に設定されている場合、エッジからの最後の値からの変化ではなくプッシュされた最後の値からの変化に基づくので、値 1 と 3 がプッシュされます。
* 
「デッドバンドに基づいてプッシュ」プッシュタイプは ThingWorx Kepware Server のインダストリアル接続でのみ使用できます。
11. 既存のエンティティに追加のタグをバインドするには、「追加」をクリックして「新規プロパティ」の属性にアクセスします。名前およびその他の必要なプロパティを指定し、「バインド」の下の「リモートバインド」を必ず選択します。「タグアドレス」の下の「追加」をクリックし、選択したエンティティにバインドする追加のタグを選択します。
* 
または、「動的タグ」タグオプションを選択し、動的タグのアドレスを入力し、「インダストリアルデータ型」を選択してから、「完了」をクリックします。
インダストリアルゲートウェイの診断プロパティ
インダストリアルゲートウェイには、ThingWorx Kepware Server のステータス情報を取得する際に使用可能ないくつかの診断プロパティがあります。
* 
すべてのカウントプロパティが値ストリームに記録されます。
ActiveTagCount - プラットフォーム内のプロパティにバインドされているタグの数。接続されているすべてのクライアントに対して、ThingWorx Kepware Server からアクティブに提供されているタグの数。
ClientCount - ThingWorx Kepware Server に接続されているすべての OPC DA クライアントの数。
DateTime - 現地のタイムゾーンに合わせて調整された現在の日時。
DroppedUpdates - プラットフォームに配信されていない、ThingWorx Kepware Server によってドロップされた更新の数。
* 
ドロップされたのがこの更新である可能性があるので、この値を接続の検証に使用することはできません。
ExpiredFeatures - 期限切れになり、サーバーランタイムが停止して再起動するか機能がライセンス供与されるまでデータを提供しない、ドライバーやプラグインなどの ThingWorx Kepware Server 機能の名前。
FullProjectName - 現在実行中の ThingWorx Kepware Server プロジェクトファイルの完全な名前と場所。
Hostname - ThingWorx Kepware Server が実行されているマシンのホスト名。
IndustrialThingCount - このインダストリアルゲートウェイを使用してデータをプラットフォームに提供している Remote Thing の数。
isConnected - ThingWorx Kepware Server サーバーの接続状態。
lastConnected - ThingWorx Kepware Server サーバーの最後の良好な接続時間。
LicensedFeatures - ThingWorx Kepware Server のこのインスタンスでライセンスが供与されている、ドライバーやプラグインなどの ThingWorx Kepware Server 機能の名前。
OpcClientNames - 接続されている OPC DA クライアントの名前 (提供されている場合)。
ProductName - インダストリアルゲートウェイ Thing Template を使用しているソフトウェアの名前。
ProductVersion - インダストリアルゲートウェイ Thing Template を使用しているソフトウェアのバージョン。
ProjectName - ThingWorx Kepware Server によって使用されているプロジェクトファイルの名前。
ProjectTitle - ThingWorx Kepware Server によって使用されているプロジェクトファイルのタイトル。
PropertyCount - プラットフォーム上の RemoteThing に関連付けられているプロパティの数。
TimeLimitedFeatures - ThingWorx Kepware Server のこのインスタンスでライセンスは供与されていないがデータは提供している、ドライバーやプラグインなどの ThingWorx Kepware Server 機能の名前。
TotalTagCount - すべてのクライアントに割り当てられているタグの数。
UpdatesPerSecond - ThingWorx Kepware Server から ThingWorx にプッシュされている更新の平均件数。
サービス
これらのサービスのいずれかを使用して、インダストリアル接続を管理します。
サービス
説明
BrowseItems
入力は pathfilter です。filter はオプションです。
* 
パスの例: Channel1.Device1
戻り値: SourceType (Word 型または Word Array 型など) は ThingWorx Kepware Server で定義されているデータ型であり、ThingWorx のベースタイプと相関関係にあります。
このサービスは引数としてフィルタを使用することで、特定のタグ名のサーチを可能にします。このフィルタフィールドでは以下のフィルタ手法を使用できます。
* ワイルドカード - 任意の数の文字列に相当します。
? 単一文字ワイルドカード - 任意の 1 文字に相当します。
[...] 包含文字セット - 括弧に含まれている任意の 1 文字に相当します。文字の範囲をダッシュによって示すことができます ('c-j')。
[!...] 除外文字セット - 括弧に含まれていない任意の 1 文字に相当します。文字の範囲をダッシュによって示すことができます ('c-j', ')。
# 数字 - 任意の数字に相当します。
BrowseGroups
入力は pathfilter です。path が定義されていない場合、すべてのグループが返されます。
GetIndustrialThings
インダストリアルゲートウェイ Thing Template を介して接続しているすべての Thing を返します。ThingWorx で Remote Thing マッシュアップを表示してこの情報を確認することもできます。
GetPropertySubscriptions
(Remote Thing で) このサービスを使用して追加情報 (ThingWorx Kepware Server によって定義されているプロパティ) を返すことができます。
* 
追加情報の例:
{ "industrialDataType": "Word", "tagAddress": "Channel2.Device1.Tag11", "scanRate": 1000 }
GetBoundItems
maxItems の数を入力します。このサービスの実行元である Thing にバインドされているすべてのタグを返します。
* 
バインドされているタグの情報はインダストリアルゲートウェイ Thing の「バインドタグ」領域にも表示されます。
GetPropertyDiagnostics
IndustrialThingShape を使用している場合に追加される Remote Thing で使用できます。このサービスは、このサービスが実行されている Thing に現在バインドされているプロパティのローカル名をとり、以下の情報を返します。
「説明」 -
ThingWorx Kepware Server の説明フィールド。
「Valid」 - ブール型。プロパティが ThingWorx Kepware Server で有効かどうかを示します。
「DriverFriendlyName」 - このタグの生成に使用されているドライバーの名前。この名前がユーザーに表示されます。
「モデル」 - このタグの生成に使用されているドライバーの下で動作するデバイスのモデル。
「エラー」 - ブール型。デバイスがエラー状態であるかどうかを示します。
「名前」 - ThingWorx Kepware Server のアドレスの名前。
「DriverPersistedName」 - このタグの生成に使用されているドライバーの ThingWorx Kepware Server 名。
「アドレス」 - ThingWorx Kepware Server 内のタグの物理アドレス。
「データ型」 - ThingWorx Kepware Server が認識するインダストリアルデータ型。
「ReadOnly」 - ブール型。true の場合、このタグは読み取り専用です。
「CurrentValue」 - このサービスが実行されたときのタグの値。
「CurrentQuality」 - このサービスが実行されたときのタグの品質。
「CurrentTimestamp」 - このサービスが実行されたときにタグが読み取られた時刻。
GetDiagnosticDigest
インダストリアルゲトウェイ Thing で使用できます。このサービスは任意のタグアドレスをとり、ThingWorx Kepware Server からのそのタグの診断情報を返します。これは ThingWorx Kepware Server インスタンスで静的または動的アドレスを使用して情報を提供できる唯一の診断サービスなので、このサービスが結果を返すためにプラットフォーム内のプロパティにタグがバインドされている必要はありません。返される各フィールドの定義は GetPropertyDiagnostics サービスの定義と同じです (上記を参照)。
CSV ファイルを介した Thing のインポート
CSV インポート拡張機能を使用して Thing を ThingWorx にインポートできます。この拡張機能には ImportRepositoryImportHelperImportMashup、およびサンプルファイル TestImport.csv が含まれています。
1. この拡張機能を入手して ThingWorx にインポートします。この拡張機能は、 support.ptc.com「ソフトウェアのダウンロード」 > 「ソフトウェアアップデートのご注文またはダウンロード」 > 「ThingWorx Foundation」 > 「Release <最新>」 > 「ThingWorx CSV Import for Industrial Connectivity」 > 「最新の製造コード」 > 「CSV-Import-Extension-Package」から入手できます。
2. ImportMashup を開きます。
* 
「Import Format」リンクをクリックするとこのファイルのフォーマットが表示されます。
3. 「ファイルを選択」をクリックし、インポートする CSV ファイルに移動します。このファイルがプラットフォームにアップロードされます。これにより、プラットフォームはこのファイルを読み取ることができます。
4. 「アップロード」をクリックします。
5. 必要に応じて、「My CSV file has a header row」をクリックします。
6. 「インポート」をクリックします。
7. Composer で、CSV ファイルを介してインポートされたすべての Thing が表示されます。