реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Отображение данных в МАТЛАБ в режиме реального времени
ViKo
сообщение Aug 22 2012, 08:44
Сообщение #16


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Mityan @ Aug 22 2012, 09:13) *
Если б хвастал, написал бы: смотрите, какой у меня классный код! sm.gif

Там, вроде, картинку просит... потом еще что-то... в-общем, не работает. Киньте весь проект в одном архиве, что ли.
Go to the top of the page
 
+Quote Post
Mityan
сообщение Aug 23 2012, 07:13
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 5-07-11
Пользователь №: 66 068



Да, действительно, выкладываю. Просто на экспоненте, где я консультировался, нельзя файлы прикрепить, поэтому я разместил словесное описание ГУИ.

Прикрепленные файлы
Прикрепленный файл  xbeetest.rar ( 16.95 килобайт ) Кол-во скачиваний: 88
 
Go to the top of the page
 
+Quote Post
serega_sh____
сообщение Nov 30 2012, 12:07
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 27-06-08
Из: с Урала
Пользователь №: 38 578



Цитата(Mityan @ Jul 25 2012, 14:13) *
Для тех, кто может этот мой кусок использовать: остановка Ctrl+C и перед новым запуском не забывайте fclose(s) делать, а то матлаб придется перезагружать (он просто уже этого сом-порта не увидит).


А Вы использовали вот такой инструмент?
Instrument Control Toolbox
Для решения этой проблемы есть простой способ:
1. Инициализировать прибор в этом инструменте
2. Открыть прибор в этом инструменте
3. Послать туда команду IDN? в этом инструменте
4. Закрыть прибор в этом инструменте
5. открыть в этом ТУЛСЕ последнюю вкладку "SessionLog" и скопировать оттуда правильный код обращения к приборам и их инициализацию. И все проблемы исчезнут мигом.
6. Если у Вас уже открыт прибор и повторное открытие вызывает глюк, то можно использовать функцию "EVAL" и во втором аргументе этой функции ставить пробел. Или спрашивать состояние перед обращением к прибору.

Да и прерывания помоему возможно сделать без заморочек с Ctrl+C. Но мы ни разу не заморачивались на это. Как то всё обходилось...

Go to the top of the page
 
+Quote Post
Tano
сообщение Dec 16 2012, 17:49
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 286
Регистрация: 19-05-06
Пользователь №: 17 257



Вот код, которым можно померить скорость отображения графиков в ГУИ Матлаба:
http://matlab.exponenta.ru/forum/viewtopic.php?t=16899


--------------------
С уважением Tano
Go to the top of the page
 
+Quote Post
KatKat
сообщение Nov 17 2013, 08:20
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 21-03-08
Пользователь №: 36 105



Тема близкая....., в Матлаб надо прочитать два сом-порта...
Два датчика данные сыпят одновременно каждый на свой сом-порт, битрейт 112500. Открываем 1 порт, затем 2 порт, читаем в цикле порт 1, порт 2, 1, 2 и т.д. на интервале неск. сек. Получаем два массива данных и два массива меток времени. При отображении данных имеет место задержка по времени полученных данных 2-го порта. И она равна (или близка) времени инициализации (открытия) 2 порта. Искуственно сдвигать и совмещать начало процессов не вариант (пока делаю так), не тот эффект, т.к. некое смещение все же остается.
Как можно решить проблему? Распараллелить процессы чтения двух портов ? Очистить буферы перед циклом чтения ? Что-то другое ?
Спасибо за подсказки ...

Сообщение отредактировал KatKat - Nov 17 2013, 10:48
Go to the top of the page
 
+Quote Post
kleverd
сообщение Apr 16 2015, 18:48
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



Ну не секрет, что матлаб слегка тормозной. Если писать код непосредственно в м-файле, то задержка обязательно будет.
Но можно сделать подключаемую MEX-функцию и написать ее на С++. Скомпилировать ее встроенным в матлаб компилятором LCC. И вызвать ее из м-файла. Ваша функция будет возвращать массив из двух значений.
Про mex функции можно почитать в хелпе матлаба, набрав слово mex в строке поиска.
Go to the top of the page
 
+Quote Post
KatKat
сообщение Aug 2 2015, 11:39
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 21-03-08
Пользователь №: 36 105



Цитата(kleverd @ Apr 16 2015, 21:48) *
...можно сделать подключаемую MEX-функцию и написать ее на С++. Скомпилировать ее встроенным в матлаб компилятором LCC. И вызвать ее из м-файла. Ваша функция будет возвращать массив из двух значений.
Про mex функции можно почитать в хелпе матлаба, набрав слово mex в строке поиска.


Наткнулся на свое сообщение и ответ rolleyes.gif спасибо rolleyes.gif у матлаба все же нашелся способ совместить начало отсчета данных сом-портов.. но уже не вспомню...

Сообщение отредактировал KatKat - Aug 3 2015, 03:06
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016