今回の記事はSelmo StudioのHMI機能を説明します。記事の中で使用したのはCodesysですが、TwinCATでもCtrlXでも同じ操作です。
さ、はじめよう。
Reference Link
Implementation
Configure HMI Text
前回のTutorialではHardwareZoneに下図のようなZoneを定義しました。各ZoneでもSelmoのHMI生成から状態の確認・操作などができます。
まずStart ButtonのZone Inをクリックします。
Edit Zoneの設定画面にはHMIの項目があり、中にHMI Display TextとManaul Button TextのOptionsがあります。
HMI Display Text
HMI Display TextではSelmo HMI上で該当するZone Inの文字表示になります。また、赤枠のボタンをクリックすると、該当する項目の詳しい説明が表示されます。
Manual Button Text
こちらの項目では該当するZoneがManual操作するボタンの表示テキストになります。
今回設定したのはZone-Inですが、一通りDisplay TextとManual Button Text両方も設定しました。
PLC Codeを生成し、CodesysプロジェクトにImportしてください。
最後はHMIを自動生成しましょう。
Result
Done!HMI表示項目が増えました。
他のZone-INも同じように定義しましょう。
Configure Manual Button
次はZone In-Outにマニュアルの操作ボタンを追加してみます。
先ほどと同じ操作でHMI項目を設定しましょう。
今度はManual ButtonのCheckboxを入れます。そうすればSelmo Stuidoで生成されたHMIがに該当するZoneに操作ボタンができます。
Result
Done!Selmo HMIにはお手のアイコンが増えました。
Load Packgeのマニュアル操作ボタンが表示されました。
下図のような操作になります。
最後は各Zone In-Outに操作ボタンを追加しましょう。
Parameters-Configure your Parameters
次はパラメータ機能を紹介します。Selmo Stuidoではパラメータを使用することにより、HMIに該当するパラメータを表示や操作することができます。
また、該当するパラメータをプロジェクトに使用することもできます。
Plant>HwZone>Parametersをクリックし、パラメータを追加しましょう。
各パラメータにあhHistoric機能を有効するかなどの細かい設定も可能です。
Generate PLC-Code
注意するのはパラメータを追加した場合はPLC-Codeをもう一回生成しプロジェクトにImportしてください。
Done!GVL_HwZone1_Parametersが追加されました。
GVL_HwZone1_Parametersの中には先ほどと同じく定義したParametersが生成されました。
Result
Selmo HMIをもう一度生成したら、パラメータのボタンが出来上がりました。
先ほどSelmo Stuidoに定義した変数も表示・入力できるようになります。
実際Selmo HMIで入力した値がGVL_HwZone1_Parametersに反映されています。
Parameters-Enable Historic data
次はパラメータのHistoric機能を有効にします。この機能を使用すれば、パラメータの変化を追跡することができます。
Default設定から変更したパラメータ項目の隣にある歯車の色が緑になります。
またWrite History value only on changesのCheckboxを有効にすることにより、パラメータが変化するときだけLoggingするような設定もできます。
Result
Selmo HMIにある歯車をクリックします。
Show Historic Dataをクリックします。
こちらの画面から各パラメータなどのHistoricデータを確認できます。
右側にあるFolderにHistoric設定した変数をMonitorエリアに追加します。
最後は確認したいHistoricデータを設定し、Start queryでデータを取ります。
Done!
Export data
また、toolStripButtonをクリックしHistoricデータをExportできます。
ExportするFormatとLocationを設定しましょう。
Done!
また、Settings DiagramのボタンをクリックしX-Y軸のScalingなどを変更できます。
Parameters-Configure Input Limit
今度はパラメータの上下リミットを設定してみよう。このためにLLとLHに適切の値を入れましょう。
例えば、Parameter5をLL=50、HL=50に設定します。
Result
下図のように、HMIでは-50から50までにリミットされます。
Userの入力がLimitを超えるとMaxやMinのところが赤くなり、入力の変更が不可になります。
Parameters-Group
次はGroupです。プロジェクトが膨大になると、Groupを分けることにより、パラメータの管理も簡単になります。今回の例ではSectionのところにGroup1,Group2,Group3に分けました。
Result
Done!HMIにも同じようにGroup1,Group2,Group3のパラメータグループが表示されました。
各パラメータにもSelmo Stuidoプロジェクトに設定した通りグループで分けました。
また、パラメータのデータタイプは実数だけではなく、DINT・INT・Boolなども対応しています。
Parameters-Disable
このDisableのCheckboxを入れることにより、該当するパラメータが自動モードのときに入力不可のInterlockをかけれます。
今回の例ではいくつかのパラメータにDisableのCheckboxを入れます。
Result
HwZone1が自動モードではないとき、もちろんすべてのパラメータも変更可能です。
そしてHwZone1が自動モードにソフトされたら、Group1のParameter2が入力できなくなります。
Parameters inside Sequences
パラメータはHwZoneに存在するGlobal以外に、各シーケンサにも自分のパラメータをもつことができます。
下記の例では、5つのBOOLEANタイプのパラメータを定義し、様々なButton Modeを設定します。
Result
Done!今度はHWZone1>Sequence1>にGVL_Sequence1_Parametersが生成されました。
中に先ほど定義されたBOOL変数が生成されました。
各シーケンスの中にパラメータのボタンが追加されました。
各ボタンの操作は以下になります。