|
|
@@ -1,4 +1,74 @@
|
|
|
-//WsServiceOperate wsServiceOperate = WsServiceOperate.Instance(new WsServiceData.Basics
|
|
|
+
|
|
|
+
|
|
|
+//对象实例
|
|
|
+using S7.Net;
|
|
|
+using System.Collections.Concurrent;
|
|
|
+using YSAI.Core.data;
|
|
|
+using YSAI.Core.@enum;
|
|
|
+using YSAI.S7.client;
|
|
|
+using YSAI.Unility;
|
|
|
+
|
|
|
+S7ClientOperate s7ClientOperate = S7ClientOperate.Instance(new S7ClientData.Basics()
|
|
|
+{
|
|
|
+ Ip = "192.168.2.20",
|
|
|
+ Port = 102,
|
|
|
+ Rack = 0,
|
|
|
+ Slot = 1,
|
|
|
+ S7CpuType = CpuType.S71200,
|
|
|
+ ChangeOut = false,
|
|
|
+ HandleInterval=1,
|
|
|
+ SN = Guid.NewGuid().ToString()
|
|
|
+}); ;
|
|
|
+
|
|
|
+//打开
|
|
|
+OperateResult operateResult = s7ClientOperate.On();
|
|
|
+Console.WriteLine(operateResult.Message);
|
|
|
+
|
|
|
+//点位地址
|
|
|
+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.DBD4",
|
|
|
+ AddressDataType = YSAI.Core.@enum.DataType.String,
|
|
|
+ AddressType = AddressType.Reality
|
|
|
+});
|
|
|
+
|
|
|
+//读取
|
|
|
+operateResult = s7ClientOperate.Read(address);
|
|
|
+Console.WriteLine(operateResult.Message);
|
|
|
+if (operateResult.State)
|
|
|
+{
|
|
|
+ foreach (var item in operateResult.RData as ConcurrentDictionary<string, AddressValue>)
|
|
|
+ {
|
|
|
+ Console.WriteLine(item.Key);
|
|
|
+ Console.WriteLine(item.Value.Value);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//订阅
|
|
|
+s7ClientOperate.OnEvent += S7ClientOperate_OnEvent;
|
|
|
+s7ClientOperate.Subscribe(address);
|
|
|
+
|
|
|
+while (true)
|
|
|
+{
|
|
|
+ string value= Console.ReadLine();
|
|
|
+ //写入
|
|
|
+ ConcurrentDictionary<string, string> keyValuePairs = new ConcurrentDictionary<string, string>();
|
|
|
+ keyValuePairs.TryAdd("DB71.DBD4", value);
|
|
|
+ operateResult = s7ClientOperate.Write(keyValuePairs);
|
|
|
+ Console.WriteLine(operateResult.Message);
|
|
|
+}
|
|
|
+
|
|
|
+void S7ClientOperate_OnEvent(object? sender, EventResult e)
|
|
|
+{
|
|
|
+ Console.WriteLine(e.ToJson());
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//WsServiceOperate wsServiceOperate = WsServiceOperate.Instance(new WsServiceData.Basics
|
|
|
//{
|
|
|
// Ip = "127.0.0.1",
|
|
|
// Port=8886
|