А можно ли как-то обрабатывать данные со звуковой карты в "реальном" времени прямо внутри проекта openSCADA? как я понял, для этого требуется доступ в буфер архиватора, но какими средствами его получить - я так и не смог понять из документации.
в зависимости от конкретной ситуации. можно сделать логический контроллер который будет работать с периодом 10мс и он будет брать одно значение в данный момент времени. и обрабатыавть его
@@arcsin1474 конкретизирую вопрос. у меня источник сигнала - коробка с фотодиодом, АЦП и контроллером atmega, подключена к usb через ftdi. После получения команды "огонь" коробка начинает непрерывно оцифровывать сигнал фотодиода и слать в usb с частотой 300 точек/сек данные (float в binary mode). Данные прекращают валится, когда поступает команда "отбой". Метки времени на данных из коробки нету. Максимум - я могу засечь на стороне openscada, когда отправил команду "огонь" или когда пришёл первый пакет. Далее - только считать точки и зная частоту их следования размечать по времени. Задача: выполнить мат. обработку этих точек (косвенные измерения величины, с участием других данных), причём для обработки нужны данные в скользящем окне шириной 3-5 тысяч точек. Я написал низкоуровневую часть linux драйвера коробки, получаю в отдельно стоящем приложении с неё данные. Также собрал и подключил шаблонный модуль к openscada. Теперь задача добавить в этот модуль функционал доступа к коробке и обработки данных в logiclevel описанным выше способом. Я понял из документации, что обработка таких быстрых данных производится с участием буфера, организованного в подсистеме архивирования. Но ни в документации, ни в коде не могу найти примеры или описание этого момента.
@@dsamsonovable в телеграмме есть группа OpenSCADA, но вопрос сложный. наверно придется идти на форум. вот Роман объяснял на форуме про буферы - может натолкнет на мысль. для пост обработки так же рекомендую рассмотреть oscada.org/wiki/Special:MyLanguage/Libs/Main_graphical_elements#graphCalc
А можно ли как-то обрабатывать данные со звуковой карты в "реальном" времени прямо внутри проекта openSCADA? как я понял, для этого требуется доступ в буфер архиватора, но какими средствами его получить - я так и не смог понять из документации.
в зависимости от конкретной ситуации. можно сделать логический контроллер который будет работать с периодом 10мс и он будет брать одно значение в данный момент времени. и обрабатыавть его
@@arcsin1474 конкретизирую вопрос. у меня источник сигнала - коробка с фотодиодом, АЦП и контроллером atmega, подключена к usb через ftdi. После получения команды "огонь" коробка начинает непрерывно оцифровывать сигнал фотодиода и слать в usb с частотой 300 точек/сек данные (float в binary mode). Данные прекращают валится, когда поступает команда "отбой". Метки времени на данных из коробки нету. Максимум - я могу засечь на стороне openscada, когда отправил команду "огонь" или когда пришёл первый пакет. Далее - только считать точки и зная частоту их следования размечать по времени. Задача: выполнить мат. обработку этих точек (косвенные измерения величины, с участием других данных), причём для обработки нужны данные в скользящем окне шириной 3-5 тысяч точек. Я написал низкоуровневую часть linux драйвера коробки, получаю в отдельно стоящем приложении с неё данные. Также собрал и подключил шаблонный модуль к openscada. Теперь задача добавить в этот модуль функционал доступа к коробке и обработки данных в logiclevel описанным выше способом. Я понял из документации, что обработка таких быстрых данных производится с участием буфера, организованного в подсистеме архивирования. Но ни в документации, ни в коде не могу найти примеры или описание этого момента.
@@dsamsonovable в телеграмме есть группа OpenSCADA, но вопрос сложный. наверно придется идти на форум. вот Роман объяснял на форуме про буферы - может натолкнет на мысль. для пост обработки так же рекомендую рассмотреть oscada.org/wiki/Special:MyLanguage/Libs/Main_graphical_elements#graphCalc