絞り込み
変数一覧
変数がありません。
左の「機器を追加」「ブロック追加」で入れ物を作り、ツールバーの「追加」または「取込…」で変数を登録してください。
PLC のデバイスコメント(GX Works / KV STUDIO / Sysmac Studio)もそのまま貼り付けられます。
テキスト
変数の取り込み
Excel の表のほか、PLC のデバイスコメント(GX Works2/3・KV STUDIO・Sysmac Studio / CX-Programmer のエクスポート)をそのまま貼り付けられます。 見出し行があれば列を自動で判定し、無い場合は「デバイス, コメント」の並びとして読み取ります。
PLC 設定(メーカー・機種・デバイス範囲)
デバイス(使用可能な範囲。機種に合わせて直せます)
種類: ビット = 1 点 1 ビット(M0 など) / ワード = 1 点 16 ビット(D0 など) / ch.bit = キーエンス方式(R100 = ch1 の bit0) / バイト = マイコン
エリアを確保して表を作る
「この範囲を押さえる」と決めたデバイスの分だけ、行をまとめて作ります。名前やコメントは、あとから Excel や仕様書の表を貼り付けて埋められます。
作成先
名前の付け方(あとから貼り付けて上書きできます)
アドレス割付
方法
対象
割り付け方
機器の追加
デバイス別コピー(PLC ソフトへ貼り付け)
アドレス順に並びます
操作一覧

構成(機器 / ブロック)

左のツリー機器(Device / Node)とブロック(Module / Block)の 2 階層。機器もブロックも 1 つだけのときは自動で隠れます(「構成ツリー」で手動切替)。クリックでその範囲の変数だけを表示
機器を追加 / ブロック追加入れ物を作る(F2 で名前の変更、右クリックで複製・削除)
ツリーへドラッグブロックを別の機器へ移動。変数の行を選んでブロックへドロップすると、その変数を移動

変数の編集(Excel と同じ感覚)

クリック / 矢印キーセルの選択(Shift+クリック・Shift+矢印で範囲、Ctrl+クリックで追加選択)
文字キー / F2そのまま入力を始める(Enter で下のセル、Tab で右のセルへ続けて入力、Esc で取り消し)
いちばん下で Enter新しい行が増えて、そのまま入力を続けられる(「+ 新しい変数」行のクリックでも同じ)
Ctrl+D1 つ上のセルの値を入れる。アドレス列では「続きのアドレス」を振る(BOOL と数値は別デバイスへ)
Ins / Ctrl+Shift+D / Ctrl+Delete変数の追加 / 複製 / 選択した行の削除
Alt+↑↓ / 見出しクリック行の並べ替え / その列で並べ替え
詳細列ビット・範囲・初期値・所属の列を出す(既定は 5 列だけ)

アドレスと容量

PLC 設定メーカー・機種を選ぶと、デバイスの範囲(D0〜D12287 など)と進み方(10 進 / 16 進)が決まります
Ctrl+Bエリア確保。デバイス・型・範囲を決めて、その分の行を一気に作る(BOOL は M エリア、WORD は D エリア、のように分けて作れます)
Ctrl+Rアドレス割付。「新しく割り付ける / 先頭だけ変える(シフト)/ 別デバイスへ丸ごと移す」を 1 つのダイアログで選べます。BOOL と数値は別のデバイスへ
使用量タブデバイスごとの使用率をゲージで表示。ブロックのチップを別の領域へドラッグすると丸ごと移動
チェック上限超過・重なり・名前の重複などを一覧表示(クリックで該当行へ)

取り込みと出力

取込…Excel の表、GX Works / KV STUDIO / Sysmac Studio のデバイスコメントを貼り付け
Ctrl+Lデバイス別コピー(PLC ソフトへそのまま貼れる TSV)
Ctrl+C / Ctrl+V選択行をヘッダ付き TSV でコピー / 表の貼り付け(行が足りなければ自動で増え、同じアドレスの行は上書き)
Ctrl+Gコード生成(C 構造体 / C アドレス定義 / IEC 61131-3 グローバル変数)
Ctrl+S / Ctrl+OJSON の保存 / 読み込み(Timing Chart Editor と共通のスキーマ)
操作説明書 - Address Map Editor

