# コンバーターを使用した値の変換

コンバーターはソースプロパティの値を設定した内容に従って変換する機能です。

コンバーター編集画面で変換の内容を作成します。オブジェクトのプロパティにソースプロパティを関連付ける時にコンバーターを選択すると、変換した値をプロパティに反映することができます。

MEMO: ソースプロパティの関連付けについては以下を参照してください。
データバインディング

コンバーターの作成

コンバーターの使用

式エディター

## コンバーターの作成

1. [プロジェクトエクスプローラー] で [コンバーター] → [ユーザー定義のコンバーター] に移動します。
2. コンバーター編集画面のツールバーからコンバーターの種類を選択します。
   コンバーターの種類
3. プロパティウィンドウでコンバーターの内容を設定します。詳細はコンバーターのプロパティを参照してください。
   プロパティ (単位コンバーター)
   プロパティ (範囲コンバーター)
   プロパティ (スケールコンバータ)
   プロパティ (式コンバータ)

MEMO: 式コンバータで使用する式は式エディターで作成します。
式エディター

## コンバーターの使用

オブジェクトのプロパティにソースプロパティを関連付ける時にコンバーターを選択すると、変換した値をプロパティに反映することができます。

1. コンバーターを使用するオブジェクトのプロパティで横の四角いアイコン (プロパティマーク) をクリックし、ソースプロパティの種類を選択します。
2. 表示されたプロパティセレクターウィンドウでソースプロパティを選択します。
3. [コンバーター] をクリックして設定項目を表示します。
4. [コンバーター] チェックボックスにチェックを入れ、あらかじめ作成したコンバーターの中から使用するコンバーターを選択します。
5. [方向] を選択します。

   MEMO:

   [方向] については以下を参照してください。
   データバインディングの [方向]

   範囲コンバーターおよび式コンバーターは [単方向] のみをサポートしています。これらのコンバーターを使用すると [方向] は自動的に [単方向] に設定されます。

6. [OK] をクリックします。

   MEMO: [方向] が [単方向] の場合、たとえば数値表示器などのオブジェクトから入力はできません。オブジェクトのプロパティに [入力モードを有効] がある場合はチェックを外してください。

## 式エディター

式コンバーターで使用する式は式エディターで作成します。式コンバーターのプロパティウィンドウから [式] プロパティの [...] をクリックすると式エディターが表示されます。

### 式エディター

1: 式と演算子を入力します。演算子は、コンテキストメニューからも入力できます (例: * を入力するには右クリックをして [演算子] を選択します)。

MEMO: 作成できる式の規則については以下を参照してください。
式の規則

2: 式に挿入するオブジェクトの種類を選択します。オブジェクト一覧が変更されます。

3: 式に挿入するオブジェクトを選択します。オブジェクトをクリックすると、式カーソルの位置にオブジェクトが挿入されます。

### 式の規則

#### 演算子

サポートされている演算子とその仕組みの詳細については、利用可能な演算子と関数を参照してください。

#### データの種類

データタイプが同じであれば、1 つの式に複数の変数を使えます。以下は、データタイプ (DINT) が同じ 2 つの変数が使用されている有効な式の例です。

MyDINT01 + MyDINT02

以下は、データタイプがそれぞれ DINT と STRING の 2 つの変数が使用されている無効な式の例です。

MyDINT01 + MyString01

式が赤で表示されている場合は、式にエラーがあることを意味します。1 つの式内には、異なるデータタイプの変数は使えません。

#### 計算

式のデータが変更されるとすぐに計算が実行されます。

#### 10 進数

- 式に使用される値の精度は 15 桁に制限されています。
- 数式に 16 桁以上の 10 進数を使用する場合は、設定先変数に LINT または ULINT を使用します。

#### 小数点

数式の結果には、小数点が含まれます。
(例 1)
以下の場合、INT1 の値が 101 であれば、結果は 10.1 になります (.1 は切り捨てされません)。

小数点を切り捨てるには、floor ブロックを使用します。
(例 2)
以下の場合、INT1 の値が 101 であれば、結果は 10 になります。

#### 文字列

- 文字列は、単一引用符または二重引用符で囲まれます。(例: 'ABC' または "ABC")
  通常の文字のように単一引用符を使用することはできません。
  ただし、二重引用符は一重引用符で囲むことにより、通常の文字と同様に使用できます。(例: '"ABC"')
- バックスラッシュ文字は、エスケープ文字に使用します。バックスラッシュを通常の文字として使用する場合は、バックスラッシュを 2 回入力します。(例: \\)