обнуление данных
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
обнуление данных
сразу предусловия: программа тестируется у заказчика, поэтому быстро проверить не получится.
итак, ситуация: программа опрашивает 4 порта.
сам опрос осуществляется такой функцией: ф-ия реентрантная, чтоб копии не мешали друг другу - в рпоге просто 4 клона рядом параллельно нарисованы (не в цикле)
читаем 5 байт - рисуем число и так по кругу.
если байты не получены / недополучены, то рисуем NAN, чтоб было понятно, что именно не так.
всё идёт норм, но в какой-то момент данные обнуляются - в логе идут сплошные нули.
после перезапуска программы данные "воскресают"
причём, странно обнуляются: эдакое переполнение U16, хотя, такого типа нет в проге, а сами числа по факту идут простой строкой.
при проверке каким-нибудь простым терминалом такая картина не наблюдается, всё идёт норм.
такая картина наблюдается при "медленном" опросе, если частота достаточно большая, нули не вылезают, но там иногда проскакивают NAN-ы, т.е. опрос слишком шустрый, данные не успевают дойти.
но если я не все данные вытаскиваю, почему лезут нули?
подскажите, что тут можно подправить?
сколько работаю с визой, таких странностей не наблюдал.
да, в настройках визы стоит таймаут =0. попробую поставить побольше.
но даже если это решит проблему, останется любопытным вопрос - почему идут нули?
итак, ситуация: программа опрашивает 4 порта.
сам опрос осуществляется такой функцией: ф-ия реентрантная, чтоб копии не мешали друг другу - в рпоге просто 4 клона рядом параллельно нарисованы (не в цикле)
читаем 5 байт - рисуем число и так по кругу.
если байты не получены / недополучены, то рисуем NAN, чтоб было понятно, что именно не так.
всё идёт норм, но в какой-то момент данные обнуляются - в логе идут сплошные нули.
после перезапуска программы данные "воскресают"
причём, странно обнуляются: эдакое переполнение U16, хотя, такого типа нет в проге, а сами числа по факту идут простой строкой.
при проверке каким-нибудь простым терминалом такая картина не наблюдается, всё идёт норм.
такая картина наблюдается при "медленном" опросе, если частота достаточно большая, нули не вылезают, но там иногда проскакивают NAN-ы, т.е. опрос слишком шустрый, данные не успевают дойти.
но если я не все данные вытаскиваю, почему лезут нули?
подскажите, что тут можно подправить?
сколько работаю с визой, таких странностей не наблюдал.
да, в настройках визы стоит таймаут =0. попробую поставить побольше.
но даже если это решит проблему, останется любопытным вопрос - почему идут нули?
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: обнуление данных
запишите в ваш лог ещё код ошибки, действительно пришедшее количество байт и сами байты в hex виде.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- assistant
- Сообщения: 122
- Зарегистрирован: 09 дек 2014, 10:14
- Версия LabVIEW: 7-2015
- Откуда: Санкт-Петербург
- Контактная информация:
Re: обнуление данных
На порт приходит нечто, что просто не может быть преобразовано в число (яля непечатные символы или псевдографика), что в итоге преобразуется в "0".Artem.spb писал(а):сразу предусловия: программа тестируется у заказчика, поэтому быстро проверить не получится.
но даже если это решит проблему, останется любопытным вопрос - почему идут нули?
Смотрите в hex.
-
- assistant
- Сообщения: 122
- Зарегистрирован: 09 дек 2014, 10:14
- Версия LabVIEW: 7-2015
- Откуда: Санкт-Петербург
- Контактная информация:
Re: обнуление данных
У Вас настолько медленный обмен? :)Artem.spb писал(а):уже в процессе, но пока нет результатаrbl писал(а):Смотрите в hex.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
Re: обнуление данных
у меня:
Artem.spb писал(а):сразу предусловия: программа тестируется у заказчика, поэтому быстро проверить не получится.
-
- assistant
- Сообщения: 122
- Зарегистрирован: 09 дек 2014, 10:14
- Версия LabVIEW: 7-2015
- Откуда: Санкт-Петербург
- Контактная информация:
Re: обнуление данных
Исходные данные читал. Просто процессом привык считать именно работу, а не время ожидания допуска к объекту контроля ;)Artem.spb писал(а):у меня:Artem.spb писал(а):сразу предусловия: программа тестируется у заказчика, поэтому быстро проверить не получится.
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: обнуление данных
А каким образом определяется начало (конец) пакета, или данные принимаются потоком - аля RAW ?
У Вас данные я так понимаю передаются постоянно, т.е. Вы их просто читаете без всяких запросов.
Если "терминатор" не определен, а чтение данных выполняется по числу бит, то возможна банальная рассинхронизация. первая строка, когда прием нормальный
вторая - рассинхронизация
В этом случае как раз и возможны чудесные преобразования данных.
У Вас данные я так понимаю передаются постоянно, т.е. Вы их просто читаете без всяких запросов.
Если "терминатор" не определен, а чтение данных выполняется по числу бит, то возможна банальная рассинхронизация. первая строка, когда прием нормальный
вторая - рассинхронизация
В этом случае как раз и возможны чудесные преобразования данных.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
Re: обнуление данных
Данные идут потоком - я их не запрашиваю и никак не регулирую, прут себе и прут.
Инициализация визы с параметрами по умолчанию "Enable Termination Char (T)".
А в связи с чем может произойти сдвиг? и почему другой, "менее умный" софт такого не выдаёт? или же иначе, как избежать этого сдвига у меня?
Инициализация визы с параметрами по умолчанию "Enable Termination Char (T)".
А в связи с чем может произойти сдвиг? и почему другой, "менее умный" софт такого не выдаёт? или же иначе, как избежать этого сдвига у меня?
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: обнуление данных
Ничто в нашем мире не идеально и возможны ошибки.Artem.spb писал(а):Данные идут потоком - я их не запрашиваю и никак не регулирую, прут себе и прут.
Инициализация визы с параметрами по умолчанию "Enable Termination Char (T)".
А в связи с чем может произойти сдвиг? и почему другой, "менее умный" софт такого не выдаёт? или же иначе, как избежать этого сдвига у меня?
Что бы правильно принять, нужно знать протокол, может там и заложен терминальный бит.
Если есть возможность модифицировать программу на передающем устройстве, то желательно поправить и предусмотреть терминальный бит. Это немного снизит информационную скорость, но позволит избежать многих косяков.
К стати, Вы принимаете пакеты по размеру, попробуйте отключить терминатор (Enable Termination Char = false). Возможно, что в последовательности он появляется и принимается не 5, а меньшее число бит, что приводит к сдвигу и неверной конвертации в дальнейшем.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 870 Просмотры
-
Последнее сообщение IvanLis
-
- 13 Ответы
- 1224 Просмотры
-
Последнее сообщение Boxa
-
- 0 Ответы
- 502 Просмотры
-
Последнее сообщение Juri
-
- 3 Ответы
- 272 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 13 Ответы
- 2451 Просмотры
-
Последнее сообщение rsv