PLCソフトや設備はこう見てます!
【品質問題の良し悪しを判定する視点について】
1 正常の定義を先に固定する
(例) 自動開始条件が揃っているのに先へ進まない。
確認ポイント→ 開始条件、停止条件、復帰条件を三行で明文化する。
2 同時動作は「優先権」と「待ち」を必ず入れる
→ 二軸や上下左右ユニットを同時に動かす場面のPLCソフト
(例) 左右アームが同じワークを同時に取りに行く。
確認ポイント→ 優先権フラグは一つだけ許可する。もう一方は待機保持に入れる。待機時間の上限は定数で管理する。
3 競合・干渉・合流は相互排他で守る
→こちらは同じエリアや同じ物を複数機構が扱う場面のPLCソフト
(例) AハンドとBハンドが同一チャックに同時に入ろうとする。
確認ポイント→ 侵入前はエリア空きセンサで空きを確認する。
侵入許可は先に予約ビットを取った側だけに出す。退室確認は退出センサで行い予約ビットを解除する。
タイムアウトは設定時間で退出が無ければ異常停止に落とす。
4 併用・並行は「先行」と「追従」を分けて制御する
→ 二つの系が同じ方向に動いて同期するPLCソフト
(例) 先行コンベヤの到着を基準に追従ロボットがピックする。
確認ポイント→ 先行側は基準トリガを発行する。追従側はウィンドウ時間内だけ動作を許可する。許容ズレ量は数値タグで常時監視する。
5 複合モードは復帰順序を一枚で固定する
→ 異常復帰、準備、原点復帰、自動開始など複数モードが重なる場面の話です。
(例) 非常停止解除後に原点復帰と自動開始を同時に要求して不安定になる。
確認ポイント→ 非常停止解除→サーボON→安全リセット→原点復帰→自動準備→自動開始の順序を固定する。各段の完了ビットを次段の条件にする。
6 手動から自動へ切り替える時は内部状態を初期化する
(例) 手動で動かした軸位置や一時フラグが残り自動が不安定になる。
確認ポイント→ 自動ON立ち上がりで初期化ビット群を実行する。センサ安定待ち時間を入れる。
動作許可信号を再評価する。
7 スキャン順依存をなくす
→ PLCのエッジ処理と評価タイミングの話。
(例) 立ち上がりだけを拾う設計で時々取り逃す。
確認ポイント→ ワンショットの使用箇所を限定する。
成立保持ビットで信号を確保する。
解除条件を明記し評価の時点を固定する。
8 割込みは「PLCソフトの割込み処理」での設計を明記する
→ 高速割込みタスクや高速カウンタ割込みの話です。
(例) エンコーダ割込みでカウントしつつ通常スキャンで停止制御を行う。
確認ポイント→ 危険動作の前後は割込み禁止区間を設ける。
共有データは割込み側と通常側でバッファ経由にする。割込み終了後は復帰点で状態を再評価する。
9 タイマーはPLCソフトで二重化する
→ タイマ命令による待ち時間と監視の設計の話です。
(例) 気温や摩耗で実時間が伸び工程内待ちだけでは破綻する。
確認ポイント→ 制御タイマは工程の待ち用に使う。
監視タイマはタイムアウト検出用に別で持つ。
両方の閾値は実測で定期的に見直す。
10 タイミングチャートで正解を言語化する
→ 正解=信号の順番と許容時間が規定どおりか、で判定します。
(例) START_PB→SAFETY_OK→CYL_EXT_CMD→EXT_LIMIT→CYCLE_DONE。
確認→ この順で成立し、EXT_LIMITはT1以内、CYCLE_DONEはその直後に立ち上がること。
判定→ 早い=順序違反。
遅い=T1超過。
欠落=T1内に成立しない。
設定→ T1=700ms、許容±100msなど数値で固定。
記録→ 各信号の時刻を1行ずつ残し、差分だけを見る。
11 仕様変更や設定変更は差分で管理する
→ 改造やパラメータ更新後の不具合対応の話です。
(例) 更新後だけ百発百中で起きるバグ。
確認ポイント→ 変更点一覧を作る。影響範囲を宣言する。回帰テストの項番を紐付ける。
12 過去トラブルは観点表に還元する
→ 再発防止の知識化の話です。
(例) 季節で荷詰まりが再発する。
確認ポイント→ 事象、根因、対策を一行ずつ書く。観点表に追記し次回はその三行だけを先に確認する。
ぜひ参考にしていただき、明日起こるかもしれないトラブルを一つでも潰して、皆さんの時間が有意義なものに変われば私も嬉しいです!
#PLC