製造・FA

PLCのSTコードを他社方言に変換する(三菱⇔キーエンス⇔シーメンス等)

機種更新や他社PLCへの移行で既存のST/SCLコードを書き直したい。方言差の洗い出しが手作業では漏れるし、AIに丸投げすると存在しない命令を混ぜてくる。

おすすめAI

Claude — 長いコードの一貫した変換と「不確かな箇所は変換せず申告する」という制約への指示追従に強い

使い方(3分)

  1. 変換元のSTコードと、変換元・変換先の機種/ツール名を用意する
  2. 下のプロンプトの【】を自分の環境に置き換える
  3. コードと一緒にAIへ送る
  4. 出力の「要確認リスト」を公式マニュアルで1件ずつ潰す
  5. 変換先ツールでコンパイル→シミュレータ確認→段階的に実機検証

プロンプト(コピーしてAIに貼り付け)

あなたは複数メーカーのPLCでST言語の設計・移行を長年やってきたFAソフトウェアエンジニアです。以下のSTコードを移行先の方言に変換してください。

# 環境
- 変換元: 【メーカー・機種・開発ツール(例: 三菱電機 iQ-R / GX Works3)】
- 変換先: 【メーカー・機種・開発ツール(例: キーエンス KV-X / KV STUDIO Ver.12)】
- 変換先の変数の流儀: 【シンボリック変数のみ/デバイス併用可】

# 進め方(必ずこの順で)
ステップ1: 変換元コードで使われている命令・ファンクション・デバイス・タイマを表で棚卸しする(種類/用途/変換先での対応方針の3列)。
ステップ2: 変換先に存在するか不確かな命令・表現を「要確認リスト」として分離する。**勝手にそれらしい命令へ置き換えない。**
ステップ3: 変換コードを出力する。変更した行にはコメントで変更理由を付け、要確認箇所は (* 要確認: ○○ *) と明示する。
ステップ4: 変換で挙動が変わりうる箇所(タイマの単位、初回スキャン、ラッチ、暗黙の型変換)を重大度順に列挙する。

# 品質基準
- 変換先で実在が不確かな命令・FB名を創作しない
- タイマ・カウンタの設定値は単位(TIME型リテラルか数値か)を必ず明示する
- 非常停止・安全入力など安全関連部のロジックが含まれる場合は、変換対象から除外して「人間が設計すべき箇所」として報告する

精度を上げるコツ

もっと深掘りする追い打ちプロンプト

最初の回答が返ってきたら、続けてこれらを送ると精度と実用度が上がります。

AIの出力は移行の下書きです。実機投入前に必ず変換先ツールでのコンパイル・シミュレーション・段階的な実機検証を行ってください。安全関連部(非常停止・ライトカーテン等)はAI変換の対象にせず、機能安全の検証プロセスに従って人間が設計・承認してください。

← プロンプト集の一覧に戻る