sacai (sacai) wrote,
sacai
sacai

Математика и немного физики

Экзаменом, который я провалил при попытке поступления в НГУ, была математика.
Не то, чтобы я математику совсем не любил или не понимал, но такие вещи, как статистика, наводят на меня тоску, а теория вероятности - чувство безысходности. Вот перемножение матриц - это другое дело.
Поэтому, когда я программировал, было проще не держать в голове все численные методы постоянно, но при необходимости быстро найти в литературе (да-да, были времена, когда еще не было глагола "гуглить", а с Yahoo приличных глаголов никак не рифмовалось).



В энергетике нет высокой математики, но в основе электротехники лежит сплав математики и физики. Ом, Кирхгоф и примкнувший к ним Фарадей. И, как показывает опыт, допустить ошибку в математике куда проще, чем обмануть физику.
Потому что физику не обманешь.
При разработке локальной автоматики для ПС Рубцовская, системная часть софта и так была на мне, плюс один из технологических модулей, который должен был при выходе параметра за определенные пределы дернуть модуль, умеющий выдавать сигнал на дискретные выходы. Это как моргнуть лампочкой, только вместо лампочки - выключатель на ВЛ 110 кВ. Математики, считай, не было вообще, кроме сглаживания входного параметра да отсчета временных интервалов. Вот здесь и притаился нюанс...
Не успели ввести устройство в эксплуатацию, как оно сработало. Но сработало не свосем так, как ожидалось. В результате я поехал на экскурсию разбираться на месте. На месте разобраться не удалось, к тому же я едва не пропустил рождение дочери.
А потом анализ событий и тесты выявили, что физика таки имеет значение.
Поскольку параметры были током и напряжением, а следовательно, имели определенную точность фиксации и по национальности представлены были числами с плавающей точкой, то и все расчеты и сравнения выполнялись в основном цикле, в то время как передача сигнала "зажигай, Ахмед!" модулю, который умел выдавать импульсы на нужные выходы, выполнялась в реальном времени. И таких сигналов в момент аварии было много...
И, поскольку QNX - система многозадачная, в момент аварии основной цикл расчета был отправлен отдыхать. Система реального времени не гарантирует того, что каждая задача обязательно получит свой квант процессорного времени, она лишь гарантирует определенное время реакции на прерывание. Процессор один, его на всех не хватает. Физика-с.
Пришлось переходить к вычислениям с фиксированной точкой, чтобы закодировать входные параметры как целые числа, и проводить расчеты и сравнения с уставками в самом обработчике прерываний системного таймера. Который вызывается и получает управление гарантированно (но для QNX 6 и это оказалось не точно, но это уже другие нюансы).
Так физика может победить математику.
Tags: #92днялета, it, математика, физика, энергетика
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments