キーエンスPLCで信号灯を“グラデーション点滅”させる方法
インデックス修飾で汎用化する、現場で使える実装例
キーエンスPLC(KVシリーズ)を使っていると、
「信号灯の点滅をもっと綺麗にしたい」
「装置ごとに点滅ロジックがバラバラで困る」
「ラダーのコピペ地獄を終わらせたい」
と感じることがあると思います。
本記事では、信号灯を“グラデーション点滅”させる方法を、
インデックス修飾を使って汎用化するという形で紹介します。
実装例はこちら:
現場では、信号灯は「状態の見える化」の中心です。
ここでは以下の問題点を解決しています。
- コピペで作られたラダーが読みにくい
- メンテ時に“どこを直せばいいか”分からない
といった問題がよく起きます。
そこで、インデックス修飾で統一的に制御できるようにすると、 - コードが短くなる
- メンテが圧倒的に楽になる
というメリットがあります。
キーエンスPLCなら“こう書ける”
キーエンスのKVシリーズは、
インデックス修飾と高速タイマが非常に扱いやすく、
信号灯のような周期制御と相性が良いです。
実装例(ラダー)
■ クロックごとに明るさデータのテーブルを参照します。
- 点灯 → 減光 → 消灯 → 増光
- 1周期をインデックスで回す
- Duty比を変えることで“滑らかさ”を調整
という構造になっています。
■実際の点滅の様子はこちら
■ 参照テーブルにコサインデータと三角波データを代入します。(実行時選択)

動作イメージ
グラデーション点滅の動作は、
下記リンクのページにGIFと説明があります。
見た目が綺麗で、状態が分かりやすく、
現場の評価も高い制御方法です。
まとめ
- 信号灯は“現場の言語”
- グラデーション点滅は視認性が高い
- インデックス修飾で汎用化するとメンテが楽
- キーエンスPLCはこの制御と相性が良い
関連記事
1灯しかない現場で複数エラーを表現する方法はこちら
https://qiita.com/yenqoo/items/a5a3b06913c502e8fe1f
「1つのランプで複数エラーを表現する方法」
[RCOMを使って全デバイスのコメントを読む記事はこちら]
https://qiita.com/yenqoo/items/38a28ff324c1ffb4a8dd
今後は、
「コメント駆動UI文化」
「インデックス修飾でラダーのコピペ地獄を終わらせる」
なども記事化していく予定です。
作者
圓空(えんくう)
https://yenqoo.com/spices/
https://yenqoo.com/monologue/
キーエンスPLCを中心に、
“技術 × 美学 × 遊び心” をテーマにした技術文化を発信しています。

