制御仕様書の書き方 — 止まり方と戻し方まで、試運転の前に決めておく

最終更新: 2026-09-24 / カテゴリ: 制御設計・PLC / この記事は日本語のみです。

制御仕様書は、プログラムを書く前に装置の止まり方と戻し方まで決め、関係者と合意する文書です。 異常のときの動きを客先に聞いても「止める」としか返ってこない、装置メーカーの制御設計者に向けて書いています。

ロボットが異常で止まったとき、クランプしたワークは離すのか。非常停止を解除したら、どこから動かすのか。 仕様書に無ければ、ソフトの担当者がその場で決めます。客先と機械設計が別の動きを思い描いていたことは、立会いで初めて分かります。 合意する相手は、客先・機械設計・電気設計・相手機器の担当です。客先の要求仕様書(何がほしいか)を受けて、どう動かすかを書きます。 例に使うのは、コンベアでワークを定位置まで運び、クランプして、ロボットが取り出す搬送装置です。

1. 章ごとに書く形を決め、文章だけの章を残さない

章ごとに、決めることと書く形を先に決めます。文章だけで書いた章は、読んだ人がそれぞれ別の動きを思い描くからです。 章の名前は会社ごとに違うでしょう。「書く形」の列は、その章を何で書くかです。

章決めること書く形合意する相手
範囲と前提自分の制御がどこまでか。ロボットの動作プログラム、安全回路、上位の生産管理 PC との通信は誰が作るか。サイクルタイム文章と表客先・機械設計
システム構成機器と通信。線ごとのマスターシステム構成図電気設計・相手機器の担当
入出力と番地信号の名前と PLC の番地。止める向きの信号を、正常のとき ON にするかアドレスマップ電気設計
運転モードと状態モードの一覧と、切り替えてよい条件。運転の状態(運転中・停止中など)の移り方表客先(操作・保全の担当)
動作工程ごとの動きと、次へ進む前に待つ条件フローチャート機械設計
相手機器との信号受け渡しの順番と待ち時間の上限。相手が止まったときに信号がどうなるかタイミングチャート相手機器の担当
停止と異常停止の種類。異常ごとの止め方と、止めないもの、復帰の手順異常一覧の表客先・安全の担当
手動操作手動でも効かせるインターロック条件の表機械設計・客先
画面と操作盤画面の一覧と、異常の知らせ方(ランプ・ブザー・画面)画面の一覧客先
変更の記録版と、変わった所の理由。まだ決まっていない事項と、その担当表全員

構成・入出力・動作・相手機器との信号の章は、図にすれば食い違いが見えます。書き方は、表からリンクしたガイドのとおりです。 文章の一言で済まされやすいのは、モード・停止と異常・手動操作の章でしょう。 下の 2 は、そこで決めることです。それにつながる範囲と相手機器の信号も、一緒に書きます。

