Признавая полезность манускрипта "Взгляды на программное обеспечение ЛИУ, которые можно рассматривать как техническое задание" от 21.04.2010, надо признать, что содержащейся в нём информации категорически недостаточно. А именно: 1. Главное -- требуется пошаговое и детальное описание временнОй схемы работы, которую должна реализовывать программа. Речь о том процессе "сделать 100 пробных выстрелов, а потом, если всё успешно, то уже настоящий выстрел". В частности, нужна информация: - С какими интервалами делать эти пробные выстрелы? Интервал желательно регулировать в диапазоне от 10 до 60 секунд - Какую информацию с них сохранять, а какую не обязательно? Желательно сделать список с крыжиками и выбирать из этого списка то, что нужно сохранять. Сам список можно составить по факту того, что на текущий момент измеряется и технически может быть сохранено. - Какие отклонения каких параметров являются критичными и должны прерывать процесс, а на какие и в каких пределах можно "закрывать глаза"? Думаю, что здесь надо также сделать список из измеряемых численных величин и ставить крыжик и указывать далее допустимый интервал на данное число (от и до). Эти числа могут вычисляться по соответствующим осциллограммам. Пока считаю, что нужно сделать два числа по каждой осциллограмме. Это среднее значение на фиксированном временном интервале и положение центра тяжести импульса по времени отсчитываемого от старта осциллографа. - Не требуется ли варьирование каких-либо параметров между разными выстрелами в пробной серии? Думаю, что нет. - Какие отличия "настоящего" выстрела (если они есть)? Пучок идет на мишень и коллиматор открыт. Других отличий нет. - Какую информацию с конечного выстрела сохранять? Выстрел, который идет на газодинамический опыт, должен быть сохранен максимально подробным образом (сохранять все, что технически можно сохранить). - Какие подготовительные действия следует произвести перед началом процесса (смена уставок, режимов, ...)? Поставить под пучок мишень, открыть цилиндр фарадея и коллиматор, больше ничего. - Какие действия следует произвести после окончания сценария? Все что можно – записать и сохранить под соответствующими именами. Единственный ли сценарий работы машины "N пробных, 1 настоящий", или требуются и другие? Начнем с этого, а дальше – увидим. 2. Управление таймированием: в настоящее время эта работа выполняется путём прямого уставления задержек в каналы 9 штук DL200. - Адекватен ли такой "низкоуровневый" подход? Очевидно, нет -- точнее, "отображения DL200 на экране" необходимы для пуско-наладочных работ, но... Ввод чисел - это нормально, можно оставить так как есть. - Видимо, желательно иметь на экране схематичную схему таймирования, например, в виде дерева, отражающего последовательную зависимость запусков? - Или какое-то другое, визуально-удобное и наглядное представление? - Именно в таком варианте появилась бы наглядная возможность вводить не абсолютные временнЫе уставки, а смещения. Это можно отложить до лучших времен. 3. Работа с блокировками: хочется иметь письменное формализованное описание принятой в настоящее время схемы (с учётом поправок по результатам обсуждения в октябре (или в ноябре?)). В том числе: - схема задействования/маскирования блокировок; (в т.ч. с учётом различий и специфики разных вариантов DL200 -в нынешней инкарнации принципы работы с блокировками DL200/fast и DL200/slow кардинально различаются, а предполагается работу DL200/fast еще изменить); - отдельным пунктом -- как в этой модели участвует то, что в описаниях DL200 фигурирует под названиями "Блокировка/Авария-S" и "маска обработки запретов". - желаемые схемы сброса блокировок, если сброс по-прежнему актуален: все, либо какими-либо группами, либо... - реакция на блокировки (эта тема почти неисчерпаема, но желательно иметь хотя бы базовое описание возможного спектра схем работы). Это надо обсуждать всем вместе и исходить из тех возможностей, которые мы реально имеем (не все важные блокировки реализованы сегодня) . 4. Управление всем комплексом в целом: какие требуются "ручки" управления всем комплексом или глобальной установки параметров? Например: - Управление модуляторами: - Включение/выключение всех модуляторов - Включение/выключение всех первых блоков запуска, аналогично со вторыми. - Аналогичное управление раздельно всеми модуляторами 1-го и 2-го МэВ. - Управление модуляторными АЦП: - Уставка диапазонов измерения всех АЦП. - Калибровка всех АЦП. - Синхронное управление одинаковыми каналами DL200ME всех секций. В этих примерах перечислены сравнительно простые действия. Думаю, что этого достаточно на первое время. - Какие еще подобные действия требуются? - Какие более сложные действия требуются? (Например, "сценарии" -- выполнить глобальную уставку, подождать несколько секунд либо дождаться некоего события (блокировки/ готовность/...), затем выполнить еще некое действие, и т.д.) Частично эта задача решается путём подготовки режимов и загрузки их, но зачастую "кнопки глобальных действий" могут оказаться удобнее. Это так. 5. "Быстрые осциллографы" (модуляторные ADC200ME): - Желательно иметь битым текстом описание алгоритмов обработки осциллограмм -- способы расчёта интегралов/энергий, ... Сделай по тем формулам, что я тебе давал. - Критерии определения "ухода" по временам, по интегралам, по уровням. - "Алгоритм им. Г.Фатькина", по которому надлежит "выполнить коррекцию". - Какие из рассчитанных по осциллограммам параметров следует выводить на экран, и в каком виде. Два числа: среднее значение в интервале и положение центра тяжести. - Как сигнализировать об отклонениях рассчитываемых параметров от желаемых/эталонных. Цветом фона поля вывода числа. Отдельно -- аналогичные вопросы по суммирующим осциллограммам. Обработать как обычные осциллограммы. 6. "Медленные осциллографы S-XX" (ADC812): - Во-первых -- "Что это и для чего нужно?". Фраза "по три канала на каждый модулятор (два напряжения на формирующих линиях и поведение тока размагничивания)" недостаточна, поскольку она отвечает лишь на вопрос "что?", но не на вопросы "зачем?" и "как?". Какого рода анализ этих осциллограмм требуется, и что хочется получать в результате? Или достаточно "ручного" анализа путём визуального сравнения формы графиков и сдвигов относительно реперов/курсоров? Думаю, что описанной выше стандартной обработки по среднему значению в интервале и положению центра тяжести будет достаточно. Самое важное, что конкретную осциллограмму с отклонениями более допустимых можно будет быстро развернуть и увидеть. - Во-вторых, рутинные вопросы, аналогичные вопросам по "Быстрым осциллографам". На рутинные вопросы – рутинные ответы. 7. "Осциллограммы быстрые" (с ADC200ME в центральном крейте): требуется более конкретное описание -- что меряется этими 4 АЦП с 8 каналами, зачем (какая цель), алгоритмы их обсчёта. Итак, это – 4 осциллограммы с пикапа, пока без обработки; две осциллограммы с трансформаторов тока диода и тока пучка на мишень; одна осциллограмма с емкостного делителя полного напряжения диода. И один канал – резерв. Последние 3 осциллограммы надо обработать стандартно, как все другие (два числа). По имеющемуся на данный момент описанию можно сделать лишь стандартные панели "работа с ADC200ME", отображающие осциллограммы и ручки управления каждым АЦП. Очевидно, этого будет недостаточно. 8. "Осциллограммы медленные" (с зарядных устройств и с Токарева): для начала требуется конкретное описание -- какие устройства, какие каналы за что отвечают; далее -- вопросы аналогично прочим осциллографам. 4 осциллограммы ток в линзах с 1-й по 4-ю, и две с зарядных устройств, обработка стандартная (два числа). 9. Калибровки всех приборов. В частности: - собственно калибровки -- сколько ампер, килоампер, вольт или киловольт на вольт, измеряемый АЦП. Для ВСЕХ каналов -- а то в данный момент есть только калибровка "у 2-го канала модуляторных ADC200ME 1В АЦП соответствует 39кВ"; даже калибровки 1-го (токового) канала -- нету. - у каких из однотипных приборов калибровки одинаковые, а у каких -различаются (например, одинаковы ли калибровки всех модуляторных ADC200ME)? - какие из калибровок можно считать фиксированными, а какие РЕАЛЬНО может потребоваться корректировать оперативно прямо во время работы? Вводи везде масштабирующий коэффициент. Таблицу этих коэффициентов мы заполним по ходу работы.