Форум TRACE MODE: техническая поддержка
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
  
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Драйверы / Device Drivers » нестандартный драйвер

   
Автор / Author Тема / Topic: нестандартный драйвер
yura
Junior Member / Новичок
Участник № / Member № 35


Icon 1 отправлено / posted      Профиль для / Profile for yura           Редактировать/удалить сообщение / Edit/Delete Post 
Существует проблема. Устройство принимает данные в формате размером в 11бит:
1 2 3 4 5 6 7 8 9 10 11 - номера бит
0 х х х х х х х х N 1
1- стартовый бит
2-9- информационные биты
10- признак команды (N=1) или данных (N=0)
11 - стоповый бит
Для опроса устройства посылается 4 байта в которых первых два байта значения бита 10 = 1,
а следующие байты N=0. В ответе устройства все байты имеют значение 10 бита равным 0 (N=0).
Для обмена с ТМ5, написан драйвер обмена по последовательному порту. Можно ли реализовать в драйвере изменение 10-го бита в одной посылке. В стандартных настройках порта можно установить любое значение (маркер, пробел) но оно будет использоваться во ВСЕХ байтах. Есть ли какой либо выход?

Сообщения / Posts 5 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 5 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Не совсем понятны фразы: "Можно ли реализовать в драйвере изменение 10-го бита в одной посылке" и "В стандартных настройках порта можно установить любое значение (маркер, пробел) но оно будет использоваться во ВСЕХ байтах" - о какой настройке порта идет речь и что значит изменение в одной посылке? Пожалуйста, поясните свой вопрос более подробно. [Недоумение / Confused]
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
yura
Junior Member / Новичок
Участник № / Member № 35


Icon 1 отправлено / posted      Профиль для / Profile for yura           Редактировать/удалить сообщение / Edit/Delete Post 
У нас есть устройство со следующим протоколом:
команда запроса ХХYY (где X и Y - информационный байт), ответ - YYYYY...YYY. Для передачи байта X порт должен иметь следующие настройки: 1 стартовый бит, 8 бит данных, маркер=1, 1 стоповый бит; для Y - 1 стартовый бит, 8 бит данных, пробел=0, 1 стоповый бит. Мы реализовали для данного устройства драйвер обмена по последовательному порту, но у нас нет возможности во время обмена данными менять значение 10-го бита. Что Вы нам посоветуете в решении этой проблемы?

Сообщения / Posts 5 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 9 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
В таком случае Вам необходимо писать драйвер через TYPE12 (драйвер для обмена по произвольному носителю) и реализовывать обработчик СОМ порта самим. TYPE11 имеет встроенную поддержку обработки СОМ порта и не поддерживает динамического изменения настроек СОМ порта при приеме-передаче.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
_SaM_
Forum Member / Участник форума
Участник № / Member № 122


Icon 1 отправлено / posted      Профиль для / Profile for _SaM_           Редактировать/удалить сообщение / Edit/Delete Post 
Нам тоже пришлось из-за особенности устройства (нужно было удерживать DTR после окончания передачи) пришлось переписать драйвер TYPE11 на TYPE12. Изменения не очень сложные - основные проблемы с хранением настроек, у нас они хранятся в файле. Есть ли какие-нибудь другие способы?
Сообщения / Posts 40 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Не очень понятно, о каких настройках идет речь.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
_SaM_
Forum Member / Участник форума
Участник № / Member № 122


Icon 1 отправлено / posted      Профиль для / Profile for _SaM_           Редактировать/удалить сообщение / Edit/Delete Post 
Да хотя бы выбор СОМ-порта. Да, конечно можно все настройки СОМ-порта указывать в параметрах канала, но так получается как-то не очень хорошо. Если каналов много, а проект придётся переносить на другую машину, где порт поменятся или просто небоходимо изменить параметры СОМ порта - придётся менять настройки для каждого канала.
Сейчас же в нашем драйвере dll при инициализации загружает все необходимые параметры из обычного текстового файла.

Сообщения / Posts 40 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Можно попробовать при первом вызове драйвера проанализировать количество портов и опросить их последовательно на наличие подключенных устройств. Где устройство ответит, с тем СОМ-портом и работать. В таком случае нет необходимости хранить настройки и при переходе не другую систему автоматически бедет осуществлен переход на новый СОМ-порт.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
_SaM_
Forum Member / Участник форума
Участник № / Member № 122


Icon 1 отправлено / posted      Профиль для / Profile for _SaM_           Редактировать/удалить сообщение / Edit/Delete Post 
В принципе конечно реально, но 32 возможных СОМ-порта, 2 возможных скорости работы. И 32 возможных устройства на одном СОМ-порту, подключенных по RS-485 = 2048 вариантов [Улыбка / Smile]
Сообщения / Posts 40 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
_SaM_
Forum Member / Участник форума
Участник № / Member № 122


Icon 1 отправлено / posted      Профиль для / Profile for _SaM_           Редактировать/удалить сообщение / Edit/Delete Post 
Да, 2 возможных скорости работы - это столько у нашего прибора. Реально же - больше.
Нет, в данном случае ini-файл предпочтительнее. А ещё можно в dll и ведения log-файла подрубить - сразу будет видно, что работает, а что - нет

Сообщения / Posts 40 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Открыть тему / Open Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2