2. モード・停止・復帰・手動は、名前を付けて表で決める

  1. 自分の制御の範囲を、最初に線で引く ロボットの動作プログラムは、ロボットの担当が作ります。非常停止や安全扉で動力を切るのは、安全リレーなどの安全回路です。 PLC は安全回路の状態を読み、後始末と復帰の手順を受け持ちます(非常停止のあとの処理と復帰のサンプル)。 範囲の外のことは、中身を書きません。「誰が決めるか」と、境目でやり取りする信号だけを書きます。
  2. 運転モードと状態を、別の表にする モードと状態は、別の表に分けます。モードは、誰が何を動かせるかの区別です(自動・手動・原点復帰・段取り)。 状態は、装置全体の運転の状態です(起動待ち・運転中・一時停止中・異常停止中)。 サイクル停止を押しても、工程の区切りまでは運転中。止まったら起動待ちです。 「自動運転中」と「異常停止中」を同じ一覧に並べると、困ります。自動モードで異常停止しているときに、何を操作してよいかが決まらないからです。 モードの切り替えは、状態を条件にして書きます。自動から手動へは、起動待ちか異常停止中のときだけ。 動いている間にセレクタスイッチで手動へ回されたら、その場で異常停止にします。 手動から自動へ戻しても、起動はすぐには受け付けません。異常が無く、決めた再開の位置にいるときだけです。 再開の位置は、原位置か、続きから動かすと決めた工程の頭です。
  3. 停止の種類を決めて、名前を付ける 客先の「止める」には、止め方がいくつもあります。今のワークを最後まで流し、工程の区切りで止めるのがサイクル停止。 その場で止めて同じ所から続けるのが一時停止です。動き出したシリンダは端まで行かせます。 その場で止めて異常を表示し、原因を取り除いてからリセットと起動を待つのが異常停止です。 どの出力を切り、どれを保持するかは、異常ごとに一覧で決めます。 最後が、安全回路が動力を切る非常停止です。すぐ動力を切るか(停止カテゴリ 0)、減速して止めてから切るか(停止カテゴリ 1)を選びます。 停止カテゴリは IEC 60204-1 の言葉で、ISO 13849-1 の「カテゴリ」とは別のものです。どちらにするかは、安全の担当と決めます。
  4. 時間切れの異常は、フローチャートの「待ち」から拾う 時間切れは、動作のフローチャートの待ちごとに決めます。待ちとは、出力を出して、それが効いたことを見る入力を待つ所です(前進端・閉端など)。 待ちごとに、何秒で異常にするかを決めます。 人を待つ所と、上流からワークが来ないだけの所は上限を付けません。「起動待ち」「ワーク待ち」と表示します。 こうすると、時間切れの異常は動きの待ちと 1 対 1 になり、抜けが見えるでしょう。 サーボのアラーム・非常停止・エアの圧力・通信のように、どの工程でも起きる異常は別です。待ちとは別に、機器ごとに拾います。 行ごとに止め方と復帰の手順を書きます。異常の名前は、そのまま画面の文言にします(例は下の 3 の表)。
  5. 復帰は、原因を取り除く・リセット・起動の 3 つに分ける リセットで機械が動き出してはいけません。リセットは異常の表示を消し、起動を受け付けるだけにします。動かすのは起動の操作です。 途中にあるワークの扱いも書きます。取り除いてから原点復帰するのか(移載ユニットの原点復帰のサンプル)、置いたまま続きから動かすのか。 続きから動かすなら、ワークが置ける場所ごとに「ある・ない」の組み合わせを全部決めることになります。2 か所なら 4 通り、4 か所なら 16 通りです。 迷ったら、ワークを取り除いて原点復帰にします。続きから動かすのは、ワークがどこにあり、どこまで済んだかが 1 通りに決まる異常だけです。 例の E01・E02 は、ワークがまだロボットに渡っていません。コンベアか治具の上の 1 個だけなので、その工程からやり直します。 ワークを置き直して続きから動かしたい、と客先に頼まれたら、置き場所ごとの組み合わせを表にしましょう。 非常停止では、リセットで動力も戻ります。PLC が動かす出力と自己保持を先に切っておくのは、そのときに動き出さないためです。
  6. 相手機器の信号が、異常と電源断のときにどうなるかを書く 止める向きの信号は、「正常」を ON で受けます。ロボットが異常で止まっても、「ロボット動作中」の信号は ON のまま残ることがあります。 止める向きの判断には、ロボットのプログラムが立てる信号を使いません。コントローラが状態や位置から出す信号(異常なし・干渉領域外など)を使います。 配線でつないだ信号なら、相手の電源が落ちれば OFF です。「異常」を ON で受ける決め方だと、電源断や断線を「異常なし」と読んでしまいます。 ネットワークで受ける信号は、通信が切れたときに最後の値を保持する設定があります。電源が落ちても ON のまま残ることがあるでしょう。 通信の正常を別に見て、通信が切れたら相手の信号を OFF とみなす、と書きます。 受け渡しの順番はタイミングチャートで相手と合意します。待ち時間の上限も、そこに書いておきましょう(ロボットと加工機のインターロックのサンプル)。
  7. 手動で動かしてよい条件を、表にする 手動でも効かせるインターロックと、手動では外す条件を分けて書きます。手動操作は、立ち上げと異常からの復帰で使います。 手動でも効かせるのは、ロボットが干渉する範囲にいる間は、クランプを開閉しない・コンベアを動かさない、などです。 手動では外すのは、前の工程が終わっているか、のような条件です。 デバッグの途中で「インターロックを画面から外せるようにしてほしい」と頼まれることがあります。 外せる範囲に入れるのは、PLC の中の機能のためのインターロックだけです。人を守るもの(扉・非常停止)は安全回路に入っていて、画面から外せる作りにはしません。 外せる範囲と戻し忘れの防ぎ方まで決めないなら、作りません。

3. 例:搬送装置の異常一覧には、止めないものまで書く

異常一覧の 1 行には、検出の条件・止め方・止めないもの・復帰の手順を書きます。例の搬送装置は、次の順で動きます。

ロボットはこの装置の専用で、取出要求を受けるとすぐに取りに来る前提です。 検出の条件の秒数は、動作の時間に余裕を足して決めています。コンベアの搬送は 5 秒前後、クランプの開閉は 0.5 秒前後、ロボットの取出しは 5 秒前後です。 表は異常一覧の一部です。

