|
|
Цитата:
|
Коллеги, большое спасибо! Всё, что Вы подсказали - это не просто так, ваши ответы помогут сделать более правильный, четкий алгоритм работы системы!
Просто инженер АиТ добавил 05.04.2017 в 09:43 Для РЦ. Но записано по другому. /*----------------------------------------------------------------------------- Состояния РЦ 20.03.2017 21:32 - 05.04.2017 8:42 -----------------------------------------------------------------------------*/ enum E_PState { // Физическое Состояние. TC_Free =0x5555, // Свободен. TC_Busy =0xAAAA // Занят. }; enum E_LState { // Логическое Состояние. TC_NormLogic =0x0000, // Нормальное Состояние. TC_Free_False =0x55AA, // Ложно Свободен. TC_Busy_False =0xAA55, // Ложно Занят. TC_Route =0x5A5A // В Маршруте. }; /*----------------------------------------------------------------------------- Класс Рельсовая цепь 20.03.2017 21:32 - 05.04.2017 8:14 -----------------------------------------------------------------------------*/ class Track_Circuit : public Object { protected: Word State_Physical; // Физическое Состояние. Word State_Logical; // Логическое Состояние. public: Track_Circuit ( char* _Name) : Object ( _Name ) { } virtual ~Track_Circuit ( ); //-------------------------------------------------------- // Установить Физическое Состояние РЦ. virtual short SetStateP ( ) { return 0; } // Установить Логическое Состояние РЦ. virtual short SetStateL ( ) { return 0; } //-------------------------------------------------------- // Рабочий Цикл. virtual short Work ( ) { return 0; } }; |
Ложно свободна/занята это рассуждение(заключение) а не состояние.
|
Цитата:
Есть более интересный вопрос - как определить Ложное состояние РЦ?! |
Цитата:
|
Цитата:
Учитывая, что приемо-отправочные пути и бесстрелочные участки пути при маневровых передвижениях могут оставаться занятыми подвижным составом, получается, что это невозможно? |
Ложное состояние участка выявляется ТОЛЬКО визуальным контролем, после нарушения алгоритма проследования. Но и тут не все очевидно, особенно при проследования короткого подвижного состава, расстояние между крайними осями которого меньше длины элементарного участка.
tyubik добавил 05.04.2017 в 10:45 Опять же, нарушение целостности рельсовой нити, которое происходит только под динамической нагрузкой. Иными словами: под поездом лопнул рельс, участок остался занятым, но поезд проследовал его в полном составе. Кто примет на себя ответственность считать этот участок "ложно занятым"? |
Цитата:
Просто инженер АиТ добавил 05.04.2017 в 11:19 А если так?! http://morepic.ru/images/zfzzfz_5872.jpg |
Если так, то "универсальная" МПЦ привязана к определённым типам РЦ, напряжение на которых всегда различно.
|
Цитата:
Отдельные моменты - например, самопроизвольная занятость ранее свободной РЦ без занятия смежных РЦ - вполне может фиксироваться как "ложная занятость". И наоборот - самопроизвольное освобождение ранее занятой РЦ без занятия смежных РЦ - это "ложная свободность". |
Цитата:
Просто инженер АиТ добавил 05.04.2017 в 11:51 Так с этим определись! Отлично! Следующий вопрос - возможность перевода стрелки (что проверяем)? Просто инженер АиТ добавил 05.04.2017 в 12:43 Для РЦ проверка состояния РЦ может выглядеть так! // Установить Физическое Состояние РЦ. virtual short SetStateP ( ) { // Получить Новое Состояние из Массива Дискретных Сигналов. Word NewState = GetStateFromArray ( ); if ( NewState == State_Physical ) return 0; // Состояние Не Изменилось!!! // Состояние Изменилось. Word PrevTC = Prev->GetState ( ); // Получить состояние Предыдущей РЦ. Word NextTC = Next->GetState ( ); // Получить состояние Последующей РЦ. short Ret = 1; // Состояние РЦ - Изменилось! // Проверим Логическое Состояние РЦ. if ( State_Logical == TC_NormLogic ) { // Логическое Состояние - Норма. if ( PrevTC == TC_Free // Свободна. && NextTC == TC_Free // Свободна. && State_Physical == TC_Free // Свободна. && NewState == TC_Busy ) // Занята. { State_Logical = TC_Busy_False; // Ложно Занята. Ret = -1; // Есть Логическая Ошибка! } } else if ( State_Logical = TC_Busy_False ) { if ( PrevTC == TC_Free // Свободна. && NextTC == TC_Free // Свободна. && State_Physical == TC_Free // Свободна. && NewState == TC_Free ) // Свободна. State_Logical = TC_NormLogic; // Норма. } // Установим Новое Физическое Состояние РЦ. State_Physical = NewState; return Ret; // Возвращаемое Значение! } |
Цитата:
|
Цитата:
Я всего лишь рассуждаю о возможных алгоритмах выявления "ложной свободности" и "ложной занятости" РЦ... |
МАЛС, это тупиковая ветвь АЛС-ЕН.
Цитата:
|
Цитата:
Это, на минуточку, две абсолютно независимые друг от друга системы! С совершенно разным функционалом! Николай Николаевич добавил 05.04.2017 в 16:39 Цитата:
Так никаких денег не хватит... |
| Часовой пояс GMT +3, время: 01:17. |
|
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot