# PLC を使用してジョブを変更する

デバイスがのときに、現在ロードされているジョブと、ビジョンシステム に保存されている別のジョブを切り替えることができます。レシピの切り替えと比べ、ジョブを変更することで、アプリケーションのあらゆる側面 (HMI入出力の設定など) をまとめて変更できますが、次の欠点があります。

- 切り替えに時間がかかります (3 ～ 5 秒以上)。実際の所要時間は、スプレッドシート内の LatchImage セルの数、ジョブの内容によって異なります。
- ジョブを変更するには、ビジョンシステム がまたはになっている必要があります。
- WebHMI をリロードする必要があります。
- I/O システムの電源を切っている時間が長くなります。
- In-Sight アダプタが開いていると、変更内容が失われることがあります。
- WebHMI、および I/O の設定は、変更がなくともジョブ間で複製する必要があります。

PLC を使用してジョブを変更するには、次の 2 つの方法があります。

- 名前で指定する:ジョブ名 (*.jobx 拡張子なし) を指定して、ジョブを変更します。この場合、PLC では切り替え先のジョブの名前に対応する ASCII 文字列を userdata セグメントに指定します。

  例えば、userdata セグメントに文字列「myjob」を指定すると、PLC がロードコマンド (16 進値で 0x4000、または10 進値で 16384) を実行した後で、ビジョンシステムが myjob.jobx ジョブをロードします。

- ID で指定する:また、ジョブ ID (16 進値で 0x0 ～ 0x3E7、10 進値で 0 ～ 999 の整数) を指定して、ジョブを変更することも可能です。PLC がロードコマンドを実行すると、ビジョンシステムは、指定した ID 番号を名前に含むジョブが見つかった場合にそのジョブをロードします。

  例えば、111_myjob という名前のジョブがビジョンシステムに保存されている場合、コマンド 111 を指定すると、そのジョブがロードされます。

使用可能なジョブ変更コマンドとコマンド ID の概要については、次の表を参照してください。

アクション | コマンド ID (16 進数) | コマンド ID (10 進数)
Load Job by Name | 0x4000 | 16384
Load Job by ID | 0x0 ～ 0x3E7 | 0 ～ 999

注 :

- ジョブを PLC で変更する前に、必ず、、ビジョンシステム をまたは状態に設定してください。そうしないと、ジョブ変更要求によって PLC に errorID 0x0401 のエラーが発生します。
- ビジョンシステムに存在しないジョブを指定した場合 (つまり、指定した名前または ID を持つジョブがない場合) は、PLC に errorID 0x0402 のエラーが発生します。

ジョブ変更の実行方法の詳細については、該当するプロトコル別トピックを参照してください。

- Ethernet/IP の場合は、 を参照してください。
- PROFINET については、PROFINET PLC を使用してジョブをロードするを参照してください。