12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 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 LongHaiTe : DeviceList
- {
- private static LongHaiTe _LongHaiTe = new LongHaiTe();
- public static LongHaiTe Instance { get { return _LongHaiTe; } }
- public override event RunMessage Msg;
- public override event RunState rState;
- WeiLiDefaultList weiLiDefaultList = new WeiLiDefaultList();
- DeviceS7 pLC_S7Handle;
- public override void DeviceInit()
- {
- pLC_S7Handle = new DeviceS7(HslCommunication.Profinet.Siemens.SiemensPLCS.S1200, "192.168.170.81");
- pLC_S7Handle.DeviceInit();
- pLC_S7Handle.DeviceState();
- weiLiDefaultList.PropertyChanged += WeiLiDefaultList_PropertyChanged;
- base.DeviceInit();
- }
- private void WeiLiDefaultList_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
- {
- WeiLiDefaultList item = sender as WeiLiDefaultList;
- Msg?.Invoke("LHT", "DB3.10", 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()
- {
-
- Task.Factory.StartNew(async () =>
- {
- while (true)
- {
- await Task.Delay(100);
- if (pLC_S7Handle.ConnectionResult.IsSuccess)
- {
- HslCommunication.OperateResult<byte[]> result = pLC_S7Handle.SiemensS7Net.Read("DB3.10", 4);
- if (result.Content != null)
- {
- short taskID = result.Content.GetShort(0);
- short taskStart = result.Content.GetShort(2);
-
- if (result.IsSuccess)
- {
- weiLiDefaultList.RunResult = $"{taskID},{taskStart}";
- }
- else
- {
- YG.Log.Instance.WriteLogAdd($"{pLC_S7Handle.SiemensS7Net.IpAddress}+读取地址DB3.10失败");
- }
- }
- }
- else
- {
- YG.Log.Instance.WriteLogAdd($"{pLC_S7Handle.SiemensS7Net.IpAddress}+连接失败");
- }
- }
- });
- base.DeviceStart();
- }
- }
- }
|