我想制作一个基于 C# 的电子邮件客户端,它可以根据 CNC 机床(Siemens Sinumerik ONE 控制器)发出的警报向相关人员发送电子邮件。
到目前为止,我发现我可以在 UAEExpert OPC UA 客户端上读取警报,但不知道如何将这些警报从事件视图导出到桌面上的某个文件,我可以通过我的 C# 应用程序读取该文件。
或者是否有可能创建一个 OPC UA 客户端来读取这些警报?
您可以直接用C#创建客户端来订阅OPC UA警报并发送电子邮件。由于 OPC UA 的复杂性,您将需要使用一些 OPC UA 客户端库。您可以选择“免费”选项,例如 https://github.com/OPCFoundation/UA-.NETStandard 。或者使用商业工具包,例如 QuickOPC(免责声明:我是它的作者),https://www.opclabs.com/products/quickopc/opc-specifications/unified-architecture/alarms-conditions。订阅警报的代码可以如下所示:
// The callback is a lambda expression that displays the event
EasyUAClient.SharedInstance.SubscribeEvent(
"opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer",
UAObjectIds.Server,
1000,
(_, args) => Console.WriteLine(args));