Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Не могу получить и преобразовать данные с COM порта от устройства  (Прочитано 13277 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Andybrain
Интересующийся

ru
Offline Offline

« : 12-09-2012 05:34 » 

Я не профи работы с COM портами, помогите пожалуйста разобраться.
Есть исходные данные:
17. ПРОТОКОЛ ПЕРЕДАЧИ ИНФОРМАЦИИ ПО ИНТЕРФЕЙСУ RS-232.
17.1. Общие данные
ПИ соединяется по последовательному интерфейсу RS-232 с устройством пользова-
теля (PC-компьютером, имеющим COM- порт, или контроллером пользователя).
Скорость передачи 19.2 Kbod. Формат байта: 1 стартовый бит, 8 бит данных, 1 стопо-
вый бит.
ПИ работает только на передачу. Передача осуществляется информационными паке-
тами. Каждый пакет содержит информацию об одном канале.
ПИ работает в 2-х режимах передачи:
- «ИНИЦИАЛИЗАЦИЯ» - передача постоянных (запрограммированных) параметров
преобразователей ПМП и резервуаров – происходит только после подачи питания на ПИ (во
время индикации «бегущей строки» на индикаторе ПИ). За это время происходит троекрат-
ная передача 16-ти (по числу каналов) информационных пакетов: «1,2,…16 ® 1,2,…16
®1,2,…16»
- «ИЗМЕРЕННЫЕ ПАРАМЕТРЫ» - передача измеренных параметров – происходит в
рабочем режиме ПИ «Просмотр параметров среды». Период передачи всех информацион-
ных пакетов - 5 … 20 с в зависимости от числа каналов, установленных на контроль.
Формат информационных пакетов:
<SB>< ADDR><NBB><CMD><D1><D2>...<Dn><CHKS>, где:
SB - стартовый байт (0xB5);
ADDR - адрес преобразователя ПМП-200 (1…16);
NBB - количество байт данных D1...Dn в пакете;
CMD - команда пакета;
D1... Dn – данные, в зависимости от команды;
CHKS - контрольная сумма от ADDR и до последнего байта данных (сложение без переноса)
17.3. Данные, передаваемые в режиме «ИЗМЕРЕННЫЕ ПАРАМЕТРЫ»
NBB = 16
CMD = 0x05
D1 - заполнение резервуара в % (от 0…100%).
Если D1 = 0xFFh, то это означает обрыв связи с ПМП.
Если D1 = 0xFEh, то это означает неисправность датчика уровня жидкости ПМП.
D2, D3 - заполнение резервуара в единицах объема (от 0 до 9999) (на индикаторе ПИ
это число индицируется в виде от 00,00 до 99,99).
D2 - старший байт, D3 - младший байт
Это основная часть
Нужно считывать количество жидкости в числовом виде
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 12-09-2012 05:54 » 

Не понятно, что же ты сделал и что именно у тебя не получается? Пока выглядит как будто ты просто переписал задание.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Andybrain
Интересующийся

ru
Offline Offline

« Ответ #2 : 12-09-2012 06:50 » 

Не понятно, что же ты сделал и что именно у тебя не получается? Пока выглядит как будто ты просто переписал задание.

Есть код программы чуток под другой тип протокола, в нем требуется изменить именно преобразование полученных данных в числовой вид
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 12-09-2012 06:58 » 

Требуется кому?
Чего ты хочешь?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Andybrain
Интересующийся

ru
Offline Offline

« Ответ #4 : 12-09-2012 07:03 » 

Требуется кому?
Чего ты хочешь?
Требуется мне.
Имеется программа под совершенно другой протокол обмена.
Хотелось бы реализовать следующее - занести полученные данные в массив и выбрать из него числовое значение.
Записан
zubr
Гость
« Ответ #5 : 12-09-2012 07:09 » 

Andybrain, и?
как я понял, ты хочешь, чтобы мы тут код (причем скорее всего быдло-код), который ты нарыл в интернете, тут за тебя заточили под твои надобности?
Записан
Andybrain
Интересующийся

ru
Offline Offline

« Ответ #6 : 12-09-2012 07:13 » 

Andybrain, и?
как я понял, ты хочешь, чтобы мы тут код (причем скорее всего быдло-код), который ты нарыл в интернете, тут за тебя заточили под твои надобности?
Нет, хотелось бы подсказку где можно на эту тему почитать
Записан
zubr
Гость
« Ответ #7 : 12-09-2012 07:16 » 

Есть неплохая книга на эту тему: Агуров П. В. "Последовательные интерфейсы ПК. Практика программирования."
Записан
Andybrain
Интересующийся

ru
Offline Offline

« Ответ #8 : 12-09-2012 07:27 » 

Есть неплохая книга на эту тему: Агуров П. В. "Последовательные интерфейсы ПК. Практика программирования."
Спасибо.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 12-09-2012 18:21 » new

Нет, хотелось бы подсказку где можно на эту тему почитать

Молодец!
Только в следующий раз сразу говори сокровенную фразу. Без нее даже хрустальный шар не помог бы понять.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines