СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть
Показать сообщение отдельно
Старый 05.04.2017, 12:43   #941 (ссылка)
ЛИИЖТ АТ-103 (1981-1986)
 
Аватар для Просто инженер АиТ

Регистрация: 16.10.2012
Адрес: Где резной палисад
Возраст: 64
Сообщений: 980
Поблагодарил: 220 раз(а)
Поблагодарили 140 раз(а)
Фотоальбомы: не добавлял
Репутация: 380
Цитата:
Сообщение от tyubik Посмотреть сообщение
Если так, то "универсальная" МПЦ привязана к определённым типам РЦ, напряжение на которых всегда различно.
Ось "Напряжение" показана для понимания процесса, на самом деле показания в МПЦ будут дискретные, получаемые от ОК.

Просто инженер АиТ добавил 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 в 12:44. Причина: Добавлено сообщение
Просто инженер АиТ вне форума   Цитировать 0
 Нажмите здесь, чтобы написать комментарий к этому сообщению