public Scenario(IDeviceManager deviceManager, IDictionary<string, int> inputs, IDictionary<string, int> relays, Timings timings) : this() { _deviceManager = deviceManager; _inputs = inputs; _relays = relays; _timings = timings; _blockingModel = new BlockingModel(_deviceManager, inputs, relays); _state = new StateModel(_deviceManager, inputs, relays); _state.StataTrackChanged += OnStataTrackChanged; _state.StateInDoorChanged += OnStateInDoorChanged; _state.StateLiftChanged += OnStateLiftChanged; _state.StateOutDoorChanged += OnStateOutDoorChanged; _state.StateSawChanged += OnStateSawChanged; _state.LampOnOffPeriodChanged += _state_LampOnOffPeriodChanged; _state.CorrectStart += _state_CorrectStart; _state.CloseDoorToLastRoomChanged += _state_CloseDoorToLastRoomChanged; _state.IsLock += _state_IsLock; _state.IsAlarmStopChange += _state_IsAlarmStopChange; }
public static MainSettings GetDefault() { var numPort = QuestDolls.Properties.Settings.Default.ComPort; var namePort = string.Format("COM{0}", numPort); var numPortVem150 = QuestDolls.Properties.Settings.Default.ComPortVem150; var namePortVem150 = string.Format("COM{0}", numPortVem150); var ports = new Dictionary<string, PortSettings>() { {StrConst.Relay2, new PortSettings(){Name = namePort, Rate = 19200, Parity = Parity.Even, DataBits = 8, StopBits = StopBits.One, ReadTimeout = 1000, WriteTimeout = 1000, IsModbus = true}}, {StrConst.DiscretInput4, new PortSettings(){Name = namePort, Rate = 19200, Parity = Parity.Even, DataBits = 8, StopBits = StopBits.One, ReadTimeout = 1000, WriteTimeout = 1000, IsModbus = true}}, {StrConst.DiscretInput6, new PortSettings(){Name = namePort, Rate = 19200, Parity = Parity.Even, DataBits = 8, StopBits = StopBits.One, ReadTimeout = 1000, WriteTimeout = 1000, IsModbus = true}}, {StrConst.QuestPanel8, new PortSettings(){Name = namePort, Rate = 19200, Parity = Parity.Even, DataBits = 8, StopBits = StopBits.One, ReadTimeout = 1000, WriteTimeout = 1000, IsModbus = true}}, {StrConst.Vem150, new PortSettings(){Name = namePortVem150, Rate = 4800, Parity = Parity.Even, DataBits = 8, StopBits = StopBits.One, ReadTimeout = 1000, WriteTimeout = 1000, IsModbus = false}}, }; var inputs = new Dictionary<string, int> { {StrConst.InputInDoorUp, 0}, {StrConst.InputInDoorDown, 1}, {StrConst.InputOutDoorDown, 2}, {StrConst.InputOutDoorUp, 3}, {StrConst.InputLiftUp1, 4}, {StrConst.InputLiftUp2, 5}, {StrConst.InputLiftDown1, 6}, {StrConst.InputLiftDown2, 7}, {"вход 9", 8}, {"вход 10", 9}, {StrConst.InputTightenRope, 10}, {StrConst.InputTruckStopInLift, 11}, {StrConst.InputBodyInTrack2, 12}, {StrConst.InputBodyInTrack1, 13}, {StrConst.InputTruckStartMiddle, 14}, {StrConst.InputTruckEndMiddle, 15}, {StrConst.InputTruckEndStop, 16}, {StrConst.InputTruckStartStop, 17}, {StrConst.InputLabyrinth, 18}, {"вход 20", 19}, {StrConst.InputButtonStartSawmill, 20}, {StrConst.InputButtonWeigh, 21}, {StrConst.InputLockTrack, 22}, {StrConst.InputCloseDoorToLastRoot, 23}, {"вход 25", 24}, {"вход 26", 25}, {"вход 27", 26}, {"вход 28", 27}, {StrConst.InputButtonEmergencyStop, 28}, {StrConst.InputPowerSawmill, 29}, {"вход 31", 30}, {"вход 32", 31} }; var relays = new Dictionary<string, int>() { {StrConst.TumblerInDoorOpen, 0}, {StrConst.TumblerInDoorClose, 1}, {StrConst.TumblerOutDoorClose, 2}, {StrConst.TumblerOutDoorOpen, 3}, //{StrConst.TumblerTrackT1Forward, 4}, {StrConst.TumblerTrackT2Forward, 4}, {StrConst.TumblerLiftDown, 5}, {StrConst.TumblerLiftUp, 6}, //{StrConst.TumblerTrackT2Back, 7}, {StrConst.TumblerTrackT1Back, 7}, {StrConst.TumblerStartLamp, 8}, {StrConst.TumblerLock, 9}, {StrConst.TumblerSaw, 10}, //{StrConst.TumblerTrackT1Back, 17}, //{StrConst.TumblerTrackT2Forward, 18}, {StrConst.TumblerTrackT2Back, 17}, {StrConst.TumblerTrackT1Forward, 18}, {StrConst.TumblerRolettaUp, 19}, {StrConst.TumblerRolettaDown, 20}, }; var timings = new Timings() { // StartToLift TimeStartToLiftT2Start = TimeSpan.FromMilliseconds(0), TimeStartToLiftT2Stop = TimeSpan.FromMilliseconds(0), // LiftToEnd TimeLiftToEndT2Start = TimeSpan.FromMilliseconds(0), TimeLiftToEndT2Stop = TimeSpan.FromMilliseconds(0), // LiftUpDownOnEnd TimeLiftUpDown = TimeSpan.FromMilliseconds(1000), // EndToLift TimeEndToLiftT2Start = TimeSpan.FromMilliseconds(0), TimeEndToLiftT2Stop = TimeSpan.FromMilliseconds(0), // TightenLeftT2Stop TimeTightenLeftT2Start = TimeSpan.FromMilliseconds(12000), TimeTightenLeftT2Stop = TimeSpan.FromMilliseconds(1700), // LiftToStart TimeLiftToStartT2Start = TimeSpan.FromMilliseconds(0), TimeLiftToStartT2Stop = TimeSpan.FromMilliseconds(0), // Move Roletta TimeCloseRolettaReley = TimeSpan.FromMilliseconds(500), }; return new MainSettings() { DevicePorts = ports, DiscretInputKeys = inputs, RelayKeys = relays, TimingSettings = timings, }; }