Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC
Электрика и DCC Обсуждение цифрового и аналогового управления

Ответ
 
Опции темы Опции просмотра
Старый 14.05.2014, 12:32   #1
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию JMRI и сигналы СЖД

Итак, JMRI. Программа ввиду каких-то причин непопулярна у нас здесь, хотя некоторые товарищи ее используют. Вкратце, в чем я вижу ее преимущества:

Бесплатная. Rocrail тоже бесплатный, но уж больно заморочен. Train Controller стоит нехилых денег.

В общем внятный хелп (естественно на английском). Многие нюансы подробно разжеваны.

Работает на разных ОС – главное что нужно это Java. На мобильных устройствах сама JMRI не работает, но ее некоторые приложения есть для Айфона и Андроида (типа управлялки локами и т.п.). Кроме того на компе с JMRI можно запустить веб-сервер, получая почти полный интерфейс программы на любом компьютере (в т.ч. мобильном или планшетном) в веб-браузере.

Ну и пожалуй главное – по крайней мере для меня. Наличие в JMRI языка Jython (вариант Python), на котором можно писать скрипты управления всем чем угодно. С помощью таких скриптов я собираюсь полностью автоматизировать макет. На нем можно сделать все – управление стрелками, сигналами, формировать логические связи между стрелками и сигналами, управлять локомотивами и при этом смотреть за датчиками. Язык Jython прост, весьма похож на остальные языки (Java, Pascal, Fortran и т.п.), и с программой идет куча примеров. Для программистов - самое то.

И еще одно преимущество JMRI, которое я обнаружил недавно. Это возможность настройки системы под сигнализацию СЖД/РЖД. Но эта настройка делается не напрямую, а через использование близкой к нашей системы сигналов DB H/V.
Прежде всего, нужно составить таблички соответствия немецких и наших сигналов. Сразу скажу, что найти соответствия нашим светофорам можно лишь для базовых случаев, описанных в ИСИ. Всякие хитрые варианты сигналов для стрелок с пологими крестовинами (применение зеленых полос и некоторых мигающих аспектов) аналогов у DB не имеют. Ниже приведены таблички соответствия для обычных сигналов ИСИ, на станциях с обычными стрелками.

Входной (ЖЗ)-(КЖ)-(Б)---|
В качестве аналога DB используется входной светофор, совмещенный с предварительным. Табличка соответствия аспектов:
Hp0 - красный
Hp1+Vr0 - желтый
Hp1+Vr1 - зеленый
Hp1+Vr2 - желтый мигающий
Hp2+Vr0 - 2 желтых
Hp2+Vr1 - желтый + желтый мигающий
Hp2+Vr2 – не используется.
Оставшийся аспект Hp2+Vr2 можно использовать для пригласительного (белый мигающий). Пригласительным можно управлять и отдельно. Вообще интересно – кто-нибудь делает на своих макетах возможность приема поездов по пригласительному??? Я не собираюсь…

Выходной (ЖЗ)-(КБ)---|
В качестве аналога DB используется простой выходной светофор. Табличка соответствия аспектов:
Hp0+Sh1 - белый
Hp00 - красный
Hp1 - зеленый
Hp2 - желтый

Выходной (ЖЗК)-(ЖБ)---|
В качестве аналога DB используется выходной светофор, совмещенный с предварительным. Табличка соответствия аспектов:
Hp0+Sh1 - белый
Hp00 - красный
Hp1+Vr0 - желтый
Hp1+Vr1 - зеленый
Hp1+Vr2 - зеленый мигающий (используется в некоторых случаях)
Hp2+Vr0 - 2 желтых
Hp2+Vr1 - желтый + желтый мигающий
Hp2+Vr2 - не используется

Проходной (ЖЗК)---|, трехзначная сигнализация
Аналог – блок-сигнал с предварительным. Табличка соответствия аспектов:
Hp0 - красный
Hp1+Vr0 - желтый
Hp1+Vr1 - зеленый
Hp1+Vr2 - не используется. Его кстати можно использовать в качестве желтый+зеленый при четырехзначной сигнализации.

Элементарные случаи для выходного или проходного (ЗК) при полуавтоматической блокировке(ПАБ), или маневрового сигналов рассматривать не стоит – тут все просто. Для ПАБ аналогом будет немецкий блок-сигнал Hp0/Hp1, для маневров – маневровый сигнал Sh0/Sh1.

