Shun 2 년 전
부모
커밋
b4ec968b44

+ 4 - 1
src/YSAI.DAQ/YSAI.Core/serialport/SerialPortOperate.cs

@@ -246,13 +246,16 @@ namespace YSAI.Core.serialport
                                 Data_buffer.Enqueue(item);
                             }
                         }
+                        else
+                        {
+                            Thread.Sleep(10);
+                        }
                     }
                 }
                 catch (Exception ex)
                 {
                     OnEventHandler?.Invoke(this, new EventResult(false, $"[ {SerialPortData.Steps.消息接收} ]接收数据异常:{ex.Message}"));
                 }
-                Thread.Sleep(10);
             }
         }
 

+ 0 - 1
src/YSAI.DAQ/YSAI.Core/socket/tcp/client/SocketTcpClientOperate.cs

@@ -157,7 +157,6 @@ namespace YSAI.Core.socket.tcp.client
                 {
                     OnEventHandler?.Invoke(this, new EventResult(false, $"[ {SocketTcpClientData.Steps.消息接收} ]服务端消息接收异常:{ex.Message}"));  //数据传递出去
                 }
-                Thread.Sleep(10);
             }
         }
         /// <summary>

+ 7 - 4
src/YSAI.DAQ/YSAI.Core/socket/tcpClient/Operate.cs

@@ -141,7 +141,7 @@ namespace YSAI.Core.socket.tcpClient
         /// </summary>
         void ServerData()
         {
-            Byte[] readBuffer = new Byte[1024];
+            Byte[] readBuffer = new Byte[1024 * 10];
             while (!ServerDataMonitorSwitch.IsCancellationRequested)
             {
                 try
@@ -152,19 +152,22 @@ namespace YSAI.Core.socket.tcpClient
                         Int32 bytes = networkStream.Read(readBuffer, 0, alen);  //读取数据
                         if (bytes > 0)
                         {
-                            OnEventHandler?.Invoke(this, new EventResult(true,$"[ {SocketTcpClientData.Steps.消息接收} ]接收服务端数据成功", ByteTool.ByteTrimEnd(readBuffer),@enum.ResultType.Bytes));  //数据传递出去
+                            OnEventHandler?.Invoke(this, new EventResult(true, $"[ {SocketTcpClientData.Steps.消息接收} ]接收服务端数据成功", ByteTool.ByteTrimEnd(readBuffer), @enum.ResultType.Bytes));  //数据传递出去
                         }
                         else
                         {
-                            OnEventHandler?.Invoke(this, new EventResult(false,$"[ {SocketTcpClientData.Steps.消息接收} ]接收服务端发送过来的数据长度错误(小于等于零)"));  //数据传递出去
+                            OnEventHandler?.Invoke(this, new EventResult(false, $"[ {SocketTcpClientData.Steps.消息接收} ]接收服务端发送过来的数据长度错误(小于等于零)"));  //数据传递出去
                         }
                     }
+                    else
+                    {
+                        Thread.Sleep(10);
+                    }
                 }
                 catch (Exception ex)
                 {
                     OnEventHandler?.Invoke(this, new EventResult(false, $"[ {SocketTcpClientData.Steps.消息接收} ]服务端消息接收异常:{ex.Message}"));  //数据传递出去
                 }
-                Thread.Sleep(10);
             }
         }
         /// <summary>

+ 1 - 2
src/YSAI.DAQ/YSAI.Core/socket/tcpListener/Operate.cs

@@ -156,7 +156,7 @@ namespace YSAI.Core.socket.tcpListener
         {
             Socket ClientCon = SocketObj as Socket;
             string clientIp = ClientCon.RemoteEndPoint.ToString();
-            byte[] DataByte = new byte[1024 * 1024];  //数据缓冲区
+            byte[] DataByte = new byte[1024 * 10];  //数据缓冲区
             while (!ClientDataMonitorSwitch.IsCancellationRequested)
             {
                 try
@@ -179,7 +179,6 @@ namespace YSAI.Core.socket.tcpListener
                     Remove(clientIp);  //移除
                     return;
                 }
-                Thread.Sleep(10);
             }
         }
         /// <summary>

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/socket/udp/SocketUdpOperate.cs

