为ioc容器增加了可能存在的循环依赖提示

This commit is contained in:
fengjiayi
2024-10-08 11:25:51 +08:00
parent 9529b9e19d
commit 21a6f30c3a
7 changed files with 172 additions and 54 deletions

View File

@@ -1,6 +1,7 @@
using IoTClient.Clients.PLC;
using IoTClient.Common.Enums;
using Net462DllTest.Enums;
using Net462DllTest.Model;
using Net462DllTest.Signal;
using Net462DllTest.Trigger;
using Net462DllTest.Web;
@@ -34,10 +35,13 @@ namespace Net462DllTest.LogicControl
public class PlcLogicControl
{
private readonly SiemensPlcDevice MyPlc;
private readonly PlcVarModelDataProxy plcVarModelDataProxy;
public PlcLogicControl(SiemensPlcDevice MyPlc)
public PlcLogicControl(SiemensPlcDevice MyPlc,
PlcVarModelDataProxy plcVarModelDataProxy)
{
this.MyPlc = MyPlc;
this.plcVarModelDataProxy = plcVarModelDataProxy;
}
#region 退
@@ -153,35 +157,17 @@ namespace Net462DllTest.LogicControl
}
[NodeAction(NodeType.Action, "PLC获取变量")]
public object ReadVar(PlcVarName plcVarEnum)
public object ReadVar(PlcVarName varName)
{
var varInfo = plcVarEnum.ToVarInfo();
var result = MyPlc.Read(varInfo);
Console.WriteLine($"获取变量成功:({varInfo})\t result = {result}");
var result = MyPlc.Read(varName);
Console.WriteLine($"获取变量成功:({varName})\t result = {result}");
return result;
}
[NodeAction(NodeType.Action, "PLC写入变量")]
public SiemensPlcDevice WriteVar(object value, PlcVarName varName)
{
var varInfo = varName.ToVarInfo();
if (MyPlc.State == PlcState.Runing)
{
if (varInfo.IsReadOnly)
{
Console.WriteLine($"PLC变量{varInfo}当前禁止写入");
}
else
{
MyPlc.Write(varInfo, value);
Console.WriteLine($"PLC变量{varInfo}写入数据:{value}");
}
}
else
{
Console.WriteLine($"PLC处于非预期状态{MyPlc.State}");
}
MyPlc.Write(varName, value); // 新数据
return MyPlc;
}