構造化テキストプログラムでは、コードのブロックを分割して構成することができます。そうすることで、その特定の領域で何をコーディングしたかを識別することができ、より簡単にナビゲートすることが可能になります。
ですが、もしFunction Block内に大量なCommentがつけられた場合は、自分が作ったFunction Blockが大きすぎるかを考えたほうがよいかもしれません。
そのときMethodやPropertiesやFunction Blockに分けてCodeを小さく切り分けて行きましょう。その考え方はSingle Responsibility Principle (SRP)と関係しています。
Single Responsibility Principle (SRP)?
ファンクションブロックの責任は1つだけであるべきで、プログラムが変更された場合、その影響は少数のファンクションブロックにしか及ばないはずです。
そのとき、大きなFunction Blockをいくつか作るより、小さなFunction Blockをたくさん作る方が良い。一見、コードが膨大にあるように見えますが、すべてをカバーしようとする少数の大きなファンクションブロックよりも、それぞれが特別なタスクに対応する多数の小さなファンクションブロックを持つプログラムの方が、メンテナンスが簡単で、整理しやすいのです。
例えばバターを切るには、あなたがほしいのはこのなんでもできるスイスナイフか?それでもバターKnifeですか?
Method1
// Keywordを使用しプログラム内でCommentをつける方法で、多分各メーカーからDownloadされたSampleプロジェクトで一番使われていると思います。
TwinCATやCodesysは// とTabの組み合わせにより構造的なCommentをつくれます。
//The Method to write your Comment //part1 sw1:=TRUE; // //part2 lp1:=FALSE; // //part3 counter:=1234; // |
このように+/-ボタンでプログラムコードを構造的に展開や隠すことができます。
Method2
次は(**)の1列Comment方法です。三菱のGXWORKSでST言語を使用するときよくあるKeywordです。
Method3
最後はpragma 手法です。こちらはTwinCAT独自のCommnet方法でプログラムを構造的に切り分けることが可能です。
//Why not use Region attr? {region “init”} sw1:=TRUE; {endregion} {region “startup”} counter:=1234; {endregion} {region “run”} lp1:=FALSE; {endregion} |
このように//と{Region}の組合せからより読みやすいプログラムを作りましょう。