Диагностировать проблемы связи с устройством Zaber

Когда я пишу программное обеспечение для управления устройствами Zaber, я иногда получаю странное поведение, которого я не понимаю. Обычно это вызвано ошибками в моем скрипте или другом программном обеспечении, а иногда это аппаратная проблема, например, слабое соединение на последовательном порту.

Как я могу точно узнать, какие команды отправляет мое программное обеспечение и как реагирует устройство? Мне нужен какой-то файл журнала, в котором я мог бы искать, чтобы узнать, что вызывает ошибки.

Чаще всего я пишу скрипты в Zaber Console, используя C #, но я также пишу VI LabVIEW, используя драйвер инструмента Zaber.


person Don Kirkby    schedule 17.10.2012    source источник


Ответы (1)


Есть несколько методов для просмотра необработанных данных, отправляемых на устройства Zaber и получаемых от них. Некоторые из них работают только с определенными операционными системами, другие работают только с определенным программным обеспечением. Большинство вариантов включают просмотр необработанных данных, поэтому обратитесь к руководству пользователя, чтобы узнать подробности о формат сообщения и список номеров команд .

Ниже я постараюсь перечислить несколько вариантов и сообщить, когда они будут доступны.

Окно журнала консоли Zaber

Только в Zaber Console, только в Windows.

Это самый простой метод, если вы используете скрипты или плагины Zaber Console. Окно в правом верхнем углу записывает для вас все запросы и ответы. Возможно, вам будет легче отследить проблему, если вы очистите окно непосредственно перед тем, как проблема возникнет, и остановите скрипт сразу после этого. Одним из недостатков является то, что некоторые поврежденные сообщения не отображаются, вы просто видите ошибку частичного тайм-аута пакета. Если нужные сообщения прокручиваются сверху, измените размер журнала на вкладке «Дополнительно».

Портмон

Только в 32-битной Windows.

Portmon был отличным инструментом, и мне жаль, что он никогда не обновился до 64-битной Windows. Если вы все еще используете 32-разрядную версию Windows, стоит попробовать. Я обнаружил, что последняя версия 3.03 у меня не работает, но 3.02 все еще работает. Если официальная версия не работает, то поиск portmon 3.02 обычно находит какой-либо сайт со старой версией.

  • В версии 3.02 откройте меню «Компьютер» и выберите «Подключить локально».
  • В меню «Захват» выберите «Порты: COM1» или любой другой последовательный порт, к которому вы хотите подключиться. Убедитесь, что ваше программное обеспечение в настоящее время закрыто, иначе Portmon не сможет подключиться к последовательному порту. Иногда после использования Portmon вам необходимо перезагрузить компьютер, чтобы он освободил последовательный порт.
  • В меню «Правка» выберите «Фильтр / выделение ...» и установите для параметра «Включить» значение IRP_MJ_READ;IRP_MJ_WRITE.
  • В меню «Параметры» включите «Показать шестнадцатеричный формат» и «Часы».
  • Попробуйте отправить несколько команд из вашего программного обеспечения, а затем посмотрите в окно Portmon. Вы должны увидеть что-то подобное после того, как расширите столбец Другое.

Снимок экрана Portmon

На скриншоте вы можете увидеть две отправленные команды (1 блок по 6 байтов для каждой команды) и два возвращаемых ответа (6 блоков по 1 байту для каждого ответа). Помните, что на дисплее используются шестнадцатеричные числа, поэтому первая команда - 14 шестнадцатеричных или 20 десятичных (абсолютное перемещение).

HHD последовательный монитор

Лучшая замена, которую я нашел для Portmon, - это HHD Serial Monitor. Это не бесплатно, но у него есть пробный период, а лицензия довольно дешевая. Я думаю, что он может быть более мощным, чем Portmon, но его не так просто использовать.

Вот настройки, которые я нашел полезными для регистрации команд устройства Zaber. После установки и запуска Device Monitoring Studio я щелкнул последовательный порт, который хочу отслеживать, в списке портов. Это открывает список доступных представлений, и я дважды щелкаю «Запросить представление». Справа я нажимаю кнопку "Пуск". Это открывает представление запроса, и я нажимаю на вкладку Complete.

Теперь, когда я отправляю некоторые команды на устройство, я вижу запросы на чтение и запись с шестнадцатеричным и текстовым отображением данных. Вот эквивалент скриншота Portmon выше.

Скриншот монитора последовательного порта HHD

Опять же, первая команда - 14 шестнадцатеричных или 20 десятичных (абсолютное перемещение).

NI Spy или NI I / O Trace

Доступно в LabVIEW

Этот вариант не так легко читать, но он поставляется с LabVIEW, и вы можете прочитать документацию о том, как ее запустить. Вот скриншот инструмента NI Spy. Я думаю, что это было в старых версиях LabVIEW.

Скриншот NI Spy

person Don Kirkby    schedule 17.10.2012