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

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

Оффлайн will

  • Ветеран
  • *****
  • Сообщений: 850
  • Репутация: +10/-0
  • Скайп: Мой статус
  • Откуда: Оренбург
  • Имя: Игорь
Режимы програмирования
« : 28 Января 2016, 14:03:39 »
Коллеги в мануле к  КС от "Дигитракс" прописаны несколько режимов програмирования:
Pg= Paged mode (Digitrax Preferred Programming Mode)
Ph= Physical register mode
Pd= Direct mode
Po= Operations mode (See your Command Station manual).
Если с первым и последним понятно, то со вторым и третьим -  ???. Кто-нибудь в курсе о чем речь?

Оффлайн Buratino

  • Постоялец
  • ***
  • Сообщений: 106
  • Репутация: +3/-0
  • Откуда: Челябинск
  • Имя: Алексей
Re: Режимы програмирования
« Ответ #1 : 28 Января 2016, 14:25:20 »
Paged и Direct перепутал  :)
А по теме нечего сказать, пользуюсь Direct, на Operations не получалось менять CV.

Оффлайн Сергеевич

  • Ветеран
  • *****
  • Сообщений: 1333
  • Репутация: +115/-25
  • мӧҗҥҩ ҧрѻҫҭҩ мӥҫҭҿӄѣ Ӥ.Ҟ.Ҫ.
  • Скайп: Мой статус
  • Откуда: 13 верста У.Г.Җ.Д.
  • Имя: Ҝѻӊҫҭѩңҭӥԋъ
Re: Режимы програмирования
« Ответ #2 : 28 Января 2016, 14:32:31 »
Pg= Paged mode (Digitrax Preferred Programming Mode)
Ph= Physical register mode
первые два - устаревшие режимы программирования. если честно, я  даже не знаю как ими можно воспользоваться, тк декодеров вроде есть пара штук, но нет станции которая это умеет.
3. Direct mode - стандартное программирование CV на выделенном программном пути
4. Operations mode - теперь уже тоже стандартное программирование CV на общих путях.

ЗЫ нашел
Цитировать
  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", ... и т.д. Это делает режим постраничного программирования ОЧЕНЬ медленным.
  :-\ жесть короче.
« Последнее редактирование: 28 Января 2016, 14:49:48 от Сергеевич »
G.Oe.HO!  .  .  HOe.N.Z?  ПолHOля , эNка и кое-что ещё. Люблю У.Г.Ж.Д. особенно  13 версту и вообще 1 эпоху.

Оффлайн will

  • Ветеран
  • *****
  • Сообщений: 850
  • Репутация: +10/-0
  • Скайп: Мой статус
  • Откуда: Оренбург
  • Имя: Игорь
Re: Режимы програмирования
« Ответ #3 : 28 Января 2016, 14:44:00 »
По поводу Pg "дигитракс" и сейчас их рекомендует:
Press the PROGkey to toggle between PG, PH, Pd, and PO.  Digitrax recommends using the PG(Paged)mode for programming all Digitrax
decoders when using service mode on the programming track.  If you are
using non-Digitrax decodersyou can change to another mode if they are
not capable of PG(Paged)mode.
 Тогда получается что Pg=Pd

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1278
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: Режимы програмирования
« Ответ #4 : 28 Января 2016, 14:48:25 »
3. Direct mode
Вот с директом както не все однозначно и понятно.
На NCE в первом шаге выбираем
Program on main или Use Program Trk
Вот казалось бы тут оно и
на общих путях
или
на выделенном программном пути
Ан нет.
При выборе Program Trk имеем
1 - Standart
2 - CV
3 - Register
4 - Paged Programming
5 - Direct Programming
6 - NCE Effects
7 - Recovery Program
8 - Decoder Unlock

При программировании ServoMotion от МД вылез один нюанс. В этом меню обязательно нужно выбрать 5 - т.е. Direct Programming, дождаться пока КС отругается о невозможности прочитать CV производителя (у МД нет своего ID а в соответствующий CV они пишут 255 или версию софта) и только после этого в режиме CV данные как читаются, так и записываются.


... и добавил:
 Тогда получается что Pg=Pd
Судя по менюхе NCE
Standart=Paged=Direct ибо далее они переходят в общую ветку
« Последнее редактирование: 28 Января 2016, 14:51:33 от BNSF9399 »

Оффлайн Сергеевич

  • Ветеран
  • *****
  • Сообщений: 1333
  • Репутация: +115/-25
  • мӧҗҥҩ ҧрѻҫҭҩ мӥҫҭҿӄѣ Ӥ.Ҟ.Ҫ.
  • Скайп: Мой статус
  • Откуда: 13 верста У.Г.Җ.Д.
  • Имя: Ҝѻӊҫҭѩңҭӥԋъ
