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); }; }
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); }
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); }