protected override void EstablishContext() { base.EstablishContext(); NumTag = new num_tags { num_tag_types = new num_tag_types { name = "Int32" } }; Converter = new NumTagValueConverter(NumTag); }
protected override void EstablishContext() { base.EstablishContext(); IoDeviceWrapper = new Mock <IIoDeviceWrapper>(); IoDeviceWrapperFactory = new Mock <IIoDeviceWrapperFactory>(); IoDeviceWrapperFactory.Setup(f => f.Create()).Returns(IoDeviceWrapper.Object); IoDevice = new io_devices { name = "IoDeviceRunTargetName", options = IoDeviceOptions, type = string.Format("{0}{1}{2}", IoDeviceFolder, PHmiConstants.PHmiIoDeviceSeparator, IoDeviceFile) }; DigitalTag = new dig_tags { id = 1, device = "M0", can_read = true }; IoDevice.dig_tags.Add(DigitalTag); WriteOnlyDigitalTag = new dig_tags { id = 2, device = "M1", can_read = false }; IoDevice.dig_tags.Add(WriteOnlyDigitalTag); NumericTag = new num_tags { id = 1, device = "D0", num_tag_types = new num_tag_types { name = "Int32" }, can_read = true }; IoDevice.num_tags.Add(NumericTag); WriteOnlyNumericTag = new num_tags { id = 2, device = "D1", num_tag_types = new num_tag_types { name = "Int16" }, can_read = false }; IoDevice.num_tags.Add(WriteOnlyNumericTag); Reporter = new Mock <INotificationReporter>(); IoDeviceRunTarget = new IoDeviceRunTarget(IoDevice, IoDeviceWrapperFactory.Object, Reporter.Object); DigitalTagValue = true; NumericTagValue = new Random().Next(); IoDeviceWrapper .Setup(w => w.Read(It.IsAny <ReadParameter[]>())) .Returns(new object[] { DigitalTagValue, NumericTagValue }); }
public NumTagValueConverter(num_tags numericTag) { _type = numericTag.TagType; if (numericTag.raw_min == null || numericTag.raw_max == null || numericTag.eng_min == null || numericTag.eng_max == null || numericTag.raw_max - numericTag.raw_min == 0) { return; } _needCalculation = true; _mul = (double)numericTag.eng_max - (double)numericTag.eng_min; _add = (double)numericTag.eng_min * (double)numericTag.raw_max - (double)numericTag.eng_max * (double)numericTag.raw_min; _div = (double)numericTag.raw_max - (double)numericTag.raw_min; }
public NumTagValueHolder(num_tags tag) { _converter = new NumTagValueConverter(tag); _address = tag.device; }