Sharied Variable

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 659
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Sharied Variable

Сообщение JohnChaban »

Всем привет
В проекте есть 12 переменных Sharied Variable через них передается массивы данных.
В какой-то момент времени происходит "затормаживание" данных.
То есть данные через переменную перестают приходить в программу.
Вопрос почему это может происходить и как от этого избавиться?
Спасибо.
Аватара пользователя
Vasiliy Baev

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

Re: Sharied Variable

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

Покажите нам циклы чтения и публикации переменных.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 659
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Sharied Variable

Сообщение JohnChaban »

Vasa писал(а):Покажите нам циклы чтения и публикации переменных.
А какой вариант преподчительней использовать 1 или второй смотри рисунок
Есть ли разница в том что использовать Sharied переменныую как подприбор или считывать данные с неё в массив Variable1 или Array2
Вложения
222.jpg
Аватара пользователя
Vasiliy Baev

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

Re: Sharied Variable

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

JohnChaban, мое мнение - использовать только первый вариант.
Доводы в пользу первого:
1. наглядность и легкость чтения. Так как большинство программистов в :labview: стараются беречь место на блок диаграмме, то опция View As Icon отключена у многих. В миниатюре на иконке нету значка, говорящего о том, что Вы используете Data Binding и следовательно догадаться об использовании оного очень сложно.
2. экономия ресурсов. Переменные, которые используют Data Binding обновляются всегда (вне зависимости находятся они в цикле или нет) и обновляются со скоростью публикации данных в сети (Напомню, что библиотека SV публикуется в сеть одновременно, то есть с одинаковой частотой обновляются все переменные библиотеки в независимости с какой частой вы пишите в эти переменные).
Чтобы убедиться создайте простой пример: VI №1 цикл 250ms пишем Random Number в Sharied Variable. VI №2 цикл 2000ms читаем первым способом переменную и добавляем эту же переменную, использую Data Binding (Индикатор можете расположить как в цикле, так и за его пределами). Мы увидим что в 1 случае индикатор обновляется каждые 2 с, а во втором скачет с большой частотой.

Я не читал литературу про Data Binding, описанное выше из личного опыта. Глубоко в сторону DB я не копал, возможно их как-то можно настроить...
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 659
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Sharied Variable

Сообщение JohnChaban »

А что рекомендует сама national instruments первый вариант?
Аватара пользователя
Vasiliy Baev

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

Re: Sharied Variable

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

JohnChaban, на этот вопрос я Вам ответа не дам, тк не изучал глубоко данный вопрос.
Для себя выделил одно очень полезное свойство использования Data binding - изменения состояния контрола/индикатора на всех устройствах, которые обращаются к одной переменной библиотеки. К примеру есть 2 пульта для управления каким-либо оборудованием, на обоих пультах есть кнопка, имеющая 2 состояния. Нажав кнопку на одном из пультов индикатор кнопки на обоих пультах измениться.
Рекомендую поискать ответ в описаниях SV.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 659
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Sharied Variable

Сообщение JohnChaban »

Почитал SVE не понятно пока.
Склоняюсь что через data binding лучше.
Просто мне нужно объяснить человеку чем лучше например data binding программного способа или наоборот?
Аватара пользователя
Juri
I/O
I/O
Сообщения: 262
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

Re: Sharied Variable

Сообщение Juri »

Возможно ли забиндить программно произвольный индикатор, который ранее не подключался через "data binding"?
Если изначально индикатор не имел бинда, то при попытке записи свойства Data binding -> Path возникает ошибка "LabVIEW: (Hex 0x43F) There is no DataSocket information available for the object"
Для обхода ошибки я просто прописываю пустой путь в нужном индикаторе как на картинке. И потом в процессе исполнения подставляю путь.
Вложения
Screenshot_2.png
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»