1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using IMCS.DefaultList;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using YG.Device;
- namespace IMCS.Logic
- {
- public class WeiLiHandle : DeviceList
- {
- private static WeiLiHandle weiLi = new WeiLiHandle();
- public static WeiLiHandle Instance { get { return weiLi; } }
- public override event RunMessage Msg;
- public override event RunState rState;
- WeiLiDefaultList weiLiDefaultList = new WeiLiDefaultList();
- DeviceS7 pLC_S7Handle;
- public override void DeviceInit()
- {
- weiLiDefaultList.PropertyChanged += WeiLiDefaultList_PropertyChanged;
- base.DeviceInit();
- }
- private void WeiLiDefaultList_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
- {
- WeiLiDefaultList item = sender as WeiLiDefaultList;
- Msg?.Invoke("WL", "DB250", item.RunResult.ToString());
- }
- public override void DeviceSend(object ob, object ob1)
- {
- pLC_S7Handle.DeviceSend(ob, ob1);
- }
- public override T DeviceRead<T>(string value,ushort leng=0)
- {
- return pLC_S7Handle.DeviceRead<T>(value);
-
- }
- public override void DeviceStart()
- {
- pLC_S7Handle = new DeviceS7(HslCommunication.Profinet.Siemens.SiemensPLCS.S1200, "192.168.170.81");
- pLC_S7Handle.DeviceInit();
- pLC_S7Handle.DeviceState();
- Task.Factory.StartNew(async () =>
- {
- while (true)
- {
- await Task.Delay(100);
- if (pLC_S7Handle.ConnectionResult.IsSuccess)
- {
- HslCommunication.OperateResult<byte[]> result = pLC_S7Handle.SiemensS7Net.Read("DB200.44", 8);
- if (result.Content != null&&result.Content.Length==8)
- {
- short taskID = result.Content.GetShort(0);
- short taskStart = result.Content.GetShort(2);
- short taskEnd = result.Content.GetShort(4);
- short taskResult = result.Content.GetShort(6);
- if (result.IsSuccess)
- {
- weiLiDefaultList.RunResult = $"{taskID},{taskResult}";
- }
- else
- {
- YG.Log.Instance.WriteLogAdd($"{pLC_S7Handle.SiemensS7Net.IpAddress}+读取地址DB200.50失败");
- }
- }
- }
- else
- {
- YG.Log.Instance.WriteLogAdd($"{pLC_S7Handle.SiemensS7Net.IpAddress}+连接失败");
- }
- }
- });
- base.DeviceStart();
- }
- }
- }
|