Что это все дает? Теперь в JMRI можно заводить немецкие сигналы и управлять ими с помощью интерфейса программы и с помощью скриптов. Осталось только два важных момента – протокол управления и визуализация в программе.

Протокол:
Когда Вы заводите очередной светофор в JMRI (в терминологии JMRI это Signal Mast), выбирайте драйвер Turnout Controlled Mast (сигнал управляется стрелочными командами). Это как раз то, что нужно для единственного (готового) на нашем рынке светофорного декодера TrafficLight от Моделлдепо, поддерживающего сигналы ЖД СССР. Как только Вы выбрали этот драйвер для Вашего светофора, ниже в окне задаются стрелочные команды, включающие нужные аспекты. Нужно выбрать адрес стрелки и ее положение, по которому будет включаться нужный аспект. Естественно речь идет не о реальных стрелках вашего макета, а о тех стрелочных командах, которые Вы задаете при настройке декодера TrafficLight (см. Инструкцию).

Визуализация:
Все оказалось весьма просто. Картинки всех аспектов сигналов JMRI хранит в специальных папках своих иконок, в графических файликах GIF. Для отображения аспектов для каждого сигнала есть три разных набора гифок – большой, средний и маленький. Например, набор маленьких иконок для немецких сигналов находится в папке JMRI\resources\icons\smallschematics\aspects\DB-HV-1969. Нужно вооружиться любимым графическим редактором и нарисовать в нем все требуемые аспекты, сохраняя их в файлах с такими же как в JMRI названиями, пользуясь табличками соответствия сигналов DB и СЖД. Затем надо просто заменить оригинальные файлы JMRI на свои. Это конечно муторное занятие, но на самом деле не такое уж сложное. Главное сначала нарисовать светофорчик с негорящими сигналами, а потом просто дорисовываете цвет нужных ламп и сохраняете файл с именем соответствующего аспекта. Обратите внимание – все светофоры рисуются в вертикальном положении, а когда Вы их добавите в JMRI на схему путей, у вас будет возможность повернуть светофор на любой угол. И еще моментик – фон картинки должен быть прозрачным, Windows Paint его делать не умеет. Так что либо нужен другой редактор, либо после рисования в Windows Paint надо преобразовать файл с заменой цвета фона на прозрачный; например, это можно делать с помощью бесплатной проги XnView.

Ниже три картинки: диалоговое окно JMRI добавления четного выходного Ч1, как этот сигнал выглядит в оригинале DB (из набора больших иконок JMRI), и как это выглядит на схеме пути в JMRI после замены графических файлов аспектов на наши (использован отредактированный набор маленьких иконок JMRI).
Миниатюры:
Нажмите на изображение для увеличения
Название: Add_Signal.jpg
Просмотров: 1710
Размер:	86.6 Кб
ID:	87181Нажмите на изображение для увеличения
Название: Layout_Sample.jpg
Просмотров: 1620
Размер:	6.8 Кб
ID:	87183
Изображения:
 
Alex_S вне форума   Вверх
13 пользователя(ей) сказали cпасибо:
Старый 14.05.2014, 12:46   #2
tsgarp
Пользователь
 
Регистрация: 25.03.2012
Адрес: Москва
Сообщений: 776
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 5 раз(а) в 3 сообщениях
Сказал(а) спасибо: 285
Поблагодарили 466 раз(а) в 257 сообщениях
Репутация: - луч света в тёмном царстве (472)
По умолчанию

Фига себе исследование. Спасибо большое. Я использую DecoderPro из JMRI для настройки локомотивных декодеров. Очень Ok.
tsgarp вне форума   Вверх
Старый 14.05.2014, 13:25   #3
laba
Местный
 
Аватар для laba
 
Регистрация: 06.03.2009
Адрес: Питер
Сообщений: 3,693
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 6,942
Поблагодарили 4,844 раз(а) в 1,822 сообщениях
Репутация: репутация неоспорима (5127)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
И еще одно преимущество JMRI, которое я обнаружил недавно.
оффтопик
__________________
HO, цифра, OpenDCC, S-88N, OpenCar, BiDiB
С приветом из подземки!!!
laba вне форума   Вверх
Старый 14.05.2014, 14:06   #4
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Цитата:
Сообщение от tsgarp Посмотреть сообщение
Я использую DecoderPro из JMRI для настройки локомотивных декодеров. Очень Ok.
У меня такой возможности нет. Экос (ESU Ecos 2) не поддерживает программирования через компьютерный интерфейс вообще - только с него самого. Зато в плане управления JMRI с Экосом "дружится" просто чудесно. Все аксессуары (стрелки, сигналы и т.п.), заведенные в Экосе, сразу видны и готовы к использованию в JMRI. Датчики s88 тоже. Локомотивы из Экоса тоже можно ипортировать в JMRI. Не разобрался пока только с Рэйлкомом, он вроде как поддерживается, но как - еще не знаю. Хотя я его не планирую использовать - цифровые краны с ним не дружат.

