public async Task Execute() { if (!_deviceContext.DataProviderContainer.DataProvider.IsSuccess) { return; } var address = await AnalogMeasuringElement.GetAnalogElementAddress(_deviceContext); var formatter = await AnalogMeasuringElement.GetAnalogElementFormatting(_deviceContext); if (_deviceContext.DeviceMemory.DeviceMemoryValues.ContainsKey(address)) { await this.ApplyUshortOnAnalog(new ushort[] { _deviceContext.DeviceMemory.DeviceMemoryValues[address] }, formatter); } else { var res = await _deviceContext.DataProviderContainer.DataProvider.Item.ReadHoldingResgistersAsync( address, this.AnalogMeasuringElement.NumberOfPoints, "Read analog: " + this.AnalogMeasuringElement.Name); if (res.IsSuccessful) { await this.ApplyUshortOnAnalog(res.Result, formatter); } } }
private AnalogMeasuringElementViewModel CreateAnalogMeasuringElementViewModel( AnalogMeasuringElement analogMeasuringElement, string groupName) { var res = new AnalogMeasuringElementViewModel(); res.IsMeasureUnitEnabled = analogMeasuringElement.IsMeasureUnitEnabled; res.MeasureUnit = analogMeasuringElement.MeasureUnit; res.Id = analogMeasuringElement.Id; res.Header = analogMeasuringElement.Name; res.GroupName = groupName; return(res); }