Пример #1
0
        /// <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;
                    }
                }
            }
        }
Пример #2
0
 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;
             }
         }
     }
 }