型マッピングの編集
リモート データ型のローカル データ型への型マッピングは、データ ソースのエディターに表示されます。 型マッピング タブ。

(1): 標準マッピング
から
CommManagerVars
以下も参照してください。 タブ: 型マッピング
(2): ローカルデータ型を示す記号
CommManagerVars
は自動的に生成され、リモート データ型と一致します ()
クリックするたびに、マッピング タイプが次のように変わります。
→
→
。
(3): 上で選択したデータ型を持つ変数のリスト (青で強調表示)
(4): 通信は OPC UA サーバー経由で行われます。
の下に表示される記号は、 作成またはマッピング ローカル データ型のマッピング タイプを表示します。
(デフォルト):
自動的に宣言されたデータ型へのマッピング (
DataSources_Objects
フォルダー)、マッピングするリモート データ タイプと一致するもの。手動で選択したローカル データ型へのマッピング
リモート データ型を完全に置き換える手動で選択したデータ型へのマッピング (これも
DataSources_Objects
フォルダ)
マッピングタイプの使用例 
」新しく作る」
この亜種では、 作成またはマッピングを実行すると、リモート データが自動的に読み取られ、すべての要素に対して一意のデータ型が自動的に作成されます。これは使いやすくて最初は良いです。
データは OPC UA サーバーから読み取られました。 station1
、 station2

標準マッピング:

特別なデータ型は、読み取られる変数ごとに自動的に作成されます。 pumpA
、 pumpB
、 そして pumpC
リモート データ ソース上で同じタイプを持つ。これは、マッピングごとに個別のデータ型が作成されることを意味します。互換性のあるデータ型についても。おそらくこれは望んでいることではありません。この例では、型マッピングは理想的ではありません。
ヒント
ローカルタイプは手動で変更できます。
データ ソース エディターで、 型マッピング タブ。
をクリックしてください ローカルタイプ 列を変更し、ローカル データ型を手動で変更します。
なぜなら
pumpA
、pumpB
、 そしてpumpC
OPC UA サーバー上ではすべて同じタイプであるため、ローカルでも同じタイプであることは当然です。
マッピングタイプの使用例 
」既存の地図」
この亜種では、 作成またはマッピング、プロジェクト内に新しいデータ型は作成されませんが、目的の型を選択するだけです ( ローカルタイプ)。
特定のローカル データ タイプを使用する必要がある場合は、このマッピング タイプを使用します。この理由の 1 つは、たとえば、データ型がライブラリからビジュアライゼーションに転送されるため、データ型が定義されていることが考えられます。
マッピングタイプの使用例 
」既存のものを作成する」
この亜種では、 作成またはマッピング、それは同じように動作します 。新しいデータ型は作成されません。
プロジェクトが依存する既存のデータ型が変更できない、または変更する必要がない場合は、このマッピング タイプを使用します。これは、たとえば、データ型がライブラリに由来しており、このライブラリの一部 (この型のビジュアライゼーションなど) を一緒に使用する必要がある場合に当てはまります。次に、データ ソースからのデータをこの既存のタイプにマッピングし、それをオーバーラップすることが望ましい場合があります。
このマッピング タイプは、基本的に「Map Existing」と同様のユースケース向けです。既存のデータ型へのマッピングが不適切な場合は、このマッピング タイプを使用できます。
これは、たとえば次のような理由で必要になる場合があります。
外部呼び出しを伴うライブラリ タイプの場合、 ない データ ソース コントローラーで利用できます。
他の未使用の関数ブロックをコンパイルしすぎるライブラリ タイプの場合。
プロジェクトには 2 つの関数ブロック (Pump_I_Must_Use
そして Station_I_Must_Use
) 以下にマッピングする必要があります:

このようなデータ型に依存する視覚化は、一般的な使用例です。

の中に データソースエディタを開きます。 型マッピングタブ。
をクリックしてください リモートタイプ 列を変更し、必要なタイプと一致するようにタイプを変更します。
その後、最近作成されたローカル タイプが上書きされ、視覚化要素で使用される VAR_IN_OUT 変数が機能します。
作成されたデータ型を見ると、上書きが確認できます。
{attribute 'signatureoverload' := 'Station_I_Must_Use'} {attribute 'signatureoverload' := 'Pump_I_Must_Use'}