手順5)グラフィック部品への改造内容反映

<< 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」を選択した状態でスクリプトエディタを開きます。

 

pap_0335

 

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つのシンボルをコピーしてください。

 

pap_0336

 

コピーしたシンボルに、以下の変更を加えて下さい。

 

■プロパティ

 

プロパティ名

設定

_Type

バインド式自動生成のための識別子を指定します。

それぞれの部品に対して、前記までの手順により、シンボルロジック関数(gBindSymbolScript)へ追加したキーワードを入力して下さい。

 

変更前

変更

PID_PV_TYPE2

2PID_PV_TYPE2

PID_MV_TYPE2

2PID_MV_TYPE2

PID_MV_VALVE_TYPE2

2PID_MV_VALVE_TYPE2

 

_Point

部品に割り付ける2PIDクラスのインスタンス名を設定してください。

 

例:M_2PID.101