Shun hace 2 años
padre
commit
56cbd51756

+ 2 - 2
src/YSAI.DAQ/YSAI.Core/YSAI.Core.csproj

@@ -5,7 +5,7 @@
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.0.14</Version>
+    <Version>1.0.0.15</Version>
     <Authors>Shun</Authors>
     <Company>YSAI</Company>
     <Product>SCADA</Product>
@@ -17,7 +17,7 @@
 		<PackageReference Include="StackExchange.Redis" Version="2.6.122" />
 		<PackageReference Include="System.IO.Ports" Version="7.0.0" />
 		<PackageReference Include="YSAI.Log" Version="1.0.0.7" />
-		<PackageReference Include="YSAI.Unility" Version="1.0.0.6" />
+		<PackageReference Include="YSAI.Unility" Version="1.0.0.7" />
 	</ItemGroup>
 
 </Project>

+ 3 - 3
src/YSAI.DAQ/YSAI.Core/subscribe/SubscribeOperate.cs

@@ -289,12 +289,12 @@ namespace YSAI.Core.subscription
                 List<string> FillMessage = new List<string>();
                 lock (basics.Address)  //锁住不让其他操作
                 {
-                    foreach (var item in address.AddressArray)
+                    for (int i = 0; i < address.AddressArray.Count; i++)
                     {
                         //移除不需要的节点订阅
-                        if (basics.Address.AddressArray.RemoveAll(e => e.Equals(item)).Equals(0))
+                        if (basics.Address.AddressArray.RemoveAll(e => e.Equals(address.AddressArray[i])).Equals(0))
                         {
-                            FillMessage.Add($"[ {item.AddressName} ]取消订阅失败");
+                            FillMessage.Add($"[ {address.AddressArray[i].AddressName} ]取消订阅失败");
                         }
                     }
                 }

+ 1 - 1
src/YSAI.DAQ/YSAI.Modbus/client/ModbusClientOperate.cs

@@ -86,7 +86,7 @@ namespace YSAI.Modbus.client
                 string[] strings = Address.Split(',');
                 return (int.Parse(strings[0]), int.Parse(strings[1]));
             }
-            return (int.Parse(Address), 1);
+            return (int.Parse(Address) - 1, 1);
         }
         /// <summary>
         /// 虚拟地址

+ 58 - 10
src/YSAI.DAQ/YSAI.Test.Console/Program.cs

@@ -8,6 +8,7 @@ using YSAI.Core.script;
 using YSAI.DaqManage;
 using YSAI.Kafka;
 using YSAI.Log;
+using YSAI.Modbus.client;
 using YSAI.Mqtt.client;
 using YSAI.Mqtt.service.websocket;
 using YSAI.Opc.ua.client;
@@ -17,29 +18,76 @@ using YSAI.S7.client;
 using YSAI.Unility;
 using ZstdSharp.Unsafe;
 
-KafkaOperate kafkaOperate = KafkaOperate.Instance(new KafkaData.Basics() 
+//点位地址
+Address address = new Address();
+address.SN = Guid.NewGuid().ToString();
+address.CreationTime = DateTime.Now.ToLocalTime();
+address.AddressArray = new List<AddressDetails>();
+address.AddressArray.Add(new AddressDetails()
 {
-    BootstrapServers= "192.168.2.140:9092",
+    AddressName = "109",
+    AddressDataType = YSAI.Core.@enum.DataType.Double,
+    AddressType = AddressType.Reality
 });
+ModbusClientOperate modbusClientOperate = ModbusClientOperate.Instance(new ModbusClientData.Basics 
+{
+    ProtocolType=ModbusClientData.ProtocolType.Tcp,
+    Ip="192.168.2.113",
+    Port=502,
+    MRType=ModbusClientData.ModbusReadType.HoldingRegisters,
+    MWType=ModbusClientData.ModbusWriteType.SingleRegister
+});
+
+OperateResult operateResult = modbusClientOperate.On();
+Console.WriteLine(operateResult.ToJson());
+
+
+operateResult = modbusClientOperate.Read(address);
+Console.WriteLine(operateResult.ToJson());
+
+modbusClientOperate.OnEvent += ModbusClientOperate_OnEvent;
 
-OperateResult operateResult= kafkaOperate.On();
-//Console.WriteLine(operateResult.ToJson().JsonFormatting());
+operateResult = modbusClientOperate.Subscribe(address);
+Console.WriteLine(operateResult.ToJson());
 
-kafkaOperate.OnEvent += KafkaOperate_OnEvent;
 
-operateResult = kafkaOperate.Subscribe("VariableTopic");
-//Console.WriteLine(operateResult.ToJson().JsonFormatting());
+operateResult = modbusClientOperate.UnSubscribe(address);
+Console.WriteLine(operateResult.ToJson());
 
 while (true)
 {
-    operateResult = kafkaOperate.Produce("VariableTopic", new Random().NextDouble().ToString());
-    //Console.WriteLine(operateResult.ToJson().JsonFormatting());
+
 }
-void KafkaOperate_OnEvent(object? sender, EventResult e)
+void ModbusClientOperate_OnEvent(object? sender, EventResult e)
 {
     Console.WriteLine(e.ToJson().JsonFormatting());
 }
 
+Console.WriteLine();
+
+//KafkaOperate kafkaOperate = KafkaOperate.Instance(new KafkaData.Basics() 
+//{
+//    BootstrapServers= "192.168.2.140:9092",
+//});
+
+//OperateResult operateResult= kafkaOperate.On();
+////Console.WriteLine(operateResult.ToJson().JsonFormatting());
+
+//kafkaOperate.OnEvent += KafkaOperate_OnEvent;
+
+//operateResult = kafkaOperate.Subscribe("VariableTopic");
+////Console.WriteLine(operateResult.ToJson().JsonFormatting());
+
+//while (true)
+//{
+//    operateResult = kafkaOperate.Produce("VariableTopic", new Random().NextDouble().ToString());
+//    //Console.WriteLine(operateResult.ToJson().JsonFormatting());
+//}
+//void KafkaOperate_OnEvent(object? sender, EventResult e)
+//{
+//    Console.WriteLine(e.ToJson().JsonFormatting());
+//}
+
 
 
 //S7ClientOperate s7ClientOperate = S7ClientOperate.Instance(new S7ClientData.Basics()

+ 1 - 1
src/YSAI.DAQ/YSAI.Unility/YSAI.Unility.csproj

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