Re: Режимы програмирования
« Ответ #5 : 28 Января 2016, 14:54:15 »
у американцев много чего наворочено , черт ногу сломит. стандарт
http://www.nmra.org/sites/default/files/s-9.2.3_2012_07.pdf
и вот еще:
http://rail.siliconjunction.info/archive/rail97/dcc/service.html
G.Oe.HO!  .  .  HOe.N.Z?  ПолHOля , эNка и кое-что ещё. Люблю У.Г.Ж.Д. особенно  13 версту и вообще 1 эпоху.

Оффлайн will

  • Ветеран
  • *****
  • Сообщений: 850
  • Репутация: +10/-0
  • Скайп: Мой статус
  • Откуда: Оренбург
  • Имя: Игорь
Re: Режимы програмирования
« Ответ #6 : 28 Января 2016, 15:39:56 »
У меня Super Empire Builder Xtra от Digi. В режиме Pg их-же декодеры программируются так:левой ручкой управления скоростью набираешь номер CV, правой-значение.(255 раз вводить ничего не надо). В режиме Po процесс тот-же.
Из других декодеров модельдеповские программировал как в Pg, так и в Ро. Есть еще непонятная фишка:можно выбрать шестнадцатиричную систему для значений CV - зачем?

Оффлайн Zuzzuk

  • Модератор раздела
  • Ветеран
  • *****
  • Сообщений: 1042
  • Репутация: +58/-0
    • Ж/Д-модельная вики
  • Скайп: Мой статус
  • Откуда: Петербург и Прага
  • Имя: Константин
Re: Режимы програмирования
« Ответ #7 : 28 Января 2016, 17:42:00 »
Цитата: will
можно выбрать шестнадцатиричную систему для значений CV - зачем
Затем, что в шестнадцитиричном виде удобно "читать" и задавать значения "по маске" - устанавливать и сбрасывать определённые биты практически не думая. В десятиричном это требует арифметичских упражнений.
С уважением, Константин
---
// per aspera ad astra
Собираю, что глазу мило; дружу с DCC; T-Trak нам в руку!

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1278
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: Режимы програмирования
« Ответ #8 : 28 Января 2016, 19:03:45 »
255 раз вводить ничего не надо
Так так не про то речь была
левой ручкой управления скоростью набираешь номер CV, правой-значение
Вот именно про то. Прощелкиваешь все CV до нужного, потом точно также крутишь значения до нужного. Вместо того, чтобы цифрами набрать.

Оффлайн will

  • Ветеран
  • *****
  • Сообщений: 850
  • Репутация: +10/-0
  • Скайп: Мой статус
  • Откуда: Оренбург
  • Имя: Игорь
Re: Режимы програмирования
« Ответ #9 : 29 Января 2016, 08:38:55 »
Вместо того, чтобы цифрами набрать.
Если я правильно понял в Pd можно набирать цифрами? Попробую в выходные.
Затем, что в шестнадцитиричном виде удобно "читать" и задавать значения "по маске" - устанавливать и сбрасывать определённые биты практически не думая. В десятиричном это требует арифметичских упражнений.
А вот тут поподробней.

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1278
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: Режимы програмирования
« Ответ #10 : 29 Января 2016, 11:08:38 »
Pd можно набирать цифрами?
???
Я его не использую. Тыкаюсь в него только потому, что иначе ServoMotion не отдает значения CV. Т.е. я просто выбираю этот режим, получаю сообщение о невозможности прочитать CV производителя, нажимаю Esc и выбираю режим CV (Operations)
После таких манипуляций SM начинает нормально отдавать значения CV.

Оффлайн Zuzzuk

  • Модератор раздела
  • Ветеран
  • *****
  • Сообщений: 1042
  • Репутация: +58/-0
    • Ж/Д-модельная вики
  • Скайп: Мой статус
  • Откуда: Петербург и Прага
  • Имя: Константин
Re: Режимы програмирования
« Ответ #11 : 29 Января 2016, 13:34:38 »
Цитата: will
А вот тут поподробней.
Да тут всё просто для того, что занимался программированием. В CV часто разные опции включаются, выключаются разными битами, например:
0бит - лок двигается на аналоге (значение бита 2^0 = 1)
1бит - на аналоге горят фонари перед./зад. хода (значение бита 2^1 = 2)
2бит - на аналоге работает звук (значение бита 2^2 = 4)
Чтобы задать комбинацию включенных опций, нужно просто просуммировать их значения, например, чтобы включить всё сразу - суммируем 1+2+4=7, пишем в CV и вуаля!
Легко посчитать сумму четырёх младших битов - от 0 до 15, но если нужно задать разные значения битов от 0-го до 7-го включительно? Например, какое значение нужно записать, чтобы получилась следующая комбинация: 10110101? Вычислите в уме быстро? 128+32+16+4+1=? Хорошо, посчитав мы получим 181. А теперь, попробовав опцию, задаваемую битом 4 нужно её выключить, то есть записать 10100101... Вобщем опять арифметика. В чём преимущества шестнадцатиричной записи:

