1 Star 0 Fork 440

BAD MAN/ThingsGateway

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
OpcDaMasterConnectPage.razor.cs 2.41 KB
一键复制 编辑 原始数据 按行查看 历史
Diego 提交于 2024-04-16 11:12 +08:00 . 更新插件OPCUA OPCDA
//------------------------------------------------------------------------------
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
// 此代码版权(除特别声明外的代码)归作者本人Diego所有
// 源代码使用协议遵循本仓库的开源协议及附加协议
// Gitee源代码仓库:https://gitee.com/diego2098/ThingsGateway
// Github源代码仓库:https://github.com/kimdiego2098/ThingsGateway
// 使用文档:https://diego2098.gitee.io/thingsgateway-docs/
// QQ群:605534569
//------------------------------------------------------------------------------
using Microsoft.AspNetCore.Components;
using ThingsGateway.Foundation;
using ThingsGateway.Foundation.OpcDa;
using TouchSocket.Core;
namespace ThingsGateway.Debug;
public partial class OpcDaMasterConnectPage : IDisposable
{
public ThingsGateway.Foundation.OpcDa.OpcDaMaster Plc;
private readonly OpcDaConfig config = new();
protected override void Dispose(bool disposing)
{
Plc.SafeDispose();
base.Dispose(disposing);
}
[Parameter]
public EventCallback OnConnectClick { get; set; }
public LoggerGroup? LogMessage;
/// <inheritdoc/>
protected override void OnInitialized()
{
Plc = new ThingsGateway.Foundation.OpcDa.OpcDaMaster();
Plc.Init(config);
LogMessage = new TouchSocket.Core.LoggerGroup() { LogLevel = TouchSocket.Core.LogLevel.Trace };
var logger = TextFileLogger.Create(Plc.GetHashCode().ToLong().GetDebugLogPath());
logger.LogLevel = LogLevel.Trace;
LogMessage.AddLogger(logger);
Plc.LogEvent = (a, b, c, d) => LogMessage.Log((LogLevel)a, b, c, d);
Plc.DataChangedHandler += (a) => LogMessage.Trace(a.ToJsonString());
base.OnInitialized();
}
private void Connect()
{
try
{
Plc.Disconnect();
GetOpc().Connect();
}
catch (Exception ex)
{
LogMessage?.Log(LogLevel.Error, null, ex.Message, ex);
}
}
private void DisConnect()
{
try
{
Plc.Disconnect();
}
catch (Exception ex)
{
LogMessage?.Log(LogLevel.Error, null, ex.Message, ex);
}
}
private ThingsGateway.Foundation.OpcDa.OpcDaMaster GetOpc()
{
//载入配置
Plc.Init(config);
return Plc;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/dancingqueen/ThingsGateway.git
git@gitee.com:dancingqueen/ThingsGateway.git
dancingqueen
ThingsGateway
ThingsGateway
3904287008e2ab1d1586d0324d1ec0f26c9f745d

搜索帮助