Вход

Регистрация
Главная
 

 

Пиротехнические пульты, пиротехническое оборудование
и пиротехника
Pyro Alex RF 48
Open Pyro SFX 8 D
Open Pyro SFX 10/120
Pyro Man 200 M
Spets 150
Приём заказов на изготовление пиротехнических пультов
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 3 из 3«123
Пиропульты - Электроника Форум » Пиротехническое оборудование » Изготовление пиропультов и таймеров » Пульт на интерфейсе RS-485 (Делимся идеями и приступаем к проектированию и разработке)
Пульт на интерфейсе RS-485
Open_PyroДата: Понедельник, 08.06.2009, 02:49 | Сообщение # 31
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
alexval2007, Прогу твою протестил все работае и передает через RS485, данные до устройсва доходят, но протокола как такового нет ... Вернее он есть но заточен совсем для другого устройства...
 
alexval2007Дата: Понедельник, 08.06.2009, 03:07 | Сообщение # 32
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
неспорю ну мы переточим так как нужно прога бета версия так что все можно легко исправить протокол твой меня устраивает в укороченом виде U001SC001 вот только незнаю как быть с < BR > можно его заменить буквой E
Таблица представления ASCII
Code
Binary Oct Dec Hex Glyph
010 0000 040 32 20 ␠
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D -
010 1110 056 46 2E .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?
Binary Oct Dec Hex Glyph
100 0000 100 64 40 @
100 0001 101 65 41 A
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44 D
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 G
100 1000 110 72 48 H
100 1001 111 73 49 I
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F O
101 0000 120 80 50 P
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 V
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
Binary Oct Dec Hex Glyph
110 0000 140 96 60 `
110 0001 141 97 61 a
110 0010 142 98 62 b
110 0011 143 99 63 c
110 0100 144 100 64 d
110 0101 145 101 65 e
110 0110 146 102 66 f
110 0111 147 103 67 g
110 1000 150 104 68 h
110 1001 151 105 69 i
110 1010 152 106 6A j
110 1011 153 107 6B k
110 1100 154 108 6C l
110 1101 155 109 6D m
110 1110 156 110 6E n
110 1111 157 111 6F o
111 0000 160 112 70 p
111 0001 161 113 71 q
111 0010 162 114 72 r
111 0011 163 115 73 s
111 0100 164 116 74 t
111 0101 165 117 75 u
111 0110 166 118 76 v
111 0111 167 119 77 w
111 1000 170 120 78 x
111 1001 171 121 79 y
111 1010 172 122 7A z
111 1011 173 123 7B {
111 1100 174 124 7C |
111 1101 175 125 7D }
111 1110 176 126 7E ~
 
Open_PyroДата: Воскресенье, 12.07.2009, 14:00 | Сообщение # 33
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Думаю все же применить какой нибуть промышленый протокол передачи данных с проверкой целосности пакета. Сейчас читаю литературу по этой теме... может у кого будут предложения по протоколу?
 
Open_PyroДата: Воскресенье, 19.07.2009, 14:00 | Сообщение # 34
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Выбратл протокол ModBus. В прикрепленый файлах подборка материалов по теме.

Думаю использовать стандарт ModBus ANSI где посылки передаются в читаемом режиме ANSI.
Примерный вид посылки
": A1 C1 D1 CC {CR}{LF}"

":" - разделитель посылок
"A1" - адрес устройства (до 247 устройств)
"С1" - команда устройству
"D1" - данные
"СС" - CRC - контрольная сумма
"{CR}{LF}" - символы перевода и возврата строки

Прикрепления: Modbus_Applicat.pdf(321Kb) · Modbus_Rus.doc(447Kb) · Modbus_over_ser.pdf(319Kb) · ModPlusDesignMa.pdf(1323Kb)


Сообщение отредактировал Open_Pyro - Понедельник, 20.07.2009, 17:23
 
alexval2007Дата: Понедельник, 20.07.2009, 07:30 | Сообщение # 35
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
Мда прогу почти всю менять
 
Open_PyroДата: Понедельник, 20.07.2009, 17:26 | Сообщение # 36
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
не прогу менять всю не нужно -вот почитай Modbus_Rus.doc

тебе нужно будет только менять строку отсылаемых данных

 
alexval2007Дата: Пятница, 13.11.2009, 23:12 | Сообщение # 37
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
Quote (Open_Pyro)
Выбратл протокол ModBus. В прикрепленый файлах подборка материалов по теме.

Думаю использовать стандарт ModBus ANSI где посылки передаются в читаемом режиме ANSI.
Примерный вид посылки
": A1 C1 D1 CC {CR}{LF}"

":" - разделитель посылок
"A1" - адрес устройства (до 247 устройств)
"С1" - команда устройству
"D1" - данные
"СС" - CRC - контрольная сумма
"{CR}{LF}" - символы перевода и возврата строки

сколько байт в пакете 6 ???

 
Open_PyroДата: Суббота, 14.11.2009, 04:14 | Сообщение # 38
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Quote (alexval2007)
сколько байт в пакете 6 ???

в случае

: A1 C1 D1 CC {CR}{LF}

передается 4 байта информации "A1 C1 D1 CC"
но по интерфейсу UART ты отправляешь 8 байт - это в виде ANSII "A 1 C 1 D 1 C C"
+ к этому ты начинаешь посылку с ANSII символа ":" и заканчиваешь символом перевода и возврата коретки это два байта в HEX "0D 0A"

Всего по интерфейсу UART ты передаешь 8+3 = 11 байт.

Почитай для начала Modbus_Rus.doc

Вот немного от туда чтобы ты понял:

Code


ASCII фрейм.  
В ASCII-режиме, сообщение начинается с "двоеточия" (:, ASCII 3A hex), и заканчивается последовательностью "возврат каретки-перевод строки" (CRLF, ASCII 0D и 0A hex).

Допустимые символы для передачи - это шестнадцатиричные цифры 0-9, A-F. Монитор сетевого устройства в сети непрерывно отслеживает символ "двоеточие". Когда он принят, каждое устройство декодирует следующие поле сообщения (поле адреса) и т.д.
Интервалы между символами сообщения могут быть до 1 сек. Если интервал больше, то принимающее устройство распознает это как ошибку. Типичный фрейм сообщения показан ниже.  

  ¦ старт  ¦адрес ¦ ф-ия ¦данные¦ LRC  ¦конец ¦
  +-----  +------ +------ +------  +----- +-----  +
  ¦1 сим  ¦2 сим  ¦2 сим ¦ n сим   ¦2 сим¦2 сим  ¦
  ¦   :        ¦           ¦           ¦              ¦         ¦CR LF ¦
  L-----   +------ +------ +------  +----- +------

  Исключение: В контроллерах типа 584 и 984A/B/X ASCII-сообщение может нормально заканчиваться после контрольной суммы без CRLF последовательности. Интервалы меньше 1 сек допускаются.  

 
Open_PyroДата: Суббота, 14.11.2009, 12:25 | Сообщение # 39
Генерал-майор
Группа: Администраторы
Сообщений: 395
Награды: 3
Репутация: 6
Статус: Offline
Чтобы не путаться в переводах 10 - 16 чисел и соответствия им символам ANSII вот таблица хорошая:

Прикрепления: 6792879.gif(33Kb)
 
alexval2007Дата: Суббота, 14.11.2009, 16:18 | Сообщение # 40
Электро воспламенитель
Группа: Администраторы
Сообщений: 662
Награды: 7
Репутация: 7
Статус: Offline
СПАСИБО У МНУ УЖЕ ЕСТЬ wink
 
Пиропульты - Электроника Форум » Пиротехническое оборудование » Изготовление пиропультов и таймеров » Пульт на интерфейсе RS-485 (Делимся идеями и приступаем к проектированию и разработке)
Страница 3 из 3«123
Поиск:


Rambler's Top100 Пиротехника, салюты, фейерверки. Яндекс цитирования
www.alexval2007.ucoz.ru © 2008