|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
График21.06.2011, 10:51. Показов 4463. Ответов 45
Метки нет (Все метки)
Добрый день ув. форумчане , собственно есть график , есть ком порт который принимает данные и выводит на график. Мне пришел 1 байт к примеру "1" записываем его как temp , потом пришло "2" записываем как temp2 , после того как мне пришёл 2 байт , он должен считать по формуле
"Z = (256 х temp2) + temp1" После этого выводить на график то что мы получили в Z. Подскажите как реализовать , на данный момент реализовано только получение пакетов , и вывод пакетов на график.
0
|
|
| 21.06.2011, 10:51 | |
|
Ответы с готовыми решениями:
45
График График |
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
| 22.06.2011, 14:37 [ТС] | |
|
Этот вариант не работает , я уже пробовал , там тоже самое Temp[0] и Temp[1] принимают одинаковые значения
0
|
|
|
|
|
| 22.06.2011, 14:46 | |
|
После чтения размер буфера ком порта уменьшается? Входящие данные изменяются или постоянные? Возможно после считывания из буфера он не очищается. Через C# с комом просто не работал, но VISA ком очищает после считывания.
0
|
|
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
||||||||||||||||
| 22.06.2011, 14:53 [ТС] | ||||||||||||||||
|
Temp[0]и Temp[1] принимают значения 0 , и так постоянно , вот лог (маленький отрывок)
а нет прошу прощения , это у меня ошибка была , в выводе лога , я там 2 раза Temp[0] вписал , но изменив на Temp[1] я всё равно получаю одни нули.
0
|
||||||||||||||||
|
|
|
| 22.06.2011, 15:04 | |
|
Можешь лог буфера в файл скинуть и выложить? Желательно каждое сообщение на новой строке.
Тогда будет видно что именно приходит. Пока сказать не могу в чем проблема. Добавлено через 2 минуты Хотя не нужно. На ком куча нулей приходит. Это что за устройство данные шлет?
0
|
|
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
| 22.06.2011, 15:05 [ТС] | |
|
Вот , сделал так чтобы вы разобрались , значит первые 2 числа это Temp[0] и Temp[1]
0
|
|
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
| 22.06.2011, 15:10 [ТС] | |
|
да , но устройство не должен слать нули ... он их вообще ну не как не должен слать , с устройством всё норм ибо я проверяю его через wterm , и там пакеты норм приходят без нулей.
0
|
|
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
||||||
| 22.06.2011, 15:28 [ТС] | ||||||
"Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection."
0
|
||||||
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
| 22.06.2011, 16:05 [ТС] | |
|
Спасибо большое , работает , но почему то пакеты он очччень долго принимает , и из-за этого график очень медленно строится , а мне надо в реальном времени , т.е. я вывожу пульс на график , а пакеты очень медленно принимаются , не могли бы вы подсказать что может мне помочь ?
0
|
|
|
|
|
| 22.06.2011, 16:23 | |
|
попробуйте Portmon'ом или любым аналогичным сканером порта посмотреть на какие именно операции большие задержки происходят. По собственному опыту могу сказать, что на прием одного пакета с двумя сменами бита паритетности тратится порядка 40-60 мсек. Наиболее критические участки по времени это конфигурирование и открытие порта. Так же если возникают TimeOut ошибки. С физическим ком портом задержка составляет примерно до 500 мсек, а если использовать USB адаптер MOXA, то время считывания увеличивается в 1.7 раза, а задержка может составить более двух секунд. Честно говоря не зная программы сложно сказать где именно утечки возникают.
В качестве метода локализации места могу посоветовать вычислять время, необходимое на выполнение той или иной операции с портом и вести лог. Вообще странно что пульс строится нормально. А пульс строится по какому параметру?
0
|
|
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
||||||||||||||||
| 22.06.2011, 16:28 [ТС] | ||||||||||||||||
|
Мои предположения что трабла здесь
Добавлено через 2 минуты Есть дивайс , который мериет пульс , вот он отсылает пакеты ком порту , он принимает и выводит на график , это всё должно быть в режиме реального времени , пульс строится по параметру
0
|
||||||||||||||||
|
|
||
| 22.06.2011, 16:30 | ||
|
0
|
||
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
| 22.06.2011, 16:32 [ТС] | |
|
как не в этом месте ?
построение графика идёт после того как он получает данные из ком порта , а так как у меня он тормозит с выводом пакетов , то и график тормозит
0
|
|
|
|
|||||||
| 22.06.2011, 16:46 | |||||||
Добавлено через 7 минут При размере буфера 50 тыс и добавляемых 25 тыс с последующим удалением по два значения время обработки 40-50 мсек, а про буфере 10 тыс и 5 тыс добавляемых значений 2 мсек. Так что не в этом месте тормоза.
0
|
|||||||
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
||||||
| 22.06.2011, 16:49 [ТС] | ||||||
|
эм , dt выдаёт 0000000000
но прикол в следующим ...
2 раза повторяется ... так вот , если удалить один из них программа будет подвесать , но если их оставить то программа не будет виснуть НО значения Temp[0] и Temp[1] будут одинаковы - дилемма однако....
0
|
||||||
|
|
|||||||
| 22.06.2011, 16:56 | |||||||
Второй повтор удалить однозначно. ЗЫ. Выложите пожалуйста код с реализацией цикличного считывания пожалуйста. Проблема возможно кроется где-то там. Хотя отвечу я не раньше 9 по Москве. Через 5 минут домой ухожу.
0
|
|||||||
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
|
| 22.06.2011, 17:00 [ТС] | |
|
Temp.Count > 1 - это я экспериментировал , что с ==2 что с >1 одно и то же =\
Добавлено через 2 минуты график строится , и пакеты приходят , но дело в том что ждать долго нужно , нужно ускорить процесс ... 1 точка где то за 10-15 сек ставится... а 1 точка = 1 Result , 1 Result = Temp[0] and Temp[1]
0
|
|
|
|
||
| 22.06.2011, 17:01 | ||
|
0
|
||
|
1 / 1 / 2
Регистрация: 01.06.2011
Сообщений: 161
|
||||||
| 22.06.2011, 17:05 [ТС] | ||||||
|
эм каким образом я проверю время выполнения всего процесса ? я уверен на 80% что проблема заключается
0
|
||||||
| 22.06.2011, 17:05 | |
|
График
График! График эллипса Построить график! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|