lixun преди 2 години
родител
ревизия
4e6fb9a4a5
променени са 4 файла, в които са добавени 54 реда и са изтрити 23 реда
  1. 0 12
      src/YSAI.DAQ/YSAI.Modbus/ModbusData.cs
  2. 1 1
      src/YSAI.DAQ/YSAI.Modbus/ModbusOperate.cs
  3. 48 10
      src/YSAI.DAQ/YSAI.Test/TestAll.cs
  4. 5 0
      src/YSAI.DAQ/YSAI.Test/YSAI.Test.csproj

+ 0 - 12
src/YSAI.DAQ/YSAI.Modbus/ModbusData.cs

@@ -227,10 +227,6 @@ namespace YSAI.Modbus
             /// </summary>
             public ProtocolType ProtocolType { get; set; } = ProtocolType.Tcp;
             /// <summary>
-            /// 轮询间隔
-            /// </summary>
-            public int PollingInterval { get; set; } = 1000;
-            /// <summary>
             /// 读取超时时间
             /// </summary>
             public int ReadTimeOut { get; set; } = 2000;
@@ -261,7 +257,6 @@ namespace YSAI.Modbus
                 else
                 {
                     if (ProtocolType == Obj.ProtocolType &&
-                    PollingInterval == Obj.PollingInterval &&
                     ReadTimeOut == Obj.ReadTimeOut &&
                     WriteTimeOut == Obj.WriteTimeOut)
                     {
@@ -288,13 +283,6 @@ namespace YSAI.Modbus
                 }
             }
 
-        }
-        /// <summary>
-        /// 事件抛出参数
-        /// </summary>
-        public class Event
-        {
-            
         }
     }
 }

+ 1 - 1
src/YSAI.DAQ/YSAI.Modbus/ModbusOperate.cs

@@ -25,7 +25,7 @@ namespace YSAI.Modbus
     /// <summary>
     /// modbus 操作
     /// </summary>
-    public class ModbusOperate : IBase<Event>, IModbus
+    public class ModbusOperate : IBase, IModbus
     {
         private static readonly object Lock = new object();  //锁
         private static List<ModbusOperate> ThisObjList = new List<ModbusOperate>(); //自身对象集合

+ 48 - 10
src/YSAI.DAQ/YSAI.Test/TestAll.cs

@@ -10,13 +10,14 @@ using static YSAI.Core.reflection.ReflectionData;
 using static YSAI.Core.reflection.ReflectionData.Basics.DllData.NamespaceData;
 using YSAI.Core.@interface.only;
 using YSAI.Opc.ua.client;
+using YSAI.Modbus;
 
 namespace YSAI.Test
 {
     [TestClass]
     public class TestAll
     {
-        //[TestMethod]
+        [TestMethod]
         public void 反射与MQTT组合使用()
         {
 
@@ -129,7 +130,6 @@ namespace YSAI.Test
         }
 
 
-
         [TestMethod]
         public async Task OPCDA客户端测试()
         {
@@ -237,17 +237,55 @@ namespace YSAI.Test
         }
 
 
-
-        public async Task OPCUA客户端测试()
+        [TestMethod]
+        public void modbus测试()
         {
-            OpcUaClientOperate opcUaClient = OpcUaClientOperate.Instance(new OpcUaClientData.Basics());
+            Address address = new Address();
+            address.SN = Guid.NewGuid().ToString();
+            address.CreationTime = DateTime.Now;
+            address.AddressArray = new List<AddressDetails>();
+            address.AddressArray.Add(new AddressDetails
+            {
+                Address = "0,10"  //从0开始往后读10位
+            });
 
-            opcUaClient.OnEvent += OpcUaClient_OnEvent;
-        }
+            ConcurrentDictionary<ushort, ushort[]> wp=new ConcurrentDictionary<ushort, ushort[]>();
+            ushort[] ushorts=new ushort[16];
+            for (int i = 0; i < 16; i++)
+            {
+                ushorts[i] = (ushort)(i * new Random().NextDouble());
+            }
+            wp.TryAdd(0, ushorts);
+
+            ModbusOperate modbusOperate = ModbusOperate.Instance(new ModbusData.Basics()
+            {
+                ProtocolType = ModbusData.ProtocolType.Tcp,
+                TcpParam = new ModbusData.TcpParam()
+                {
+                    Ip = "127.0.0.1"
+                }
+            });
+            OperateResult operateResult = modbusOperate.On();
+            Console.WriteLine(operateResult.Message);
+
+
+            operateResult= modbusOperate.WriteMultipleRegisters(wp);
+            Console.WriteLine(operateResult.Message);
+
+            operateResult = modbusOperate.ReadCoils(address);
+            Console.WriteLine(operateResult.Message);
+
+            operateResult = modbusOperate.ReadHoldingRegisters(address);
+            Console.WriteLine(operateResult.Message);
+
+            operateResult = modbusOperate.ReadInputRegisters(address);
+            Console.WriteLine(operateResult.Message);
+
+            operateResult = modbusOperate.ReadInputs(address);
+            Console.WriteLine(operateResult.Message);
 
-        private void OpcUaClient_OnEvent(object? sender, OpcUaClientData.Event e)
-        {
-            throw new NotImplementedException();
         }
+
+
     }
 }

+ 5 - 0
src/YSAI.DAQ/YSAI.Test/YSAI.Test.csproj

@@ -19,8 +19,13 @@
 
   <ItemGroup>
     <ProjectReference Include="..\YSAI.Core\YSAI.Core.csproj" />
+    <ProjectReference Include="..\YSAI.DB\YSAI.DB.csproj" />
+    <ProjectReference Include="..\YSAI.Kafka\YSAI.Kafka.csproj" />
+    <ProjectReference Include="..\YSAI.Modbus\YSAI.Modbus.csproj" />
     <ProjectReference Include="..\YSAI.Mqtt\YSAI.Mqtt.csproj" />
     <ProjectReference Include="..\YSAI.Opc\YSAI.Opc.csproj" />
+    <ProjectReference Include="..\YSAI.Redis\YSAI.Redis.csproj" />
+    <ProjectReference Include="..\YSAI.S7\YSAI.S7.csproj" />
   </ItemGroup>
 
 </Project>