Цитата:
Сообщение от laba Посмотреть сообщение
RocRail тоже умеет делать такое. Один светофор в нём может иметь до 32 аспектов.
ИМХО проблема не в количестве аспектов, а в наличии логической связи аспектов. У DB и у СЖД есть прямые аналогии по сути аспекта - Hp2+Vr1 полностью аналогичен нашему Желтый+Желтый мигающий, и т.д. Хотя конечно можно и отойти от прямых аналогий - я например так сделал, использовав немецкий блок-сигнал с предупредительным в качестве аналога карликового выходного Ч2 - что бы изображение на путевой схеме соответствовало макету. Не знаю сколько максимум аспектов в JMRI, но навскидку легко нашел сигналы с 15ю аспектами в американской сигнальной истеме AAR-2.

А изображения светофоров в RocRail тоже можно заменить?
А скриптовой язык в RocRail есть?
Alex_S вне форума   Вверх
Старый 14.05.2014, 14:24   #5
laba
Местный
 
Аватар для laba
 
Регистрация: 06.03.2009
Адрес: Питер
Сообщений: 3,693
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 6,942
Поблагодарили 4,844 раз(а) в 1,822 сообщениях
Репутация: репутация неоспорима (5127)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
А изображения светофоров в RocRail тоже можно заменить?
Да.
Цитата:
Сообщение от Alex_S Посмотреть сообщение
А скриптовой язык в RocRail есть?
Вот в этом я не силён, к сожалению.
__________________
HO, цифра, OpenDCC, S-88N, OpenCar, BiDiB
С приветом из подземки!!!
laba вне форума   Вверх
Старый 03.09.2014, 21:06   #6
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

!!!! Алекс С!!!! Мы с Вами товарищи по борьбе!!! Я применяю JMRI, находя его самым удобным. Именно пишу скрипты в питоне. Это программирование, которое просто словом многих пугает и отталкивает. На самом деле очень просто и легко написать скрипт. Для желающих с удовольствием напишу коротенький и обьясню как их писать. Логика написания скриптов проста до элементарного - достаточно написать скрипт для прохода локомотива от одного сенсора до другого, потом клонировать его для других участков или локомотивов. Дальше тоже логично - собрать маршрут из скриптов прохождения блок участков. Легко правда?
Ваше последнее сообщение было оглашено в мае, хотелось бы узнать каков Ваш прогресс? Меня очень заинтересовали Ваши изыскания с сигнализацией. У меня в ближайших планах как раз намечена установка сигналов на макете и я слегка ознакомился с возможностями JMRI по этому поводу. Действительно есть такая возможность связать логику сигналов с действием стрелок. Именно так, как Вы и описываете. Но вот хочется рассмотреть такой пример. Допустим Ваш состав отправляется с бокового пути разьезда на перегон. Тогда. Входной красный, выходной с главного красный, выходной с бокового зеленый. Как только локомотив прошел выходную стрелку, в идеале выходной сигнал, то выходной с бокового должен смениться на красный. А как? Если сигналы связаны со стрелками, то непонятно. Надо их также связывать и с сенсорами занятости, что чревато разрастанием матчасти. Поразмышляв на эту тему я подумал, что сигналы надо бы тоже прописывать в скриптах. Ну это пока мои домыслы, на практике не исследованные. А у Вас как?

