Вычисляем дельту или как мониторить всякую всячину.

Поделиться

Вычисляем дельту или как мониторить всякую всячину.

Ну вот стандартная проблема, тем более сейчас актуально разрабатывать всякий контроль над АЭС, и многие сразу же с ней столкнулись: как определить скорость притока/оттока какого-нибудь ресурса? Ну, понятное дело, можно посмотреть на графики производства и прикинуть на глазок, если очень интересно. Но если нужно чтоб в автоматическом режиме выполнялось всё, к примеру, те же стержни в реактор закидывались или что-нибудь ещё, то просмотр графиков мало помогает.

Понятное дело, что узнать сколько, ну хоть бы и воды в баке, легко. Но вот узнать с какой скоростью она туда прибывает или убывает оттуда – вопрос уже посложнее. Понятное дело, что для того, чтоб более-менее точно определить это, нужно как минимум два замера значения воды в баке и два замера времени, в которое это сделано. Ну вот значит один раз замерили воду в баке = 20k, время было 12:00, а потом замерили = 21k, время было 12:01, получается методом нехитрых вычислений, что средняя скорость притока воды = 1k/мин.


Какие такие нехитрые вычисления? ΔV/Δt, где V – объём воды, а t – время. Дельту – а это такая буква, которая подозрительно похожа на треугольник – всякие учёные издревле приставляют, чтобы обозначить в письменной форме разницу в двух значениях какого-нибудь параметра, который меняется. Ну, в общем, разница между значениями объёма воды, то бишь ΔV = 21k – 20k = 1k, а разница между значениями времени в те моменты, то бишь Δt = 12:01 – 12:00 = 1 минута (да простят меня все те, чьи чувства были оскорблены такой записью арифметических операций со временем). Ну и вот так и получаем эти интуитивно понятные 1k/мин

А если по-хорошему, то эта тема касается таких занимательных штук как производные, и ей целый раздел в ВМ посвящён.

Вообще за эту минуту могло что угодно произойти: весь бак мог опустеть и заполниться несколько раз, но мы замеряли с интервалом в минуту, так что и скорость у нас средняя за эту минуту. Но если хотим знать скорость точнее и чаще, то и измерения надо проводить почаще, обновлять, так сказать, информацию.

Ну а в Factorio это лучше всего делать в автоматическом режиме при помощи комбинаторов. И для этого был собран специальный универсальный прибор, который и призван мерить всякую всячину, через заранее настроенный промежуток времени. Как он работает вы могли не понять и из других постов, так что те, кому интересно разобраться, всенепременно разберутся, а для остальных есть инструкция по эксплуатации этой приблуды.

В скриншотах.



Запускайте ракеты, стегайте креветок электроразрядом, умнейте!

P. S.
Кстати, прибор вычисляет только дельту по ресурсу, деления на дельту по времени не происходит. В принципе можете прикрeтить комбинатор, делящий D на S – R сами, но на всякий случай более навороченный монитор ресурсов, вычисляющий скорость притока/оттока в секунду с заданной точностью, будет бонусом в следующем посте.


Поделиться

Комментарии:

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.