This is topic Описание протокола Ш711/1 in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000007.html

Posted by Ленар (Участник № / Member № 2144) on :
 
В руководстве имеются примеры драйверов t11. Не могли бы вы дать ссылки на описание этих протоколов (Ш711/1 и HostLink) для разбора этих примеров?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Актуальных ссылок на эти протоколы у нас нет. Драйверы разрабатывались по печатным текстам начала 90-х годов для предыдущих версий Trace Mode.
Попытки найти ссылку у производителя, например, http://www.rbs.ru/etp/prod/prod_files/sh711_rus.asp.htm, не удались.
Да и нет уверенности, что современные версии протоколов соответствуют тем, по которым разрабаьывались драйверы..
 
Posted by Ленар (Участник № / Member № 2144) on :
 
Эти тексты не сохранились и у вас, я так понял?
Тогда можно получить какой нибудь другой пример с описанием протокола? Так при изучении не совсем понятно что делается в некоторых функциях (например в Get или Set).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Увы, не сохранились. По сложившейся практике передача описаний "закрытых" протоколов не производится.
В приведенном примере функция Set при первом вызове производит инициализацию устройства - посылка 0x7c, а в последующих - запрос данных с указанием количества принимаемых от устройства байтов данных. Функция Get разбирает ответ от устройства, конвертирует символы в вещественные данные и передает во входные значения каналов, связанных с соответствующими приемниками данных.
 
Posted by Ленар (Участник № / Member № 2144) on :
 

 
Posted by Ленар (Участник № / Member № 2144) on :
 
По примеру пытаюсь сделать следующий драйвер: имеются 3 устройства, с каждого необходимо брать по 2 параметра. По протоколу устройство на мой запрос выдает все параметры устройства (даже те которые мне не нужны) в виде блока данных, где каждые 4 подряд байта - величина float. Я так понял мне нужно организовать 3 блоковых запроса по 2 канала в каждом блоке?
По адресации у меня 1 байт на адрес устройства и 1 байт на адрес регистра, значит можно любой вид драйвера выбирать?
 
Posted by Ленар (Участник № / Member № 2144) on :
 
"Два младших байта структуры IA (IA.c[0] и IA.c[1]) влияют также на формирование блоковых (групповых запросов)."
Два младших байта это то что я забью в поле "адрес" (атрибут 1 и 2) или то что забью в последнем параметре word?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вы правы - Вам нужно организовать 3 шрупповых запроса по 2 канала в каждом.
Вы действительно можете выбирать любой из 4-х видов драйвера.
При этом "два младших байта структуры IA" - это два верхних параметра в редакторе переменной этого драйвера (Параметр 1 и Параметр 2).
 
Posted by Ленар (Участник № / Member № 2144) on :
 
Драйвер написал, но никак не удается его подключить. Высылаю тестовый проект и файлы драйвера. Экспортировал все функции, но в протоколе о драйвере ни слова. Использую COM1, но в протоколе после закрытия появляется строка INF_RS:COM4 TRANSACTION=0 ERROR=0 TIME=13.406.
Почему СОМ4? В чем вообще ошибка? Драйвер уменьшил до минимума, то есть без всяких проверок (то есть сразу return(0)) и т.п. Посылаю в порт всего один символ, но при слежении за портом (например при помощи Free Serial Port Monitor) в журнал выводятся только строки об открытии и закрытии порта, запросов никаких нет. Ответ от устройства не расшифровываю, а просто присваиваю p[0].V.v=250 (хотя пробовал и расшифровывать), но при запуске канал так и остается нулевым. Я так понял драйвер не подключается к программе?

Заранее большое спасибо за оперативность.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Мы получили Ваш проект с драйвером и ответили Вам почтой.
В драйвере у Вас обнаружена ошибка в определении передаваемого параметра.
Переадресация COM-портов конкретно в Вашем узле Вашего проекта имеет место. Как возникла такая некорректность в описании узла, сказать не можем, не имея строгой последовательности Ваших процедур при создании проекта.
Однако, если в Вашем же проекте создать заново такой же узел, то вызов драйвера осуществляется и переадресации портов нет.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2