Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Реализация управления через LTRНужно создать систему измерения и управления экспериментальной установкой на базе двух крейтов LTR-EU-16(выпуск июль 2009),один,работающий только на ввод через ETHERNET, заполнен модулями LTR27, второй, работающий через USB на ввод/вывод, заполнен LTR51 и LTR43. Для управления дискретными каналами необходимо примерно 10 в секунду снимать данные с обоих крейтов, выполнить расчеты (нелинейные зависимости), анализ данных и сформировать управляющий код для LTR43. Вопросы:
|
|||
|
||||
|
Re: Реализация управления через LTR1. По USB - постоянно висят overlapped запросы чтения из драйвера, т.е. по идее зависит от USB
Когда по TCP/IP нет данных для записи в крейт, а потом они появляются, 10 мс сервер может сидеть в таймауте select на чтение. 3. Задержка от вызова API-функции зависит от взаимодействия процессов через TCP/IP (клиента с сервером), в случае localhost это время обработки tcp-стека системы, плюс реакция сервера на данные, плюс передача в крейт (если по TCP/IP, то еще раз tcp-стек). Оценить эти времена аналитически я затрудняюсь, но за вычетом обмена по сети ПО ИДЕЕ я бы ориентировался на *порядок* 10 мс. |
|||
|
||||
|
Re: Реализация управления через LTRЭто я прикидывал работу самой программы сервера. Windows внесет еще разброс из-за переключения задач и т.п., он может перекрыть время реакции самой программы. И еще одно. Из LTR-EU в принципе возможно сделать быструю систему управления с обработкой данных внутри крейта - путем переписывания прошивки процессора Blackfin в самом крейт-контроллере. Это *большая* задача в смысле программирования (по сути надо реализовывать протокол высокого уровня, который штатно в ltrserver + приложение, внутри прошивки), но аппаратура позволяет. |
|||
|
||||
|
Re: Реализация управления через LTRСпасибо за ответы!
|
|||
|
||||
|
Re: Реализация управления через LTRПередача идёт и туда и обратно, понять что данные действительно вывелись через выходы LTR34 можно только приняв их обратно.
|
|||
|
||||
|
Re: Реализация управления через LTRПередача туда-обратно только для LTR34 или для LTR43 тоже? У нас LTR43. |
|||
|
||||
|
Re: Реализация управления через LTRИзвиняюсь, Я не в ту ветку написал.... |
|||
|
||||
|
Re: Реализация управления через LTRЗдравствуйте! Меня заинтересовала обработка данных внутри крейта. Доступны ли исходные тексты прошивки процессора Blackfin или контроллерные функции придется реализовывать заново? |
|||
|
||||
|
Re: Реализация управления через LTRИсходные тексты программы процессора Blackfin предоставляются (по запросу). О низкоуровневом программировании и соглашениях читайте в главе 15 руководства http://www.lcard.ru/download/ltr_hw.zip |
|||
|
||||
|
Re: Реализация управления через LTRОлег, в простейшем случае (если Вам надо, например, просто отфильтровать или проредить данные каким-то образом) Вы можете использовать заготовку, уже сделанную в прошивке и в ПО: можно сделать callback, на входе которого поток данных от какого-то модуля (слота), а выход помещается в специальный виртуальный 18-й слот, который можно читать через API. А если Вам надо серьезную систему управления с логикой, обратными связями и так далее, что задача это немаленькая, но решаемая. Контроллерные функции Вы сможете взять из штатной прошивки.
Упрощенно говоря, схема такова: 1. Прошивка blackfin не разбирается в командах и форматах данных модулей: она управляет материнской платой крейта, а то, что идет в модули (LTR-xxx, которые установлены в слоты крейта) и из модулей - это для нее как бы сплошной поток информации. Он транслируется как есть в ltrserver. 2. Программа ltrserver занимается в основном (де)мультиплексированием потока данных (то есть сплошной поток разделятся по слотам) и их буферизацией. Плюс там реализована инициализация крейта, идентификация модулей и некоторые команды управления, но только малая часть. По большому счету ltrserver не вникает, что это в слоте: LTR22 или LTR114, и чем они отличаются: модуль и модуль. Этим достигается в значительной степени универсальность крейта и сервера, так что когда появляется новый тип модуля, как правило для него просто пишут ltrXXXapi. 3. И уже на уровне DLL-библиотек ltrapi полноценно реализованы протоколы модулей (например, установка параметров АЦП, пуск и останов сбора данных и т.д.) Так что без изучения описаний и исходных текстов ltrapi и ltrserver не обойтись. Переделка LTR в автономную систему управления - большая работа. В ней все очень сильно зависит от Вашей конкретной задачи: какие функции нужны, а какие нет, фиксированный набор модулей в крейте или произвольный, нужен ли обмен данными с компьютером и если да, то какой (вероятно, потребуется разработать собственный протокол). |
|||
|
||||
|
Re: Реализация управления через LTRЗапоздалое спасибо за пояснения!! |
|||
|
||||
|
Re: Реализация управления через LTRДобрый день!
|
|||
|
||||
|
Re: Реализация управления через LTRГеоргий, если у Вас есть пожелания к ПО модулей LTR, то сформулируйте, пожалуйста, подробнее. |
|||
|
||||
|
Re: Реализация управления через LTRДобрый день, Александр!
|
Страницы 1
Тема закрыта