# 機器

ソースプロパティを使用してランタイムで機器の IP アドレスやユニット ID を変更する場合は、[機器] オペレーションで変更を確定します。

MEMO:

命名規則とスクリプトキーワードの詳細については、以下を参照してください。
使用できる文字とルール

##### ブロック

##### テキスト

saveEquipment(EQUIPMENT);
1

1: 機器

MEMO: 1 つの機器ブロックを使用して IP アドレスとユニット ID の両方を保存できます。各オペレーションの成功または失敗は操作ログに記録されます。

## 例

以下の例では、プロジェクトの機器の IP アドレスを変更します。

機器の現在の IP アドレスは 192.168.0.1 です。

##### ブロック

##### テキスト

onClick($GraphicObject.Switch1, ()=>{

$Device.ModbusTCPDriver1.SchneiderModbusTCPIPEquipment1.IPAddress.OverwriteValue = address('192.168.0.2');

saveEquipment($Device.ModbusTCPDriver1.SchneiderModbusTCPIPEquipment1);

});

1. プロジェクトに上記のスクリプトを設定します。

2. スクリプトを実行して以下を行います。

1. IPAddress.OverwriteValue に新しい IP アドレス (192.168.0.2) を設定します。

2. [機器]オペレーションを実行します。

Equipment1.IPAddress.CurrentValue (192.168.0.2) は Equipment1.IPAddress.OverwriteValue (192.168.0.2) と同じアドレスになります。

MEMO: 32 ビットのデータ (Int) を使用して IP アドレスの値を設定することも可能です。下図のように、IP アドレスの値が変更されます。32 ビットのデータでは、IP アドレスの各オクテットは 8 ビット単位で保存されます。

### IP アドレスが更新されない例

1. IPAddress.OverwriteValue に新しい IP アドレス (192.168.0.3) を設定します。
2. [機器] オペレーションを実行しません。
   機器の IP アドレスは更新されません。Equipment1.IPAddress.CurrentValue (192.168.0.2) は Equipment1.IPAddress.OverwriteValue (192.168.0.3) と同じアドレスになりません。
   IP アドレスは、[機器] オペレーションが実行されるまで更新されません。

MEMO: 機器の IP アドレスおよびユニット ID を更新するには、[機器] オペレーションの実行が必要です。