Автор Тема: Режимы програмирования  (Прочитано 2432 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1272
  • Репутация: +116/-1
  • Откуда: Москва
  • Имя: Владимир
Re: Режимы програмирования
« Ответ #15 : 29 Января 2016, 21:17:24 »
в шестнадцатиричном виде задавать биты во много раз легче, чем в десятичном.
когда я был молодым, у нас на цикле стояла ЭВМ, боюсь соврать, но вроде ЕС38000. Вобщем военная такая железка от АСУшной аппаратной, из кучи 19" блоков. Так вот, программы в нее можно было с перфоленты вводить, или с.... На лицевой панели было 17 тумблеров и кнопка :) 1 тумблер адрес/данные, 16 тумблеров задавали в двоичном коде адрес или данные и кнопка "ввод" :)
Вот где веселуха была.
А из всех декодеров, что я держал в руках, необходимость пересчитывать побитно ни разу не пригодилась. Записал при первоначальной установке и все.

Оффлайн will

  • Ветеран
  • *****
  • Сообщений: 1056
  • Репутация: +11/-0
  • Откуда: Оренбург
  • Имя: Игорь
Re: Режимы програмирования
« Ответ #16 : 01 Февраля 2016, 08:25:56 »
Прощелкиваешь все CV до нужного, потом точно также крутишь значения до нужного. Вместо того, чтобы цифрами набрать.
Попробовал набирать цифрами напрямую - получается и в Pg и в Po и в Pd без проблем.

Оффлайн Skvo

  • Постоялец
  • ***
  • Сообщений: 108
  • Репутация: +12/-0
  • Откуда: г. Вологда
  • Имя: Константин
Re: Режимы програмирования
« Ответ #17 : 01 Февраля 2016, 15:46:00 »
Коллеги в мануле к  КС от "Дигитракс" прописаны несколько режимов програмирования:
Pg= Paged mode (Digitrax Preferred Programming Mode)
Ph= Physical register mode
Pd= Direct mode
Po= Operations mode (See your Command Station manual).

Кто-нибудь в курсе о чем речь?

Первые три - программирование на отдельном треке.
Локомотив должен быть только один, чтобы станция могла правильно записывать и считывать CV...

Po=Operations mode - програмирование на главном пути, когда требуется поменять у одного из локомотивов некоторые CV, не снимая с путей все остальные локомотивы. Считывать CV в данном режиме нельзя...


Чуть подробнее про первые три режима на отдельном треке:

Ph= Physical register mode
Это был самый первый метод програмирования стандартизированный ассоциацией NMRA.
У декодоров было лишь 8 регистров. Вот эти регистры.
1 Short Address
2 Start voltage
3 Acceleration
4 Deceleration
5 Config
6 Reserved (Later used with Page mode)
7 Decoder Version
8 Manufacture ID

Запись пользовательских значений могла производиться  в пять первых регистров. Шестой был запасной, 7 и 8 - служили только для чтения...

На текущий момент, этим режимом давно уже никто не пользуется. Декокдеров использующих только его - встретить крайне сложно. Можно считать, что он вымер...

Pg= Paged mode (Digitrax Preferred Programming Mode)
Данный режим пришел на смену Physical register mode.

Разработчики быстро поняли, что 8 регистров управления декодером мало, и ввели расширение стандарта.
Причем физические регистры так и остались в количестве 8 штук, но шестой из них стали использовать для обращения к виртуальной странице адресации.

Запись пользовательских значений в декодер в режиме Paged mode производится коммандной станцией в два этапа:
На первом шаге в 6 регистр она заносит номер виртуальной страницы, причем на каждую виртуальную страницу относится по 4 адреса.
На втором шаге через регистры 1, 2, 3, 4 - производит запись нужного нам значания по одному из этих четырех виртуальных адресов.

Чтобы не путать физические регистры с виртуальными, последние стали называть CV (Configuration Variable).
Один регистр номер 6 адресует 256 страниц, на каждой по 4 адреса = итого получили 1024 CV

На прошлой странице пролетала ссылка на подробности по английски, оттуда фото для представления:



Pd= Direct mode
Данный режим пришел для упрощения адресации напрямую к регистрам CV, без необходимости использования виртуальных адресов, как было в Paged mode.

В стандарте появились команды производящие запись пользовательских значений в декодер в режиме Direct mode за один этап, сразу по номеру CV:




По поводу Pg "дигитракс" и сейчас их рекомендует:

Немного про рекомендациям:
Aссоциацией NMRA - рекомендует всем производителям декодеров - делать обязательно поддержку программирования Direct mode. Он в два раза быстрее Paged mode и проще в реализациии. При этом не запрещается делать декодеры с поддержкой обоих режимов Direct mode и Paged mode.

Большинство производителей послушались и стали делать декодеры и с Direct mode, и с Paged mode.
К примеру Digitrax - так и поступает сейчас, поддерживаются оба режима, но вот в инструкциях к Командным станциам - по прежнему ставит рекомендацию простым пользователям использовать Paged mode. Это все как раз для защиты новичков, чтобы они не сталкивались с проблемами, так как половина ассортимента декодеров Digitrax, выпущенные в старые годы не поддерживала Direct mode, а вот Paged mode - поддерживают абсолютно все декодеры Digitrax...

« Последнее редактирование: 01 Февраля 2016, 19:57:54 от Skvo »

Оффлайн Skvo

  • Постоялец
  • ***
  • Сообщений: 108
  • Репутация: +12/-0
  • Откуда: г. Вологда
  • Имя: Константин
Re: Режимы програмирования
« Ответ #18 : 01 Февраля 2016, 16:41:04 »
ЗЫ нашел
Цитировать
  Paged Mode
Programmiermethode, die in den USA um 2000 weit verbreitet war. Bei der Abfrage eines CV-Wertes kann digital nur mit "ja" oder "nein" geantwortet werden. Der Paged Mode fragt daher bis zu 254-mal eine CV ab in der Art "Ist CV01=0?", "Ist CV01=1", ... usw. Das macht den Paged Mode so langsam.

Метод программирования, который широко использовался в США до 2000г. Когда на запросы значения CV в цифровом формате, ответы только  "да" или "нет". Поэтому режим постраничного программирования спрашивает до 254 раз "Является ли CV01 = 0?", "Является ли CV01 = 1", ... и т.д. Это делает режим постраничного программирования ОЧЕНЬ медленным.
  :-\ жесть короче.
В цитате идет рассказ НЕ про ЗАПИСЬ значений CV в декодер. Записываются они очень легко в любом режиме программирования. Мой предыдущий пост про это рассказывает.

В твоей цитате рассказано про обратный процесс - про ЧТЕНИЕ CV коммандной станцией из декодера

И в твоем примере - не жесть, а как раз реальность.

Вся проблема стандарта DCC - в том, что он разрабатывался как однонаправленный интерфейс. Команды идут от коммандной станции к декодеру. В ответ декодер не может по шине DCC отправлять никаких байтов.
(Прим. В стандарте Railcom это обошли и добавили обратную связь к DCC, но это уже другой разговор)...

Для обхода этой проблемы и возможности чтения CV  на отдельном треке как раз и придумали такую хитрость: декодеру шлют вопросы, а он сигнализирует о совпадениях. Принцип обратной связи основан на том, что для положительного ответа, декодер должен нагрузить линию DCC током не менее 60 ма в течение 6 мс.
Обычно нагрузка реализована в декодерах как кратковременный пуск двигателя.
Примечание: Кто производил чтение CV на отдельном треке наверное замечали, что локомотив иногда дергается, вот это как раз и есть обратная связь...

Коммандная станция после своих вопросов, отслеживает скачки тока в рельсах, и если их видит, то понимает что декодер ей ответил положительно...

Немножно по подробнее расскажу про чтение CV в разных режимах:

Ph= Physical register mode и
Pg= Paged mode

В обоих этих режимах использовался один и тот-же принцип:
для чтения CV, коммандной станции как раз и приходилось перебирать все значения CV для поиска ответа. Все как в твоей цитате: "Является ли CV01 = 0?", "Является ли CV01 = 1?", ... и т.д. То есть для поиска ответа может потребоваться до 256 запросов...
Хотя к примеру Digitrax не подряд проверяет, а вначале пытается наиболее часто встречающиеся значения проверить, и уже потом идет на перебор оставшихся. Вопросы идут где-то так: 0,1,2,4,8,16,32,64,128,255, 3,5,6,7,9,10....


Pd= Direct mode

В этом режиме - чтение CV намного ускорили..
Вместо перебора всех значений CV, стали задавать 8 вопросов по состоянию отдельных бит.
"Является ли бит 1 переменной  CVxx = 1?", "Является ли бит 2 переменной  CVxx = 1?", ... и т.д. до 8.

В итоге в  Direct mode - в среднем чтение CV идет быстрее раз в десять...


Po= Operations mode
Это программирование на главном пути.
Чтение CV в данном режиме - стандартом не предусмотрено...

Есть тут правда подвижки, как выше указывал к примеру стандарт Railcom от Lenz или вот Transponding от Digitrax, которые позволяют читать CV на главном пути, но для реализации нужны большие хлопоты: поддержка этих возможностей и коммандными станциями, и декодерами, и блоками занятости и ...
« Последнее редактирование: 01 Февраля 2016, 19:55:46 от Skvo »

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1272
  • Репутация: +116/-1
  • Откуда: Москва
  • Имя: Владимир
Re: Режимы програмирования
« Ответ #19 : 01 Февраля 2016, 22:10:19 »
Вот спасибо, Константин! Теперь все сложилось :)
С точки зрения пользователя - все одно. Это КС сама знает, как и что ей посылать.
Но вот у меня есть еще режим CV на отдельном трэке. Это что за режим?
Есть режимы
1. Standart
2. CV
3. Register
4. Paged
5. Direct
Register - как я понял, это Ph. В нем просят ввести номер регистра и значение
Paged, Direct и Standart в конечном счете переходят в одно меню-
Manufacturer->Decoder version->Set Up Address->Set Config->Motor Control->Function Map->Set CV
А вот режим CV - Номер CV ->Значение

