Esempio n. 1
0
        public void Initialize(IModuleSimulatorRepository moduleSimulatorRepository, SimulationAlarmHandler simulationAlarmHandler)
        {
            var moduleSimulatorC1 = moduleSimulatorRepository.GetModule("SimC1");

            moduleSimulatorC1.Initialize(10, "SimC1");

            SimulatedBarcodeReader mosaicBarcodeReader = _mosaicModuleC1.Equipments.OfType <SimulatedBarcodeReader>().FirstOrDefault();
            var readerEquipment1 = _container.GetExportedValue <BarcodeReaderEquipment>();

            readerEquipment1.Initialize(1, mosaicBarcodeReader);
            moduleSimulatorC1.AddEquipment(readerEquipment1);

            SimulatedJunction mosaicControlledJunction = _mosaicModuleC1.Equipments.OfType <SimulatedJunction>().FirstOrDefault();
            var junctionEquipment1 = _container.GetExportedValue <JunctionEquipment>();

            junctionEquipment1.Initialize(9, moduleSimulatorC1, mosaicControlledJunction,
                                          moduleSimulatorRepository.GetModule("SimB"),
                                          moduleSimulatorRepository.GetModule("FIN"));
            moduleSimulatorC1.AddEquipment(junctionEquipment1);
            moduleSimulatorC1.ReactOnPlatformModuleState(_mosaicModuleC1);

            var moduleSimulatorC2 = moduleSimulatorRepository.GetModule("SimC2");

            moduleSimulatorC2.Initialize(10, "SimC2");

            SimulatedBarcodeReader mosaicBarcodeReader2 = _mosaicModuleC2.Equipments.OfType <SimulatedBarcodeReader>().FirstOrDefault();
            var readerEquipment2 = _container.GetExportedValue <BarcodeReaderEquipment>();

            readerEquipment2.Initialize(1, mosaicBarcodeReader2);
            moduleSimulatorC2.AddEquipment(readerEquipment2);
            moduleSimulatorC2.ReactOnPlatformModuleState(_mosaicModuleC2);
        }
        public void Initialize(IModuleSimulatorRepository moduleSimulatorRepository, SimulationAlarmHandler simulationAlarmHandler)
        {
            if (_mosaicModule == null)
            {
                return;
            }

            var moduleSimulator = moduleSimulatorRepository.GetModule("BRC");

            moduleSimulator.Initialize(10, _mosaicModule.Name);

            SimulatedJunction mosaicControlledJunction = _mosaicModule.Equipments.OfType <SimulatedJunction>().FirstOrDefault();
            var junctionEquipment = _container.GetExportedValue <JunctionEquipment>();

            junctionEquipment.Initialize(9, moduleSimulator, mosaicControlledJunction,
                                         moduleSimulatorRepository.GetModule("SimA"),
                                         moduleSimulatorRepository.GetModule("SimB"));
            moduleSimulator.AddEquipment(junctionEquipment);
            moduleSimulator.ReactOnPlatformModuleState(_mosaicModule);

            _mosaicModule.BarcodeEventHandler += (sender, args) =>
            {
                var simItem = new SimulatedItem();

                simItem.ItemId = (ulong)HashHelper.ConvertStringToLong(args.Barcode);
                simItem.Metadata.Add("barcode", args.Barcode);

                moduleSimulator.AddItem(simItem);
            };
        }
Esempio n. 3
0
 public void Initialize(int position, IModuleSimulator originModule, SimulatedJunction mosaicControlledJunction, params IModuleSimulator[] targetModules)
 {
     Position                  = position;
     _originModule             = originModule;
     _targetModules            = targetModules;
     _mosaicControlledJunction = mosaicControlledJunction;
 }
        public void Initialize(IModuleSimulatorRepository moduleSimulatorRepository, SimulationAlarmHandler simulationAlarmHandler)
        {
            var moduleSimulator = moduleSimulatorRepository.GetModule("SimB");

            moduleSimulator.Initialize(10, "SimB");

            SimulatedBarcodeReader mosaicBarcodeReader = _mosaicModule.Equipments.OfType <SimulatedBarcodeReader>().FirstOrDefault();

            _readerEquipment.Initialize(1, mosaicBarcodeReader);
            moduleSimulator.AddEquipment(_readerEquipment);

            SimulatedJunction mosaicControlledJunction = _mosaicModule.Equipments.OfType <SimulatedJunction>().First();

            _junctionEquipment.Initialize(9, moduleSimulator, mosaicControlledJunction,
                                          moduleSimulatorRepository.GetModule("SimC1"),
                                          moduleSimulatorRepository.GetModule("SimC2"));
            moduleSimulator.AddEquipment(_junctionEquipment);
            moduleSimulator.ReactOnPlatformModuleState(_mosaicModule);
        }
Esempio n. 5
0
        public void MosaicControlledJunctionEquipmentTests()
        {
            var targetModule1 = new ModuleSimulator(new Mock <ILogger>().Object, new Mock <IEquipmentRepository>().Object);
            var targetModule2 = new ModuleSimulator(new Mock <ILogger>().Object, new Mock <IEquipmentRepository>().Object);

            targetModule1.Initialize(10, "test1");
            targetModule2.Initialize(10, "test2");

            var mosaicControlledJunction = new SimulatedJunction(new Mock <ILogger>().Object);

            var testee = new JunctionEquipment();

            testee.Initialize(0, _module, mosaicControlledJunction, targetModule1, targetModule2);

            _module.Initialize(10, "test");
            _module.AddEquipment(testee);

            // route item-100 to lane 0
            mosaicControlledJunction.RouteItem(100, 0);
            _module.AddItem(new SimulatedItem {
                ItemId = 100
            });
            _module.ItemCount.Should().Be(0);
            targetModule1.ItemCount.Should().Be(1);

            // route item-200 to lane 1
            mosaicControlledJunction.RouteItem(200, 1);
            _module.AddItem(new SimulatedItem {
                ItemId = 200
            });
            _module.ItemCount.Should().Be(0);
            targetModule2.ItemCount.Should().Be(1);

            // dont specify a route, should go to next module
            _module.AddItem(new SimulatedItem {
                ItemId = 999
            });
            _module.ItemCount.Should().Be(1);
            _module.Takt();
            _module.ItemCount.Should().Be(1);
        }