| 
       << 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 
  |