こちらは新しいシリーズの記事で、StratonというSoftware PLCを使って様々なテストを展開します。今回はプログラムでよく使用する各種のタイマー機能・Watch Table・波形データ表示・プロジェクトをHTML出力について説明します。
さ、FAを楽しもう。
Reference Link
前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
現在、私達の活動はほぼ無償で続けており、より多くのコンテンツを提供するためには、皆様の温かいご支援が大変重要です。もし可能であれば、以下のリンクから応援していただけると大変嬉しく思います。
高橋クリスのメンバーシップ
こちらはFullさん(full@桜 八重 (@fulhause) / X)と共にやっているラジオにメンバーシップを登録いただけます。
https://note.com/fulhause/membership/join
AMAZON ギフトリスト
こちらは自分のブログのコンテンツ制作や設備の充実に大いに役立てさせていただきます。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon
こちらは自分のブログのコンテンツ制作や設備の充実に対する小さな応援の気持ちのPatreonです。
https://www.patreon.com/user?u=84249391
皆様のサポートが、私たちの活動をより充実させる力となります。
どうぞよろしくお願いします。
メールアドレス(*=@)
X
TON(On Timer)
最初に紹介するのは遅延ONタイマーです。IN入力の立ち上がりパルスでタイマーがスタートし、経過時間がプログラムされた時間と等しくなると停止します。
出力信号は、プログラムされた時間が経過するとTRUEにセットされ、入力コマンドが立ち下がるとFALSEにリセットされます。
プログラム例
それではPart1の続きでやりましょう。
TON(On Timer)のプログラムを作成します。Blocks>TimersにTON ブロックがあります。
すべてのBlockにもヘルプ説明がありますので、該当するブロックを右クリック>Show Block Helpクリックすれば該当するブロックの説明を確認できます。
このように、TONブロックの説明などを確認できます。
TONブロック追加
TONブロックをラダープログラムに追加しましょう。
入出力のパラメータの割り付け画面が表示され、そのままOKをクリックしてください。
Done!TONブロックが追加されました。
インスタンス名変更
Inst_TONではTONタイマーのインスタンス名になります。もしインスタンス名を変更したい場合はその”Inst_TON”をクリックしてください。
次はアプリケーションに合わせて適切なインスタンス名を設定しましょう。
もしインスタンス名が変更されたら、定義範囲などの設定画面も表示されますので、そのままYesで進みます。
Done!インスタンス名が変更されました。
IN入力追加
TONブロックのIn入出力設定を追加するため、”IN”の前にあるラインを選択し、接点を追加します。
変数名を定義します。
先程と同じように、該当する変数名の属性を設定し、Yesで進みましょう。
Done!TONブロックのQ出力にも同じ操作で変数を追加しましょう。
結果
最後はTONブロックの動作を確認します。RuntimeをSimulationモードに立ち上げ、プログラムをダウンロードします。
TONブロックのIN入力3秒の後にQがTRUEになることを確認できました。
Spylist
プログラム上に表示された現在値を確認するだけで、本当に設計通りに動いてるかがわかりませんので、Spylistを使用します。Spylistというのは三菱やシーメンスのPLCにあるWatch Listと同じ機能になります。
Spylistを追加するにはアイテムの追加先を右クリック>Insert New Itemします。
Watch>Spylistを選び、Nextで進みます。
Spylist名を入力し、Okで進みます。
Done!Spylistが追加されました。
プログラムの中に監視したい変数を右クリックし>Send to Spyを選択します。
Done!Spylistで監視したい変数の現在値を確認できました。
また、監視したい変数を異なるSpylistに追加したい場合、該当する変数を右クリック>Go to Variable Definition をクリックします。
該当する変数を定義した変数表が表示されます。
Spylistに監視したい変数をそのままDropすればOkです。
Done!
FB内の変数もSpylist上で現在値を監視できます。
Soft Scope
Spylist Watch Table以外には変数を波形で表示することも可能です。Folderを右クリック>Insert New Itemします。
今度はWatch>Soft Scopeを選択し、Nextで進みます。
Soft Scope名を設定し、OKで進みます。
Done!Soft Scopeが追加されました。
こちらはSoft Scopeの基本画面になります。
プログラム内に波形表示で確認したい変数をSoft Scopeの上画面にDropします。
Done!
Color欄で各変数の表示色を設定できます。
今回はTimer1の入出力信号・そして経過時間だけを監視し、別々の色に設定します。
Soft Scopeとメインプログラムを同時にツール上で確認したいので、現在ツール上で開いてるSoft Scopeを右クリック>Lock(Left)します。
Done!
Soft Scopeの表示設定などを変更したい場合は下図にあるボタンをクリックします。
Soft Scopeの表示間隔・範囲を設定することができます。
最後は下図にあるPlayボタンでリアルタイムの波形データを確認します。
Done!下図ではON信号(緑の線)をTRUEにし、オレンジの経過時間進んでんおり、最後は青い色のOutがTRUEになることがわかります。
TOP(Off Timer)
次に紹介するのはTOP(OFF遅延)です。
IN入力の立下りパルスでタイマーがスタートし、経過時間がプログラムされた時間と等しくなると停止します。IN入力がTRUEに立ち上がると出力信号はTRUEにセットされ、プログラムされた時間が経過するとFALSEにリセットされます。
プログラム例
TON(Off Timer)のプログラムを作成します。Blocks>TimersにTOF ブロックがあります。
Done!ラダープログラムにTOFが追加されました。
先程と同じ操作でIN/PT/Qパラメータを割り付けてください。
結果
最後はTOFブロックの動作を確認します。RuntimeをSimulationモードに立ち上げ、プログラムをダウンロードします。
INがFalseになってるTOFタイマーがまだ2秒をONしてることを確認できました。
また、Soft Scopeの表示時間を拡大縮小したい場合は、下図にあるプラス・マイナーボタンをクリックしてください。
TP(Pulse Timer)
今度はTP(パルスタイマー)を説明します。こちらのタイマーはIN入力の立ち上がりパルスでタイマーがスタートし、経過時間がプログラムされた時間と等しくなると停止します。またタイマーが動作している間、出力信号は TRUE になります。
プログラム例
TP(Pulse Timer)のプログラムを作成します。Blocks>TimersにTP ブロックがあります。
Done!ラダープログラムにTPが追加されました。
結果
下図のようにTPがONし続けても、Qは設定された4秒間のみTRUEになり、その後はFALSEに戻ります。
Soft Scope記録
Soft Scopeはレコード機能がついており、データをCSV Fileとして保存できます。その機能を使用したい場合はSoft Scopeが起動してる間に、下図の丸いボタンをクリックしてください。
Done!このようなCSV Fileが出力されました。
Blink
Blink FBはCodesysにもありまして、RUNがTRUEしてる間に設定された時間にON/OFFを繰り返します。
プログラム例
Blinkのプログラムを作成します。Blocks>TimersにBlink ブロックがあります。
Done!ラダープログラムにBlinkが追加されました。また、先程説明した操作で入出力パラメータを割り付けてください。
結果
下図のように、BlinkのIN=TRUEの間にQが2秒ON/OFFの繰り返しになります。
BlinkA
BlinkAは先程紹介したBlink FBと似てる機能ですが、ON/OFFの繰り返しの設定できるのは別々になります。つまりON=1s、OFF=2sのような設定が可能です。
プログラム例
BlinkAのプログラムを作成します。Blocks>TimersにBlinkA ブロックがあります。
Done!ラダープログラムにBlinkAが追加されました。また、先程説明した操作で入出力パラメータを割り付けてください。
結果
下図のように、BlinkAのQは1sON・2sOFFの繰り返しになりました。
PLS
次に紹介するPLS ブロックです。それはRUNがTRUEであれば、設定された時間周期にパルス出力します。
プログラム例
PLSのプログラムを作成します。Blocks>TimersにPLSを追加し、先程説明した操作で入出力パラメータを割り付けてください。
結果
下図のように、PLSのRUNがTRUEしてる間に、Qが設定された2秒ことにパルスONします。
HTML ドキュメント生成
最後に紹介したいのはStratonツールのHTMLドキュメント生成機能です。その機能を使用すれば、プロジェクトをまるまるHTML Formatに出力することが可能です、StratonツールがインストールされていないPCでもプロジェクトの確認ができます。
Tools>Generate HTML Documentをクリックします。
>Nextで進みます。
ExportするプロジェクトFileを選び、Nextで進みます。
Exportする項目を設定し、Nextで進みます。
EXPORT設定の最終確認し、Nextで進みます。
Finishをクリックします。
Done!StratonのプロジェクトをそのままHTML 方式にEXPORTされました。
今回記事で作成したラダープログラムにもHTML上で確認できます。
変数表なども確認できます!