/// <summary> /// 모니터링 /// </summary> /// <returns></returns> public async Task GetDatas() { if (SelectedControllerManager == null) { return; } if (!(SelectedAddressDataWrappers?.Count > 0)) { return; } var maps = SelectedAddressDataWrappers.Cast <AddressMap>().ToList(); var groups = SelectedControllerManager.MonitorDataCollect.GroupingAddressMaps(maps); foreach (var group in groups) { var datas = await SelectedControllerManager.MonitorDataCollect.ReadAddressMapsInternal(group.Value); foreach (var item in datas) { var addressData = AddressDataWrappers?.FirstOrDefault(m => m.VariableId == item.VariableId); if (addressData == null) { continue; } if (addressData.Value1 == null) { addressData.Value1 = item.Value; } else if (addressData.Value2 == null) { addressData.Value2 = item.Value; } else if (addressData.Value3 == null) { addressData.Value3 = item.Value; } else if (addressData.Value4 == null) { addressData.Value4 = item.Value; } else if (addressData.Value5 == null) { addressData.Value5 = item.Value; } else { addressData.Value1 = item.Value; addressData.Value2 = null; addressData.Value3 = null; addressData.Value4 = null; addressData.Value5 = null; } } } }
private void DataCollect_DataReceived(object sender, AddressDataReceivedEventArgs e) { foreach (var item in e.AddressDatas) { var addressData = AddressDataWrappers?.FirstOrDefault(m => m.VariableId == item.VariableId); if (addressData != null) { if (addressData.Value1 == null) { addressData.Value1 = item.Value; } else if (addressData.Value2 == null) { addressData.Value2 = item.Value; } else if (addressData.Value3 == null) { addressData.Value3 = item.Value; } else if (addressData.Value4 == null) { addressData.Value4 = item.Value; } else if (addressData.Value5 == null) { addressData.Value5 = item.Value; } else { addressData.Value1 = item.Value; addressData.Value2 = null; addressData.Value3 = null; addressData.Value4 = null; addressData.Value5 = null; } } } }