Последний раз редактировалось Shtirlits; 04.09.2014 в 00:04.
Shtirlits вне форума   Вверх
Старый 04.09.2014, 13:38   #7
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Цитата:
Сообщение от Shtirlits Посмотреть сообщение
Ваше последнее сообщение было оглашено в мае, хотелось бы узнать каков Ваш прогресс?
Потихоньку продвигаемся вперед... Пока ждал поступления свеТТофоровских светофоров, рисовал все нужные аспекты. Теперь есть все что нужно.
Расставил светороры на схеме в Layout Editor. Пока все светофоры в JMRI имеют тип "Virtual Mast", т.е. никак не привязаны к "железу".
Написал скрипт инициализации всех светофоров в красный (синий для маневровых), вставил его в автозапуск JMRI.
Написал пока один простенький Siglet для управления маршрутным указателем.
На данный момент почти все светофоры получены, начинаю работы по установке и настройке светофорных декодеров.


Цитата:
Сообщение от Shtirlits Посмотреть сообщение
Как только локомотив прошел выходную стрелку, в идеале выходной сигнал, то выходной с бокового должен смениться на красный. А как?
Здесь однозначно нужен все таки датчик занятости. В данном случае - на перегоне. Как только он сработал, аспект светофора меняется на красный. А вообще на датчиках лучше не экономить. Чем больше - тем гибче возможности управления. На моем макете каждый станционный путь имеет минимум по 3 токовых датчика (короткий - длинный - короткий участки станционного пути), датчики на всех перегонах, и все стрелки тоже запитаны от отдельных токовых датчиков; единственное, на чем я съэкономил - я объединил стрелочные улицы (последовательно расположенные стрелки) по питанию от одного выхода токового датчика.

Автоматизация сигналов делается с помощью скриптов Siglet (пример есть на сайте - http://www.jmri.org/jython/SigletExample.py). Для создания Siglet нужно написать две функции этого объекта - инициализация и собственно переключение.
В функции инициализации (defineIO) нужно задать, какие датчики будут вызывать срабатывание функции переключения. Причем в качестве датчиков могут быть не только собственно датчики (сенсоры), но и стрелки и другие светофоры.
В функции переключения (setOutput) осуществляется анализ переключившихся датчиков и пр (всего что задано в defineIO), и делается соответствующее переключение.

Я пришел к выводу, что писать отдельный Siglet под каждый сигнал нерезонно. Оптимальнее будет писать Siglet для целой области - например, для всех сигналов четной или нечетной горловины станции. Такой Siglet выглядит так:
В качестве его параметров (датчиков и пр.) задаются все сенсоры горловины - все ближайшие к горловине датчики станционных путей и перегона, все светофоры горловины - входные и выходные, и все стрелки горловины.
А задача функции переключения - проанализировать входные параметры и (1) сбросить в "красный" (вызов setAspect("Hp00")) ранее открытые сигналы, если состояние входных параметров конфликтует с ними, и (2) выключить недействительные для данного состояния стрелок аспекты (вызовом setAspectDisabled для соответствующего сигнала).
Примеры логики Siglet:
Сработал датчик занятости перегона => "закрыть" все выходные светофоры горловины.
Переключилась стрелка горловины => "закрыть" те выходные светофоры, отправление по которым невозможно при данном состоянии стрелок, отключить (setAspectDisabled) у них все "открытые" аспекты аспекты, а также неправильные аспекты входного светофора; включить (setAspectEnabled) "открытые" аспекты того пути, с которого возможно отправление, и подходящие аспекты входного.
Сработал датчик занятости пути станции => закрыть входной светофор.
"Открылся" входной светофор => "закрыть" все выходные.
"Открылся" выходной светофор => "закрыть" входной и остальные выходные.
и т.д.

Два важных момента:
1. Автоматика (в виде запущенных Siglet-ов) только закрывает сигналы. Открывать их может только начальник станции/диспетчер вручную - при ручном управлении, или скрипт, выполняющий его функции - ведение поезда другим скриптом. Исключение из данного правила - сигналы перегона при автоблокировке. Их можно автоматически открывать по простому алгоритму, анализирующему два (или три) сигнала впереди.
2. При "закрывании" сигнала нужно проверять его текущее состояние, и если он уже "закрыт" (красный), то ничего делать не нужно, иначе Siglet может вызываться бесконечно.
Alex_S вне форума   Вверх
2 пользователя(ей) сказали cпасибо:
Старый 04.09.2014, 13:48   #8
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию Пример Siglet-скрипта

Иногда конечно резонно делать и простенькие Siglet-ы для одного-двух сигналов. Например, для маневрового, по которому локи выходят из зоны депо на станционный путь. Еще хороший пример - маршрутные указатели. Я уже написал один такой Siglet, и расскажу о нем ниже.

Из-за проблем с габаритом я решил установить групповой выходной светофор с путей 2, 3 и 4 (на I-ом, главном, групповые не стявят). Групповой выходной - это светофор (ЖЗ)-(КБ)---| с маршрутным указателем зеленого цвета, на котором высвечивается номер пути.

В качестве немецкого аналога для маршрутного указателя взят проходной светофор с головкой предварительного и указателем короткой дистанции.
Соответствия аспектов:
Hp0 = не горит
Hp1+Vr0 = 2
Hp1+Vr1 = 3
Hp1+Vr2 = 4

Алгоритм сиглета для маршрутного указателя довольно прост.
В качестве входных параметров в defineIO задаются две стрелки, которые переключают выход на пути 2, 3 или 4, и сам выходной светофор.
Алгоритм функции переключения setOutput:
Включить все аспекты маршрутного указателя (setAspectEnabled для всех четырех аспектов)
Если выходной Н2-4 закрыт => установить маршрутный указатель в "не горит" (Hp0), выключить остальные аспекты.
Если выходной Н2-4 открыт => проверить состояние стрелок и высветить соответствующий номеру пути аспект, выключить все остальные аспекты.

Как только Siglet стартовал, маршрутный указатель нельзя переключить вручную (на панели Layout Editor). Он будет переключаться только автоматически при переключении стрелок и самого выходного светофора.

Засада есть только в железе - к сожалению фирма СвеТТофор не делает переключаемых маршрутных указателей. Только статичные. Я заказал указатель с цифрой "2", т.е. он будет загораться при отправлении со второго пути, а в остальных случаях гореть не будет. Но на схеме путей в Layout Editor он отображает все свои варианты - 2, 3 и 4.
Изображения:
   
Вложения:
Тип файла: txt Route_Siglet.txt (2.1 Кб, 476 просмотров)
Alex_S вне форума   Вверх
3 пользователя(ей) сказали cпасибо:
Старый 04.09.2014, 16:31   #9
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

вау! Вы уже немало наработали! мне будет легче идти за Вами)
Shtirlits вне форума   Вверх
Старый 04.09.2014, 19:04   #10
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

