Page 23 of 23

Re: Советы по программированию на LabVIEW

PostPosted: 02 Dec 2019, 08:10
by rsv
Как правильно наладить взаимодействие между VI, работающей на ПК и VI, реализованной в RealTime?
Сейчас у меня есть подключенный контроллер с кнопочками и реле. Создал VI с интерфейсом - считываются дискретные и аналоговые сигналы с помощью DAQmx.
Как вызвать VI, реализованную в RealTime? Визуальные элементы можно оставить или всё-таки всё управление должно быть реализовано в VI, работающих на ПК?
Чувствую, что вопрос глупый... :think:

Re: Советы по программированию на LabVIEW

PostPosted: 02 Dec 2019, 12:06
by Artem.spb
Нет глупых вопросов, если вы учитесь.
А ответ не такой простой, потому что вариантов масса. И в том числе ответ зависит от задачи.
Есть чисто :labview:-варианты. Shared variable, стримы.
можно даже с хоста запустить VI на RT-машине в режиме отладки, и вс будет отображаться.
Есть обычный TCP, где вы можете насочинять свой протокол взаимодействия.
Есть мудрёные варианты, типа поднять на RT Modbus-сервер, и с хоста запрашивать данные по модбасу. И .т.д.
В простейшем случае, если нужно "редко" получать какие-то значения, то Shared variable вполне достаточно

Re: Советы по программированию на LabVIEW

PostPosted: 02 Dec 2019, 13:53
by rsv
Надо передать на контроллер уставки, с него получить готовность оборудования, запустить на выполнение и после завершения получить массив данных.
Думаю, Shared variable подойдёт. Начну с этого. Спасибо, Artem.spb.

Re: Советы по программированию на LabVIEW

PostPosted: 13 Dec 2019, 14:43
by Usss
Когда открываешь Overrid-ную vi, лабвью не хочет ее сразу открывать, а предлагает выбрать из списка потомков объекта. Это немножко бесит. Можно ли это отключить? Пока что я просто вставляю в блок диаграмму "Static vi reference" на нужную vi и при необходимости кликаю по ней.

Re: Советы по программированию на LabVIEW

PostPosted: 15 Jan 2020, 08:50
by rsv
Не могу понять, где хранятся значения по умолчанию для контролов в приложенной VI?
Если заменить другими значениями и сохранить VI, то после открытия опять показывает прежние значения (в частности для Pulses per Revolution вылазит 24).
В свойствах значений по умолчанию не нашёл.
Подскажите, пожалуйста, а то напрягают такие явления - вроде должно быть просто, а разобраться не могу.

Re: Советы по программированию на LabVIEW

PostPosted: 15 Jan 2020, 09:25
by dadreamer
rsv, у меня нормально сохраняется по ПКМ -> Data Operations -> Make Current Value Default. :labview: 2019.

Re: Советы по программированию на LabVIEW

PostPosted: 15 Jan 2020, 09:51
by rsv
Спасибо, dadreamer, дошло. Действительно, всё так и работает.
Не очень наглядно реализовано - что бы выяснить, какое значение по умолчанию прописано, надо изменить значение поля и нажать ПКМ -> Data Operations -> Reinitialize to Default Value.

Re: Советы по программированию на LabVIEW

PostPosted: 15 Jan 2020, 11:46
by Artem.spb
[quote=="rsv"]Не очень наглядно реализовано - что бы выяснить, какое значение по умолчанию прописано, надо изменить значение поля и нажать ПКМ -> Data Operations -> Reinitialize to Default Value.[/quote]

Гм. А как это было бы наглядно?

Re: Советы по программированию на LabVIEW

PostPosted: 15 Jan 2020, 12:28
by IvanLis
[quote=="Artem.spb"]Гм. А как это было бы наглядно?[/quote]
Я бы, например для Numeric, сделал возможность просмотра и редактирования значения Default Value в свойствах, на вкладке Data Entry.

Re: Советы по программированию на LabVIEW

PostPosted: 15 Jan 2020, 21:20
by Artem.spb
[quote=="IvanLis"]Я бы, например для Numeric, сделал возможность просмотра и редактирования значения Default Value в свойствах, на вкладке Data Entry.[/quote]
ну может.
Я очень редко пользуюсь дефолтами, поэтому не сильно актуально

Re: Советы по программированию на LabVIEW

PostPosted: 16 Jan 2020, 07:11
by rsv
[quote=="IvanLis"]Я бы, например для Numeric, сделал возможность просмотра и редактирования значения Default Value в свойствах, на вкладке Data Entry.[/quote]

Именно этого я и ожидал. Несколько раз к этой вкладке обращался - не мог поверить, что на ней нет значения по умолчанию :)