<< Click to Display Table of Contents >> トレーニング(PA-Panel) > DCSサンプルのカスタマイズ > 新規に構造化タグクラスを追加する > 手順3)詳細ダイアログへの項目追加 |
詳細ダイアログへの項目追加
新しく追加した2PIDクラス用の詳細ダイアログを新規に作成します。今回追加した2PIDクラスはPIDクラスとメンバ構成が酷似しているため、PIDクラス用の既存のダイアログ画面をコピーして流用し、2PIDクラス用のダイアログとして作成します。
1.Panel EditorからPA-Framework.xmlを選択し、「CORE_SignalDlg_MELSEC_QnPH_PID」フォームをコピーして「CORE_SignalDlg_MELSEC_QnPH_2PID」を作成してください。
2.「CORE_SignalDlg_MELSEC_QnPH_2PID」フォームを開きます。
以降は、当該フォームのスクリプトや表示項目、機能の呼び出しボタンなどの影響箇所に対して変更を行っていきます。
3.フォーム上の「チューニング」ボタンを選択した状態で、スクリプトエディタを開き、以下のように編集します。
event OnMouseUp(button) { if(button == 1) { var vAddr = parent.fvTargetPoint; var vTargetSymbol =this; var vTitle = "チューニング"; var vFormId = "CORE_TuningDlg_2PID"; var vDlgName = vFormId & "_dlg_" & vAddr; var vFrmName = vFormId & "_frm_" & vAddr; ・・・
|
4.基本情報の部分に、今回新たに追加されたメンバ「ALPHA2」、「BETA2」用のラベル、エディットボックスを追加します。
■2自由度パラメータα
プロパティ名 |
設定 |
Name |
edtAlpha2 |
TextFormat |
0.00,0,1 |
■2自由度パラメータβ
プロパティ名 |
設定 |
Name |
edtBeta2 |
TextFormat |
0.00,0,1 |
5.フォームのスクリプトをスクリプトエディタで開き、新しく追加した構造化タグメンバに関するコードを記述します。
■構造化タグメンバ設定の追加
var fcMEMBER = c( ・・・ ,"AlarmStatus_MVLo", "ALPHA2", "BETA2"); |
※配列定義の末尾に、今回追加した新メンバの情報を追加します。
■構造化タグの列番号変数の追加
var fcMEM_ALPHA2 = 75; var fcMEM_BETA2 = 76; |
■構造化タグ読込関数(fDispItems)への追加
if(vDispType == fcDISP_INIT){ ・・・ edtMVTrendMax.Text = fvValues[fcMEM_MVTRENDMAX]; edtAlpha2.Text = fvValues[fcMEM_ALPHA2]; edtBeta2.Text = fvValues[fcMEM_BETA2]; } |
■画面情報読込関数(fGetAllScreenParams)への追加
vParam[fcMEM_ALPHA2] = ::CNum(edtAlpha2.Text); vParam[fcMEM_BETA2] = ::CNum(edtBeta2.Text); |
■設定保存関数(fSaveAllScreenParams)への追加
if(vOldParam[fcMEM_PVMINOR_DIVISIONS] != vNewParam[fcMEM_PVMINOR_DIVISIONS]) { ・・・ }
if(vOldParam[fcMEM_ALPHA2] != vNewParam[fcMEM_ALPHA2]) { vTp = fvTargetPoint & "." & fcMEMBER[fcMEM_ALPHA2]; if(fWriteProperty(vTp, vNewParam[fcMEM_ALPHA2])) { vMsg = ::CStr(vNewParam[fcMEM_ALPHA2]); ::CORE.gEventLog_SaveSetting(fvTargetPoint, "2自由度パラメータα", vMsg); } else { return F; } }
if(vOldParam[fcMEM_BETA2] != vNewParam[fcMEM_BETA2]) { vTp = fvTargetPoint & "." & fcMEMBER[fcMEM_BETA2]; if(fWriteProperty(vTp, vNewParam[fcMEM_BETA2])) { vMsg = ::CStr(vNewParam[fcMEM_BETA2]); ::CORE.gEventLog_SaveSetting(fvTargetPoint, "2自由度パラメータβ", vMsg); } else { return F; } }
|