Показать сообщение отдельно
Старый 04.05.2020, 23:57   #516
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Вот упрощённый скрипт маневрового.
Скрытый текст:

next_state = next_sig_lr (SIGFN_NORMAL);
interval = opp_sig_id (SIGFN_NORMAL);
main = id_sig_lvar(interval, 1);
shunt = this_sig_lvar (1);

if (!enabled || block_state() !=# BLOCK_CLEAR || !route_set () )
{
state = 0;
if (!enabled && (this_sig_lr (SIGFN_NORMAL) <# 1))
{
store_lvar (1,0);
}
}
else
{
state = next_state;
if (main ==#1)
{
store_lvar (1,1);
}
}
draw_state = def_draw_state (state);
if ((state ==# 1) && (shunt ==# 0))
{
draw_state = 1;
}
else if ((state ==# 2) && (shunt ==# 1))
{
draw_state = 0;
}
else if ((state ==# 0) && (this_sig_lr (SIGFN_NORMAL) ># 0))
{
draw_state = 2;
}

Это одна линкованная сигнальная голова. На все линки - тот же скрипт. Один-в-один.

Надеюсь, это поможет сообществу. Для меня это не окончательный вариант. Я уже говорил о "напильнике". Кроме того, эта разработка для однопутного перегона, оборудованного двусторонней автоблокировкой. На многопутных будет по-другому. Кроме того, со временем в планах - маршрутные и сложные по строению станции... это вообще будет жесть.
(Если честно, я даже боюсь взглянуть на скрипт маршрутного ). Но, сначала - Timetable Mode.
Посему, на том откланиваюсь... пока... и возвращаюсь к сценариям.
До новых встреч!
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА