Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
Доступ к одному E502 нескольким процессам.Добрый день! Сейчас нет под рукой Е502, поэтому экспериментально не могу ответить на возникший вопрос. Но нужно уже сейчас принимать решение об архитектуре проекта. |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Добрый день. Нет, к сожалению, управление всем вводом-выводом модуля может выполняться одновременно только по одному соединению из одного процесса (программы). Такое разнесение возможно только если делать отдельно процесс управления модулем, который единственный работает с модулем напрямую, при этом предоставляющий какой-то интерфейс для других программ для управления ввода-выводом. Соответственно, все остальные программы будут обращаться к этому процессу. В качестве примера такой организации работы может служить OPC-сервер (правда в нашем E-502 только в планах включения), который напрямую работает с устройствами и уже через переменные OPC-интерфейса предоставляет доступ к прочитанным данным или к управлению выводом другим программам, которых может быть произвольное количество. |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Спасибо! |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Еще вопрос по теме созрел: |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Да, обращения потокобезопасные и можно разносить разные операции по разным потокам, но нужно учитывать, что обращения из разных потоков должны быть огранизованы определенным образом в соответствии API, чтобы функции не возвращали ошибок. Отредактировано Алексей L Card (23.01.2020 19:00:48) |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.У меня такая задача - сбор данных с АЦП идет постоянный, запись в ЦАП (буду использовать 2 канала ЦАП) - кратковременный вывод в ЦАП как реакция на настпуление событя. Вопросы: |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Для Вашего случая лучше вообще не делать StreamsEnable/StreamsDisable, а воспользоваться тем, что когда нет данных, то ЦАП повторяет последнее выведенное значение. PreloadStart тоже особо не нужен, он нужен, чтобы вывод начался одновременно с вводом АЦП по StreamsStart() (а для этого нужно загрузить данные до запуска ввода-вывода). Т.е. разрешаете все потоки, делаете StreamsStart, затем по нужному событию выводите пачку нужных данных из другого потока, последний семпл в пачке для каждого канала должен соответствовать уровню "выключенного" ЦАП. Вы можете не использовать PrepareData, но тогда Вы должны сами обеспечить, чтобы отсчеты ЦАП были в виде 32-битных слов в формате, описанном в пункте 5.12 документа https://www.lcard.ru/download/x502_low_level.pdf. Модуль определяет, к какому каналу относятся данные, не по позиции, а по старшим битам слова, где это закодировано. Также PrepareData делает перевод из Вольт в коды и применение калибровки, что Вам тогда тоже нужно делать самостоятельно. Отредактировано Алексей L Card (24.01.2020 14:16:12) |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Отличная мысль! Спасибо! |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Я имел ввиду, уровень, которой для Вашей задачи управления соответствует отсутствию событий, т.е. который Вам нужен между этими кратковременными выводами по событию, вдруг Вам нужен не нулевой уровень. А так после сброса модуля до первого вывода на ЦАП на нем будет действительно нулевой уровень. После первого вывода ЦАП сохраняет последнее выведенное значение до сброса модуля (StreamsStop явно не переводит выходы ЦАП в нулевое состояние, а останавливает вывод). В любом случае, последняя точка Вашего сигнала (переданная в том же Send или сделать сразу второй Send) должна соответствовать этому уровню, чтобы ЦАП ее повторял, пока не придут новые данные следующего вывода. |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Наконец то получил для тестов E-502. |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.А версия прошивки ПЛИС у Вас какая у модуля? |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Плис: 0.3 |
|||
|
||||
|
Re: Доступ к одному E502 нескольким процессам.Да, Вам нужно будет обновить прошивку ПЛИС с помощью утилиты lxfw-update из последнего SDK для Windows или из одноименного пакета с этой утилитой под Linux (поставил сейчас на сборку версию пакета с самой последней прошивкой). |
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск