EPLAN 远程控制是 API 的一部分,允许用户连接到 EPLAN 平台的变体,并以远程方式控制它。
内部使用 gRPC 和协议缓冲区(protobuf)技术。
连接是从客户端应用程序(由 API 用户编写的 .NET 程序)到网络中现有的 EPLAN 实例建立的。
条件是 EPLAN 变体以远程服务器模式启动(不带 /NoRemoting
参数)。
EPLAN 远程控制由以下内部库组成:
Eplan.EplApi.RemoteClientu.dll
(命名空间 Eplan.EplApi.RemoteClient
)
Eplan.EplApi.Remotingu.dll
(命名空间 Eplan.EplApi.Remoting
)
外部库:
Google.Protobuf.dll
Grpc.Core.Api.dll
Grpc.Core.dll
Grpc_csharp_ext.x64.dll
以及 .NET 系统库:
System.Runtime.CompilerServices.Unsafe
System.Runtime.Remoting
可以在没有 System.Runtime.CompilerServices.Unsafe
库的情况下编译程序,但它将完全无法工作。
Grpc_csharp_ext.x64.dll
是一个运行时 dll,由 Grpc.Core
使用,必须将其集成到项目中。
有两种正确集成的方法。要么将其复制到构建文件夹中,要么将其作为“现有项目”添加到项目中。
Add -> Existing item… (Shift + Alt + A)
注意:在搜索字段中必须明确输入 dll 的名称。
添加后,请将属性“Copy to Output Directory”设置为“Copy always”。
所有的 dll 都存储在 EPLAN 平台的 BIN 文件夹中。以下是一些使用示例。EPLAN 远程控制允许您以远程方式执行操作和一些 P8 操作。
要打开一个新会话,您必须将客户端连接到现有的 P8 实例(嵌入其中的 gRPC 服务器)。
服务器可以本地或远程运行。
此后,您可以同步或异步运行 P8 操作。
您还可以使用操作上下文传递或获取参数。
最后,要关闭远程会话,您必须断开连接。
以下示例展示了如何使用 EPLAN 远程控制:
List<EplanServerData> oInstalledEplanVersions = new List<EplanServerData>();
oClient.GetInstalledEplanVersionsOnLocalMachine(out oInstalledEplanVersions);
foreach (EplanServerData oVersion in oInstalledEplanVersions)
Console.WriteLine(oVersion.EplanVariant + "," + oVersion.EplanVersion + "," + (oVersion.Is64Bit ? "64" : "32"));
csharp
List<EplanServerData> oActiveEplanVersions = new List<EplanServerData>();oClient.GetActiveEplanServersOnLocalMachine(out oActiveEplanVersions);foreach (EplanServerData oVersion in oActiveEplanVersions) Console.WriteLine(oVersion.EplanVariant + "," + oVersion.EplanVersion + "," + oVersion.ServerPort);