Очередь в узле формулы labview

Есть ли способ получить очередь целых чисел в узле формулы Labview?

Я мог бы использовать массив, инициализировать его снаружи максимальным размером и использовать его, но есть ли другой способ? Может быть, этакий динамический массив?


person user2839747    schedule 02.10.2013    source источник


Ответы (2)


В LabVIEW вы, по сути, сделали бы то же самое, но не стали бы делать это позже из-за параллельной природы LabVIEW
  Пример очереди

person Ton Plomp    schedule 03.10.2013

Подход, который я выберу здесь, во многом зависит от того, как данные производятся и потребляются, но я опишу общий вариант использования и, надеюсь, он будет применяться.

Вы можете вписать это в архитектуру конечного автомата с очередями, где вы объединяете входящее целочисленное значение с любыми другими метаданными в кластер (или просто отправляете его в чистом виде) и помещаете его в стек для обработки с помощью блока Enqueue Element. Когда данные извлекаются из стека с помощью блока Dequeue Element, вы можете обработать их, используя архитектуру узла формулы, и добавить их в массив результатов или даже поместить в другую очередь для обработки.

Я хотел бы нарисовать вам небольшой симпатичный фрагмент, но у меня нет LV на этом компьютере. Однако см. Слайд 41 здесь, где представлен отличный простой пример: ftp: // ftp.ni.com/pub/branches/uk/devdays_2011/Basic_Design_Patterns_in_LabVIEW.pdf

Вы поместите свой узел формулы в нижнюю часть двух параллельных циклов. Это отделяет пользовательский интерфейс от обработки. Это отличный дизайн, который я использую почти исключительно в пользовательских интерфейсах.

person C Reese    schedule 02.10.2013
comment
Очередь целых чисел как в коллекции целых чисел fifo. В C # вы должны написать Queue ‹int› queue = new Queue ‹int› ();, что позволит вам ставить целые числа в очередь, а затем удалять их из очереди, начиная с первого целого числа, которое вы поставили в очередь. - person user2839747; 03.10.2013