PS.Вопрос то собственно к чему...Может пойму загадку ServoMotion. Этот "зверь" ни как не хочет в режиме CV программироваться, пока не ткнешься предварительно в Direct. Т.е. входишь в программирование на выделенном трэке, жмешь Direct, получаешь ответ о невозможности определить производителя, нажимаешь Esc и после этого в режим CV и все работает на ура.
Если сразу после входа в программирование выбрать CV - он какието левые значения показывает. Явно не из тех CV которые ему указываешь. И возвращает потом не то, что ты записал.
« Последнее редактирование: 01 Февраля 2016, 22:24:46 от BNSF9399 »

Оффлайн Skvo

  • Постоялец
  • ***
  • Сообщений: 108
  • Репутация: +12/-0
  • Откуда: г. Вологда
  • Имя: Константин
Re: Режимы програмирования
« Ответ #20 : 02 Февраля 2016, 00:03:10 »
Register - как я понял, это Ph. В нем просят ввести номер регистра и значение
Верно. B NCE PowerCab это Physical register mode.

Цитировать
Paged, Direct и Standart в конечном счете переходят в одно меню-
Paged - это принудительное указание работать в Paged mode
Direct - это принудительное указание работать в Direct mode

Standart - это автоматический режим от NCE, который пытается сам угадать, какой из режимов Paged или Direct mode использовать.
Сделан для начинающих юзеров, малопонимающих в тонкостях этих режимов. Но как и любая автоматика, Standart иногда может ошибаться в своем выборе, и программирование не идет...

