Переход из версии 8.2 к версии 8.6

Обсуждение вопросов, связанных со средами разработки и проектирования
Ответить
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Переход из версии 8.2 к версии 8.6

Сообщение nadin »

Объясните, пожалуйста, как корректно перейти из одной версии в другую.
Писала программу на 8.2 для Compact Rio, сейчас надо сделать так чтобы она работала в версии 8.6. Скопировала полностью проект и сохранила все в версии 8.6, запустила FPGA.vi вроде бы работает, а запускаю Host.vi и Windows Host.vi у меня не работает Shared Variable.lvlib (не передаются значения). Что надо сделать чтобы они заработали? Это первая ошибка.
А вторая, такая: в версии 8.2 Fifo буфер на Crio работал, а в 8.6 выдает ошибку -50400 (что передача не завершилась в течении периода тайм-аута или за определенное количество повторных попыток), почему такое может быть?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение Eugen Graf »

По первому, на сколько я знаю, нужно сделать Deploy для всех Shared Variables проекта.
По второму не знаю, может это последовательная ошибка из первого.
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение nadin »

Спасибо, попробую еще так. А то я уже создала новую библиотеку Shared Variable в версии 8.6, сначала все работало, а потом почему-то перестало, не понимаю почему, завтра еще раз попробую. А что с SV мало кто работает, а что тогда использовать?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение Eugen Graf »

Именно в CRio довольно часто используются SV, но я например не пишу проги для CRio, а в своих обычных прогах не использую их за ненадобностью. Их можно заменить (и в CRio проектах тоже) на приборы TCP/IP.
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение nadin »

А можно использовать SV и TCP/IP одновременно, я хочу SV использовать для запуска, останова, проверки буфера, а по TCP/IP передавать полученные данные с датчиков (их 26 штук).
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение Eugen Graf »

Ты можешь использовать и то и другое вместе или поотдельности. Как захочешь.

Чтобы структура была последовательной, я бы использовал либо то, либо другое. Конкретно по TCP/IP могу помочь, у меня достаточно опыта работы с ним. В пронципе прога на дивайсе будет сервером, а на компе клиентом. Для этого в примерах есть отличный пример Simple Client и Simple Server вроде называется.
Передаваемые данные не обязательно должны быть одного типа. Для передачи данных разного типа нужно преобразовать передаваемый пакет в binary string и отправлять их с помощью TCP Write. Правда нужно прикрепить к ним Header (длина пакета + идентификатор пакета), чтобы на другой стороне знать как эти данные интерпретировать и сколько байт считывать.
Это реализовано у меня например в чат-проекте, в приборах Common->TCP Write Wrapper и TCP Read Wrapper.
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение nadin »

Я буду использовать CRio и Touch Panel (с ОС Windows СE), в этом случае как CRio - клиент, а Touch Panel - сервер?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение Eugen Graf »

Думаю наоборот.
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение nadin »

Огромное спасибо!
А где найти твой прибор Common->TCP Write Wrapper и TCP Read Wrapper.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение Eugen Graf »

Наоборот потому что сервер по определению выполняет всю основную работу и работает независимо от того подключен ли клиент или нет.
Клиент в свою очередь отправляет запросы серверу и изображает данные, полученные от него. Ну может быть что нибудь с этими данными ещё делает, например пересчитывает их как нибудь или записывает на диск. Клиент почти не может работать без сервера, так как не имеет данных для обработки.
По этому я сказал, что CRio-дивайс это сервер, а TP-дивайс это клиент.

В чат-проекте имеется папка Common, там находятся эти приборы. Их можно использовать и в клиенте и в сервере, поэтому они в папке Common, так как являются идентичными и общими для обеих сторон.

Я ни в коем случае не заставляю использовать Client-Server архитектуру, но лично я предпочитаю её SV, так как она имеет несколько хороших особенностей это во первых программирование, основаное на ивентах (то есть есть акция - есть реакция), во вторых избежание Race Conditions, а в третьих NI напихали в эти SV столько лишнего кода (для поддержки всех извесных и неизвестных фичей), что оно наверняка занимает много памяти и наверняка работает медленнее, чем нативный TCP/IP.
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение nadin »

Я пока не могу представить как использовать только TCP/IP в моем случае, надо посмотреть примеры.
nadin
junior
junior
Сообщения: 58
Зарегистрирован: 23 мар 2009, 16:49
Версия LabVIEW: 8.2,8.6,2010
Откуда: Россия
Контактная информация:

Re: Переход из версии 8.2 к версии 8.6

Сообщение nadin »

Примеры посмотрела, но так и не поняла, как использовать TCP/IP вместо SV в моем случае.
Может кто подскажет, прикрепляю часть программы
proga(Host).vi выполняется на контроллере CRio и proga(Windows Host).vi на ПК
Вложения
proga.rar
(81.74 КБ) 225 скачиваний
Ответить

Вернуться в «Среды разработки»