Labview, Matlab и потерянные миллисекунды

Простейшие вопросы в области инженерной разработки

Labview, Matlab и потерянные миллисекунды

Postby barcklay on 02 Nov 2017, 16:25

Имеется Matlab скрипт, который выполняет развёртку кольцевого изображения и приведение этой развёртки к форме прямоугольника.
Время исполнения этого скрипта непосредственно в матлабе - около 35 миллисекунд.
При интеграции данного скрипта в ВП Labview, время исполения этого скрипта - около 100 миллисекунд
Исполнение происходит на CPU
Вопросы:
На что тратятся дополнительные миллисекунды при исполнении ВП Labview?
Какие пути устранения использования этих дополнительных миллисекунд?
barcklay
beginner
beginner
 
Posts: 32
Joined: 10 Jul 2015, 12:20
LabVIEW Version: 2014
Karma: 0

Re: Labview, Matlab и потерянные миллисекунды

Postby Artem.spb on 02 Nov 2017, 16:29

скрипт выполняется не в :labview: , а в матлабе. На вызов которого и тратится время.
Artem.spb
expert
expert
 
Posts: 1221
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 214
CLD hardware I/O VIP freelance

Re: Labview, Matlab и потерянные миллисекунды

Postby barcklay on 02 Nov 2017, 16:34

Предполагал это.
Вариант ускорения - переписать скрипт в Labview?
ещё есть какие либо варианты?
barcklay
beginner
beginner
 
Posts: 32
Joined: 10 Jul 2015, 12:20
LabVIEW Version: 2014
Karma: 0

Re: Labview, Matlab и потерянные миллисекунды

Postby dadreamer on 02 Nov 2017, 17:55

barcklay wrote:При интеграции данного скрипта в ВП Labview

А как интегрируете? Если через MS Node, то узел сам по себе довольно тормозной, время тратится на парсинг, преобразование типов, передачу в движок и обратно, плюс компиляция. Действительно, лучше попробовать переписать код в :labview: . Formula Node тоже лучше не использовать, раз время так важно.
barcklay wrote:скрипт, который выполняет развёртку кольцевого изображения и приведение этой развёртки к форме прямоугольника

Когда-то давно приходилось выполнять задачу обратного преобразования. У меня получалось тоже где-то 100 мс, даже в чистом :labview: . Пробовал оформлять в виде библиотеки на C, особого выигрыша не получалось. Не знаю, может, код был не самым оптимальным, но тогда и опыта было меньше. В итоге нашёл функцию в Halcon, которая делала преобразование за несколько миллисекунд. На этом и остановился.
User avatar
dadreamer
doctor
doctor
 
Posts: 2897
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 709
I/O VIP vision internet

Re: Labview, Matlab и потерянные миллисекунды

Postby barcklay on 02 Nov 2017, 18:10

Да, через MS Node

Halcon использовали как самостоятельное приложение? не интегрировали в LV код?
barcklay
beginner
beginner
 
Posts: 32
Joined: 10 Jul 2015, 12:20
LabVIEW Version: 2014
Karma: 0

Re: Labview, Matlab и потерянные миллисекунды

Postby dadreamer on 02 Nov 2017, 18:18

barcklay wrote:Halcon использовали как самостоятельное приложение? не интегрировали в LV код?

Интегрировал. Сначала через ActiveX, позже уже через .NET узлы. Ну, можно и в HDevelop проверить для начала. Но там немного совсем операторов, так что код небольшой должен быть.
Думаю, функция вот эта должна подойти: http://www.mvtec.com/doc/halcon/13/en/p ... e_ext.html
Если есть пример-картинка с кругом, скиньте, я покажу, что получается.
User avatar
dadreamer
doctor
doctor
 
Posts: 2897
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 709
I/O VIP vision internet

Re: Labview, Matlab и потерянные миллисекунды

Postby barcklay on 02 Nov 2017, 18:39

Ответил в личку
barcklay
beginner
beginner
 
Posts: 32
Joined: 10 Jul 2015, 12:20
LabVIEW Version: 2014
Karma: 0


Return to Для чайников

Who is online

Users browsing this forum: No registered users and 11 guests

cron