lixun 2 سال پیش
والد
کامیت
77e34bda33

+ 3 - 3
src/YSAI.DAQ/YSAI.Modbus/service/Common/CRC16.cs

@@ -1,7 +1,7 @@
 using System;
 using System.Linq;
 
-namespace IoTServer.Common
+namespace YSAI.Modbus.service.Common
 {
     /// <summary>
     /// CRC16验证
@@ -42,10 +42,10 @@ namespace IoTServer.Common
             ushort crc = crcInit;
             for (int i = 0; i < value.Length; i++)
             {
-                crc = (ushort)(crc ^ (value[i]));
+                crc = (ushort)(crc ^ value[i]);
                 for (int j = 0; j < 8; j++)
                 {
-                    crc = (crc & 1) != 0 ? (ushort)((crc >> 1) ^ poly) : (ushort)(crc >> 1);
+                    crc = (crc & 1) != 0 ? (ushort)(crc >> 1 ^ poly) : (ushort)(crc >> 1);
                 }
             }
             byte hi = (byte)((crc & 0xFF00) >> 8);  //高位置

+ 5 - 5
src/YSAI.DAQ/YSAI.Modbus/service/Common/DataConvert.cs

@@ -3,7 +3,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 
-namespace IoTServer.Common
+namespace YSAI.Modbus.service.Common
 {
     /// <summary>
     /// 数据转换
@@ -64,9 +64,9 @@ namespace IoTServer.Common
                 List<string> stringList = new List<string>();
                 foreach (var item in str.Split(' '))
                 {
-                    stringList.Add(((char)(Convert.ToByte(item, 16))).ToString());
+                    stringList.Add(((char)Convert.ToByte(item, 16)).ToString());
                 }
-                return StringToByteArray(string.Join("", stringList), false);
+                return string.Join("", stringList).StringToByteArray(false);
             }
             else
             {
@@ -77,7 +77,7 @@ namespace IoTServer.Common
                     var stringAscii = str[i].ToString() + str[++i].ToString();
                     stringList.Add(((char)Convert.ToByte(stringAscii, 16)).ToString());
                 }
-                return StringToByteArray(string.Join("", stringList), false);
+                return string.Join("", stringList).StringToByteArray(false);
             }
         }
 
@@ -97,7 +97,7 @@ namespace IoTServer.Common
             {
                 stringList.Add(((char)item).ToString());
             }
-            return StringToByteArray(string.Join("", stringList), false);
+            return string.Join("", stringList).StringToByteArray(false);
         }
 
         /// <summary>

+ 1 - 1
src/YSAI.DAQ/YSAI.Modbus/service/Common/DataPersist.cs

