Форум ZETLAB

Архив обсуждений, технических вопросов и ответов по оборудованию, программному обеспечению и внедрению измерительных систем.

Страницы: 1
RSS
ZET 017-T8 - Взаимодействие с драйвером zADC при Ethernet-подключении
 
Осваиваем тензометрическую станцию ZET 017-T8. Стоит задача включить ее в создаваемый программно-аппаратный комплекс, программирование ведется в среде LabView. Предпочтительно подключать станцию по Ethernet. Для начала взял за основу архив модулей для ZET 210, созданный Михаилом Шестаковым и выложенный на сервере ZETLAB. Пока получилось следующее: 1) Идентификатор типа устройства для ZET 017 - подходит id 14 (A17U8) 2) При подключении станции к ПК по USB подключение к драйверу выполняется, часть функций работает, часть возвращает код ошибки FF00 (функция не поддерживается устройством) 3) При подключении станции по Ethernet нет подключения к драйверу (подключение к ZETview есть, функционал работает) Что хотелось бы понять: 1) как добиться взаимодействия с драйвером при Ethernet-подключении? 2) какие функции драйвера работают с ZET 017-T8, какие нет (конечно, можно выяснить опытным путем, но если есть готовый ответ - это ускорило бы работу)
 
Здравствуйте! 1) Для подключения устройств по Ethernet нужно сначала задействовать их через сетевую библиотеку (драйвер). В ПО ZETLab эту функцию выполняет приложение NetServer.exe. Конфигурация подключения настраивается один раз через приложение NetWizard.exe, а потом просто постоянно работает приложение NetServer.exe и в своем приложении можно пользоваться всеми функциями также как и при подключении по USB. Если хочется сделать все в своем приложении, то для начала нужно сделать подключение через функцию ZNetOpen из сетевой библиотеки. Описание этих функций можно найти в документе Руководство разработчика ZetlabStudio. Обращаем внимание, что NetServer начинает нумерацию NumberDSP с номера 67, а не с нуля, то есть обращение к устройствам подключенным с помощью NetServer следует начинать с функции ZOpen (14, 67). 2) Для тензостанции поддерживаются все основные функции для работы с АЦП и ЦАП и их достаточно для конфигурирования устройства и получения с него данных.
 
Спасибо, кое-что начинает проясняться... ))) Через драйвер отклик удалось получить. Пока дальше не слишком сильно продвинулся. Возник еще один вопрос. В руководстве описан протокол обмена через TCP/IP - это был бы идеальный для нас вариант. Но добиться соединения не получается. Опять же: обмен через программы ZETLAB работает. Через драйвер как минимум открывается соединение ZOpen(14,67) - дальше пока не копал. А вот открыть из LabView соединение TCP/IP по указанным в руководстве портам (1808 и т.д) не получается - нет ответа от устройства. NetWizard запускался, устройство сконфигурировано. NetServer запускал, он запускается без ошибок, но не вижу признаков, что он продолжает работать - в диспетчере программ Windows его не видно.
 
Возможно, устройство уже подключено к ПК и поэтому не принимает новые запросы на подключение (поддерживается только одно соединение). Проверить состояние подключения можно в программе NetWizard или с помощью иконки области уведомлений (systray). Для прямого подключения по TCP/IP требуется закрыть NetServer или настроить так, чтобы он не подключался к указанному IP-адресу. Проверить доступность самого устройства в сети можно обычным пингом.
 
Так и есть, подключено через NetWizard. Пинговаться будет только неподключенное устройство, так?
 
Нет, на пинг не влияет факт подключения устройства по TCP/IPv4. Пингом можно просто проверить, что устройство вообще находится в сети. Если при этом оно отклоняет запросы на подключения, обычно это значит, что либо подключение уже занято, либо по указанному IP-адресу в сети на самом деле находится другое устройство или ПК.
 
У меня вышло так: устройство подключено через NetWizard, подключения из LabView не проходят (выходит, и не должны, раз одно подключение уже есть), на пинг ответа нет, ПК пишет "устройство не обнаружено", хотя обычно по поводу отсутствующих устройств пишется "превышен интервал ожидания".
 
Такое вполне возможно по разным причинам, несмотря на то что устройство всегда старается ответить на полученный ICMP-запрос.
 
Отклик устройства удалось получить в тестовой конфигурации - станция напрямую подключена к ПК (без свитчей). Есть вопрос и есть замечание. Вопрос: подключение выполняется по трем сетевым портам (управление, АЦП, ЦАП), верно ли понимаю, что хэндшейк (синхронизация) производится один раз после подключения первого из портов? Замечание: в руководстве разработчика ZetlabStudio вместо описания команды GetInfo продублировано описание команды WriteDigitalPort. Надеюсь, в будущих редакциях руководства эта досадная ошибка будет исправлена. К счастью, описание поля данных для команды GetInfo есть в примере программы (приведенном далее в том же руководстве). Так что надеюсь всё же разобраться.
 
Добрый день! Согласование (прием пакета с полем handshake) производится по каждому порту. То есть подключаемся ко всем трем портам, и по каждому из них отдельно выполняем согласование. Спасибо за вявленную неточность в документации! В ближайшее время информация будет скорректирована.
Страницы: 1
Читают тему