異常検出の条件止め方復帰の手順
E01 ワーク未到着コンベアの起動から 8 秒たっても、定位置センサが ON にならない異常停止。コンベアはその場で止めるコンベアの上のワークを確かめ、詰まりを取り除く → リセット → 起動(搬送からやり直す)
E02 クランプ閉じ不良クランプ閉の指令から 1.5 秒たっても、閉端センサが ON にならない異常停止。クランプの指令は変えないワークの向きを確かめる → 手動でクランプを開閉して閉端を確かめる → リセット → 起動(クランプからやり直す)
E03 ロボット取出し未完了取出要求 ON から 10 秒たっても、取出完了が来ない異常停止。取出要求は出したまま。クランプの指令は変えないロボット側の異常を確かめる → ハンドがワークを掴み、クランプが閉じていればハンドを開く → 退避位置へ戻す。
治具かハンドに残ったワークを取り除く → 取出要求を切る → リセット → 原点復帰 → 起動
E04 コンベア軸のサーボ異常サーボアンプの故障の出力(正常で ON)が OFF になった異常停止。サーボ OFF原因を取り除く → サーボのアラームを解除 → リセット → 原点復帰 → 起動
E05 非常停止安全リレーのモニタ(正常で ON)が OFF になった非常停止(安全回路が動力を切る。PLC は動かす出力と自己保持を切る)非常停止を解除 → リセット → 原点復帰 → 起動

E02 と E03 の「止め方」には、止めないものも書きました。E02 でクランプを開いてしまうと、ワークがどこで引っかかったのかが見えなくなります。 E03 の取出要求を落とすか残すかは、ロボットの担当と決めます。途中で要求が落ちたときにロボットが止まるのか出てくるのかと、組で決める話だからです。 この例のロボットは、途中で要求が落ちることを想定していません。そのため、出したままにしています。 受け渡しの途中で止まったときは、ロボットのハンドと治具のクランプのどちらを開けるかも決めておきます。 この例では、ロボットが中にいる間はクランプを開閉しません(上の 2 の 7)。そこでハンドを開きます。 「異常停止」の一言で済ませると、ここはプログラムを書く人の判断になりがちです。 E04 と E05 のあとは、コンベアの上と、治具・ロボットのハンドに残ったワークを取り除いてから原点復帰します。 表の「手動で」は、手動に切り替えてからの操作です。リセットは手動のままでも受け付け、自動に戻してから起動します。

異常の名前は、画面の文言とプログラムのコメントにもそのまま使います。立会いで「画面の『ワーク未着』と仕様書の『ワーク未到着』は同じものか」と聞かれないためです。

4. 構成から書き始め、手動操作の条件は異常一覧のあとに書く

  1. 範囲とシステム構成 自分の制御の範囲を決め、機器と通信を構成図にします。
  2. 入出力と番地 構成図の機器ごとに、信号と番地をアドレスマップに割り付けます。止める向きの信号は、正常のとき ON になる向きで受けましょう。 非常停止は、安全リレーのモニタと、ボタンに付けたモニタ用の接点を受けます(ボタンのモニタ用の接点なら b 接点)。止める接点そのものは安全回路に入れます。
  3. 正常の動きと、相手との受け渡し 工程の流れをフローチャートに、相手機器との順番をタイミングチャートにする段階です。
  4. 停止の種類と、運転の状態に名前を付ける 異常一覧の「止め方」の列は、この名前で埋めるためです。
  5. フローチャートの待ちから、異常一覧を作る 待ちごとに秒数・止め方・止めないもの・復帰の手順を決めます。どの工程でも起きる異常は、機器ごとに足します。
  6. モードの切り替えと、手動操作の条件 異常一覧のあとに書くと、条件が漏れにくいでしょう。異常からの復帰で手動操作を使うからです。
  7. 読み合わせと、決まっていない事項の一覧 章立ての表の「合意する相手」を集めて読み合わせます。その場で決まらなかった事項は、担当と期限を付けて一覧に残しておきましょう。

5. 電源投入の直後・ボタンの押し方・ワークの出し方・記録が抜けやすい

6. 異常一覧の 1 行を、そのまま立会いの試験項目にする

異常一覧の 1 行は、そのまま立会いの試験項目の 1 つになります。E01 なら、定位置の手前でワークを手で押さえて確かめます。 8 秒でコンベアが止まるか、画面に「ワーク未到着」が出るか、書いた手順で戻れるか。 行に番号を付け、試験の記録にも同じ番号を書きます。どの行を確かめたかが、後から追えるでしょう。 合否の基準を仕様書に書いていないと、揉めます。止まりはしたが表示の文言や戻し方が違う、というときに合格かどうかで割れるからです。

立会いで口頭で決めた変更も、仕様書の版を上げ、変更の記録に理由を書きます。残さないと、あとで言った言わないになり、追加の費用の話がこじれます。

章ごとの図を作るツール

制御仕様書の図の章は、このサイトのエディタで描き、SVG や Markdown で書き出して仕様書に貼れます。4 つのエディタは同じ形式の JSON を読み書きします。

  • System Diagram Editor — システム構成の章。機器と通信、線ごとのマスターを描きます。
  • Address Map Editor — 入出力と番地の章。構成図の機器ごとに、信号と PLC の番地を割り付けます。
  • Timing Chart Editor — 相手機器との信号の章。受け渡しの順番と、どの信号がどの信号を起こすかを描きます。
  • Flowchart Editor — 動作の章。工程の流れと待ちを描きます。時間切れの異常は、ここで描いた待ちから拾います。

インストールも登録も要らず、ブラウザだけで使えます。

関連する記事

yk.builds