Ejemplo n.º 1
0
        public override void PressButtonRMP()
        {
            if (ActualSpeed == 0 && HasCassette)
            {
                MovingMode++;
                MovingMode %= 3;
                if (MovingMode == 0 && Trafficlights[2] || Trafficlights[3] || (Trafficlights[0] && Trafficlights[8]))
                {
                    MovingMode++;
                }

                // TODO в течение 30 с после одновременного нажатия РБ и РБП
                if (MovingMode == 2 && Trafficlights[2] || Trafficlights[3] || (Trafficlights[0] && Trafficlights[8]))
                {
                    MovingMode = 0;
                }

                switch (MovingMode)
                {
                case 0:     // Maneurng mode
                    //TODO Прием сигналов АЛСН не производится
                    //TODO На блоке индикации горит белый огонь
                    AllowableSpeed = 60;
                    //TODO Проверка бдительности в начале движения не производится
                    Klub_u.OffTrainModeIndicator();
                    Klub_u.OffDoubleTractionModeIndicator();
                    Klub_u.OnManeuringModeIndicator();
                    break;

                case 1:     //Train mode
                    Klub_u.OffManeuringModeIndicator();
                    Klub_u.OffDoubleTractionModeIndicator();
                    Klub_u.OnTrainModeIndicator();
                    break;

                case 2:     //Double traction mode
                    //TODO не осуществляет прием кодов АЛСН,
                    //TODO не осуществляет прием кодов светофоров от цифрового радиоканала
                    //     (на БИЛ и БИЛ-ПОМ индицируется сигнал «Б»);
                    //TODO обеспечивает изменение скорости движения по сигналу «Б» после ввода команды «К799»
                    //TODO не производит экстренное торможение посредством блока КОН;
                    //TODO не осуществляет однократную проверку бдительности при трогании,
                    //     контроль скатывания и контроль исправности ДПС;
                    //TODO формирует на БИЛ информацию о впередилежащих местах ограничения скорости,
                    //     не производя при этом фактической отработки Vцел и Vдоп по данным ограничениям.
                    Klub_u.OffManeuringModeIndicator();
                    Klub_u.OffTrainModeIndicator();
                    Klub_u.OnDoubleTractionModeIndicator();
                    break;

                default: MessageBox.Show("Error when switching the travel mode"); break;
                }
            }
        }