【PLCの設計とデバッグ文化について】
このポストに、「経験豊富者は実機ありきのほうが工数が少ない」という意見がありましたが、少し分解して考える必要があると思いました。
「ベテランは実機で作り込んだほうが速い」というのは現場感覚としては理解できます。ただ、「なぜ速いのか」を深掘りすると話は変わってきます。
ベテランは装置を目の前にした時に、動作とプログラム構造を頭の中で推定できています。
これは「設計を省略している」のではなく、設計が既に頭の中で完了している状態です。実機で行っているのはタイマの微調整やセンサ条件の確認程度であり、これは「設計との差異を確認する作業」、つまり私の言う「本来の意味でのデバッグ」に近いと思います。
つまり、ベテランは、
・実機だから速いのではなく、設計が暗黙知として頭の中にあるから速い
・実機でいきなり作り込んでも速いが、机上で設計しても速い
ということだと思います。
ところが、ここに大きな問題があって…
その設計は言語化されておらず、コードだけが残ります。
結果として装置には、
・なぜそのタイマ値なのか
・なぜそのシーケンス順序なのか
・なぜそのインターロックなのか
などの、説明の無いロジックが積み上がっていきます。
これは工数の最適化ではなく、属人化による最適化です。短期的には速いですが、組織としての知識は残りません。
もう一つ論点を整理すると。
「実機で作り込んだ方が速い」というケースの多くは、「実機を作る前に必要な情報が揃っていない」ことが往々にしてあるのではないでしょうか。
本来の設計とは、
・メカ的、制御的に成立するか
・装置として矛盾がないか
・仕様として不足がないか
を論理的に詰め、仕様に落とし込む工程です。
実機の前でロジックを作り始めるのは、この「設計で考える工程」を装置の前でやっているだけです。「実機デバッグ」と呼ばれる作業は、設計工程をずらしているだけ、という側面があります。
設計とは、机上で行うことによって「設計者としての“設計脳”を鍛える」訓練でもあり、そしてそれを言語化し組織として残す手段でもあります。
Quote
とき@engineer
@toki_engineer
「PLCプログラムを実機でデバッグ」と言うが、多くのPLC屋さんは実機で作り込みをしている。実機ありきでプログラムを完成させてるけど、それは「設計が未完成」な状態。本来のデバッグとは、設計の正しさを実機でなぞっていく作業。