В таких случаях нужно идти через принудительный режим Paged или Direct...

Цитировать
А вот режим CV - Номер CV ->Значение
Тут аналогично Standart, при первом запуске срабатывает автоматический подбор режима в котором будет идти работа с CV - это те-же Paged или Direct...

Режим CV от Standart отличается отсутствием предложения настроить базовые параметры для декодера. Там сразу после автоматики идет переход к работе с CV
Вот эта муть пропускается:
Manufacturer->Decoder version->Set Up Address->Set Config->Motor Control->Function Map->  Set CV


PS.Вопрос то собственно к чему...Может пойму загадку ServoMotion. Этот "зверь" ни как не хочет в режиме CV программироваться, пока не ткнешься предварительно в Direct. Т.е. входишь в программирование на выделенном трэке, жмешь Direct, получаешь ответ о невозможности определить производителя, нажимаешь Esc и после этого в режим CV и все работает на ура.
Если сразу после входа в программирование выбрать CV - он какието левые значения показывает. Явно не из тех CV которые ему указываешь. И возвращает потом не то, что ты записал.
Автоматика подводит твой NCE PowerCab. Американская штуковина с русскими декодерами видать совсем не знакома...

Вариант принудительного указания Direct mode тебя спасает. Вот и продолжай им пользоваться...
Так даже правильнее будет поступать...

P.S.
Я кстати сам тоже стараюсь автоматику обходить стороной, и выбор режима програмирования начинаю сразу или с Paged или Direct, а далее через ESC иду к CV без всяких лишних предложений которые под новичков придуманы:
Manufacturer->Decoder version->Set Up Address->Set Config->Motor Control->Function Map->
« Последнее редактирование: 02 Февраля 2016, 00:15:00 от Skvo »

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1272
  • Репутация: +116/-1
  • Откуда: Москва
  • Имя: Владимир
Re: Режимы програмирования
« Ответ #21 : 02 Февраля 2016, 11:18:55 »
Тут аналогично Standart, при первом запуске срабатывает автоматический подбор режима в котором будет идти работа с CV - это те-же Paged или Direct...
Так вот она где собака порылась :)
Автоматика подводит твой NCE PowerCab. Американская штуковина с русскими декодерами видать совсем не знакома...
Не, скорее MD "не очень" по стандарту делает. с AJL нет таких проблем.
Я так понимаю, что физические регистры в любом случае должны быть заполнены.
Ну или как минимум 7 и 8. Ради интереса гляну при случае.