Сам столкнулся с необходимостью использования lua только один раз, и то на самом деле можно было обойтись. Не так много ПО, где нужно давать скрипты пользователям.
Для прототипа (быстро накидать, посмотреть, проверить) я бы его взял.
А в практическом плане, наверно, да, соглашусь с вами, что не вариант.
Про asn.1 не слышал.
Дальше баша не смогу прыгнуть точно, потому что на прикладном уровне нахожусь, то есть сложно сделать что-то оригинальное, не изучая теорию, не сравнивая мду собой разные подходы и тд.
Да и времени (желания) особо нет копать глубоко.
Привет.
Побольше бы тех подробностей:
— какие контроллеры,
— как данные от них завели в zabbix,
— какой минимальный цикл опроса датчиков получился. Мне вот думается, что не меньше секунды, поэтому для насосов норм, а для быстродей-х процессов не пойдет.
— до этого ведь была у вас какая-то скада уже (не может быть, чтобы производство без картинки для оператора), чем лучше стало?
— есть промышленные системы мониторинга (типа ibapda), своих денег стоит. Брали на посмотреть? По сравнивали бы…
ну и тд
Как то так бы делал:
Память пусть в потоке камеры остается.
Камера в своем потоке циклически записывает кадры в свой буфер (состоит из структур типа — {frame, flag}) и пишет флаг для каждой позиции — «кадр обновлен».
В рабочем потоке (одном из) бежать по буферу камеры, искать обновленный кадр, его брать себе — копируя в свою память, флаг менять — «кадр взят в работу».
Камера может обновить кадр, только если в этой позиции стоит флаг «взят в работу». Если нет таких, то есть все потоки заняты, то пропускает этот кадр.
В общем — не плохо.
А если конкретную задачу решать — 16 потоков, кадры с камер(ы?),
то я бы ограничился контролем за счетчиком выделенной памяти в каждом потоке, например, так:
const size_t BUFF_SZ = 10000;
vector<byte> buffer(BUFF_SZ);
size_t bufCPos = 0; // в каждом потоке свой буфер, поэтому без atomic
byte* popMem(size_t frameSz){
if (bufCPos + frameSz > BUFF_SZ){
return nullptr; // памяти не хватает - пропускаем кадр
}
bufCPos += frameSz;
return buffer.data() + (bufCPos - frameSz);
}
void pushMem(size_t frameSz){
bufCPos -= frameSz;
}
Выделение-освобождение памяти это ведь операция, над которой хотелось бы не задумываться (в идеале), поэтому… из преимуществ остается только первое, но его можно добиться и проще (и то стоит заморачиваться, только если это действительно нужно).
По моему вы зациклились на этих плюсах.
В жизни много других вещей. У меня в 29 лет была уже жена, дочь 5 лет и ипотека. Плюсы тоже были и сейчас есть, только на 5м месте, наверно.
Про себя опять — я вот хочу на питон перелезть со временем, потому что там тупо проще.
Сразу представились, планку задрали. Хорошо…
После статьи: ну и где? Придумали что-то новое в нсетях? Архитектуры откуда тырите?
На сайте у вас распознавание документов, и чо? Тоже так могу, я — ученый? Нет.
на тропическую алгебру позволяет резко сократить число транзисторов в нейропроцессорах при сохранении выразительной силы? Или что наличие радоновских слоев в нейросети позволяют ей экономно описывать проективные инварианты, которые
Спасибо, интересно.
Не первую статью уже вижу, что ML стремится в производство.
Пару мыслей своих выскажу об этом, потому что работал на производстве.
Помню еще, что есть на производстве такая вещь как «АСУТП». У нее задача обеспечивать тех процесс: опрос датчиков, управление эл приводами, регуляторы температуры, давления и тд. Все работает правильно, как написано производителем оборудования, с учетом тех требований и тд.
Теперь появляется ML, она тоже собирает показания с датчиков пусть, но не знает что это за датчики, зачем они вообще нужны, физику процесса не понимает, потому что естественно (неожиданно для Chief Digital Transformation Officer, Chief Datа Officer и прочего пром топ-менеджмента) интеллекта там никакого нет.
Просто ищет корреляции между данными, и на основе выборки (и искусственных эвристик, которые натолкали чтобы хоть как то на правду похоже было)), статистики по сути, выдает суждение (но решение сама естественно не принимает), правильно?
А технологи чем занимаются на производстве, неужели технологи, с многолетним опытом, хуже сделают предложение, чем на коленке написанный питоновский скрипт?
В общем, может я неправ конечно, но пока видится как — на волне хайпа прокатится по ушам, продать слона и тд.
Нет, на тот момент когда возникла потребность, выбор был между забиксом и прометеем. Но писать надо было не статистику по серверам, а программные параметры с высокой частотой,
в итоге накидал решение за неделю свое, и оно выросло в то что сейчас перед вами.
Сейчас сам им не пользуюсь, остался как пет-проект, который позволяет в форме оставаться.
На нынешней работе забикс крутится, админ им рулит, пару раз просили записать кое-что… Вот так.
Почитал про InfluxData, пишут что до наносекунд позволяет регистрировать, хранит не долго правда. Интересно, да.
Слишком сложно. Сложно даже до конца прочитать статью, наворочено много всего.
Вот, например, OPC — интерфейс между промышленными контроллерами с одной стороны и скада системами (визуализацией) с другой.
Что он из себя представляет по сути — набор библиотек с С-интерфейсом, чтобы можно было из любого языка вызвать несколько функций. И нет никакой кучи слоев передачи данных с модными названиями.
Например, появился новый контроллер, пусть тот же ESP32. Пишется для него драйвер Один раз для передачи данных в OPC сервер. Все на этом. Все панели управления или ПК, которые понимают OPC, смогут управлять этим контроллером, либо показывать с него информацию, дальше ее передавать куда то и тд.
они все (фреймворки для нсетей) на C++, и все работают на видео картах одинаково (практически, если единицы мс не считать).
на кремнии, кому надо, уже реализовали, думаю.
и не резнетом единым, — это только одна из архитектур, и решает только одну из задач.
+. тем же самым занимался (автоматика на нижнем уровне, не БД), не один. 3 года ушло на доведение до ума.
еще надо отметить, что остальные службы тоже свое допиливают — гидравлики, механы, электрики…
за месяц можно только выпендриться, чем афтор и занимается всю жизнь похоже.
Для прототипа (быстро накидать, посмотреть, проверить) я бы его взял.
А в практическом плане, наверно, да, соглашусь с вами, что не вариант.
Дальше баша не смогу прыгнуть точно, потому что на прикладном уровне нахожусь, то есть сложно сделать что-то оригинальное, не изучая теорию, не сравнивая мду собой разные подходы и тд.
Да и времени (желания) особо нет копать глубоко.
Себя для объективности не забывайте (проеб-ся лишних 2 дня — какой ты нах лид — в сторону!)
Побольше бы тех подробностей:
— какие контроллеры,
— как данные от них завели в zabbix,
— какой минимальный цикл опроса датчиков получился. Мне вот думается, что не меньше секунды, поэтому для насосов норм, а для быстродей-х процессов не пойдет.
— до этого ведь была у вас какая-то скада уже (не может быть, чтобы производство без картинки для оператора), чем лучше стало?
— есть промышленные системы мониторинга (типа ibapda), своих денег стоит. Брали на посмотреть? По сравнивали бы…
ну и тд
Память пусть в потоке камеры остается.
Камера в своем потоке циклически записывает кадры в свой буфер (состоит из структур типа — {frame, flag}) и пишет флаг для каждой позиции — «кадр обновлен».
В рабочем потоке (одном из) бежать по буферу камеры, искать обновленный кадр, его брать себе — копируя в свою память, флаг менять — «кадр взят в работу».
Камера может обновить кадр, только если в этой позиции стоит флаг «взят в работу». Если нет таких, то есть все потоки заняты, то пропускает этот кадр.
А если конкретную задачу решать — 16 потоков, кадры с камер(ы?),
то я бы ограничился контролем за счетчиком выделенной памяти в каждом потоке, например, так:
Выделение-освобождение памяти это ведь операция, над которой хотелось бы не задумываться (в идеале), поэтому… из преимуществ остается только первое, но его можно добиться и проще (и то стоит заморачиваться, только если это действительно нужно).
В жизни много других вещей. У меня в 29 лет была уже жена, дочь 5 лет и ипотека. Плюсы тоже были и сейчас есть, только на 5м месте, наверно.
Про себя опять — я вот хочу на питон перелезть со временем, потому что там тупо проще.
Прям щас пилю на wxWidgets, ваш sizer реально пригодится!
Дальше:
Сразу представились, планку задрали. Хорошо…
После статьи: ну и где? Придумали что-то новое в нсетях? Архитектуры откуда тырите?
На сайте у вас распознавание документов, и чо? Тоже так могу, я — ученый? Нет.
а… ну после этого сразу ученостью запахло
Не первую статью уже вижу, что ML стремится в производство.
Пару мыслей своих выскажу об этом, потому что работал на производстве.
Помню еще, что есть на производстве такая вещь как «АСУТП». У нее задача обеспечивать тех процесс: опрос датчиков, управление эл приводами, регуляторы температуры, давления и тд. Все работает правильно, как написано производителем оборудования, с учетом тех требований и тд.
Теперь появляется ML, она тоже собирает показания с датчиков пусть, но не знает что это за датчики, зачем они вообще нужны, физику процесса не понимает, потому что естественно (неожиданно для Chief Digital Transformation Officer, Chief Datа Officer и прочего пром топ-менеджмента) интеллекта там никакого нет.
Просто ищет корреляции между данными, и на основе выборки (и искусственных эвристик, которые натолкали чтобы хоть как то на правду похоже было)), статистики по сути, выдает суждение (но решение сама естественно не принимает), правильно?
А технологи чем занимаются на производстве, неужели технологи, с многолетним опытом, хуже сделают предложение, чем на коленке написанный питоновский скрипт?
В общем, может я неправ конечно, но пока видится как — на волне хайпа прокатится по ушам, продать слона и тд.
В общем пробовать надо собрать. Все дбыть (наверно) в пакет менеджере у debian.
в итоге накидал решение за неделю свое, и оно выросло в то что сейчас перед вами.
Сейчас сам им не пользуюсь, остался как пет-проект, который позволяет в форме оставаться.
На нынешней работе забикс крутится, админ им рулит, пару раз просили записать кое-что… Вот так.
Почитал про InfluxData, пишут что до наносекунд позволяет регистрировать, хранит не долго правда. Интересно, да.
Вот, например, OPC — интерфейс между промышленными контроллерами с одной стороны и скада системами (визуализацией) с другой.
Что он из себя представляет по сути — набор библиотек с С-интерфейсом, чтобы можно было из любого языка вызвать несколько функций. И нет никакой кучи слоев передачи данных с модными названиями.
Например, появился новый контроллер, пусть тот же ESP32. Пишется для него драйвер Один раз для передачи данных в OPC сервер. Все на этом. Все панели управления или ПК, которые понимают OPC, смогут управлять этим контроллером, либо показывать с него информацию, дальше ее передавать куда то и тд.
Руслан Карманов про Китай
на кремнии, кому надо, уже реализовали, думаю.
и не резнетом единым, — это только одна из архитектур, и решает только одну из задач.
Ваш проект что/где? ссылку не вижу.
Напишите потом еще о результате, когда сделают наконец.
еще надо отметить, что остальные службы тоже свое допиливают — гидравлики, механы, электрики…
за месяц можно только выпендриться, чем афтор и занимается всю жизнь похоже.
файлы с расширением .pyd — файлы dll. Искал месторасположение по размеру.