Просмотр полной версии : Протокол?
mcdmitry
09.01.2006, 12:48
Паша, какой же все таки протокол обмена с МПСЗ для версии 6.12???
:unknown:
все осталось как в 6.11, кроме online режима, в нем конфигурация порта 19200,8,o,1
Вопрос к Павлу.
Не знаю, куда этот вопрос писать правильнее.
Протокол обмена с БК в прикрепленной теме - правильный?
Меня гложет сомнение пока относительно первых 4 байт,
там точно AA 00 55 00 ?
У меня версия 7.7 для ДХ.
Меня гложет сомнение пока относительно первых 4 байт,
там точно AA 00 55 00 ?
скорее AA 00 00 55
Сегодня уточню...
У меня версия 7.7 для ДХ.
от версии не зависит
hosemarkus
07.09.2006, 09:12
скорее AA 00 00 55
Сегодня уточню...
Ай-ай-ай ;)
Пример:
AA 00 55 00 4E 57 2B 20 44 41 44 20 34 20 20 20
20 20 20 20 11 8C FF FF 0F 2C 07 06 81 00 5F 55
00 2A 13 22 04 07 0C 00 7A 08 AA 00 55 00 4E 57
2B 20 44 41 44 20 34 20 20 20 20 20 20 20 11 8C
FF FF 0F 2C 07 06 81 00 5F 55 00 2A 13 22 04 07
0C 00 7A 08 AA 00 55 00 4E 57 2B 20 44 41 44 20
34 20 20 20 20 20 20 20 11 8C FF FF 0F 2C 07 06
81 00 5F 55 00 2A 13 22 04 07 0C 00 7A 08 AA 00
55 00 4E 57 2B 20 44 41 44 20 34 20 20 20 20 20
20 20 11 8C FF FF 0F 2C 07 06 81 00 5F 55 00 2A
Благодарю за пример,
он то и был мне нужен.
Павел, возникло пару вопросов по протоколу обмена с МПСЗ:
1.все осталось как в 6.11, кроме online режима, в нем конфигурация порта 19200,8,o,1 что такое online режим? имелся ввиду рабочий режим?
2. Какие еще отличия, кроме флага ДПКВ, имеют пакеты, передоваемые версией МПСЗ для ДПКВ, от пакетов, передоваемых версией МПСЗ для ДХ ?
Павел,
расскажи пожалуйста,
как перевести задержку в единицах мкс/2 в УОЗ
и соответственно период в тех-же единицах в обороты/мин.
с задержкой мне кажется так должно быть:
51-360*(задержка/период)=УОЗ, но так не получаются правдоподобные числа.
А с частотой, вроде бы так должно быть: 12е07/период=частота (об/мин)
но то-же не получается чисел похожих на правду.
Где я ошибаюсь?
что такое online режим? имелся ввиду рабочий режим?
да
2. Какие еще отличия, кроме флага ДПКВ, имеют пакеты, передоваемые версией МПСЗ для ДПКВ, от пакетов, передоваемых версией МПСЗ для ДХ ?
угол подругому рассчитывается. а еще почитай тут - /forum/showthread.php?t=16
Добавлено через 56 секунд
с задержкой мне кажется так должно быть:
51-360*(задержка/период)=УОЗ
вместо 51, 60 подставь
А с частотой, вроде бы так должно быть: 12е07/период=частота (об/мин)
но то-же не получается чисел похожих на правду.
а откуда 12 то???
угол подругому рассчитывается. а еще почитай тут - /forum/showthread.php?t=16Ну /forum/showthread.php?t=16 я изучил довольно подробно, некоторые значения даже уже заучил. :) А про расщет угла подругому, если можно, поподробней.:blush:
на ДПКВ вместо задержки выдается угол в зубах шкива, умноженных на 256, т.е. чтобы получить угол надо
угол = 114 - ((хх / 256) * 6)
где 114 - угол до ВМТ, при котором вырез на шкиве проходит мимо датчика
xx - значение, передаваемое программой
6 - кол-во градусов на 1 зуб маховика
да
а откуда 12 то???
в 1 минуте интервалов в 0,5 мкс будет:
60*1е06*2
так как период в единицах ((1е-06)/2 сек),
а частота в единицах (1/мин)
поэтому, считаю, сколько получается периодов
в одной минуте - получаю: 12е07/период=частота
hosemarkus
12.09.2006, 17:44
Тимофей,
скорее так:
60*1000000/(период*2*х) = 3е07/(период*х) = N об/мин
а тут самое главное: период - одного цикла шторки ДХ, т.е. полоборота КВ, т.е. х = 2
получаем 15е06/период = N об/мин
Во всяком случае, у мну считает так и на экране что-то похожее получается :)
реверс инжинирингом, я 15е06\период тоже получил (229*65535),
но не могу понять,откуда оно взялось и поэтому - не доверяю.
Вообще - уже доверяю,
вроде понятно.
Все дело в том, что это для распредвала.
тогда правда период не в единицах мкс/2,
а в 2*мкс. или в датащите на протокол
дробь не к тому числу.
написано: 23-24. Период в мкс/2
надо так: 23-24. (Период в мкс)/2
или так: 23-24. Период/2 в мкс
Вопрос к zhpaul.
При передаче команд изменения параметров от БК к МПСЗ.
Написано, "по одному байту с интервалом 20 мс".
Какое значение имеет этот интервал?
Если не могу добиться его точного соблюдения, его лучше сделать
больше или меньше?
если будет меньше - мпсз не успеет принять команды, т.к. буфер приема там 1 байт (так устроен ком-порт в контроллере), так что лучше больше...
Еще вопрос по протоколу:
Все двухбайтовые величины идут также как контрольная сумма:
(младший байт) -> (старший байт)?
Вопрос снят, проверил экспериментально,
все наоборот,
(старший байт)...(младший байт)
Добавлено через 20 часов 19 минут 26 секунд
zhpaul,
Можно ли считать, что пакеты от МПСЗ идут с равными промежутками времени между пакетами? Для упрощения расчета ускорения КВ в БК.
hosemarkus
21.09.2006, 17:45
Можно ли считать, что пакеты от МПСЗ идут с равными промежутками времени между пакетами? Для упрощения расчета ускорения КВ в БК
не можно, а нужно ;)
все от этого пляшут - 50 пакетов/сек
(брякнул не подумавши, см ниже)
Можно ли считать, что пакеты от МПСЗ идут с равными промежутками времени между пакетами? Для упрощения расчета ускорения КВ в БК.
пакеты идут непрерывно, со скоростью 19200 кбит
hosemarkus
22.09.2006, 10:08
:blush:
да уж, погорячился я слегка насчет всех....
эт я для упрощения по 50 считал,
конечно будет ~46 в секунду (21.8-21.9 мс на пакет)
Добавлено через 37 минут 52 секунды
По уточненным и согласованным с руководством данным:
21.84 мс - 45.8 пакетов/с с учетом погрешности PICа 19231 кбит
:)
zhpaul,
А может перелопатить протокол если в нем место нужно? Сделать логическую структуру кадров/мультикадров. Типа как CAS на потоке Е1 или т.п. ?
А может перелопатить протокол если в нем место нужно?
да вроде и так хватает...
zhpaul пишет:
Начиная с версии 7.9 для ДХ и 0.9 для ДПКВ протокол обмена будет изменен!
Прошивка БК в связи с этим изменится?:search:
Прошивка БК в связи с этим изменится?
ессно! я уже писал, что новая прошивка на БК будет на другом контроллере. А соотв. будет и возможность добавления новых ф-ций, т.к. память у нового контроллера в 2 раза больше. В остальном он не отличается от старого ничем и плата БК меняться не будет.
zhpaul, т.е. если МПСЗ будет прошит версией 7.9 для ДХ или 0.9 для ДПКВ, то старые БК с ним работать не смогут?
еще раз повторяю, БК меняться не будет. ТОЛЬКО его прошивка.
Да и со старой прошивкой БК будет работать, только частично. Что именно не будет работать, можно посмотреть, сравнив протоколы.
новая прошивка на БК будет на другом контроллере.
Хотелось бы узнать, как скоро можно будет заказать БК с новым контроллером, и когда ожидать 09 версию для ДПКВ 2 катушки.
Хотелось бы узнать, как скоро можно будет заказать БК с новым контроллером
если есть старый БК, то заказать можно только контроллер. А так прошивка для БК пока не готова, завтра начну писать.
когда ожидать 09 версию для ДПКВ 2 катушки
завтра
если есть старый БК
БК нет.
Я так понял, если я в понедельник закажу у Вадима БК и обменяю старый МПСЗ на новый, то БК будет с новым контроллером, а МПСЗ с 09 версией ДПКВ 2К.
Я так понял, если я в понедельник закажу у Вадима БК и обменяю старый МПСЗ на новый, то БК будет с новым контроллером
БК - да, с новым контроллером, НО со старой прошивкой.
Читай внимательней, что я писал!!!
прошивка для БК пока не готова, завтра начну писать
ключевое слово НАЧНУ
Мысли вслух по поводу протокола:
Если в протокол добавить еще один байтик, который будет порядковым номером блока (его просто инкрементировать по кругу) то в принимающем приложении мы 100% будем знать о пропуске блока (и скольких). Или это реализованно как-то по другому?
Или это реализованно как-то по другому?
Внимательно прочитай протокол касательно последнего и предпоследнего байта :mega_shok:
/forum/showthread.php?t=16
А потеря одного двух блоков ничем не грозит. Один блок длится 0,002184 сек, это наверное намного меньше времени обновления экрана БК
OlegK,
Ну тогда уж как в ОКС-7 замутить FSN и BSN (forward sequence number и backward sequence number).
НО, зачем??? :blush:
Добавлено через 5 минут 1 секунду
Макс,
эти байты на определение подлинности пакета, но не ничего не говорят о том сколько пакетов могло потеряться по дороге.
Хотя дубль два - нафига нам это знать
OlegK,
НО, зачем??? :blush:
Да фиг его знает, просто мысль такая меня посетила. :unknw:
Может кому и пригодится. А нет, так и чёрт с ней.
информация на БК обновляется каждые 0.5 сек. Блоки принимаются ВСЕ, и инфа о расходе воздуха (полоска внизу) обновляется с КАЖДЫМ пакетом. А на обороты и угол специально делал задержку, иначе цифры сливаются....
zhpaul,
Формат расхода воздуха в последнем опубликованном протоколе обмена с МПСЗ
является актуальным для версии 7.11 ?
то есть 1 байт, значения от 1 до 16 для табличного УОЗ.
является актуальным для версии 7.11 ?
я и забыл.... нет, формат сменился. Сегодня обновлю.
Добавлено через 1 час 6 минут 42 секунды
Обновил...
Павел, я долго читал и перечитывал описание и формулу для расхода воздуха...
Вопрос в следующем: Если в байте №25 последнего протокола (7.11)
поменять местами тетрады байта, я получу значение расхода в диапазоне от 0 до 255?
разве можно думать об таком в пятницу вечером.... :crazy: :wacko:
Не в бровь, а в глаз...
В свое оправдание могу сказать, что сейчас пью пиво.
Не в бровь, а в глаз...
В свое оправдание могу сказать, что сейчас пью пиво.
Хорошие мысли у тебя лезут когда пьешь пиво! :)
Если в байте №25 последнего протокола (7.11) поменять местами тетрады байта, я получу значение расхода в диапазоне от 0 до 255?
нет, не будет, т.к. дробное и целое значение рассчитывается по разному. Целое число - напрямую, дробное - через наклон ДАД
Павел,
в результате вычислений показаний ДАД по приведенной формуле получается некое число.
Что оно должно означать?
Павел,
в результате вычислений показаний ДАД по приведенной формуле получается некое число.
Что оно должно означать?
:) получается дробное число, которое означает какой сейчас расход. ы?
может так оно и есть, да я в цельночисленной арифметике пытаюсь это рассмотреть.
число это показывает положение режимной точки УОЗ относительно таблиц по разряжению. Например если число равно 4.50 то УОЗ рассчитывается по 4-й и 5-й кривой по расходу...
кто-нибудь может мне подсказать что надо отправить блоку чтоб он деактивировал иммобилайзер?
например код иммобилайзера "123"...
8Eh - Иммобилайзер (1 - вкл., 0 - выкл., 2 - активировать однократно и остановить двигатель)
Что-то мне тут непонятно...
Что-то мне тут непонятно...
а чего непонятного то? по адресу 8E посылаем 0, иммо выключен.
Или тебе нужно знать как код послать? Если да, то просто посылаем байты кода. 1 потом 2 потом 3 с паузами в полсекунды.
т.е. можно просто послать 8E 0 8E и иммо полюбому выключиться даже без кода?
т.е. можно просто послать 8E 0 8E и иммо полюбому выключиться даже без кода?
НЕТ! Чтобы МПСЗ начало принимать управляющие байты, надо сначала код ей послать. До этого ей пофиг чего вы пихаете в порт. Она воспримет только правильные первые цифры кода после включения зажигания, остальное будет игнорироваться.
Добавлено через 1 минуту 10 секунд
а вот когда будет послан правильный код и мпсз включится, вот тогда можно и 8e 0 8e чтобы в следующий раз код больше не спрашивала.
zhpaul,
спасибо. Буду пробывать.
Холодает. Снова актуален автозапуск и я снова задумался соорудить "обходчик" иммобилайзера МПСЗ. Как-то с включенным иммо спать спокойнее :)
Павел, что конкретно нужно заслать в МПСЗ чтоб деактивировать иммо? К примеру установленный код деактивации 1 2 3. Я так понимаю на 19200,8,n,1 надо заслать 0х01 0х02 0х03? Или что-то еще?
Не хочется возится в машине и сниферить обмен БК и МПСЗ...хочется в тепле спаять и чтоб прям из под паяльника заработало :)
Я так понимаю на 19200,8,n,1 надо заслать 0х01 0х02 0х03?
да .
the_XPOH
02.03.2012, 23:54
Паша, подскажи, контрольная сумма пакета - просто сумма всех байт с нулем?
Порылся по форуму, нашел - сложением :)
Иммо я кстати победил. Теперь он автоматически выключается сигналкой при автоматическом запуске. Так же сигналка может принудительно заглушить двигатель через иммо. Весьма удобно получилось. Хочу к этому еще RFID прилепить и вообще счастье будет.
Теперь с наступлением холодов хочу замутить себе Реле-регулятор с термокомпенсацией и прочими фенечками :) В общем то аналог ТОРН Адамчука...
Данные об оборотах, ДАД и ПХХ хочу брать от МПСЗ.
Вопрос:
29 байт - Флаги
Бит0 - клапан
Бит1 - концевик
Бит2 - 1 - коррекция по ДД вкл., 0 - автопостроение кривой усиления ДД
Бит3 - инверсия концевика карбюратора
Бит4 - иммобилайзер. 1 - активирован, 0 - не активен
Бит5 - лампа неисправности двигателя. 1 - горит, 0 - не горит
Бит7 - флаг ДПКВ
Бит 0 чему равен при ПХХ?
alex23mv
26.10.2012, 22:39
Иммо я кстати победил. Теперь он автоматически выключается сигналкой при автоматическом запуске.
можно по подробнее как это реализовать?
Бит 0 чему равен при ПХХ?
при ПХХ клапан выключен, соотв. бит этот равен 0
zhpaul, спасибо!
alex23mv,
можно по подробнее как это реализовать?
Это схема на МК. По свободе могу выложить прошивку и примерную схему. Для ее работы нужен БК т.к. код в память МК заносится с БК. Ну и транзисторы конвертера TTL-RS232 тоже из БК используются.