|
|
@@ -1,4 +1,108 @@
|
|
|
-
|
|
|
+using YSAI.Log;
|
|
|
+using YSAI.Modbus;
|
|
|
+using YSAI.Model.data;
|
|
|
+using YSAI.Model.@enum;
|
|
|
+using YSAI.Unility;
|
|
|
+
|
|
|
+ModbusOperate modbusOperate = ModbusOperate.Instance(new ModbusData.Basics
|
|
|
+{
|
|
|
+ Ip = "127.0.0.1",
|
|
|
+ Port = 502,
|
|
|
+ PType = ModbusData.ProtocolType.Tcp,
|
|
|
+ MRType = ModbusData.ModbusReadType.FloatHoldingRegisters,
|
|
|
+ MWType = ModbusData.ModbusWriteType.FloatHoldingRegisters
|
|
|
+});
|
|
|
+LogHelper.Info(modbusOperate.On().ToJson().JsonFormatting());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//点位地址
|
|
|
+Address address = new Address();
|
|
|
+address.SN = Guid.NewGuid().ToString();
|
|
|
+address.CreationTime = DateTime.Now.ToLocalTime();
|
|
|
+address.AddressArray = new List<AddressDetails>();
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "1",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "3",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "5",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "7",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "9",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "11",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "13",
|
|
|
+ AddressDataType = DataType.Float,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+LogHelper.Info(modbusOperate.Read(address).ToJson().JsonFormatting());
|
|
|
+
|
|
|
+//连续读取
|
|
|
+Address lxdq_address = new Address();
|
|
|
+lxdq_address.SN = Guid.NewGuid().ToString();
|
|
|
+lxdq_address.CreationTime = DateTime.Now.ToLocalTime();
|
|
|
+lxdq_address.AddressArray = new List<AddressDetails>();
|
|
|
+lxdq_address.AddressArray.Add(new AddressDetails()
|
|
|
+{
|
|
|
+ AddressName = "0,6",
|
|
|
+ AddressDataType = DataType.String,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+
|
|
|
+LogHelper.Info(modbusOperate.Read(lxdq_address).ToJson().JsonFormatting());
|
|
|
+
|
|
|
+//订阅
|
|
|
+modbusOperate.OnEvent += ModbusOperate_OnEvent;
|
|
|
+LogHelper.Info(modbusOperate.Subscribe(address).ToJson().JsonFormatting());
|
|
|
+//订阅连续读取
|
|
|
+LogHelper.Info(modbusOperate.Subscribe(lxdq_address).ToJson().JsonFormatting());
|
|
|
+
|
|
|
+void ModbusOperate_OnEvent(object? sender, EventResult e)
|
|
|
+{
|
|
|
+ LogHelper.Debug(e.ToJson().JsonFormatting());
|
|
|
+}
|
|
|
+
|
|
|
+while (true)
|
|
|
+{
|
|
|
+ Console.ReadLine();
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
//using YSAI.Log;
|
|
|
//using YSAI.Model.data;
|
|
|
@@ -518,102 +622,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
-using S7.Net;
|
|
|
-using System.Collections.Concurrent;
|
|
|
-using YSAI.Model.data;
|
|
|
-using YSAI.Model.@enum;
|
|
|
-using YSAI.Siemens;
|
|
|
-using YSAI.Unility;
|
|
|
-using DataType = YSAI.Model.@enum.DataType;
|
|
|
+//using S7.Net;
|
|
|
+//using System.Collections.Concurrent;
|
|
|
+//using YSAI.Model.data;
|
|
|
+//using YSAI.Model.@enum;
|
|
|
+//using YSAI.Siemens;
|
|
|
+//using YSAI.Unility;
|
|
|
+//using DataType = YSAI.Model.@enum.DataType;
|
|
|
|
|
|
-SiemensOperate s7ClientOperate = SiemensOperate.Instance(new SiemensData.Basics()
|
|
|
-{
|
|
|
- Ip = "192.168.2.20",
|
|
|
- Port = 102,
|
|
|
- Rack = 0,
|
|
|
- Slot = 1,
|
|
|
- CType = CpuType.S71200,
|
|
|
- ChangeOut = true,
|
|
|
- SN = Guid.NewGuid().ToString()
|
|
|
-}); ;
|
|
|
-
|
|
|
-//打开
|
|
|
-OperateResult operateResult = s7ClientOperate.On();
|
|
|
-Console.WriteLine(operateResult.Message);
|
|
|
+//SiemensOperate s7ClientOperate = SiemensOperate.Instance(new SiemensData.Basics()
|
|
|
+//{
|
|
|
+// Ip = "192.168.2.20",
|
|
|
+// Port = 102,
|
|
|
+// Rack = 0,
|
|
|
+// Slot = 1,
|
|
|
+// CType = CpuType.S71200,
|
|
|
+// ChangeOut = true,
|
|
|
+// SN = Guid.NewGuid().ToString()
|
|
|
+//}); ;
|
|
|
|
|
|
-//点位地址
|
|
|
-Address address = new Address();
|
|
|
-address.SN = Guid.NewGuid().ToString();
|
|
|
-address.CreationTime = DateTime.Now.ToLocalTime();
|
|
|
-address.AddressArray = new List<AddressDetails>();
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB71.DBD420", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB71.DBD424", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB71.DBD428", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB72.DBD114", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB72.DBD110", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB71.DBD256", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
-address.AddressArray.Add(new AddressDetails()
|
|
|
-{
|
|
|
- AddressName = "DB71.DBD388", //地址格式 DB*.DBD*
|
|
|
- AddressDataType = DataType.Float,
|
|
|
- AddressType = AddressType.Reality
|
|
|
-});
|
|
|
+////打开
|
|
|
+//OperateResult operateResult = s7ClientOperate.On();
|
|
|
+//Console.WriteLine(operateResult.Message);
|
|
|
|
|
|
-//Source array was not long enough. Check the source index, length, and the array's lower bounds. (Parameter 'sourceArray')
|
|
|
+////点位地址
|
|
|
+//Address address = new Address();
|
|
|
+//address.SN = Guid.NewGuid().ToString();
|
|
|
+//address.CreationTime = DateTime.Now.ToLocalTime();
|
|
|
+//address.AddressArray = new List<AddressDetails>();
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB71.DBD420", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB71.DBD424", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB71.DBD428", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB72.DBD114", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB72.DBD110", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB71.DBD256", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
+//address.AddressArray.Add(new AddressDetails()
|
|
|
+//{
|
|
|
+// AddressName = "DB71.DBD388", //地址格式 DB*.DBD*
|
|
|
+// AddressDataType = DataType.Float,
|
|
|
+// AddressType = AddressType.Reality
|
|
|
+//});
|
|
|
|
|
|
-//读取
|
|
|
-operateResult = s7ClientOperate.Read(address);
|
|
|
-Console.WriteLine(operateResult.Message);
|
|
|
-if (operateResult.State)
|
|
|
-{
|
|
|
- foreach (var item in operateResult.GetRData<ConcurrentDictionary<string, AddressValue>>())
|
|
|
- {
|
|
|
- Console.WriteLine(item.Key);
|
|
|
- Console.WriteLine(item.Value.Value);
|
|
|
- }
|
|
|
-}
|
|
|
+////Source array was not long enough. Check the source index, length, and the array's lower bounds. (Parameter 'sourceArray')
|
|
|
|
|
|
-//订阅
|
|
|
-s7ClientOperate.OnEvent += S7ClientOperate_OnEvent;
|
|
|
-s7ClientOperate.Subscribe(address);
|
|
|
+////读取
|
|
|
+//operateResult = s7ClientOperate.Read(address);
|
|
|
+//Console.WriteLine(operateResult.Message);
|
|
|
+//if (operateResult.State)
|
|
|
+//{
|
|
|
+// foreach (var item in operateResult.GetRData<ConcurrentDictionary<string, AddressValue>>())
|
|
|
+// {
|
|
|
+// Console.WriteLine(item.Key);
|
|
|
+// Console.WriteLine(item.Value.Value);
|
|
|
+// }
|
|
|
+//}
|
|
|
|
|
|
-while (true)
|
|
|
-{
|
|
|
- Console.ReadLine();
|
|
|
-}
|
|
|
+////订阅
|
|
|
+//s7ClientOperate.OnEvent += S7ClientOperate_OnEvent;
|
|
|
+//s7ClientOperate.Subscribe(address);
|
|
|
|
|
|
-void S7ClientOperate_OnEvent(object? sender, EventResult e)
|
|
|
-{
|
|
|
- Console.WriteLine(e.ToJson());
|
|
|
-}
|
|
|
+//while (true)
|
|
|
+//{
|
|
|
+// Console.ReadLine();
|
|
|
+//}
|
|
|
+
|
|
|
+//void S7ClientOperate_OnEvent(object? sender, EventResult e)
|
|
|
+//{
|
|
|
+// Console.WriteLine(e.ToJson());
|
|
|
+//}
|
|
|
|