Jelajahi Sumber

1. 修改采集协议的OFF方法,新添加订阅OFF

Shun 2 tahun lalu
induk
melakukan
e723c88ac7

+ 9 - 0
src/YSAI.AllenBradley/AllenBradleyOperate.cs

@@ -366,6 +366,15 @@ namespace YSAI.AllenBradley
                 {
                     return Break(SN, false, "未连接");
                 }
+                if (subscribeOperate != null)
+                {
+                    OperateResult operateResult = subscribeOperate.Off();
+                    if (!operateResult.State)
+                    {
+                        return Break(SN, false, operateResult.Message);
+                    }
+                    subscribeOperate = null;
+                }
                 tcpClientOperate.Dispose();
                 tcpClientOperate = null;
                 return Break(SN, true);

+ 1 - 1
src/YSAI.AllenBradley/YSAI.AllenBradley.csproj

@@ -5,7 +5,7 @@
 		<ImplicitUsings>enable</ImplicitUsings>
 		<Nullable>enable</Nullable>
 		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-		<Version>1.0.0.1</Version>
+		<Version>1.0.0.2</Version>
 		<Authors>Shun</Authors>
 		<Company>YSAI</Company>
 		<Product>SCADA</Product>

+ 15 - 6
src/YSAI.Can/CanOperate.cs

@@ -162,11 +162,20 @@ namespace YSAI.Can
 
         public OperateResult Off()
         {
-            Depart("Off");
+            string SN = Depart("Off");
             try
             {
                 if (CanState)
                 {
+                    if (subscribeOperate != null)
+                    {
+                        OperateResult operateResult = subscribeOperate.Off();
+                        if (!operateResult.State)
+                        {
+                            return Break(SN, false, operateResult.Message);
+                        }
+                        subscribeOperate = null;
+                    }
                     Status = Canlib.canBusOff(Handle); //关闭bus总线
                     if (Status.Equals(Canlib.canStatus.canOK))
                     {
@@ -176,26 +185,26 @@ namespace YSAI.Can
                         {
                             Handle = 0;
                             CanState = false;
-                            return Break("Off", true);
+                            return Break(SN, true);
                         }
                         else
                         {
-                            return Break("Off", false, "关闭CAN通道失败");
+                            return Break(SN, false, "关闭CAN通道失败");
                         }
                     }
                     else
                     {
-                        return Break("Off", false, "关闭BUS总线失败");
+                        return Break(SN, false, "关闭BUS总线失败");
                     }
                 }
                 else
                 {
-                    return Break("Off", false, "CAN通道未打开");
+                    return Break(SN, false, "CAN通道未打开");
                 }
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exception: ex);
+                return Break(SN, false, ex.Message, Exception: ex);
             }
         }
 

+ 1 - 1
src/YSAI.Can/YSAI.Can.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
 	  <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-	  <Version>1.0.0.37</Version>
+	  <Version>1.0.0.38</Version>
 	  <Authors>Shun</Authors>
 	  <Company>YSAI</Company>
 	  <Product>SCADA</Product>

+ 12 - 1
src/YSAI.DB/DBOperate.cs

@@ -640,6 +640,7 @@ namespace YSAI.DB
 
         public void Dispose()
         {
+            Off();
             GC.Collect();
             GC.SuppressFinalize(this);
             ThisObjList.Remove(this);
@@ -826,7 +827,17 @@ namespace YSAI.DB
 
         public OperateResult Off()
         {
-            return Break(Depart("Off"), true);
+            string SN = Depart("Off");
+            if (subscribeOperate != null)
+            {
+                OperateResult operateResult = subscribeOperate.Off();
+                if (!operateResult.State)
+                {
+                    return Break(SN, false, operateResult.Message);
+                }
+                subscribeOperate = null;
+            }
+            return Break(SN, true);
         }
 
         public OperateResult GetStatus()

+ 1 - 1
src/YSAI.DB/YSAI.DB.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
 	  <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-	  <Version>1.0.0.37</Version>
+	  <Version>1.0.0.38</Version>
 	  <Authors>Shun</Authors>
 	  <Company>YSAI</Company>
 	  <Product>SCADA</Product>

+ 9 - 0
src/YSAI.Mitsubishi/MitsubishiOperate.cs

@@ -673,6 +673,15 @@ namespace YSAI.Mitsubishi
                 {
                     return Break(SN, false, "未连接");
                 }
+                if (subscribeOperate != null)
+                {
+                    OperateResult operateResult = subscribeOperate.Off();
+                    if (!operateResult.State)
+                    {
+                        return Break(SN, false, operateResult.Message);
+                    }
+                    subscribeOperate = null;
+                }
                 tcpClientOperate.Dispose();
                 tcpClientOperate = null;
                 return Break(SN, true);

+ 1 - 1
src/YSAI.Mitsubishi/YSAI.Mitsubishi.csproj

@@ -5,7 +5,7 @@
 		<ImplicitUsings>enable</ImplicitUsings>
 		<Nullable>enable</Nullable>
 		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-		<Version>1.0.0.5</Version>
+		<Version>1.0.0.6</Version>
 		<Authors>Shun</Authors>
 		<Company>YSAI</Company>
 		<Product>SCADA</Product>

+ 14 - 8
src/YSAI.Modbus/ModbusOperate.cs

@@ -404,24 +404,30 @@ namespace YSAI.Modbus
         public OperateResult Off()
         {
             //开始记录运行时间
-            Depart("Off");
+            string SN = Depart("Off");
             try
             {
                 if (modbusMaster == null)
                 {
-                    return Break("Off", false, $"尚未打开");
+                    return Break(SN, false, $"尚未打开");
                 }
-                else
+                if (subscribeOperate != null)
                 {
-                    modbusMasterEnhanced = null;
-                    modbusMaster.Dispose();
-                    modbusMaster = null;
+                    OperateResult operateResult = subscribeOperate.Off();
+                    if (!operateResult.State)
+                    {
+                        return Break(SN, false, operateResult.Message);
+                    }
+                    subscribeOperate = null;
                 }
-                return Break("Off", true);
+                modbusMasterEnhanced = null;
+                modbusMaster.Dispose();
+                modbusMaster = null;
+                return Break(SN, true);
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exception: ex);
+                return Break(SN, false, ex.Message, Exception: ex);
             }
         }
 

