Страница 3 из 6

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 19 мар 2016, 18:05
Blackman
Communicating between Application Instances
You cannot use the Obtain Queue, Obtain Notifier, Create
User Event, Create Semaphore, and Create Rendezvous functions
to
communicate between LabVIEW application instances. If you obtain or
create a queue, notifier, user event, semaphore, or rendezvous reference in
one application instance, you cannot use that reference in another
application instance.

Например: Два проекта в рамках одного процесса LabVIEW.exe.
Но про VI референсы ничего не сказано.

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 19 мар 2016, 18:21
dadreamer
Blackman писал(а):Communicating between Application Instances
You cannot use the Obtain Queue, Obtain Notifier, Create
User Event, Create Semaphore, and Create Rendezvous functions
to
communicate between LabVIEW application instances. If you obtain or
create a queue, notifier, user event, semaphore, or rendezvous reference in
one application instance, you cannot use that reference in another
application instance.
Это написано про скомпилированные проги, то есть экзешники. И правда, между двумя EXE нельзя использовать ни очереди, ни уведомители, ни рандеву и иже с ними. А вот если речь о проектах в рамках одного процесса :labview: , то всё будет работать. Другое дело, что всё сломается, как только вы эти два проекта скомпилируете.
Blackman писал(а):Но про VI референсы ничего не сказано.
Ну и как, работает?

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 19 мар 2016, 21:57
Blackman
Нет. Это относится именно к Application instance LAbVIEW.exe.

You must use an application reference when you are using VI server properties and methods in one application instance, and you want to interact with a different application instance. It may not be obvious that VIs are running in multiple application instances. For example, each LabVIEW project has its own application instance. VIs running in project1.lvproj are running in a different application instance than VIs running in project2.lvproj. VIs not running in a project run in the main application instance. In addition, LabVIEW opens user VIs you place in the labview\help, labview\project, and labview\wizard directories in a private application instance. For example, if you place a VI in the labview\project directory and then launch this VI from the Tools menu, LabVIEW runs the VI in a private application instance (NI.LV.Dialog) that is separate from the main application instance.

Был у меня косяк, когда я пытался генерировать User Events в проекте 1 на референсах открытых в проекте 2. Тут же получил грозное предупреждение в виде ошибки)

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 19 мар 2016, 22:06
dadreamer
Получается, что :labview: для каждого проекта создаёт отдельную область памяти со своим собственным контекстом и, например, очередь из одного проекта не может быть получена в другом, даже если имена совпадают во всех :vi: ? И если так, то остаются только средства межпроцессовой коммуникации?
И что с референсами? Я бы проверил, но сегодня уже лень :)

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 19 мар 2016, 22:54
Blackman
А я еще раз проверил)) С VI reference все в порядке. Открыл и пользуйся, где угодно. А вот со всем остальным добром вилы)

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 22 мар 2016, 16:17
dadreamer
Blackman писал(а):А я еще раз проверил)) С VI reference все в порядке. Открыл и пользуйся, где угодно. А вот со всем остальным добром вилы)
Добрался, наконец, до этого примера. Только я сперва сделал с нуля, сперва с референсами, потом с очередями. Первые работали, вторые тоже (!). Пробовал и по имени, и по magic cookie. Потом я закрыл :labview: , запустил ваш пример, ничего, естественно, не работало. Открыл снова свой пример - и у меня тоже не работает! :shok: Даже через "печеньки" не захотело - ошибка, и всё тут. По-видимому, :labview: после закрытия-открытия создал два контекста (с разными "банками" под "печенье"), а сперва был один, потому и работало. Ref'ы как работали, так и работают, всё ок. Через DVR не захотело, как и через очереди.
В общем, суть такая, что отдельные проекты между собой связывать нужно только посредством IPC, например TCP/UDP или Network Streams. А подобными "хаками" лучше не пользоваться, т.к. даже если работает, то рано или поздно работать не будет. И это хорошо описано здесь: https://lavag.org/topic/4690-queue-are- ... -in-lv-82/ (говорится, что в :labview: 8.0 и ранних можно было юзать queue/notifiers/events для связи двух проектов, но NI это запретили).
Кстати, через указатели работает нормально. Однако этим тоже лучше не пользоваться, т.к. в экзешниках работать перестанет.

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 23 мар 2016, 13:52
DefectoMed
Ребят, а как решить проблему: меня устраивает сигнал,который выходит на Puls Train при samples 32, но в этом случае шум получается не различный на протяжение всего сигнала,а повторяется. когда же я делаю одинковый samples, то сигнал в Puls Train получается не тот,что мне нужен. Как можно сделать различный шум на протяжении всего сигнала?

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 23 мар 2016, 23:17
Artem.spb
я не понял, как у вас получается такой сигнал
p.png
если SHUMA=0,01 только амплитуда шума очень мала, остальное такое же

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 23 мар 2016, 23:37
DefectoMed
Artem.spb писал(а):я не понял, как у вас получается такой сигнал
p.png
если SHUMA=0,01 только амплитуда шума очень мала, остальное такое же
у меня на первой картинке такой же сигнал ,как у вас,просто я поставил 10 циклов. и он не такой как надо,хотя шум хорош) Я вот и не пойму.как сделать схожий шум,но ,чтоб сигнал был как на нижней картинке, при семплс 32

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 23 мар 2016, 23:49
Artem.spb
В чём схожесть-то, никак не пойму?
скачки редкими должны быть что ли?
У вас во втором случае на весь сигнал 32 точки, естественно скачки будут так выглядеть. каждый скачок - это следующая точка.
А если точек 1100, то все скачки сливаются в мочалку.

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 23 мар 2016, 23:53
DefectoMed
Artem.spb писал(а):В чём схожесть-то, никак не пойму?
скачки редкими должны быть что ли?
У вас во втором случае на весь сигнал 32 точки, естественно скачки будут так выглядеть. каждый скачок - это следующая точка.
А если точек 1100, то все скачки сливаются в мочалку.
Сигнал должен выглядеть в точности как пульстрейн на первой картинке

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 23 мар 2016, 23:59
Artem.spb
Ну он выглядит, в чём проблема-то?

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 24 мар 2016, 00:32
DefectoMed
Artem.spb писал(а):Ну он выглядит, в чём проблема-то?
мне нужен сигнал как справа,но чтоб шум был разный в течение всего сигнала

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 24 мар 2016, 00:59
Artem.spb
может, я уже туплю под утро, но чем этот шум должен быть разным? форма, амплитуда, ещё что-то?

Re: Симуляция сигнала в Labview по формуле.

Добавлено: 24 мар 2016, 01:09
DefectoMed
Artem.spb писал(а):может, я уже туплю под утро, но чем этот шум должен быть разным? форма, амплитуда, ещё что-то?
как я понимаю у меня задан шум на 1 цикл,а дальше повторяется) или это я туплю