@@ -110,13 +110,13 @@ namespace YSAI.Core.socket.udp
                         {
                             OnEventHandler?.Invoke(this, new EventResult(false, $"接收到错误的消息,消息长度为:{length}"));
                         }
+                        Thread.Sleep(10);
                     }
                 }
                 catch (Exception ex)
                 {
                     OnEventHandler?.Invoke(this, new EventResult(false,$"接收消息异常:{ex.Message}"));
                 }
-                Thread.Sleep(10);
             }
         }
         /// <summary>

+ 1 - 1
src/YSAI.DAQ/YSAI.Core/socket/udpClient/Operate.cs

@@ -113,13 +113,13 @@ namespace YSAI.Core.socket.udpClient
                         {
                             OnEventHandler?.Invoke(this, new EventResult(false, $"接收到错误的消息,消息长度为:{ByteData?.Length}"));
                         }
+                        Thread.Sleep(10);
                     }
                 }
                 catch (Exception ex)
                 {
                     OnEventHandler?.Invoke(this, new EventResult(false, $"接收消息异常:{ex.Message}"));
                 }
-                Thread.Sleep(10);
             }
         }
         /// <summary>

BIN
src/YSAI.DAQ/YSAI.Lib/YSAI.Opc.Pack/YSAI.Opc.dll


BIN
src/YSAI.DAQ/YSAI.Lib/YSAI.Opc.Pack/YSAI.Opc.pdb


+ 2 - 3
src/YSAI.DAQ/YSAI.Modbus/client/ModbusClientOperate.cs

@@ -1859,7 +1859,6 @@ namespace YSAI.Modbus.client
 
         public OperateResult Write<V>(ConcurrentDictionary<string, V> Values)
         {
-            Depart("Write");
             try
             {
                 switch (basics.MWType)
@@ -1965,12 +1964,12 @@ namespace YSAI.Modbus.client
                         }
                         return WriteFloatHoldingRegisters(Data_floats);
                     default:
-                        return Break("Write", false, "写入类型错误");
+                        return Break(Depart("Write"), false, "写入类型错误");
                 }
             }
             catch (Exception)
             {
-                return Break("Write", false, "写入类型错误");
+                return Break(Depart("Write"), false, "写入类型错误");
             }
         }
 

+ 2 - 2
src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs

@@ -1266,11 +1266,11 @@ namespace YSAI.Opc.ua.client
                 {
                     return Break("Write", false, FailMessage.ToJson());
                 }
-                return Break("Writes", true);
+                return Break("Write", true);
             }
             catch (Exception ex)
             {
-                return Break("Writes", false, ex.Message, Exc: ex);
+                return Break("Write", false, ex.Message, Exc: ex);
             }
         }
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 113 - 6
src/YSAI.DAQ/YSAI.Test.Console/Program.cs


+ 21 - 0
src/YSAI.DAQ/YSAI.Unility/ByteTool.cs

@@ -11,6 +11,27 @@ namespace YSAI.Unility
     /// </summary>
     public class ByteTool
     {
+
+        /// <summary>
+        /// 字节数据拼接成一个完整的包
+        /// </summary>
+        /// <param name="firstBytes">累加数据缓存</param>
+        /// <param name="firstIndex">累加数据缓存下标</param>
+        /// <param name="firstLength">累加数据缓存长度</param>
+        /// <param name="secondBytes">接收缓冲区</param>
+        /// <param name="secondIndex">接收缓冲区下标</param>
+        /// <param name="secondLength">接收缓冲区长度</param>
+        /// <returns></returns>
+        public static byte[] CombineBytes(byte[] firstBytes, int firstIndex, int firstLength, byte[] secondBytes, int secondIndex, int secondLength)
+        {
+            byte[] bytes = null;
+            MemoryStream ms = new MemoryStream();
+            ms.Write(firstBytes, firstIndex, firstLength);
+            ms.Write(secondBytes, secondIndex, secondLength);
+            bytes = ms.ToArray();
+            ms.Close();
+            return bytes;
+        }
         public static byte[] calc_modbus_crc(byte[] buffer)
         {
             UInt16 crc = 0xFFFF;