Address Map Editor 操作説明書

PLC やマイコンのメモリマップ(アドレスマップ)を機器・ブロック単位で設計し、容量の枯渇を防ぎながら、仕様書・PLC ソフトへの貼り付け・ソースコードまでを同じデータから作るためのツールです。

1. 概要

装置の制御設計では、どの信号をどのデバイス(アドレス)に割り付けるかを最初に決めます。Address Map Editor は、この割り付け表を「機器(Device / Node)」と「その中のブロック(Module / Block)」の 2 階層で管理し、PLC の機種ごとに決まったデバイスの上限を超えないかを常に確認しながら設計できるツールです。

ブラウザだけで動き、外部のライブラリやサーバーは使いません。入力したデータはこの端末のブラウザの中にだけ自動保存され、どこにも送信されません。

2. チュートリアル(最初のマップを作る)

  1. 「PLC 設定…」でメーカーと機種を選びます。デバイスの範囲(例: 三菱 Q シリーズの D0〜D12287)と番号の進み方(10 進 / 16 進)が自動で入ります。
  2. そのまま表に書き始めて構いません(既定の入れ物は「未分類」です)。装置やユニットで分けたいときは、左のツリーで「機器を追加」「ブロック追加」を押すか、System Diagram Editor から構成を受け取ります。あとから「選択行を新しいブロックにまとめる」で整理することもできます。
  3. 表にそのまま名前を打ち込みます。Enter で下へ、Tab で右へ進み、いちばん下で Enter を押すと行が増えます(型と方向は上の行から引き継ぎます)。Excel の一覧や PLC のデバイスコメントは「取込…」に貼り付けます。
  4. 「アドレス割付…」(Ctrl+R)で、BOOL は M デバイス、数値は D デバイス、のように割り付け先を決めて一気に割り付けます。
  5. 右の「使用量」タブで、デバイスごとの使用率を確認します。上限を超えた場合は赤く表示され、チェックにも出ます。
  6. 「デバイス別コピー…」(Ctrl+L)で D デバイス・M デバイスごとの一覧を作り、GX Works などにそのまま貼り付けます。

3. 機器とブロックの階層

左のツリーは「プロジェクト → 機器 → ブロック」の 3 段です。機器は装置やユニットの大まかな単位(盤・ロボット・コンベアなど)、ブロックはその中の機能単位(指令・状態・パラメータなど)に使います。ツリーの項目をクリックすると、変数一覧にその範囲の変数だけが表示され、機器やプロジェクト全体を選んだときはブロックごとの見出し行が入ります。

ブロックはツリー上でドラッグして別の機器へ移せます。変数の行を選んでツリーのブロックへドロップすると、その変数だけを移動できます。ツリーの各行には、そのまとまりが使っているデバイスの範囲(例: D100〜D131 / M0〜M15)が表示され、上限を超えている場合は赤く示されます。

4. PLC 機種とデバイス範囲

「PLC 設定…」では、三菱電機(MELSEC-Q / iQ-R)、オムロン(NJ / NX)、キーエンス(KV-8000)、マイコン(バイトアドレス)、IEC 61131-3(%M)から選べます。選ぶと、その機種で使えるデバイスの一覧(コード・名前・種類・進み方・範囲)が表に入ります。

表の値はそのまま編集できます。実機のパラメータでデバイス点数を変更している場合や、設計ルールで使用範囲を限定したい場合は、範囲を書き換えてください。変更内容はプロジェクトの JSON に一緒に保存されます。デバイスの種類は、ビット(M0 など 1 点 1 ビット)、ワード(D0 など 1 点 16 ビット)、ch.bit(キーエンスの R100 = ch1 の bit0)、バイト(マイコン)から選びます。