@@ -4,7 +4,7 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 
-namespace IoTServer.Common
+namespace YSAI.Modbus.service.Common
 {
     public class DataPersist
     {

+ 1 - 1
src/YSAI.DAQ/YSAI.Modbus/service/Common/LRC.cs

@@ -1,7 +1,7 @@
 using System;
 using System.Linq;
 
-namespace IoTServer.Common
+namespace YSAI.Modbus.service.Common
 {
     /// <summary>
     /// LRC验证

+ 9 - 9
src/YSAI.DAQ/YSAI.Modbus/service/ModBusAsciiServer.cs

@@ -1,11 +1,11 @@
-using IoTServer.Common;
-using Newtonsoft.Json;
+using Newtonsoft.Json;
 using System;
 using System.IO.Ports;
 using System.Linq;
 using System.Text;
+using YSAI.Modbus.service.Common;
 
-namespace IoTServer.Servers.Modbus
+namespace YSAI.Modbus.service
 {
     /// <summary>
     /// ModbusAscii 服务端模拟
@@ -62,7 +62,7 @@ namespace IoTServer.Servers.Modbus
 
                 byte[] tempData = new byte[requetData.Length - 3];
                 Buffer.BlockCopy(requetData, 1, tempData, 0, tempData.Length);
-                var requetAsciiData = DataConvert.AsciiArrayToByteArray(tempData);
+                var requetAsciiData = tempData.AsciiArrayToByteArray();
 
                 var type = $"{requetData[3].ToString("X2")}{requetData[4].ToString("X2")}";
                 switch (type)
@@ -76,7 +76,7 @@ namespace IoTServer.Servers.Modbus
                             //没有存储过的数据的,默认响应false
                             if (bytes == null)
                             {
-                                data = DataConvert.StringToByteArray("01 01 01 00");
+                                data = "01 01 01 00".StringToByteArray();
                             }
                             else
                             {
@@ -89,13 +89,13 @@ namespace IoTServer.Servers.Modbus
 
                                 byte[] asciiData = new byte[bytes.Length - 3];
                                 Buffer.BlockCopy(bytes, 1, asciiData, 0, asciiData.Length);
-                                var byteDataArray = DataConvert.AsciiArrayToByteArray(asciiData);
+                                var byteDataArray = asciiData.AsciiArrayToByteArray();
 
                                 //true
                                 if (byteDataArray[4].ToString("X2") == "FF" && byteDataArray[5].ToString("X2") == "00")
-                                    data = DataConvert.StringToByteArray("01 01 01 01");
+                                    data = "01 01 01 01".StringToByteArray();
                                 else//false
-                                    data = DataConvert.StringToByteArray("01 01 01 00");
+                                    data = "01 01 01 00".StringToByteArray();
                             }
 
                             var dataString = string.Join("", LRC.GetLRC(data).Select(t => t.ToString("X2")));
@@ -138,7 +138,7 @@ namespace IoTServer.Servers.Modbus
 
                                 byte[] asciiData = new byte[bytes.Length - 3];
                                 Buffer.BlockCopy(bytes, 1, asciiData, 0, asciiData.Length);
-                                var byteDataArray = DataConvert.AsciiArrayToByteArray(asciiData);
+                                var byteDataArray = asciiData.AsciiArrayToByteArray();
                                 data = new byte[byteDataArray[6] + 3];
                                 data[2] = byteDataArray[6];//数据长度
                                 Buffer.BlockCopy(byteDataArray, 7, data, 3, data.Length - 3);

+ 4 - 5
src/YSAI.DAQ/YSAI.Modbus/service/ModBusRtuServer.cs

@@ -1,12 +1,11 @@
-
-using IoTServer.Common;
-using Newtonsoft.Json;
+using Newtonsoft.Json;
 using System;
 using System.IO.Ports;
 using System.Linq;
 using System.Text;
+using YSAI.Modbus.service.Common;
 
-namespace IoTServer.Servers.Modbus
+namespace YSAI.Modbus.service
 {
     /// <summary>
     /// ModbusRtu 服务端模拟
@@ -79,7 +78,7 @@ namespace IoTServer.Servers.Modbus
                             rData[2] = (byte)registerLenght;
                             for (int i = 0; i < blenght; i++)
                             {
-                                rData[3 + i] = (byte)DataConvert.BinaryArrayToInt(string.Join("", tempData.Skip(i * 8).Take(8).Reverse()));
+                                rData[3 + i] = (byte)string.Join("", tempData.Skip(i * 8).Take(8).Reverse()).BinaryArrayToInt();
                             }
                             var responseData = CRC16.GetCRC16(rData);
                             serialPort.Write(responseData, 0, responseData.Length);

+ 4 - 4
src/YSAI.DAQ/YSAI.Modbus/service/ModBusTcpServer.cs

@@ -1,13 +1,13 @@
-using IoTServer.Common;
-using Newtonsoft.Json;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Net;
 using System.Net.Sockets;
 using System.Threading.Tasks;
+using YSAI.Modbus.service.Common;
 
-namespace IoTServer.Servers.Modbus
+namespace YSAI.Modbus.service
 {
     /// <summary>
     /// ModbusTcp 服务端模拟
@@ -131,7 +131,7 @@ namespace IoTServer.Servers.Modbus
                                 responseData2[0] = blenght;//显示数据所占长度
                                 for (int i = 0; i < blenght; i++)
                                 {
-                                    responseData2[1 + i] = (byte)DataConvert.BinaryArrayToInt(string.Join("", tempData.Skip(i * 8).Take(8).Reverse()));
+                                    responseData2[1 + i] = (byte)string.Join("", tempData.Skip(i * 8).Take(8).Reverse()).BinaryArrayToInt();
                                 }
                                 var responseData = responseData1.Concat(responseData2).ToArray();
                                 newSocket.Send(responseData);

+ 2 - 2
src/YSAI.DAQ/YSAI.Modbus/service/ServerSocketBase.cs

@@ -3,7 +3,7 @@ using System.Collections.Generic;
 using System.Net.Sockets;
 using System.Text;
 
-namespace IoTServer.Servers
+namespace YSAI.Modbus.service
 {
     /// <summary>
     /// ServerSocket基类
@@ -28,7 +28,7 @@ namespace IoTServer.Servers
             while (receiveFinish < receiveCount)
             {
                 // 分批读取
-                int receiveLength = (receiveCount - receiveFinish) >= BufferSize ? BufferSize : (receiveCount - receiveFinish);
+                int receiveLength = receiveCount - receiveFinish >= BufferSize ? BufferSize : receiveCount - receiveFinish;
                 var readLeng = socket.Receive(receiveBytes, receiveFinish, receiveLength, SocketFlags.None);
                 if (readLeng == 0)
                 {