... и добавил:
- байт (8 битов, значения от 0-255) делится пополам по 4 бита и задаётся двумя шестнадцатиричными цифрами от 0 до F (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A - это 10, B - это 11, C - это 12, D - 13, E - 14 и F - 15)
- таким образом наша исходная комбинация битов 10110101 предстаёт в виде двух половинок (каждая шестнадцатиричная цифра представляет ровно 4 бита): 1011 и 0101. Как я говорил - значение 4 битов сосчитать несложно: двоичное 1011 - это десятичное 8+2+1=11, а двоичное 0101 - это 4+1=5
- поупражнявшись с этой системой счисления комбинации битов уже не приходится считать - всё уже в голове.
Так вот в двоичная комбинации битов 1011 и 0101 в десятичном виде будут числа 11 и 5, что в шестнадцатиричном виде есть цифры B5, что и пишем в декодер. А теперь надо сбросить в 0 4-ый бит, то есть младший разряд в шестнадцатиричной цифре B - получится 1010 - десятичное 10 или шестнадцатиричное A. Пишем в CV A5 и радуемся.


... и добавил:
А теперь более интересный пример. Допустим в инструкции сказано, что "скорость перемещения привода стрелки задается в битах 2-5", причём в остальных битах также есть какие-то значения. Хотим увеличить скорость движения привода. Как это выглядит в обеих системах - десятичной и двоичной:
1. Родимая наша десятичная:
смотрим в CV, а там стоит десятичное 208. Что это значит? это значит, что нам надо перевести это в двоичную систему, чтобы вычленить оттуда биты 2-5, в которых записана скорость (раскладываем по степеням цифры 2):
208 = 128 + 64 + 16, что соответствует комбинации битов 11010000, где жирным отмечены наши биты. То есть скорость сейчас - 4 (диапазон доступных значений от 0 до 15). Хотим увеличить на 5 - до 9, что будет соответствовать комбинации битов 1001, теперь вписываем это всё в наше значение CV 11100100 и занимаемся обратной арифметикой:
128+64+32+8=232. Пишем в CV и радуемся "оживлению" привода.


... и добавил:
2. Вражеская программистская шестнадцатиричная система:
смотрим в CV, а там стоит D0, где старшая цифра - это десятичное 13 или двоичное 1101, а младший 0 и есть 0, то есть двоичный 0000, получается 1101 0000, где наша скорость выделена жирным, то есть десятичная 4. При увеличении скорости до 9 получаем снова 1001, что разойдётся по старшей и младшей частям шестнадцатиричного значения - 10 01, то есть в двоичном виде это будет выглядеть как две половинки байта - 1110 и 0100. А мы то уже знаем, что 1110 - это шестнадцатиричное E, а 0100 - это шестнадцатиричное 4. Пишем в CV значение E4 и радуемся такой же живенькой работе привода.

... и добавил:
То есть когда нужно изменить всего лишь один бит, то нужно изменить всего лишь одну шестнадцатиричную цифру в значении CV, а для десятичного значения нужно пересчитывать всё число целиком.
« Последнее редактирование: 29 Января 2016, 13:36:55 от Zuzzuk »
С уважением, Константин
---
// per aspera ad astra
Собираю, что глазу мило; дружу с DCC; T-Trak нам в руку!

Оффлайн Gematogen

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 6842
  • Репутация: +249/-1
  • Имя: Михаил
Re: Режимы програмирования
« Ответ #12 : 29 Января 2016, 14:21:05 »
Спойлер: offtop (кликните для показа/скрытия)
Михаил, DCC

Оффлайн will

  • Ветеран
  • *****
  • Сообщений: 850
  • Репутация: +10/-0
  • Скайп: Мой статус
  • Откуда: Оренбург
  • Имя: Игорь
Re: Режимы програмирования
« Ответ #13 : 29 Января 2016, 17:54:34 »
После всего, что прочитал- уж лучше ручки в 10значном исчислении покручу. Не так часто надо менятьСВ где есть суммируемые биты :(.

Оффлайн Zuzzuk

  • Модератор раздела
  • Ветеран
  • *****
  • Сообщений: 1042
  • Репутация: +58/-0
    • Ж/Д-модельная вики
  • Скайп: Мой статус
  • Откуда: Петербург и Прага
  • Имя: Константин
Re: Режимы програмирования
« Ответ #14 : 29 Января 2016, 20:07:32 »
Цитата: will
После всего, что прочитал- уж лучше ручки в 10значном исчислении покручу.
Эх, чувствую, что всё испортил своим объяснением :)
На самом деле поверьте на слово - в шестнадцатиричном виде задавать биты во много раз легче, чем в десятичном.
С уважением, Константин
---
// per aspera ad astra
Собираю, что глазу мило; дружу с DCC; T-Trak нам в руку!