B&R Automation StudioのTutorial第2話です。今回は簡単STプログラムを追加・そのプログラムの実行Task設定・Watch Table・Trace機能について紹介します。
さ、始めよう!
Add New Packages
前回のTutorialでは私達が直接新しいプログラムをプロジェクトに追加しました。
装置が複雑になるとプログラムもどんどん膨大になります。
そのときはPackagesというコンセプトでプロジェクトを管理しましょう。
(実際はFolderのようなコンセプトです)
では新規プロジェクトからPackagesを追加しましょう。
Done!空のPackages Folderが追加されました。
Add ST Program
今度はST Program All In Oneを先程のPackages Folderに追加します。
このST Program All In Oneは_INIT・_CYCLIC・_EXITなどを1つのSTプログラムFileとしてまとめる部品だと考えていただければよいと思います。
実際、そのPackagesは変数のScopeにも関わりますので、Scopeに関してはまた次回のTutorialで説明します。
Done!ST Program All In One部品がPackage内に追加されました。
中に_INIT・_CYCLIC・_EXITの部品があります。
Program Stucture
実際プログラムを開くとPROGRAM_INIT…のようにSectionが分かれています。
_INIT
初期化のためのプログラムセクションになります。
_CYCLIC
周期的プログラムセクションになります。
_EXIT
タスクがアンインストールされたときに実行されるプログラムセクションになります。アンインストールというのは、削除と同じ意味です。つまりTaskが削除されたときリソースが適切に解放されるようにすることが重要で、その_EXITプログラムセクションがまさにその役割です。
Select
プログラムのST Editorには小さなDrop-List ICONがあり、そのListからプログラムを自動で選択できます。
選択されたプログラムは、下図のように赤くHigh-Lightされます。
下図のような操作になります。
Define Local Variable
次はローカル変数を追加します。
Configure Open Options
前回のTutorialではOpen MenuからText ViewかTable Viewかを選択できますが、Default Viewの設定はTools>Optionsから変更できます。
Editor Tabを選択します。
.var(変数定義のFile)だけではなく、例えばデータタイプ定義用の.typ・Mapping用の.iomなどにもDefaultでTable Viewで開くか、Text Viewで開くかを設定できます。
Open as からTextやTableを設定できます。
今回は変数定義用の.varをDefault でText Viewを開くように変更します。
Done!Variables.varを開くときはText Viewに変わりました。
実際は下図のような操作です。
bInitedとiCounter、2つのCounterを定義します。
Insert Variables
ST Editorからプログラムするには下図のICONをクリックする、またはCtrl+Shift+Jで変数を挿入できます。
Select Variableの画面が表示されました。
Show Project StructureのCheckboxを入れ変数をプロジェクトの構造に沿って表示できます。
Filterで変数名を入れ、挿入したい変数を選択し>Okで追加します。
Code
こちらは実際のCodeです。
PROGRAM_INITが実行するとbInitedをTrueに変わり、PROGRAM_CYCLICがbInitedになるとiCounterが周期に加算します。
Result
プログラムをRuntimeにDownloadし、ST Editorが灰色の背景に変わると、いまは該当するプログラムをMonitorしてると表示されます。
Watch
変数の現在値をどうMonitorするかというと、Editorから右クリック>Open>Watchをクリックします。
Watch画面が表示されました。
赤枠のInsert VariableボタンでMonitorしたい変数を追加できます。
Insert Variable画面が表示されました。
すべての変数を選び>Addします。
Done!Value欄では該当する変数の現在値を確認できます。
Task Configuration
次はプログラムのTask割付けについて説明します。
iCounterの加算値は少し遅いですね。
Configuration View
Configuration viewを開きます。
Hardwareをクリックします。
今回SimulationするCPUの絵が表示されます。
そのCPUを右クリック>Softwareします。
<CPU>の下にたくさんのシステムObjectがあり、先程定義したST ProgramはCyclic[#4]に割り付けれています。そしてCyclic[#4]は100ms周期なのでProgramが100msで実行することになっています。
Change the execute Cyclic
プログラムを別のCyclic Taskに実行するように変更するには、直接Drag and Dropでできます。
下図のような操作です。
Done!いまProgramのCyclic taskが変更されました。
Result
iCounterの加算周期は先程早くなりました。
Add Watch
先程Watch Tableから変数をMonitorしました。次はMonitorしたい変数をプログラムを直接保存でき、今後また1から追加する手間がなくなることができます。
Main.stを選択し>右クリック>Open>Watchします。
Monitorしたい変数を設定終わったらSave IconでWatch Tableを保存できます。
Watch Tableの名前を入力しOkで保存します。
Done!
Add Trace
最後はTrace機能を紹介します。Trace機能を使用することによってある期間で変数の現在値を保存でき、Graphで表示できます。この機能は実際現場のDebug・立ち上げなどにも役に立ちます。Main.stを選択し>右クリック>Open>Traceを開きます。
Trace画面が表示されました。
Add New Target
変数を記録する前にまずTrace Targetを追加する必要があります。
赤枠のボタンで新しいTraceを追加しましょう。
Done!新しいTrace Targetが追加されました。
Insert New variable
先程追加されたTargetに記録したい変数を定義するため、赤ボタンをクリックするか、もしくはTargetを右クリック>Insert New Variableします。
Select Trace Variableの画面が表示されます。この画面からTraceしたい変数を設定できます。
ProgramというTaskを展開し、全ての変数を選び>Selectで進みます。
Done!Traceする変数が全部追加されました。
Download the Trace to Target
最後はTrace Configurationを赤ボタンでCPUにDownloadします。
Done!いまもうTrace始めています。
実際はこのような表示になります。
Stop the Recording
Traceを停止したい場合は、赤枠のボタンかもしくは右クリック>Stopをクリックします。
Show Target Data
Show Target Dataで先程取ったデータを確認できます。
Done!
下図のような操作で、時間軸を移動すれば、そのときの変数値の表示するようになります。
Save the Trace Data
もし該当するTrace Dataを保存したいなら、Save Trace Dataでデータを保存しましょう。
Save trace dataの画面が表示されます。
Trace名を入力>Okで進みます。
Load the Trace Data
保存されたTrace Dataを表示した場合、Load trace dataをクリックします。
LoadするTrace Dataを選び>Okで進みます。
Done!
Uninstall the Trace
もし該当するTrace Configurationが不要であれば、UninstallボタンでTrace Configurationを削除しましょう。