и раз пошел разговор о сенсорных участках, то не подкините ли идейку, каким щадящим способом образовать новый сенсорный участок на действующем полотне? поднимать и перекладывать его не очень хочется. не бокорезами выкусывать же? или можно?
Shtirlits вне форума   Вверх
Старый 04.09.2014, 19:09   #11
tabun
tabun
 
Аватар для tabun
 
Регистрация: 25.02.2013
Адрес: Геленджик
Сообщений: 1,764
Сказал(а) 'не согласен(а)'!: 33
Сказали 'не согласен'! 12 раз(а) в 11 сообщениях
Сказал(а) спасибо: 8,871
Поблагодарили 2,703 раз(а) в 763 сообщениях
Репутация: репутация неоспорима (2698)
По умолчанию

Бормашинкой (дремелем) сделать разрезы
tabun вне форума   Вверх
Старый 10.09.2014, 20:31   #12
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

Алекс С, скажите, у Вас копи пасте работает в редакторе скриптов? у меня нет почему то. или я не знаю как делать.
Shtirlits вне форума   Вверх
Старый 11.09.2014, 12:42   #13
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

В качестве редактора пользую notepad.exe, все копипастится нормально...
А каким Вы пользуетесь?
Alex_S вне форума   Вверх
Старый 11.09.2014, 16:17   #14
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

прямо вот тем редактором, который внутри JMRI вшит. тогда Алекс, непонятно. если Вы в нотепаде его редактируете то как потом он сохраняется в формате script.py? скрипты же в питонском языке, то есть формате должны быть?
Shtirlits вне форума   Вверх
Старый 11.09.2014, 17:28   #15
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Цитата:
Сообщение от Shtirlits Посмотреть сообщение
скрипты же в питонском языке, то есть формате должны быть?
скрипты - обычные текстовые файлы.

Цитата:
Сообщение от Shtirlits Посмотреть сообщение
если Вы в нотепаде его редактируете то как потом он сохраняется в формате script.py?
при сохранении указываю тип.
А примеры лучше открыть программой wordpad - у файлов примеров символы конца строки оличаются от виндовых.