+ 1 - 1
src/YSAI.Modbus/YSAI.Modbus.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
 	  <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-	  <Version>1.0.0.38</Version>
+	  <Version>1.0.0.39</Version>
 	  <Authors>Shun</Authors>
 	  <Company>YSAI</Company>
 	  <Product>SCADA</Product>

+ 9 - 0
src/YSAI.Omron/OmronOperate.cs

@@ -593,6 +593,15 @@ namespace YSAI.Omron
                 {
                     return Break(SN, false, "未连接");
                 }
+                if (subscribeOperate != null)
+                {
+                    OperateResult operateResult = subscribeOperate.Off();
+                    if (!operateResult.State)
+                    {
+                        return Break(SN, false, operateResult.Message);
+                    }
+                    subscribeOperate = null;
+                }
                 tcpClientOperate.Dispose();
                 tcpClientOperate = null;
                 return Break(SN, true);

+ 1 - 1
src/YSAI.Omron/YSAI.Omron.csproj

@@ -5,7 +5,7 @@
 		<ImplicitUsings>enable</ImplicitUsings>
 		<Nullable>enable</Nullable>
 		<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-		<Version>1.0.0.5</Version>
+		<Version>1.0.0.6</Version>
 		<Authors>Shun</Authors>
 		<Company>YSAI</Company>
 		<Product>SCADA</Product>

+ 1 - 1
src/YSAI.Opc/YSAI.Opc.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
 	  <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-	  <Version>1.0.0.49</Version>
+	  <Version>1.0.0.50</Version>
 	  <Authors>Shun</Authors>
 	  <Company>YSAI</Company>
 	  <Product>SCADA</Product>

+ 11 - 1
src/YSAI.Opc/da/http/OpcDaHttpOperate.cs

@@ -423,7 +423,17 @@ namespace YSAI.Opc.da.http
 
         public OperateResult Off()
         {
-            return Break(Depart("Off"), true);
+            string SN = Depart("Off");
+            if (subscribeOperate != null)
+            {
+                OperateResult operateResult = subscribeOperate.Off();
+                if (!operateResult.State)
+                {
+                    return Break(SN, false, operateResult.Message);
+                }
+                subscribeOperate = null;
+            }
+            return Break(SN, true);
         }
 
         public Task<OperateResult> WriteAsync<V>(ConcurrentDictionary<string, V> Values)

+ 13 - 7
src/YSAI.S7/S7Operate.cs

@@ -141,7 +141,7 @@ namespace YSAI.S7
         public OperateResult Off()
         {
             //开始记录运行时间
-            Depart("Off");
+            string SN = Depart("Off");
             try
             {
                 if (PlcS7 != null)
@@ -151,21 +151,27 @@ namespace YSAI.S7
                         tokenSource.Cancel();
                         tokenSource = null;
                     }
+                    if (subscribeOperate != null)
+                    {
+                        OperateResult operateResult = subscribeOperate.Off();
+                        if (!operateResult.State)
+                        {
+                            return Break(SN, false, operateResult.Message);
+                        }
+                        subscribeOperate = null;
+                    }
                     PlcS7.Close();
                     PlcS7 = null;
-
-
-
-                    return Break("Off", true);
+                    return Break(SN, true);
                 }
                 else
                 {
-                    return Break("Off", false, "未连接");
+                    return Break(SN, false, "未连接");
                 }
             }
             catch (Exception ex)
             {
-                return Break("Off", false, ex.Message, Exception: ex);
+                return Break(SN, false, ex.Message, Exception: ex);
             }
         }
 

+ 1 - 1
src/YSAI.S7/YSAI.S7.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
 	  <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-	  <Version>1.0.0.36</Version>
+	  <Version>1.0.0.37</Version>
 	  <Authors>Shun</Authors>
 	  <Company>YSAI</Company>
 	  <Product>SCADA</Product>