NI 9871

Ответить
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

NI 9871

Сообщение Elen »

Впервые реализую проект в LabVIEW. С помощью примера NI-987x Serial Loopback реализовала обмен данными с одним прибором через Port1. Но надо реализовать обмен данными по всем портам. Не пойму как это лучше сделать. На уровне FPGA понятно - организовать 4 аналогичных цикла. А на уровне контроллера как параллельно организовать работу с четырьмя портами? - может организовать параллельно 4 ссылки на FPGA? - рационально ли это?
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: NI 9871

Сообщение Vasiliy Baev »

Elen, здравствуйте.
Данный модуль можно использовать на уровне Scan Engine, для этого необходимо установить дополнительный софт на контроллер, как показано на рисунке ниже:
Soft.jpg
Далее работайте как Вам удобно. Только выберите правильные настройки для каждого из порта:
SetupRS.png
Оптимальный вариант, на мой взгляд, для каждого порта свой цикл.

ПиСи
Не забывайте про перемычки при создании кабеля. Распиновка разъёма есть в описании к модулю.
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: NI 9871

Сообщение Elen »

Vasiliy Baev, здравствуйте.
Спасибо за совет. Но этот вариант я уже пробовала (прочитала о нем на ni.com), но у меня ничего не получилось, потому что ни в MAX, ни в Проекте я не видела портов (как это было описано на ni.com), хотя вроде выполнила все описанные действия: установить Scan Engine, в Проекте выполнить Deployy All. Кстати, после Deployy All у меня вообще проект перестал видеть модуль 9871, LabVIEW страшно ругался, и я ничего не могла восстановить пока не отформатировала контроллер. После этого к этому способу больше не возвращалась, реализовывалась через FPGA. Поэтому возвращаюсь к своему вопросу: 4 параллельные ссылки на FPGA - это рационально?
Image.jpg
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: NI 9871

Сообщение Vasiliy Baev »

Elen, еще раз здравствуйте. Всё таки Вы зря себе усложняете жизнь с FPGA. У меня сейчас на столе cRIO-9012 с модулем 9071 прекрасно работает в Scan Engine под :labview: 2013 SP1F2.
Ведь если нет необходимости в частотах больших (DI/DO, счетчики, ....) , то переходить на уровень FPGA это не правильно. Тем более когда речь идёт об RS485/232.
Я бы рекомендовал разобраться с софтом и упростить себе работу.

4 ссылки на ПЛИС - плохо. Ссылка одна, а провод от неё идет в 4 цикла - это норма.
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: NI 9871

Сообщение Elen »

Vasiliy Baev, здравствуйте.
Спасибо, Вы подтвердили мои опасения насчет нескольких ссылок на FPGA.
OK, выполнила форматирование контроллера, установила софт, создала новый проект, добавила cRIO как Scan Interface, выполнила Deployy All.
Но я все равно не вижу у модуля 9871 порты как это показано на ni.com (см.картинку с ni.com ) :
MAX Settings.png
MAX Settings.png (7.65 КБ) 10825 просмотров
и с моего MAX:
My MAX.JPG
мой проект:
my Project.JPG
my Project.JPG (32.66 КБ) 10825 просмотров
В чем может быть причина?

И второй вопрос, возвращаясь к FPGA: если одна ссылка, из нее четыре цикла - а как закрывать ссылку после четырех циклом? (вдруг Scan Interface у меня все же не заработает)

Заранее спасибо за терпение
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: NI 9871

Сообщение Vasiliy Baev »

На Вашем скриншоте видно, что у вас стоит версии программы 14 года, что в них нового я не видел. Пока нет возможности скачать эти 4 гб и проверить работу на новых драйверах.
У меня на предыдущей версии всё хорошо.
Снимок_экрана_101614_030027_PM.jpg
Первое что мне приходит в голову - проверить питание на модуле 9870, у него оно внешнее и перезагрузить контроллер.
Других идей пока нет. Я подумаю над этим.

По поводу FPGA - ссылку достаточно будет закрыть в одном месте. Это не так страшно.
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: NI 9871

Сообщение Elen »

Vasiliy Baev, еще раз здравствуйте.
Я нашла проблему, оказывается необходимо было установить на контроллере NI-VISA SERVER. После этого в MAX появились порты. Но программа на контроллере пока не заработала после установки свойства "Wire Mode" ругается "The specified state of the attribute is not valid, or is not supported as defined by the resource." С чем это может быть связано?
Prg.JPG
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: NI 9871

Сообщение Vasiliy Baev »

Elen,
1. Вы выбрали не тот порт. Порт номер один принадлежит RS232, располагающемуся на контроллере.
2. Установку wire mode вынесите за цикл, туда где вы инициализируете порт.
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: NI 9871

Сообщение Elen »

Vasiliy Baev,

Спасибо, все получилось!!!
Так как я перехожу в своем проекте на режим сканирования, обращаюсь к Вам за рекомендацией. У меня 30 каналов DI и 30 каналов DO. Если я правильно поняла, я должна создать соответственно 60 псевдонимов ввода/вывода, чтобы обращаться к к каналам через интерфейс сканирования. Но данные DI и DO мне также необходимы в host-программе, расположенной на компьютере. Как лучше организовать передачу: псевдонимам ввода/вывода задать свойство "Enable Network Publishing" и использовать их напрямую в host-программе или создать отдельные переменные общего доступа и передавать через них, а псевдонимы ввода/вывода использовать только на контроллере?

Заранее спасибо.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 8 раз
Поблагодарили: 10 раз
Контактная информация:

Re: NI 9871

Сообщение Vasiliy Baev »

Elen, при работе с ПАК в режиме Scan Engine стоит помнить о нескольких вещах:
1. Настройки Scan Engine
SE.jpg
Scan Period - время, определяющее частоту опроса I/O. Максимальная частот 1КГц (=1ms).
Network Publishing - время, определяющее частоту публикации сетевых переменных.
Это два важных параметра которые обязательно нужно проверять и настраивать под себя.
2. Чем больше сетевых переменных - тем больше нагрузка на CPU контроллера (Проверено на LV2009 2 года назад). Рекомендую уменьшать сетевые переменные до минимума, объединяя данные в кластеры и тп..
На мой взгляд оптимально строить архитектуру где по одной переменной "Data", идут данные на Контроллер, а с ПК поступают команды по переменной "Comand" и информация об выполнении команд по переменной "Reply". Могу привести такие примеры, но чуть позже.
3. Самый лучший и надежный способ передачи данных (и самый быстрый) - это Network Streams. Открываю шаблонные проекты для работы с cRIO в режиме SE - вы увидите именно NS.
4. Выбор типа обращения к I/O определяется задачами, в медленных системах допустимо использовать обращение к переменным I/O на прямую из Host приложения. Но к этому лучше себя не приучать :)
Аватара пользователя
Super Star
adviser
adviser
Сообщения: 228
Зарегистрирован: 07 фев 2013, 08:37
Версия LabVIEW: 2011

Re: NI 9871

Сообщение Super Star »

недавно крутил этот же модуль от НИ.... сначала было все неясно, потом разобрался
я люблю свою работу.... Я приду сюда в субботу ...
Ответить

Вернуться в «Модули cRIO»