А что за встроенный редактор? Как он запускается?
Alex_S вне форума   Вверх
Пользователь сказал cпасибо:
Старый 11.09.2014, 18:26   #16
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
А что за встроенный редактор? Как он запускается?
я щас на работе поэтому по памяти изложу. надеюсь не ошибиться. на окошке JMRI откройте закладку panels, и в внизу есть script entry. нажмите его. откроется окно редактора. внизу три кнопки - load, write (в смысле сохранить) и execute. вот кнопкой лоад выбираете скрипт для редактирования. мне кажется Вы про это знаете. может просто непонятки в терминах получились
Shtirlits вне форума   Вверх
Старый 12.09.2014, 12:47   #17
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Цитата:
Сообщение от Shtirlits Посмотреть сообщение
script entry
ааа

ну какой же это редактор
хотя редактировать конечно можно.
Я его пользую в процессе разработки - попробовать новые команды.

Есть всякие редакторы, умеющие автоматически распознавать элементы языка и подсвечивать их разными цветами. Вот например - http://sourceforge.net/projects/pype/
А я уж подумал в пакете JMRI что-то подобное есть.
Alex_S вне форума   Вверх
Старый 12.09.2014, 16:06   #18
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
ну какой же это редактор
ну конечно по его убогости его не хочется называть редактором. вот он и есть в пакете JMRI. приходится пользоваться.
Shtirlits вне форума   Вверх
Старый 16.09.2014, 11:18   #19
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Как только начал настраивать светофорные декодеры, тут же вылезла неведомая ранее проблема.

Все светофоры заводятся с драйвером "Turnout Controlled Mast".
Если изменяем аспект сигнала в JMRI, аспект успешно транслируется в стрелочные команды, которые через цифровую истему отправляются в светофорный декодер (TrafficLight). Но связь в обратную сторону не работает:

Если "щелкать" стрелками или сигналами с цифровой системы, то на состояние светофоров в JMRI это не оказывает никакого влияния. JMRI "видит" все переключения стрелок, но транслировать их в аспекты не хочет.

Нашел в форуме объяснение:
https://groups.yahoo.com/neo/groups/...s/topics/87749
кратко причина в том, что в общем случае не любые комбинации стрелок соответствуют допустимому аспекту...
Я бы с ними поспорил, ведь в моем случае у каждой стрелочной команды есть однозначное соответствие аспекту... Ну да ладно, нет так нет.

Выходы:
1. Принять их идеологию и преключать сигналы только в JMRI. С цифровой системы сигналами не управлять.
2. Искать способы... В принципе для простых сигналов (типа белый/синий) у меня это получилось - написал простенький Siglet, следящий за стрелкой, и переключающий по ней аспекты. Но для сложных сигналов типа выходных это не сработало - если переключение сигнала делается стрелочной командой, повторяющей текущее состояние стрелки, то Siglet не вызывается, так как нет факта переключения стрелки...
Alex_S вне форума   Вверх
Старый 16.09.2014, 13:38   #20
laba
Местный
 
Аватар для laba
 
Регистрация: 06.03.2009
Адрес: Питер
Сообщений: 3,693
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 6,942
Поблагодарили 4,844 раз(а) в 1,822 сообщениях
Репутация: репутация неоспорима (5127)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
А скриптовой язык в RocRail есть?
Вы меня спрашивали, я отвечаю.
Rocrail поддерживает два протокола, использующих скрипты:
Это RCP Scripting
и SRCP Scripting
__________________
HO, цифра, OpenDCC, S-88N, OpenCar, BiDiB
С приветом из подземки!!!
laba вне форума   Вверх
Пользователь сказал cпасибо:
Старый 16.09.2014, 14:58   #21
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Цитата:
Сообщение от laba Посмотреть сообщение
Rocrail поддерживает два протокола, использующих скрипты:
причем язык скриптов - это тоже Python. Очень интересно.
Alex_S вне форума   Вверх
Старый 16.09.2014, 16:18   #22
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
В принципе для простых сигналов (типа белый/синий) у меня это получилось - написал простенький Siglet, следящий за стрелкой, и переключающий по ней аспекты. Но для сложных сигналов типа выходных это не сработало - если переключение сигнала делается стрелочной командой, повторяющей текущее состояние стрелки, то Siglet не вызывается, так как нет факта переключения стрелки...
Алекс, простенько кажется и лоджикс в силах исполнить. назначение аспекта по состоянию стрелки у него есть. но ведь аспект должен назначаться не только по стрелке, но и по занятию перегонов за сигналом. и не один перегон должен отслеживаться, а вроде бы три? след занят - красный, занято через один - желтый. занято через два - зеленый. или не занято через два, тоже зеленый. значит два перегона нужно отслеживать чтобы образовать на сигнале правильный аспект. вроде бы так?

