<< Click to Display Table of Contents >> トレーニング(PA-Panel) > DCSサンプルのカスタマイズ > 新規に構造化タグクラスを追加する > 手順5)グラフィック部品への改造内容反映 |
グラフィック部品の追加
新しく追加した2PIDクラスに対応したグラフィック部品を追加します。今回追加した2PIDクラスはPIDクラスとメンバ構成が酷似しているため、PIDクラス用の既存のグラフィック部品をコピーして流用し、2PIDクラス用のグラフィック部品として作成します。
ここでは、以下の3つの部品を作成します。
•2PID_PV_TYPE2
•2PID_MV_TYPE2
•2PID_MV_VALVE_TYPE2
1.Panel EditorからPA-Framework.xmlを選択し、「CORE」フォームを表示してください。
2.COREフォーム上に配置されている「SymbolV6」を選択した状態でスクリプトエディタを開きます。
3.以下の箇所に対して記述を追加します。
■バインド式自動生成関数(gBindSymbolScript)に、「2PID_PV_TYPE2」の判定を追加
switch (vType) { ・・・ case "PID_PV_TYPE2": case "2PID_PV_TYPE2":
|
※「case "xxx":」を2行続けて記述します。
■バインド式自動生成関数(gBindSymbolScript)に、「2PID_MV_TYPE2」の判定を追加
switch (vType) { ・・・ case "PID_MV_TYPE2": case "2PID_MV_TYPE2":
|
■バインド式自動生成関数(gBindSymbolScript)に、識別子「2PID_MV_VALVE_TYPE2」の判定を追加
switch (vType) { ・・・ case "PID_MV_VALVE_TYPE2": case "2PID_MV_VALVE_TYPE2":
|
■ポイント情報ダイアログ表示関数(gPopupSymbol)に、クラス識別子「MELSEC.QnPH.2PID」を追加
switch(vClassId) { (省略) case "SYSMAC.CJ.PID": case "MELSEC.QnPH.PID": vTitle = "PID"; ・・・ break;
case "MELSEC.QnPH.2PID": vTitle = "2PID"; vFormId = "CORE_SymbolDlg_2PID"; vDlgName = vFormId & "_dlg_" & vAddr; vFrmName = vFormId & "_frm_" & vAddr;
if(vType == "ABS") { vPosX = vObj.PopupPosX; vPosY = vObj.PopupPosY;
vObj.OpenDialog(vDlgName, vFormId, vFrmName, vTitle, vPosX, vPosY, -1, -1, "NONE", 0); vDlgObj = ::GetChildObj(vFrmName); vDlgObj.fSetParam(vObj, vAddr);
} else if(vType == "REL") { vPosX = -1; vPosY = -1;
vObj.OpenDialog(vDlgName, vFormId, vFrmName, vTitle, vPosX, vPosY, -1, -1, "NONE", 0); vDlgObj = ::GetChildObj(vFrmName); vDlgObj.fSetParam(vObj, vAddr); gGetPopupPos(vObj, vDlgObj, vPosX, vPosY); vDlgObj.MoveDialog(vPosX, vPosY);
} break; ・・・ } ・・・
|
4.シンボルを作成します。
ここでは、PIDクラスのシンボルをコピーして流用し、2PID用の部品として作成します。
Panel Editorで「GraphicSymbol_Sample1」フォームを開き、以下の3つのシンボルをコピーしてください。
コピーしたシンボルに、以下の変更を加えて下さい。
■プロパティ
プロパティ名 |
設定 |
||||||||
_Type |
バインド式自動生成のための識別子を指定します。 それぞれの部品に対して、前記までの手順により、シンボルロジック関数(gBindSymbolScript)へ追加したキーワードを入力して下さい。
|
||||||||
_Point |
部品に割り付ける2PIDクラスのインスタンス名を設定してください。
例:M_2PID.101
|