PML調用PDMS內核命令研究


一、 概述

本文介紹通過PMLNET包裝PDMS的內核命令, 實現pml調用常用的內置Command命令。

 

二、 實現方法

寫一個PMLNET的dll, 開放一個callback(string commandKey)函數給pml。代碼如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Reflection;
 6 
 7 using Aveva.ApplicationFramework;
 8 using Aveva.ApplicationFramework.Presentation;
 9 using Aveva.Pdms.Presentation;
10 using Aveva.PDMS.PMLNet;
11 
12 [assembly: PMLNetCallable()]
13 namespace wttech
14 {
15     [PMLNetCallable()]
16     public class PmlCoreCall
17     {
18         [PMLNetCallable()]
19         public PmlCoreCall(){ }
20         [PMLNetCallable()]
21         public void Assign(PmlCoreCall that) { }
22         [PMLNetCallable()]
23         public void callback(string commandKey)
24         {
25             CommandManager.Instance.Commands[commandKey].Execute();
26         }
27     }
28 }

 

三、 PML調用實例

1 import 'PmlCoreCall'
2 handle any 
3 endhandle
4 using namespace 'wttech'
5 !corecall = object PmlCoreCall() 
6 !corecall.callback('AVEVA.View.WalkTo.DrawList')

 

AVEVA.View.WalkTo.DrawList為PDMS的內核命令, 在這里PmlCoreCall對象為PMLNET對象, 用其callback函數將Command的key傳遞進去,執行內核命令。

 

四、 總結

通過上面的實例我們看到PML可以通過PMLNET調用C#代碼的形式對他進行擴展。實現了PML調用內核命令的需求。

 dll下載鏈接: https://files.cnblogs.com/files/jevon1982/PmlCoreCall.zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM