Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
LTR114 и его ошибкиДобрый день. Используем крейт LTR-EU-16 с набором различных модулей, пока наиболее тесно работаем с LTR114. Крейт работает в условиях больших наводок (рядом с импульсным генератором). Практика показала, что LTR114 чувствителен именно к электромагнитной наводке (собираемся делать навесной экран на весь модуль). В процессе работы следим за типами ошибок, наиболее распространенные -10010, -10016 и -10017. Без экрана почти каждое вычитывание и обработка данных заканчивается ошибкой. Чаще всего появляеется ошибка -10017, даже когда импульсный генератор не работает. Насколько понятно из описания -10017 некритичная ошибка, которая даже не приводит к отбраковке принятых данных. Тем не менее, хотелось бы услышать комментарии по поводу появления этой ошибке "в спокойной обстановке" и наиболее адекватные способы восстановления после появления остальных типов ошибки (особенно -10010) (закрыть и снова открыть соединении с модулем, например). |
|||
|
||||
|
Re: LTR114 и его ошибкиАлексей, давайте всё-таки сначала электрический аспект проблемы посмотрим:
|
|||
|
||||
|
Re: LTR114 и его ошибкиА что за ПО используете? Если свое, то при использовании, например, LGraph2 эти ошибки проявляются? Не до конца понял, есть ли условия, при которых этих ошибок не возникает и все работает нормально? |
|||
|
||||
|
Re: LTR114 и его ошибки1. Винты завинчены.
Постепенно исключая возможные пути помехи по проводам, пришли к выводу, что основной вклад дает электро-магнитная наводка. Помог экран из медных пластинок расположенных непосредственно рядом с LTR114.
ПО свое. В более ранних вопросах (конец мая) я сообщал, что LGraph2 отказывается нормально запускаться, поэтому им совершенно не пользуемся. Иногда пользуемся LComp и PowerGraph.
|
|||
|
||||
|
Re: LTR114 и его ошибкиНемного слукавил. Сегодня проверяю на столе, за пару часов ни одной ошибки. Использую только внутреннее тактирование, без каких-либо внешних подключений. |
|||
|
||||
|
Re: LTR114 и его ошибкиАлексей. Генератор электромагнитных полей у Вас серьёзный. Но когда полей нет (в нормальных условиях) LTR категорически не должен сбоить. Предлагаю протестировать LTR в нормальных условиях с помощью специального тестовой программы LTRTEST2, которая запускает независимые потоки данных для разных модулей с контролем и подсчётом ошибок. Про сбои и общую идеологию восстановления после сбоев написано в руководстве
|
|||
|
||||
|
Re: LTR114 и его ошибкиВозьмите программу отсюда.
|
|||
|
||||
|
Re: LTR114 и его ошибкиИмеют смысл два эксперимента c LTRTEST2:
|
|||
|
||||
|
Re: LTR114 и его ошибкиОбязательно проверим, но сейчас немного занялись другим. А именно метками старт. Добавил LTR41 и обнаружил, что счетчик меток не сбрасывается как это описано в даташите. Начало смущать то, что на различные програмные манипуляции с параметрами функции LTR114 приводят к ошибке -10010 или -10017 (изменение частоты вызова функции чтения, таймаута, количества ожидаемых данных). |
|||
|
||||
|
Re: LTR114 и его ошибкиА при приеме Вы корректно проверяете размер принятых данных, который вернул LTR114_Recv(), что он соответствует тому, что запрашивали? |
|||
|
||||
|
Re: LTR114 и его ошибкиВообще не проверяю. Я заведомо большее количество точек запрашиваю, чтобы не отставать от заполнения буфера. Зачем нужно проверять, если я и так знаю, что вернул меньше? |
|||
|
||||
|
Re: LTR114 и его ошибкиХм... но тогда Вы должны обеспечить, чтобы в ProcessData всегда передавлись данные размером, кратным размеру кадра (FrameLength), т.к. в таком случае Recv Вам может вернуть и не полный кадр (и даже только одно слово из двух, задающих отсчет). Вы это делаете? |
|||
|
||||
|
Re: LTR114 и его ошибкиЧестно говоря, не делал, просто задавал целое число. Какой смысл в таком случае функцию приема было реализовывать в таком виде? Если запрос на нецелое количество кадров приведет в дальнейшем к ошибке? Почему просто не передавать количество кадров? |
|||
|
||||
|
Re: LTR114 и его ошибкиНу теоретически никто не мешает принимать и не целыми кадрами, но потом их собирать и уже передавать кратным количеством в ProcessData…. |
|||
|
||||
|
Re: LTR114 и его ошибкиМожет ли оказаться так, что временная метка будет встроена в поток таким образом, что попадет между пакетами с данными от LTR114, соответствующими одному кадру? |
|||
|
||||
|
Re: LTR114 и его ошибкиМожет, но это не влияет на прием. Метки обрабатываются специальным образом и возвращаются из Recv отдельным массивом tmrak. Так что в массиве данных, которые вернула Recv только данные от самого LTR114 |
|||
|
||||
|
Re: LTR114 и его ошибкиЭто понятно. что метки в массиве tmark. Мой вопрос был в сторону соответствия индексов массивов. То есть, индекс элемента tmark, в котором зафиксировано изменение значения счетчика меток может соответствовать как первой части кадра данных АЦП, так и второй. Такое положение вещей требует дополнительной проверки количества данных до метки в "сыром" массиве данных на кратность размеру кадра до передачи функции обработки. Я правильно все понимаю? |
|||
|
||||
|
Re: LTR114 и его ошибкиМетка может прийти в любой момент, они привязаны только к "сырым" словам и изменение индекса в tmark может быть и в середине кадра. Что с ними делать дальше уже зависит от Вашей задачи. |
|||
|
||||
|
Re: LTR114 и его ошибкиВ таком случае как различать части кадра АЦП в сыром виде? По значению 22 бита? Я вывожу его значение у четырех последовательно расположенных элементов сырого массива и не вижу чередование 1 и 0. |
|||
|
||||
|
Re: LTR114 и его ошибкиЯ имею ввиду различать части кадра в массиве, заполение которого происходить во время работы функции LTR114_Recv() |
|||
|
||||
|
Re: LTR114 и его ошибкиТак как данные идут непрерывно, то самый простой способ – это по кол-ву слов принятых от начала сбора (каждое слово с номером, кратным FrameSize – начало кадра). Если нужно по формату слов различать первое слово отсчета или второе – то это 4-ый бит (маска 0x08) |
|||
|
||||
|
Re: LTR114 и его ошибкиАлексей, я хочу напомнить Вам, что вопрос о стабильности работы ПО Вы уже ставили в марте 2013 г. http://www.lcard.ru/forumthreads/13905 Я тогда ещё просил Вас протестировать LTR с помощью LTRTEST2, и ответа Вас не получил, что крайне осложняет техническую поддержку... |
|||
|
||||
|
Re: LTR114 и его ошибкиИ в прошлый раз и сейчас при прогоне LTRTEST2 ошибок не возникало. Я уже понял, что ошибки -10010 и -10017 могут появляться при некорректном использовании функции обработки, когда в исходном массиве присутствуют обрывки кадров (это может быть либо в начале массива, либо в конце, насколько я понимаю). Внешние наводки лишь усугубляют ситуацию. |
|||
|
||||
|
Re: LTR114 и его ошибкиАлексею.
|
|||
|
||||
|
Re: LTR114 и его ошибкиДействительно, в руководстве этого нет. По-видимому, пользователи эту информацию и не используют, т.к. вопросов не было. Выслал Вам формат по почте. |