PlantUML関連が続いてしまっていますが、しばらくチェックしていない間に機能がかなり増えているので紹介しきってしまいたいとお見ます。
今回は新たに追加されたタイミングチャートの紹介です。
タイミングチャートはオブジェクトの状態を時系列で表す図でUMLに規定されています。一般的には機械の制御を表すのによく使われている印象です。
タイミングチャートの例題
題材として以下のシーケンサーのタイミングチャートをPlantUMLで書き直してみます。
出典は三菱電機のシーケンサー入門テキストからです。 本当はシーケンサーのラダー図もPlantUMLで書けると非常に捗るのですが、それは別の話……
https://www.mitsubishielectric.com/fa/assist/satellite/data/jy997d41501e.pdf
PlantUMLによるタイミングチャート
PlantUMLの日本語ドキュメントは以下です。 plantuml.com
PlantUMLで例題に似せて作成したタイミングチャートは次のようになりました。
またコードは以下になります。
@startuml Title タイミングチャート robust "スタートスイッチ X001" as x001 robust "ランプ Y000" as y000 robust "ブザー Y001" as y001 robust "MC Y002" as y002 robust "モータ Y003" as y003 robust "電磁弁 Y004" as y004 x001 is 非励磁 y000 is 非励磁 y001 is 非励磁 y002 is 非励磁 y003 is 非励磁 y004 is 非励磁 @x001 0 is 励磁 +30 is 非励磁 @y000 0 is 励磁 @0 <-> @+20 :{2秒間隔} 100 is 非励磁 @y001 20 is 励磁 100 is 非励磁 @20 <-> @+20 :{2秒間隔} @y002 40 is 励磁 100 is 非励磁 @40 <-> @+20 :{2秒間隔} @y003 60 is 励磁 100 is 非励磁 @60 <-> @+20 :{2秒間隔} @y004 80 is 励磁 100 is 非励磁 @80 <-> @+20 :{2秒間隔} @0 x001 -> y000 @20 y000 -> y001 @40 y001 -> y002 @60 y002 -> y003 @80 y003 -> y004 @100 y004 -> y003 y003 -> y002 y002 -> y001 y001 -> x001 @enduml
PlantUMLのタイミングチャートは少し見辛いかもしれません。ただ、作成・修正が容易という大きなメリットがあるので機械制御の設計にかなり有用ではないでしょうか。
今回はここまでにします。