последний ВР отключил для того, чтобы был гаситель колебаний - они иногда вылезают оочень мощными. В дальнейшем ЗР отключю тоже.
Если ЗР пополняются излишне интенсивно, будет падение давления ТМ, которое кран попытается восполнить, и давление скакнет вверх, вызвав отпуск.
у меня при рассчёте потока из вагона в вагон учитываются утечки в ЗР и в атмосферу тех вагонов, которые ещё не просчитаны. Ну а в 1 вагоне может быть всё что угодно из-за того, что клапан КМ в первый момент может дать зарядку. А если зарядка сработала, то ТЦ отпустит, если торможение снова не начнётся
чуток по архитектуре - пока все резервуары загнаны в группу массивов, одну на весь поезд. Старался выделить все параметры, которые используются в рассчётах, в отдельные классы, но при подборе(а иначе не назовёшь) ВРа кое-что для него оставленно в рассчётчике.
рассчётчик(модель) - это функция void __fastcall TForm1::Timer1Timer(TObject *Sender) , всё остальное - TBTS, т.е. мишура, которая вводит начальные данные, строит графики, создаёт объекты "настройки лока" и "настиройки вагона" (LocParam1 и VehParam1) , пока что общие для всех. Единственное, что эта функция делает с формой - меняет значения Edit3->Text и Edit4->Text (давления в УР и НМ, т.к. давление УР нам надо знать точно в любой момент времени, а не каждые 0.5 сек, как всё остальное).
Далее идёт рассчитывалка потоков в КМ394, согласно позициям, затем - считалка распространения волны (волна срабатывает только на 1 позиции), ну и цикл последовательного пересчёта давлений в вагонах. Замечу, что для убирания скачков ведётся 2 пересчёта массы воздуха, перетекающей из вагона в вагон - предварительный и окончательный (после рассчётов ДР-ки и торможения). Вся масса воздух, вытекшая из одного вагонасразу принимается за массу втёкшего в следующий. (для первого вагона масса поступающего воздуха рассчитывается в КМе)
В вагоне в начале определяется масса воздуха, перетекающего в ЗР, затем предварительно рассчитывается скорость изменения давления в ТМ вагона. Потом - рассчётчик "сдвига мембраны" (так называемая модель ВР), допразрядка и 2 ступени томожения (средний режим) - до 1 атмосферы, и до большего (ничего из этого не сработает при 2 положении КМ - сделать ловлю сброса давления ТМ до давления УР иным способом не придумал).
Датчик разрядки (при смещении в 0.01 срабатывает отпуск ТЦ), и окончательный рассчёт.
Ниже - рассчёт давления для последнего вагона (либо вагона, на котором заканчивается волна), у которого для глушения колебаний все элементы, кроме ЗР, отсутствуют. Собственно вся модель. Выделить её для иных целей вполне не сложно