NI 9871
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
NI 9871
Впервые реализую проект в LabVIEW. С помощью примера NI-987x Serial Loopback реализовала обмен данными с одним прибором через Port1. Но надо реализовать обмен данными по всем портам. Не пойму как это лучше сделать. На уровне FPGA понятно - организовать 4 аналогичных цикла. А на уровне контроллера как параллельно организовать работу с четырьмя портами? - может организовать параллельно 4 ссылки на FPGA? - рационально ли это?
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: NI 9871
Elen, здравствуйте.
Данный модуль можно использовать на уровне Scan Engine, для этого необходимо установить дополнительный софт на контроллер, как показано на рисунке ниже: Далее работайте как Вам удобно. Только выберите правильные настройки для каждого из порта: Оптимальный вариант, на мой взгляд, для каждого порта свой цикл.
ПиСи
Не забывайте про перемычки при создании кабеля. Распиновка разъёма есть в описании к модулю.
Данный модуль можно использовать на уровне Scan Engine, для этого необходимо установить дополнительный софт на контроллер, как показано на рисунке ниже: Далее работайте как Вам удобно. Только выберите правильные настройки для каждого из порта: Оптимальный вариант, на мой взгляд, для каждого порта свой цикл.
ПиСи
Не забывайте про перемычки при создании кабеля. Распиновка разъёма есть в описании к модулю.
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: NI 9871
Vasiliy Baev, здравствуйте.
Спасибо за совет. Но этот вариант я уже пробовала (прочитала о нем на ni.com), но у меня ничего не получилось, потому что ни в MAX, ни в Проекте я не видела портов (как это было описано на ni.com), хотя вроде выполнила все описанные действия: установить Scan Engine, в Проекте выполнить Deployy All. Кстати, после Deployy All у меня вообще проект перестал видеть модуль 9871, LabVIEW страшно ругался, и я ничего не могла восстановить пока не отформатировала контроллер. После этого к этому способу больше не возвращалась, реализовывалась через FPGA. Поэтому возвращаюсь к своему вопросу: 4 параллельные ссылки на FPGA - это рационально?
Спасибо за совет. Но этот вариант я уже пробовала (прочитала о нем на ni.com), но у меня ничего не получилось, потому что ни в MAX, ни в Проекте я не видела портов (как это было описано на ni.com), хотя вроде выполнила все описанные действия: установить Scan Engine, в Проекте выполнить Deployy All. Кстати, после Deployy All у меня вообще проект перестал видеть модуль 9871, LabVIEW страшно ругался, и я ничего не могла восстановить пока не отформатировала контроллер. После этого к этому способу больше не возвращалась, реализовывалась через FPGA. Поэтому возвращаюсь к своему вопросу: 4 параллельные ссылки на FPGA - это рационально?
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: NI 9871
Elen, еще раз здравствуйте. Всё таки Вы зря себе усложняете жизнь с FPGA. У меня сейчас на столе cRIO-9012 с модулем 9071 прекрасно работает в Scan Engine под 2013 SP1F2.
Ведь если нет необходимости в частотах больших (DI/DO, счетчики, ....) , то переходить на уровень FPGA это не правильно. Тем более когда речь идёт об RS485/232.
Я бы рекомендовал разобраться с софтом и упростить себе работу.
4 ссылки на ПЛИС - плохо. Ссылка одна, а провод от неё идет в 4 цикла - это норма.
Ведь если нет необходимости в частотах больших (DI/DO, счетчики, ....) , то переходить на уровень FPGA это не правильно. Тем более когда речь идёт об RS485/232.
Я бы рекомендовал разобраться с софтом и упростить себе работу.
4 ссылки на ПЛИС - плохо. Ссылка одна, а провод от неё идет в 4 цикла - это норма.
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: NI 9871
Vasiliy Baev, здравствуйте.
Спасибо, Вы подтвердили мои опасения насчет нескольких ссылок на FPGA.
OK, выполнила форматирование контроллера, установила софт, создала новый проект, добавила cRIO как Scan Interface, выполнила Deployy All.
Но я все равно не вижу у модуля 9871 порты как это показано на ni.com (см.картинку с ni.com ) : и с моего MAX: мой проект: В чем может быть причина?
И второй вопрос, возвращаясь к FPGA: если одна ссылка, из нее четыре цикла - а как закрывать ссылку после четырех циклом? (вдруг Scan Interface у меня все же не заработает)
Заранее спасибо за терпение
Спасибо, Вы подтвердили мои опасения насчет нескольких ссылок на FPGA.
OK, выполнила форматирование контроллера, установила софт, создала новый проект, добавила cRIO как Scan Interface, выполнила Deployy All.
Но я все равно не вижу у модуля 9871 порты как это показано на ni.com (см.картинку с ni.com ) : и с моего MAX: мой проект: В чем может быть причина?
И второй вопрос, возвращаясь к FPGA: если одна ссылка, из нее четыре цикла - а как закрывать ссылку после четырех циклом? (вдруг Scan Interface у меня все же не заработает)
Заранее спасибо за терпение
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: NI 9871
На Вашем скриншоте видно, что у вас стоит версии программы 14 года, что в них нового я не видел. Пока нет возможности скачать эти 4 гб и проверить работу на новых драйверах.
У меня на предыдущей версии всё хорошо. Первое что мне приходит в голову - проверить питание на модуле 9870, у него оно внешнее и перезагрузить контроллер.
Других идей пока нет. Я подумаю над этим.
По поводу FPGA - ссылку достаточно будет закрыть в одном месте. Это не так страшно.
У меня на предыдущей версии всё хорошо. Первое что мне приходит в голову - проверить питание на модуле 9870, у него оно внешнее и перезагрузить контроллер.
Других идей пока нет. Я подумаю над этим.
По поводу FPGA - ссылку достаточно будет закрыть в одном месте. Это не так страшно.
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: NI 9871
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." С чем это может быть связано?
Я нашла проблему, оказывается необходимо было установить на контроллере NI-VISA SERVER. После этого в MAX появились порты. Но программа на контроллере пока не заработала после установки свойства "Wire Mode" ругается "The specified state of the attribute is not valid, or is not supported as defined by the resource." С чем это может быть связано?
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: NI 9871
Elen,
1. Вы выбрали не тот порт. Порт номер один принадлежит RS232, располагающемуся на контроллере.
2. Установку wire mode вынесите за цикл, туда где вы инициализируете порт.
1. Вы выбрали не тот порт. Порт номер один принадлежит RS232, располагающемуся на контроллере.
2. Установку wire mode вынесите за цикл, туда где вы инициализируете порт.
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: NI 9871
Vasiliy Baev,
Спасибо, все получилось!!!
Так как я перехожу в своем проекте на режим сканирования, обращаюсь к Вам за рекомендацией. У меня 30 каналов DI и 30 каналов DO. Если я правильно поняла, я должна создать соответственно 60 псевдонимов ввода/вывода, чтобы обращаться к к каналам через интерфейс сканирования. Но данные DI и DO мне также необходимы в host-программе, расположенной на компьютере. Как лучше организовать передачу: псевдонимам ввода/вывода задать свойство "Enable Network Publishing" и использовать их напрямую в host-программе или создать отдельные переменные общего доступа и передавать через них, а псевдонимы ввода/вывода использовать только на контроллере?
Заранее спасибо.
Спасибо, все получилось!!!
Так как я перехожу в своем проекте на режим сканирования, обращаюсь к Вам за рекомендацией. У меня 30 каналов DI и 30 каналов DO. Если я правильно поняла, я должна создать соответственно 60 псевдонимов ввода/вывода, чтобы обращаться к к каналам через интерфейс сканирования. Но данные DI и DO мне также необходимы в host-программе, расположенной на компьютере. Как лучше организовать передачу: псевдонимам ввода/вывода задать свойство "Enable Network Publishing" и использовать их напрямую в host-программе или создать отдельные переменные общего доступа и передавать через них, а псевдонимы ввода/вывода использовать только на контроллере?
Заранее спасибо.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: NI 9871
Elen, при работе с ПАК в режиме Scan Engine стоит помнить о нескольких вещах:
1. Настройки Scan Engine 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 приложения. Но к этому лучше себя не приучать :)
1. Настройки Scan Engine 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
- Сообщения: 228
- Зарегистрирован: 07 фев 2013, 08:37
- Версия LabVIEW: 2011
Re: NI 9871
недавно крутил этот же модуль от НИ.... сначала было все неясно, потом разобрался
я люблю свою работу.... Я приду сюда в субботу ...