5. エリアを確保して表を作る(Ctrl+B)

「この範囲は押さえておく」と決まっているときは、エリア確保が早道です。デバイス・型・開始アドレス・点数(または終了アドレス)を指定すると、その分の行がまとめて作られ、アドレスがあらかじめ入った表になります。1 件ずつ「追加」を押す必要はありません。

  • 型ごとにエリアを分けられます。「BOOL は M0〜M255」「WORD は D100〜D163」のようにエリアを分けて作ると、ブロック(=エリア)ごとに表が分かれ、BOOL と WORD が 1 列に混ざりません。
  • ワードデバイスに BOOL のエリアを取るときは「1 語を 16 ビットに分ける」を選べます(D200.0D200.F の 16 行が作られます)。
  • 名前は「アドレスをそのまま」「接頭辞+連番」「空のまま」から選べます。
  • エリアの末尾に行を足すと、続きのアドレスが自動で入ります(貼り付けで行が増えたときも同じです)。
作ったエリアは左のツリーに M エリア(BOOL) M0〜M255(BOOL) のように出て、表の見出し行にも「確保: 〜」と表示されます。上限を超える指定はエラーで知らせます。

6. Excel・仕様書の表から流し込む

確保したエリアに中身を入れるときは、Excel や仕様書の表をそのまま貼り付けられます。

  • 1 列だけ貼る: 名前の列の先頭セルを選んで Ctrl+V。上から順に埋まります(アドレスはそのまま)。行が足りなければ自動で増え、エリアなら続きのアドレスも入ります。
  • デバイス+コメントの表を貼る: M0 起動要求 のようにデバイスが入った表を貼ると、同じアドレスの行を探して上書きします。新しいアドレスの行だけが追加されます。
  • 見出し付きの表を貼る: 「名前・型・方向・アドレス・初期値・コメント」などの見出しがあれば、列の並び順に関係なく判定します(「取込…」ダイアログでも同じで、「同じアドレスの行があれば上書きする」を選べます)。

7. アドレス割付(新規・シフト・移動)

アドレスに関する操作は「アドレス割付…」(Ctrl+R)の 1 つにまとまっています。ダイアログの上で方法を選びます。

  • 新しく割り付ける: 対象(選択中のブロック / 選択行 / 未設定のみ / すべて)に、BOOL の割り付け先・数値の割り付け先をそれぞれ決めて順に振ります。開始アドレスの既定は「そのデバイスで使っている続き」です(前の空きを詰めたいときはチェックを入れます)。
  • 先頭アドレスだけ変える(シフト): ブロックの中の並びはそのままで、先頭だけをずらします。
  • 別のデバイスへ丸ごと移す: ブロックの変数をまとめて別のデバイスの空きに詰め直します。「空きを探す」で空いている先頭が入ります。

表の中で Ctrl+D を押すと、1 つ上のセルの値が入ります。アドレス列では「続きのアドレス」を振るので、数行だけ手早く埋めたいときに便利です。32 ビット以上の型を境界にそろえておくと、C 言語の構造体に写したときに詰め物が入らず、実機のメモリと一致させやすくなります。

8. 使用量の確認と枯渇対策

右の「使用量」タブには、デバイス領域ごとに使用率のゲージが並びます。70% を超えると黄色、上限を超えると赤で表示され、下にそのデバイスを使っているブロックの一覧が出ます。ブロックのチップを別のデバイスのゲージへドラッグ&ドロップすると、そのブロックの変数をまとめてその領域の空きに移せます。上限を超えるアドレスを手で入力した場合や、自動割付で入りきらなかった場合はエラーとして表示され、割り付けは行われません。

9. PLC からの取り込み

