|
|
@@ -224,7 +224,7 @@ namespace YSAI.Opc.da.client
|
|
|
protected override string LogHead => "[ OpcDaClientOperate 操作 ]";
|
|
|
protected override string ClassName => "OpcDaClientOperate";
|
|
|
|
|
|
- public OperateResult AddGroup(string GroupName, bool IsSubscribed = false, int UpdateRate = 200)
|
|
|
+ public OperateResult AddGroup(string GroupName, bool IsSubscribed = false)
|
|
|
{
|
|
|
//开始记录运行时间
|
|
|
Depart("AddGroup");
|
|
|
@@ -243,7 +243,7 @@ namespace YSAI.Opc.da.client
|
|
|
subscriptionState.KeepAlive = 1000;
|
|
|
subscriptionState.Deadband = 0;
|
|
|
subscriptionState.Active = true;
|
|
|
- subscriptionState.UpdateRate = UpdateRate;
|
|
|
+ subscriptionState.UpdateRate =basics.UpdateRate;
|
|
|
subscriptionState.ClientHandle = Guid.NewGuid().ToString();
|
|
|
subscriptionState.Name = GroupName;
|
|
|
ISubscription subscription = opcDaClient.CreateSubscription(subscriptionState);
|
|
|
@@ -270,12 +270,12 @@ namespace YSAI.Opc.da.client
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public Task<OperateResult> AddGroupAsync(string GroupName, bool IsSubscribed = false, int UpdateRate = 200)
|
|
|
+ public Task<OperateResult> AddGroupAsync(string GroupName, bool IsSubscribed = false)
|
|
|
{
|
|
|
- return Task.Run(() => AddGroup(GroupName, IsSubscribed, UpdateRate));
|
|
|
+ return Task.Run(() => AddGroup(GroupName, IsSubscribed));
|
|
|
}
|
|
|
|
|
|
- public OperateResult AddNode(Address address, string GroupName, bool IsSubscribed = false, int UpdateRate = 200)
|
|
|
+ public OperateResult AddNode(Address address, string GroupName, bool IsSubscribed = false)
|
|
|
{
|
|
|
//开始记录运行时间
|
|
|
Depart("AddNode");
|
|
|
@@ -291,7 +291,7 @@ namespace YSAI.Opc.da.client
|
|
|
if (!SubscriptionArray.ContainsKey(DefaultGroupName))
|
|
|
{
|
|
|
//创建默认组
|
|
|
- OperateResult operateResult = AddGroup(DefaultGroupName, IsSubscribed, UpdateRate);
|
|
|
+ OperateResult operateResult = AddGroup(DefaultGroupName, IsSubscribed);
|
|
|
if (!operateResult.State)
|
|
|
{
|
|
|
return operateResult;
|
|
|
@@ -372,9 +372,9 @@ namespace YSAI.Opc.da.client
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public Task<OperateResult> AddNodeAsync(Address address, string GroupName, bool IsSubscribed = false, int UpdateRate = 200)
|
|
|
+ public Task<OperateResult> AddNodeAsync(Address address, string GroupName, bool IsSubscribed = false)
|
|
|
{
|
|
|
- return Task.Run(() => AddNode(address, GroupName, IsSubscribed, UpdateRate));
|
|
|
+ return Task.Run(() => AddNode(address, GroupName, IsSubscribed));
|
|
|
}
|
|
|
|
|
|
public OperateResult UpdateGroupSubscribedState(string GroupName, bool IsSubscribed)
|
|
|
@@ -761,5 +761,55 @@ namespace YSAI.Opc.da.client
|
|
|
return Break("Write", false, ex.Message);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public OperateResult Subscribe(Address address)
|
|
|
+ {
|
|
|
+ Depart("Subscribe");
|
|
|
+ try
|
|
|
+ {
|
|
|
+ OperateResult operateResult = AddNode(address, string.Empty, true);
|
|
|
+ return Break("Subscribe", operateResult.State, operateResult.Message);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return Break("Subscribe", false, ex.Message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public Task<OperateResult> SubscribeAsync(Address address)
|
|
|
+ {
|
|
|
+ return Task.Run(()=> SubscribeAsync(address));
|
|
|
+ }
|
|
|
+
|
|
|
+ public OperateResult UnSubscribe(Address address)
|
|
|
+ {
|
|
|
+ Depart("UnSubscribe");
|
|
|
+ try
|
|
|
+ {
|
|
|
+ List<string> FailMessage = new List<string>();
|
|
|
+ foreach (var item in address.AddressArray)
|
|
|
+ {
|
|
|
+ OperateResult operateResult = RemoveNode(item.AddressName);
|
|
|
+ if (!operateResult.State)
|
|
|
+ {
|
|
|
+ FailMessage.Add(operateResult.Message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (FailMessage.Count > 0)
|
|
|
+ {
|
|
|
+ return Break("UnSubscribe", false, FailMessage.ToJson(),RData:FailMessage);
|
|
|
+ }
|
|
|
+ return Break("UnSubscribe", true);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return Break("UnSubscribe", false, ex.Message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public Task<OperateResult> UnSubscribeAsync(Address address)
|
|
|
+ {
|
|
|
+ return Task.Run(() => UnSubscribeAsync(address));
|
|
|
+ }
|
|
|
}
|
|
|
}
|