Esempio n. 1
0
        public IoDeviceRunTarget(io_devices ioDevice, IIoDeviceWrapperFactory wrapperFactory, INotificationReporter reporter)
        {
            _reporter = reporter;
            Name = string.Format(Res.IoDeviceWithName, ioDevice.name);
            _filePath = GetFilePath(ioDevice.type);
            _options = ioDevice.options;
            _wrapperFactory = wrapperFactory;

            var digReadParameters = new List<ReadParameter>();
            var digReadValueHolders = new List<ITagValueHolder>();
            foreach (var t in ioDevice.dig_tags)
            {
                var holder = new DigTagValueHolder(t);
                _digValueHolders.Add(t.id, holder);
                if (t.can_read)
                {
                    digReadValueHolders.Add(holder);
                    digReadParameters.Add(new ReadParameter(t.device, typeof(bool)));
                }
            }
            var numReadParameters = new List<ReadParameter>();
            var numReadValueHolders = new List<ITagValueHolder>();
            foreach (var t in ioDevice.num_tags)
            {
                var holder = new NumTagValueHolder(t);
                _numValueHolders.Add(t.id, holder);
                if (t.can_read)
                {
                    numReadValueHolders.Add(holder);
                    numReadParameters.Add(new ReadParameter(t.device, t.TagType));
                }
            }
            _readParameters = digReadParameters.Concat(numReadParameters).ToArray();
            _readValueHolders = digReadValueHolders.Concat(numReadValueHolders).ToArray();
        }
Esempio n. 2
0
        public IoDeviceRunTarget(IoDevice ioDevice, IIoDeviceWrapperFactory wrapperFactory,
                                 INotificationReporter reporter)
        {
            Reporter        = reporter;
            Name            = string.Format(Res.IoDeviceWithName, ioDevice.Name);
            _filePath       = GetFilePath(ioDevice.Type);
            _options        = ioDevice.Options;
            _wrapperFactory = wrapperFactory;

            var digReadParameters   = new List <ReadParameter>();
            var digReadValueHolders = new List <ITagValueHolder>();

            foreach (DigTag t in ioDevice.DigTags)
            {
                var holder = new DigTagValueHolder(t);
                _digValueHolders.Add(t.Id, holder);
                if (t.CanRead)
                {
                    digReadValueHolders.Add(holder);
                    digReadParameters.Add(new ReadParameter(t.Device, typeof(bool)));
                }
            }

            var numReadParameters   = new List <ReadParameter>();
            var numReadValueHolders = new List <ITagValueHolder>();

            foreach (NumTag t in ioDevice.NumTags)
            {
                var holder = new NumTagValueHolder(t);
                _numValueHolders.Add(t.Id, holder);
                if (t.CanRead)
                {
                    numReadValueHolders.Add(holder);
                    numReadParameters.Add(new ReadParameter(t.Device, t.TagType));
                }
            }

            _readParameters   = digReadParameters.Concat(numReadParameters).ToArray();
            _readValueHolders = digReadValueHolders.Concat(numReadValueHolders).ToArray();
        }