「取込…」は、見出し付きの Excel 表のほか、PLC のプログラミングツールが書き出すデバイスコメントをそのまま受け付けます。GX Works2 / GX Works3("D100","起動要求" の形式)、KV STUDIO、Sysmac Studio / CX-Programmer の変数表(Name, Data Type, AT, Comment)に対応し、先頭列がデバイスの形をしていれば自動で判定します。デバイスの種類から型(ビットデバイス = BOOL、ワードデバイス = WORD)も自動で補います。取り込み先のブロックは、ダイアログ上部で選べます。

10. デバイス別コピーと出力

「デバイス別コピー…」(Ctrl+L)は、D デバイス・M デバイスのようにデバイス領域ごとに変数を抽出してアドレス順に並べた一覧を作ります。形式は「デバイスコメント」「グローバルラベル」「詳細」から選べ、ワンクリックで TSV としてクリップボードにコピーできるので、GX Works のデバイスコメント編集画面やラベル編集画面にそのまま貼り付けられます。このほか、出力メニューから Markdown(機器・ブロックごとの章立てと使用量サマリ付き)や CSV を書き出せます。

11. コード生成

「コード生成…」(Ctrl+G)では 3 つの形式を作れます。C / C++ 構造体ヘッダは、機器・ブロックごとに構造体を作り、すき間は予約領域、BOOL はビットフィールドにまとめます(#pragma pack(push,1) と大きさの検査付き)。C アドレス定義#define で番地とビットを並べた軽い形式です。IEC 61131-3 グローバル変数VAR_GLOBAL … END_VAR の形式で、機器・ブロックごとにコメントで区切って出力します。

12. ショートカットキー

キー動作
Enter(最終行)新しい行を足して、そのまま入力を続ける
Ins / Ctrl+Delete変数の追加 / 選択行の削除
F2 / 文字キーセル(ツリーでは名前)の編集
Ctrl+D / Ctrl+Shift+D上のセルの値を入れる(アドレス列は続きを振る) / 行の複製
Alt+行の並べ替え
Ctrl+C / Ctrl+VTSV でコピー / 貼り付け
Ctrl+Rアドレス割付(シフト・移動もここ)
Ctrl+L / Ctrl+Gデバイス別コピー / コード生成
Ctrl+S / Ctrl+O保存 / 開く
Ctrl+Z / Ctrl+Y元に戻す / やり直し
F1操作一覧

このツールは 4 つの設計ツールの 2 番目です。ツールバー右の行き来ボタンで、データを持ったまま前後へ移動できます。

  1. System Diagram Editor: 機器・ブロック・通信のつながりを決める(「← 構成図」で開くと、この一覧の機器・ブロックを渡します)
  2. Address Map Editor(このツール): 変数とアドレスを割り付ける
  3. Timing Chart Editor: 変数の時間的な動きと因果関係を決める(「タイミングチャートへ →」。行を選んでいればその変数だけを渡します)
  4. Flowchart Editor: 因果関係からプログラムの流れに落とす

保存する JSON は 4 つのツール共通のスキーマ(devices / variables / triggers)です。構成図から受け取った機器・ブロックは、変数を入れる箱としてそのまま使えます(今ある変数は消えません)。階層を使わずにフラットなまま書き始めても構いません(既定の入れ物は「未分類」です)。

14. お問い合わせ

不具合の報告・機能の要望は yk.builds.space@gmail.com までお寄せください。再現手順と、可能であれば保存した JSON を添えていただけると調査が早くなります。

開発者を支援する

構成図・アドレスマップ・タイミングチャート・フローチャートの 4 つのエディタは、 現場の仕様書づくりを少しでも軽くしたくて、個人で開発・無償公開しています。
いただいた支援は、そのまま次の機能を書く時間になります。

支援がなくても、機能の制限や催促は一切ありません。
お金以外の応援も同じくらい助かります — 不具合・要望を送る / 同僚にこのツールを教える。

決済は外部(Stripe)で完結します。カード情報がこのツールに渡ることはありません。