Последний раз редактировалось Shtirlits; 16.09.2014 в 19:01.
Shtirlits вне форума   Вверх
Старый 16.09.2014, 17:04   #23
Alex_S
Местный
 
Регистрация: 26.05.2008
Адрес: Москва
Сообщений: 4,506
Сказал(а) 'не согласен(а)'!: 24
Сказали 'не согласен'! 10 раз(а) в 10 сообщениях
Сказал(а) спасибо: 708
Поблагодарили 4,609 раз(а) в 2,049 сообщениях
Репутация: репутация неоспорима (4620)
По умолчанию

Цитата:
Сообщение от Shtirlits Посмотреть сообщение
но ведь аспект должен назначаться не только по стрелке, но и по занятию перегонов за сигналом.
угу, вот и говорю - просто получается только с маневровым (белый/синий).
Цитата:
Сообщение от Shtirlits Посмотреть сообщение
и не один перегон должен отслеживаться, а вроде бы три? след занят - красный, занято через один - желтый. занято через два - зеленый.
Автоблокировка в одну сторону - это на самом деле не так уж и сложно. Ведь главная идея односторонней автоблокировки - каждый проходной светофор целиком и полностью зависит от блокучастка за нем и следующего светофора. Т.е. логика автоматики простая:
блокучасток занят => красный
блокучасток свободен => тогда по следующему светофору: если он красный, то у нас желтый, если не красный - то у нас зеленый.
(пример для трехзначной автоблокировки)

Если нужна автоблокировка с движением в обе стороны, тогда все несколько сложнее - нужно учитывать текущее направление.
Alex_S вне форума   Вверх
Старый 16.09.2014, 18:20   #24
Shtirlits
Практикующий манипулятор
 
Аватар для Shtirlits
 
Регистрация: 03.05.2014
Адрес: NY
Сообщений: 1,141
Сказал(а) 'не согласен(а)'!: 41
Сказали 'не согласен'! 14 раз(а) в 13 сообщениях
Сказал(а) спасибо: 1,021
Поблагодарили 1,584 раз(а) в 805 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1582)
По умолчанию

Цитата:
Сообщение от Alex_S Посмотреть сообщение
Если нужна автоблокировка с движением в обе стороны, тогда все несколько сложнее - нужно учитывать текущее направление.
на реальной жд ставят два комплекта сигналов направленных в четную и нечетную сторону. стало быть направление учитывать не надо, а надо второй комплект по тому же протоколу, но направленный навстречу первому.
Shtirlits вне форума   Вверх
Старый 16.09.2014, 19:54   #25
laba
Местный
 
Аватар для laba
 
Регистрация: 06.03.2009
Адрес: Питер
Сообщений: 3,693
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 6,942
Поблагодарили 4,844 раз(а) в 1,822 сообщениях
Репутация: репутация неоспорима (5127)
По умолчанию

Цитата:
Сообщение от Shtirlits Посмотреть сообщение
на реальной жд ставят два комплекта сигналов направленных в четную и нечетную сторону. стало быть направление учитывать не надо, а надо второй комплект по тому же протоколу, но направленный навстречу первому.
Имелось ввиду, что путь один, но по нему будут ездить в двух направлениях и если поезд допустим едет по нему вперёд, то все сигналы предназначенные для езды назад, на всём перегоне должны перекрыться на красный огонь и наоборот.
__________________
HO, цифра, OpenDCC, S-88N, OpenCar, BiDiB
С приветом из подземки!!!
laba вне форума   Вверх
Ответ

Метки
jmri

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JMRI управление с ПК - мое приключение. Tankist Электрика и DCC 54 11.06.2020 22:27
Сравнение программ Rocrail и Train controller JMRI и др. t1000a Электрика и DCC 55 25.09.2015 04:26
Правильные Швейцарские сигналы? t1000a ЧАВО 22 13.07.2015 09:52
Британские железнодорожные сигналы Bill Fuller общий 0 10.03.2015 17:37
бело-лунные сигналы. Подскажите пожалуйста. alex-sys общий 12 21.08.2012 04:26


Текущее время: 18:06. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -