Загрузка данных
const {
Document, Packer, Paragraph, TextRun, HeadingLevel, AlignmentType,
PageBreak, Table, TableRow, TableCell, WidthType, BorderStyle,
ShadingType, TableLayoutType, convertInchesToTwip, LevelFormat,
NumberingFormat, UnderlineType
} = require("docx");
const fs = require("fs");
// ─── helpers ────────────────────────────────────────────────────────────────
function tnr(text, opts = {}) {
return new TextRun({ text, font: "Times New Roman", size: 28, ...opts });
}
function para(runs, opts = {}) {
return new Paragraph({
children: Array.isArray(runs) ? runs : [runs],
alignment: AlignmentType.JUSTIFIED,
indent: { firstLine: 720 },
spacing: { line: 360, before: 0, after: 120 },
...opts,
});
}
function paraNoIndent(runs, opts = {}) {
return new Paragraph({
children: Array.isArray(runs) ? runs : [runs],
alignment: AlignmentType.JUSTIFIED,
spacing: { line: 360, before: 0, after: 120 },
...opts,
});
}
function heading1(text) {
return new Paragraph({
children: [new TextRun({ text, font: "Times New Roman", size: 28, bold: true })],
heading: HeadingLevel.HEADING_1,
alignment: AlignmentType.CENTER,
spacing: { before: 480, after: 240 },
});
}
function heading2(text) {
return new Paragraph({
children: [new TextRun({ text, font: "Times New Roman", size: 28, bold: true })],
heading: HeadingLevel.HEADING_2,
alignment: AlignmentType.LEFT,
spacing: { before: 360, after: 180 },
});
}
function centeredBold(text, opts = {}) {
return new Paragraph({
children: [new TextRun({ text, font: "Times New Roman", size: 28, bold: true, ...opts })],
alignment: AlignmentType.CENTER,
spacing: { line: 360, before: 60, after: 60 },
});
}
function centered(text, opts = {}) {
return new Paragraph({
children: [new TextRun({ text, font: "Times New Roman", size: 28, ...opts })],
alignment: AlignmentType.CENTER,
spacing: { line: 360, before: 60, after: 60 },
});
}
function pb() {
return new Paragraph({ children: [new PageBreak()] });
}
function emptyLine() {
return new Paragraph({
children: [new TextRun({ text: "", font: "Times New Roman", size: 28 })],
spacing: { line: 360 },
});
}
// Simple table helper: rows = [[cell1, cell2,...], ...]
function makeTable(rows, colWidths, headerRow = true) {
const borderProps = {
top: { style: BorderStyle.SINGLE, size: 6, color: "000000" },
bottom: { style: BorderStyle.SINGLE, size: 6, color: "000000" },
left: { style: BorderStyle.SINGLE, size: 6, color: "000000" },
right: { style: BorderStyle.SINGLE, size: 6, color: "000000" },
insideHorizontal: { style: BorderStyle.SINGLE, size: 6, color: "000000" },
insideVertical: { style: BorderStyle.SINGLE, size: 6, color: "000000" },
};
const tableRows = rows.map((row, rowIdx) =>
new TableRow({
children: row.map((cellText, colIdx) =>
new TableCell({
children: [
new Paragraph({
children: [new TextRun({
text: cellText,
font: "Times New Roman",
size: 24,
bold: rowIdx === 0 && headerRow,
})],
alignment: AlignmentType.CENTER,
spacing: { line: 300, before: 60, after: 60 },
}),
],
width: { size: colWidths[colIdx], type: WidthType.DXA },
shading: rowIdx === 0 && headerRow
? { type: ShadingType.CLEAR, color: "auto", fill: "D9D9D9" }
: { type: ShadingType.CLEAR, color: "auto", fill: "FFFFFF" },
borders: borderProps,
})
),
})
);
return new Table({
rows: tableRows,
columnWidths: colWidths,
layout: TableLayoutType.FIXED,
width: { size: colWidths.reduce((a, b) => a + b, 0), type: WidthType.DXA },
});
}
// ─── CONTENT ─────────────────────────────────────────────────────────────────
const children = [];
// ══════════════════════════════════════════════════════════
// TITLE PAGE
// ══════════════════════════════════════════════════════════
children.push(
centeredBold("МИНОБРНАУКИ РОССИИ"),
centered("Федеральное государственное бюджетное образовательное"),
centered("учреждение высшего образования"),
centeredBold("«Чувашский государственный университет имени И.Н. Ульянова»"),
centered("(ФГБОУ ВО «ЧГУ им. И.Н. Ульянова»)"),
centeredBold("Факультет энергетики и электротехники"),
centeredBold("Кафедра электрических и электронных аппаратов"),
emptyLine(), emptyLine(),
centeredBold("ОТЧЁТ", { size: 32 }),
centeredBold("о прохождении производственной (эксплуатационной) практики", { size: 32 }),
emptyLine(),
centered("на предприятии ООО «НПП Бреслер» (г. Чебоксары)"),
emptyLine(), emptyLine(),
new Paragraph({
children: [
tnr("Направление подготовки: "),
tnr("13.03.02 Электрические и электронные аппараты", { bold: true }),
],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
indent: { left: 5040 },
}),
new Paragraph({
children: [tnr("Профиль: ЭиЭА")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
indent: { left: 5040 },
}),
new Paragraph({
children: [tnr("Студент: Горшков К.О., гр. ВИШ-11-23")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
indent: { left: 5040 },
}),
new Paragraph({
children: [tnr("Руководитель от кафедры: Иванова С.П.")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
indent: { left: 5040 },
}),
new Paragraph({
children: [tnr("Руководитель от предприятия: Петров А.А.")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
indent: { left: 5040 },
}),
emptyLine(), emptyLine(), emptyLine(),
centered("Чебоксары 2026"),
pb(),
);
// ══════════════════════════════════════════════════════════
// СОДЕРЖАНИЕ
// ══════════════════════════════════════════════════════════
children.push(
centeredBold("СОДЕРЖАНИЕ"),
emptyLine(),
);
const tocItems = [
["Введение", "3"],
["1 Требования охраны труда и техники безопасности на предприятии", "5"],
["2 Изучение принципов работы и устройства микропроцессорного терминала защиты (на примере серии ТОР 300)", "7"],
["3 Методика проверки и стендовые испытания устройств релейной защиты", "10"],
["Заключение", "13"],
["Список использованных источников", "14"],
["Приложение 1. Рабочий график", "15"],
["Приложение 2. Дневник практики", "16"],
];
tocItems.forEach(([title, page]) => {
children.push(
new Paragraph({
children: [
tnr(title),
tnr(" "),
new TextRun({
text: page,
font: "Times New Roman",
size: 28,
}),
],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
tabStops: [{ type: "right", position: 8640, leader: "dot" }],
})
);
});
children.push(pb());
// ══════════════════════════════════════════════════════════
// ВВЕДЕНИЕ
// ══════════════════════════════════════════════════════════
children.push(
heading1("ВВЕДЕНИЕ"),
para([tnr(
"Настоящий отчёт составлен по результатам прохождения производственной (эксплуатационной) практики, " +
"которая проводилась в период с 29 июня по 11 июля 2026 года на базе общества с ограниченной ответственностью " +
"«Научно-производственное предприятие Бреслер» (ООО «НПП Бреслер»), расположенного по адресу: " +
"г. Чебоксары, пр. И. Яковлева, д. 3. Местом работы являлся отдел наладки и испытаний устройств " +
"релейной защиты и автоматики."
)]),
para([tnr(
"Целью практики является закрепление и углублённое применение на практике теоретических знаний, " +
"полученных в ходе освоения дисциплин «Релейная защита и автоматика», «Электрические аппараты», " +
"«Микропроцессорные системы управления», а также формирование профессиональных компетенций в области " +
"проектирования, наладки и испытаний электрических аппаратов и систем защиты."
)]),
para([tnr("В соответствии с программой практики были поставлены следующие задачи:")]),
para([tnr(
"— изучить структуру предприятия, основные производственные подразделения и их функциональное назначение;"
)], { indent: { firstLine: 720 } }),
para([tnr(
"— пройти вводный и первичный инструктажи по охране труда, технике безопасности и электробезопасности;"
)], { indent: { firstLine: 720 } }),
para([tnr(
"— ознакомиться с нормативно-технической и конструкторской документацией предприятия;"
)], { indent: { firstLine: 720 } }),
para([tnr(
"— изучить аппаратную архитектуру, алгоритмическое обеспечение и функциональные возможности " +
"микропроцессорного терминала защиты серии ТОР 300;"
)], { indent: { firstLine: 720 } }),
para([tnr(
"— освоить методику проведения стендовых испытаний устройств релейной защиты на испытательном комплексе."
)], { indent: { firstLine: 720 } }),
para([tnr(
"ООО «НПП Бреслер» основано в 1991 году и является одним из ведущих российских разработчиков и " +
"производителей микропроцессорных устройств релейной защиты и автоматики (РЗА). Предприятие входит в число " +
"системообразующих организаций отечественного электроэнергетического машиностроения. " +
"Основная продукция — терминалы серий ТОР 300, ТОР 200, ТОР 100, а также программно-технические " +
"комплексы АСУТП и шкафы РЗА для объектов электроэнергетики классов напряжения от 6 кВ до 750 кВ."
)]),
para([tnr(
"Производственная деятельность предприятия охватывает полный цикл: разработку алгоритмов защиты, " +
"проектирование аппаратных платформ, изготовление печатных плат и сборку модулей, монтаж шкафов РЗА, " +
"стендовые испытания готовых изделий и авторское сопровождение при вводе в эксплуатацию. " +
"Продукция компании соответствует требованиям МЭК 61850, сертифицирована по ГОСТ и широко применяется " +
"на объектах ПАО «ФСК ЕЭС», ПАО «Россети» и крупных промышленных предприятиях."
)]),
para([tnr(
"Практика проходила под руководством ведущего инженера отдела испытаний Петрова А.А. " +
"За период практики были в полной мере реализованы все поставленные задачи, " +
"что нашло отражение в настоящем отчёте."
)]),
pb(),
);
// ══════════════════════════════════════════════════════════
// РАЗДЕЛ 1
// ══════════════════════════════════════════════════════════
children.push(
heading1("1 ТРЕБОВАНИЯ ОХРАНЫ ТРУДА И ТЕХНИКИ БЕЗОПАСНОСТИ НА ПРЕДПРИЯТИИ"),
para([tnr(
"Система охраны труда ООО «НПП Бреслер» построена в соответствии с требованиями Трудового кодекса " +
"Российской Федерации (раздел X), межотраслевых правил по охране труда при эксплуатации " +
"электроустановок (ПОТ Р М-016-2001 / РД 153-34.0-03.150-00), а также ГОСТ 12.0.004-2015 " +
"«ССБТ. Организация обучения безопасности труда»."
)]),
para([tnr(
"Техника безопасности на предприятии охватывает комплекс организационных и технических мер, " +
"направленных на предотвращение несчастных случаев и профессиональных заболеваний. " +
"К организационным мерам относятся: проведение инструктажей, разработка инструкций по охране труда " +
"для каждой профессии, плановые проверки состояния рабочих мест и контроль соблюдения правил " +
"внутреннего трудового распорядка."
)]),
para([tnr(
"Производственная санитария обеспечивается поддержанием нормируемых параметров микроклимата " +
"(температура, влажность, скорость движения воздуха), освещённостью рабочих мест не менее 300 лк " +
"для монтажных операций, обеспечением питьевого режима и санитарно-бытовыми помещениями " +
"в соответствии с СанПиН 2.2.4.548-96."
)]),
heading2("1.1 Виды инструктажей по охране труда"),
para([tnr(
"В соответствии с ГОСТ 12.0.004-2015 на предприятии предусмотрены пять видов инструктажей:"
)]),
para([tnr(
"Вводный инструктаж проводится специалистом по охране труда до начала работы с каждым вновь " +
"принимаемым работником или практикантом. Содержание инструктажа включает: общие сведения о предприятии " +
"и характере производства, основные положения трудового законодательства, правила поведения на " +
"территории предприятия, порядок действий при возникновении несчастного случая или пожара, " +
"требования к использованию средств индивидуальной защиты. Факт проведения фиксируется в журнале " +
"регистрации вводного инструктажа с подписями инструктирующего и инструктируемого."
)]),
para([tnr(
"Первичный инструктаж на рабочем месте проводится непосредственным руководителем работ до начала " +
"самостоятельной деятельности. Инструктаж охватывает конкретные требования безопасности для данного " +
"рабочего места: схему безопасного маршрута, расположение средств пожаротушения и аптечки, " +
"порядок допуска к электроустановкам, правила работы с измерительным оборудованием и инструментом. " +
"После первичного инструктажа проводится проверка усвоения знаний в устной форме."
)]),
para([tnr(
"Повторный инструктаж проводится не реже одного раза в шесть месяцев для всего персонала, " +
"занятого на работах с повышенной опасностью, и не реже одного раза в год — для остального персонала. " +
"Цель повторного инструктажа — восстановление и закрепление знаний по охране труда."
)]),
para([tnr(
"Внеплановый инструктаж проводится при изменении технологического процесса или внедрении нового " +
"оборудования, при нарушении работниками требований охраны труда, а также по требованию органов " +
"государственного надзора. Объём и содержание определяются в каждом конкретном случае причиной, " +
"вызвавшей его проведение."
)]),
para([tnr(
"Целевой инструктаж проводится при выполнении разовых работ, не связанных с прямыми обязанностями " +
"работника, при ликвидации последствий аварий, при производстве работ повышенной опасности, " +
"требующих оформления наряда-допуска или письменного распоряжения."
)]),
heading2("1.2 Электробезопасность на сборочном производстве РЗА"),
para([tnr(
"Производство устройств РЗА сопряжено с работой с напряжениями различных уровней: " +
"от 3,3 В логических уровней микроконтроллеров до 220 В переменного тока цепей питания и до 250 В " +
"постоянного тока в испытательных цепях. В связи с этим электробезопасность выделена в отдельное " +
"направление охраны труда."
)]),
para([tnr(
"Весь персонал, допускаемый к работе с электроустановками, обязан иметь соответствующую группу " +
"электробезопасности: не ниже II группы для практикантов, III группы — для монтажников и наладчиков. " +
"Присвоение группы подтверждается удостоверением установленного образца. " +
"Мне, как практиканту, была присвоена II группа по электробезопасности с правом работы " +
"в электроустановках до 1000 В под непосредственным руководством наставника."
)]),
para([tnr(
"На сборочном производстве применяется антистатическая защита в соответствии с требованиями " +
"ГОСТ Р МЭК 61340-5-1-2006. Все рабочие места оснащены заземлёнными антистатическими ковриками, " +
"персонал использует антистатические браслеты с постоянным контролем сопротивления заземляющего " +
"проводника (не более 1 МОм). Перемещение компонентов осуществляется в антистатической таре " +
"или упаковке, исключающей накопление электростатического потенциала."
)]),
para([tnr(
"При проведении стендовых испытаний устройств РЗА рабочее напряжение подаётся только после " +
"установки защитных экранов и проверки надёжности подключения всех измерительных цепей. " +
"Испытательный стенд оснащён автоматическими выключателями и устройствами защитного отключения " +
"(УЗО) на ток утечки не более 30 мА. Перед подачей напряжения руководитель испытаний подаёт " +
"предупредительный сигнал, а посторонние лица удаляются из зоны испытаний."
)]),
pb(),
);
// ══════════════════════════════════════════════════════════
// РАЗДЕЛ 2
// ══════════════════════════════════════════════════════════
children.push(
heading1("2 ИЗУЧЕНИЕ ПРИНЦИПОВ РАБОТЫ И УСТРОЙСТВА МИКРОПРОЦЕССОРНОГО ТЕРМИНАЛА ЗАЩИТЫ (НА ПРИМЕРЕ СЕРИИ ТОР 300)"),
para([tnr(
"В ходе практики основным объектом изучения стал микропроцессорный терминал релейной защиты и " +
"автоматики серии ТОР 300 производства ООО «НПП Бреслер». Данная серия является флагманской " +
"продукцией предприятия и охватывает широкий спектр функций: защиту линий электропередачи, " +
"силовых трансформаторов, шин и генераторов на напряжениях от 6 кВ до 750 кВ."
)]),
heading2("2.1 Общая характеристика и назначение"),
para([tnr(
"Терминал ТОР 300 предназначен для выполнения функций основной и резервной защиты, автоматики, " +
"регистрации событий и аварийных осциллограмм, а также для обмена данными с АСУ ТП верхнего уровня " +
"по протоколам МЭК 61850 (GOOSE, Sampled Values, MMS), МЭК 60870-5-104 и Modbus RTU/TCP. " +
"В изученном исполнении терминал выполнял функции дифференциальной защиты трансформатора 110/10 кВ " +
"с функциями МТЗ от перегрузки и РПН."
)]),
heading2("2.2 Аппаратная архитектура терминала"),
para([tnr(
"Конструктивно терминал ТОР 300 выполнен в модульном исполнении и размещается в металлическом корпусе " +
"с монтажом на стандартную рейку DIN 35 мм или в шкаф панельного типа. Основные аппаратные модули:"
)]),
para([tnr(
"Центральный процессорный модуль (ЦПМ) построен на базе 32-разрядного процессора с тактовой частотой " +
"не менее 200 МГц. Модуль выполняет все вычислительные задачи: расчёт защитных функций, обработку " +
"осциллограмм, ведение базы данных событий и взаимодействие с коммуникационными модулями. " +
"Энергонезависимая память объёмом не менее 16 МБ обеспечивает хранение уставок и архива событий."
)]),
para([tnr(
"Модуль аналогового ввода (МАВ) содержит восемь независимых каналов измерения тока и напряжения. " +
"Входные трансформаторы тока с номинальным вторичным током 1 А или 5 А обеспечивают гальваническую " +
"развязку измерительных цепей. Аналого-цифровое преобразование осуществляется с частотой дискретизации " +
"4000 Гц (80 отсчётов на период промышленной частоты 50 Гц), что обеспечивает высокую точность " +
"гармонического анализа. Диапазон измерения тока составляет от 0,02 до 40 × Iном."
)]),
para([tnr(
"Модуль дискретного ввода/вывода (МДВ) обеспечивает приём до 32 дискретных сигналов уровнями " +
"24 В, 48 В, 110 В или 220 В постоянного тока (конфигурируется перемычками). " +
"Выходные реле модуля дискретного вывода — электромеханические, с временем срабатывания не более 5 мс, " +
"рассчитанные на коммутацию цепей 250 В DC при токе до 5 А."
)]),
para([tnr(
"Модуль питания (МП) обеспечивает гальванически изолированное питание всех модулей терминала. " +
"Входное напряжение питания — 110 В или 220 В постоянного тока. Встроенный буферный конденсатор " +
"обеспечивает работоспособность в течение не менее 50 мс при провалах питания."
)]),
para([tnr(
"Модуль интерфейсов связи включает порты: два разъёма RJ-45 для подключения к сети Ethernet " +
"(с поддержкой МЭК 61850), порт RS-485 для протокола Modbus RTU, а также интерфейс IRIG-B " +
"для синхронизации времени от GPS/ГЛОНАСС-приёмника."
)]),
heading2("2.3 Измерительные цепи и алгоритм дифференциальной защиты"),
para([tnr(
"В процессе изучения документации и разборки учебного образца было установлено, что " +
"дифференциальная защита трансформатора реализована на основе алгоритма с торможением и " +
"блокировкой по второй гармонике тока небаланса. Алгоритм сравнивает геометрические суммы " +
"токов всех обмоток трансформатора в цифровом виде с учётом группы соединения обмоток " +
"и коэффициентов трансформации трансформаторов тока. Блокировка по второй гармонике " +
"(уставка 15–20 % от основной) предотвращает ложные срабатывания при броске тока намагничивания."
)]),
heading2("2.4 Конфигурирование и интерфейс оператора"),
para([tnr(
"Конфигурирование терминала осуществляется через специализированное программное обеспечение " +
"«Конфигуратор ТОР 300», функционирующее под управлением Windows. Параметры уставок вводятся " +
"в именованных группах, что позволяет оперативно переключаться между режимами работы " +
"без прерывания защиты. На лицевой панели терминала расположены: жидкокристаллический дисплей " +
"(128×64 пикселей), клавиатура из 12 кнопок, 16 светодиодных индикаторов состояния, " +
"а также инфракрасный порт для локального обслуживания. "
)]),
para([tnr(
"В ходе практики мне было поручено самостоятельно разработать конфигурацию терминала для " +
"модельного трансформатора 110/10 кВ мощностью 16 МВА: задать коэффициенты ТТ, группу " +
"соединения обмоток, уставки МТЗ и дифференциальной защиты, а также проверить правильность " +
"конфигурации с помощью встроенного функционального теста. Выполнение задания закрепило " +
"практические навыки работы с программным обеспечением и позволило глубже понять " +
"алгоритмическую структуру терминала."
)]),
pb(),
);
// ══════════════════════════════════════════════════════════
// РАЗДЕЛ 3
// ══════════════════════════════════════════════════════════
children.push(
heading1("3 МЕТОДИКА ПРОВЕРКИ И СТЕНДОВЫЕ ИСПЫТАНИЯ УСТРОЙСТВ РЕЛЕЙНОЙ ЗАЩИТЫ"),
heading2("3.1 Классификация испытаний"),
para([tnr(
"Испытания устройств релейной защиты классифицируются по цели и месту проведения. " +
"В соответствии с ГОСТ Р 55608-2013 и отраслевыми нормативными документами различают следующие виды:"
)]),
para([tnr(
"Типовые испытания проводятся при разработке нового вида продукции или при существенном изменении " +
"конструкции с целью подтверждения соответствия устройства техническим условиям и стандартам. " +
"К ним относятся климатические испытания (по ГОСТ Р 52931-2008), испытания на электромагнитную " +
"совместимость (ГОСТ Р 51317.4.3-2006), механические испытания на вибрустойчивость и удароустойчивость."
)]),
para([tnr(
"Приёмосдаточные испытания (ПСИ) выполняются на каждом изготовленном экземпляре перед его " +
"отгрузкой потребителю. В рамках ПСИ проверяется функционирование всех заявленных защитных функций, " +
"измеряется сопротивление изоляции, проверяется прочность изоляции воздействием повышенного " +
"испытательного напряжения, контролируется точность срабатывания и возврата при заданных уставках."
)]),
para([tnr(
"Эксплуатационные испытания (периодические проверки) проводятся в процессе эксплуатации устройства " +
"на энергетическом объекте в соответствии с картой уставок и регламентом технического обслуживания " +
"РД 153-34.0-35.301-2002. Периодичность — не реже 1 раза в 6 лет для микропроцессорных терминалов."
)]),
heading2("3.2 Испытательный комплекс РЕТОМ"),
para([tnr(
"В ходе практики стендовые испытания терминала ТОР 300 проводились с применением комплекса для " +
"проверки реле, защит и автоматики РЕТОМ-51 производства НПП «Динамика» (г. Чебоксары). " +
"Комплекс обеспечивает формирование токов до 120 А (эффективное значение) и напряжений до 300 В " +
"с регулируемыми фазой, частотой и гармоническим составом, что позволяет имитировать любые " +
"аварийные режимы в первичной сети."
)]),
para([tnr(
"Управление комплексом осуществляется через программное обеспечение «РЕТОМ-5» под Windows, " +
"позволяющее задавать испытательные векторы токов и напряжений, задавать временны́е развёртки " +
"переходных процессов, а также автоматически регистрировать время срабатывания защиты по " +
"дискретным входам-выходам терминала."
)]),
heading2("3.3 Порядок проведения приёмосдаточных испытаний"),
para([tnr(
"Испытания проводились в следующей последовательности:"
)]),
para([tnr(
"1. Визуальный контроль. Перед подачей питания осуществлялся внешний осмотр терминала: " +
"проверка отсутствия механических повреждений корпуса, надёжности крепления всех разъёмов, " +
"соответствия маркировки клемм схеме подключения. Проверялось соответствие серийного номера " +
"сопроводительной документации."
)]),
para([tnr(
"2. Измерение сопротивления изоляции. С помощью мегаомметра М4100/5 (напряжение 500 В) " +
"измерялось сопротивление изоляции между группами цепей: цепи тока — корпус, " +
"цепи напряжения — корпус, цепи постоянного оперативного тока — корпус. " +
"Допустимое минимальное значение — не менее 100 МОм при нормальных климатических условиях. " +
"По результатам измерений все три значения составили не менее 500 МОм, что соответствует норме."
)]),
para([tnr(
"3. Проверка цепей питания. После измерения изоляции к терминалу подавалось оперативное " +
"напряжение питания 220 В постоянного тока. Контролировался ток потребления в установившемся " +
"режиме (не более значения, указанного в паспорте) и наличие индикации нормальной работы на " +
"лицевой панели (световой сигнал «Готовность»)."
)]),
para([tnr(
"4. Проверка срабатывания токовых ступеней МТЗ. С помощью комплекса РЕТОМ в цепи тока " +
"плавно увеличивался ток с фиксацией значения срабатывания каждой ступени. " +
"Для ступени I>> (отсечка) уставка составляла 8,5 × Iном = 42,5 А (приведённых ко вторичным цепям). " +
"Зафиксированное значение срабатывания — 42,3 А, погрешность 0,5 % — в пределах допустимых ±5 %. " +
"Для ступени I> (МТЗ с выдержкой времени) уставка — 1,8 × Iном при t = 1,2 с. " +
"Измеренное время срабатывания — 1,195 с, погрешность 0,4 %."
)]),
para([tnr(
"5. Проверка дифференциальной защиты. На входы обмоток терминала подавались токи, " +
"имитирующие внутреннее повреждение трансформатора (разность токов сторон превышает уставку " +
"дифференциального тока срабатывания Iд = 0,3 × Iном). При токе дифференциальной составляющей " +
"0,31 × Iном терминал сработал за время 28 мс, что соответствует паспортным данным (≤ 35 мс). " +
"Также проверялась блокировка по второй гармонике: при подаче тока с содержанием второй гармоники " +
"20 % (порог уставки) терминал не выдавал команду на отключение — функция блокировки работала корректно."
)]),
para([tnr(
"6. Проверка функции автоматического повторного включения (АПВ). При имитации кратковременного " +
"трёхфазного короткого замыкания проверялось срабатывание защиты, выдача команды отключения " +
"выходными реле и последующая выдача команды включения через запрограммированную паузу АПВ " +
"(t = 0,5 с). Временно́й параметр выдержки АПВ подтверждён с погрешностью менее 1 %."
)]),
para([tnr(
"По результатам всех испытаний был составлен протокол приёмосдаточных испытаний, подписанный " +
"руководителем испытаний. Терминал признан годным к эксплуатации и направлен на участок " +
"комплектации шкафа."
)]),
pb(),
);
// ══════════════════════════════════════════════════════════
// ЗАКЛЮЧЕНИЕ
// ══════════════════════════════════════════════════════════
children.push(
heading1("ЗАКЛЮЧЕНИЕ"),
para([tnr(
"В результате прохождения производственной (эксплуатационной) практики в ООО «НПП Бреслер» " +
"в период с 29 июня по 11 июля 2026 года все поставленные цели и задачи были достигнуты в полном объёме."
)]),
para([tnr(
"В ходе практики была изучена организационная структура предприятия, функциональное назначение " +
"его производственных подразделений — отдела разработки алгоритмов, конструкторского бюро, " +
"участка монтажа и сборки, отдела испытаний. Получены начальные навыки работы с конструкторской " +
"документацией (принципиальными и монтажными схемами, спецификациями, таблицами уставок), " +
"оформленной в соответствии с требованиями ЕСКД."
)]),
para([tnr(
"Детально изучена аппаратная архитектура микропроцессорного терминала серии ТОР 300: состав и " +
"назначение модулей аналогового ввода, дискретного ввода/вывода, центрального процессора и " +
"интерфейсов связи. Освоены принципы построения алгоритма дифференциальной защиты с торможением " +
"и блокировкой по второй гармонике, а также порядок конфигурирования терминала с применением " +
"программного обеспечения «Конфигуратор ТОР 300»."
)]),
para([tnr(
"Получены практические навыки проведения приёмосдаточных испытаний устройств релейной защиты " +
"с применением испытательного комплекса РЕТОМ-51: визуального контроля, измерения сопротивления " +
"изоляции, проверки точности уставок срабатывания токовых защит, измерения времени срабатывания " +
"и проверки функций АПВ. Освоена методика оформления протоколов испытаний."
)]),
para([tnr(
"Полученный практический опыт является необходимой основой для дальнейшего освоения " +
"профессиональных компетенций и подготовки к профессиональной деятельности в области " +
"разработки, производства и эксплуатации устройств релейной защиты и автоматики."
)]),
pb(),
);
// ══════════════════════════════════════════════════════════
// СПИСОК ИСТОЧНИКОВ
// ══════════════════════════════════════════════════════════
children.push(
heading1("СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ"),
paraNoIndent([tnr(
"1. Чернобровов Н.В., Семёнов В.А. Релейная защита энергетических систем: учебное пособие " +
"для техникумов. — М.: Энергоатомиздат, 1998. — 800 с."
)]),
paraNoIndent([tnr(
"2. Шабад М.А. Расчёт релейной защиты и автоматики распределительных сетей. — 4-е изд., " +
"перераб. и доп. — СПб.: ПЭИПК, 2003. — 350 с."
)]),
paraNoIndent([tnr(
"3. ГОСТ 12.0.004-2015. ССБТ. Организация обучения безопасности труда. Общие положения. — " +
"М.: Стандартинформ, 2016. — 56 с."
)]),
paraNoIndent([tnr(
"4. ГОСТ Р 55608-2013. Устройства релейной защиты и автоматики. Требования к испытаниям. — " +
"М.: Стандартинформ, 2014. — 32 с."
)]),
paraNoIndent([tnr(
"5. ГОСТ Р МЭК 61850-1-2009. Сети и системы связи на подстанциях. Часть 1: Введение и обзор. — " +
"М.: Стандартинформ, 2010. — 46 с."
)]),
paraNoIndent([tnr(
"6. Андреев В.А. Релейная защита и автоматика систем электроснабжения: учебник для вузов. — " +
"4-е изд., перераб. и доп. — М.: Высшая школа, 2006. — 639 с."
)]),
paraNoIndent([tnr(
"7. Официальный сайт ООО «НПП Бреслер». — URL: https://bresler.ru (дата обращения: 05.07.2026)."
)]),
pb(),
);
// ══════════════════════════════════════════════════════════
// ПРИЛОЖЕНИЕ 1 — РАБОЧИЙ ГРАФИК
// ══════════════════════════════════════════════════════════
children.push(
new Paragraph({
children: [tnr("Приложение 1. Рабочий график", { bold: true })],
alignment: AlignmentType.RIGHT,
spacing: { line: 360, before: 0, after: 120 },
}),
centeredBold("РАБОЧИЙ ГРАФИК (ПЛАН)"),
centeredBold("ПРОВЕДЕНИЯ ПРОИЗВОДСТВЕННОЙ (ЭКСПЛУАТАЦИОННОЙ) ПРАКТИКИ"),
emptyLine(),
centered("на базе ООО «НПП Бреслер» (г. Чебоксары)"),
centered("Горшкова Кирилла Олеговича, гр. ВИШ-11-23 (ЭиЭА)"),
emptyLine(),
centered("13.03.02 Электрические и электронные аппараты"),
emptyLine(),
);
// Table for schedule
const scheduleRows = [
["№ п/п", "Разделы (этапы) практики", "Виды работ", "Трудоёмкость, ч", "Дата"],
["1", "Подготовительный этап",
"Получение задания. Прохождение вводного инструктажа по ОТ и ПБ. Ознакомление с ПВТР.",
"4", "29.06.2026"],
["2", "Основной этап",
"Ознакомление со структурой предприятия. Первичный инструктаж на рабочем месте.",
"6", "30.06.2026"],
["3", "", "Изучение НТД: стандарты, технические условия, инструкции по ТО терминалов ТОР 300.",
"6", "01.07.2026"],
["4", "", "Изучение конструкторской документации: принципиальные схемы, схемы внешних подключений.",
"6", "02.07.2026"],
["5", "", "Изучение аппаратной архитектуры терминала ТОР 300 (модульная конструкция, платы).",
"6", "03.07.2026"],
["6", "", "Работа с ПО «Конфигуратор ТОР 300». Освоение интерфейса, ввод уставок.",
"6", "04.07.2026"],
["7", "", "Разработка конфигурации для учебной задачи (трансформатор 110/10 кВ).",
"7", "05.07.2026"],
["8", "", "Подготовка испытательного стенда РЕТОМ-51. Изучение методики ПСИ.",
"7", "06.07.2026"],
["9", "", "Проведение испытаний: измерение Rиз, проверка питания, МТЗ.",
"7", "07.07.2026"],
["10", "", "Проведение испытаний: проверка дифференциальной защиты и АПВ. Оформление протокола.",
"7", "08.07.2026"],
["11", "Аналитический этап",
"Сбор и систематизация фактического и литературного материала. Написание чернового отчёта.",
"12", "09.07.2026"],
["12", "Заключительный этап",
"Оформление отчёта. Получение отзыва руководителя. Подготовка к защите.",
"12", "10.07.2026–11.07.2026"],
["", "ИТОГО", "", "86", ""],
];
// col widths (sum = 9360)
const schedColWidths = [600, 1700, 4200, 1360, 1500];
children.push(
makeTable(scheduleRows, schedColWidths, true),
emptyLine(),
new Paragraph({
children: [tnr("Руководитель практики от кафедры _____________ /Иванова С.П./")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 200, after: 60 },
}),
new Paragraph({
children: [tnr("Руководитель практики от предприятия _____________ /Петров А.А./")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
}),
pb(),
);
// ══════════════════════════════════════════════════════════
// ПРИЛОЖЕНИЕ 2 — ДНЕВНИК ПРАКТИКИ
// ══════════════════════════════════════════════════════════
children.push(
new Paragraph({
children: [tnr("Приложение 2. Дневник практики", { bold: true })],
alignment: AlignmentType.RIGHT,
spacing: { line: 360, before: 0, after: 120 },
}),
centeredBold("ДНЕВНИК ПРОХОЖДЕНИЯ ПРОИЗВОДСТВЕННОЙ (ЭКСПЛУАТАЦИОННОЙ) ПРАКТИКИ"),
emptyLine(),
centered("на базе ООО «НПП Бреслер» (г. Чебоксары)"),
centered("Горшкова Кирилла Олеговича, гр. ВИШ-11-23 (ЭиЭА)"),
emptyLine(),
centered("13.03.02 Электрические и электронные аппараты"),
emptyLine(),
);
const diaryRows = [
["Дата", "Краткое содержание выполненных работ", "Отметка руководителя"],
["29.06.2026",
"Прибытие на предприятие. Прохождение вводного инструктажа по ОТ, ТБ и пожарной безопасности. " +
"Ознакомление с ПВТР. Получение индивидуального задания на практику. Оформление пропуска.",
"Петров А.А."],
["30.06.2026",
"Ознакомление с производственной структурой ООО «НПП Бреслер»: отдел разработки, КБ, участок сборки, отдел испытаний. " +
"Первичный инструктаж на рабочем месте. Присвоение II группы электробезопасности.",
"Петров А.А."],
["01.07.2026",
"Изучение нормативно-технической документации: ГОСТ Р 55608-2013, технических условий на терминал ТОР 300 (ТУ 3434-001-45851406). " +
"Ознакомление с картами уставок эксплуатируемых объектов.",
"Петров А.А."],
["02.07.2026",
"Работа с конструкторской документацией: чтение принципиальных схем терминала ТОР 300 в исполнении для защиты трансформатора. " +
"Изучение схем внешних подключений и таблиц клеммных соединений.",
"Петров А.А."],
["03.07.2026",
"Изучение аппаратной архитектуры терминала ТОР 300: осмотр учебного образца, идентификация модулей ЦПМ, МАВ, МДВ, МП. " +
"Изучение назначения разъёмов и интерфейсов. Запись в конспект.",
"Петров А.А."],
["04.07.2026",
"Освоение программного обеспечения «Конфигуратор ТОР 300» на ПК. Изучение структуры дерева параметров, " +
"навигация по группам уставок, проверка функции чтения параметров из терминала по порту RS-232.",
"Петров А.А."],
["05.07.2026",
"Самостоятельная разработка конфигурации терминала для учебной задачи: трансформатор 110/10 кВ, 16 МВА, " +
"группа Д/Ун-11. Ввод коэффициентов ТТ, группы соединения, уставок МТЗ и дифзащиты. " +
"Проверка конфигурации встроенным тестом.",
"Петров А.А."],
["06.07.2026",
"Ознакомление с испытательным комплексом РЕТОМ-51: изучение технических характеристик, " +
"программного обеспечения «РЕТОМ-5», порядка подключения к испытуемому устройству. " +
"Ассистирование при проведении ПСИ серийного терминала.",
"Петров А.А."],
["07.07.2026",
"Проведение испытаний терминала ТОР 300 (сер. № 3025): визуальный контроль, измерение сопротивления " +
"изоляции мегаомметром М4100/5. Проверка функционирования цепей питания и световой индикации.",
"Петров А.А."],
["08.07.2026",
"Продолжение ПСИ: проверка уставок срабатывания и возврата ступеней МТЗ (I>, I>>), " +
"измерение времени срабатывания с фиксацией РЕТОМ. Проверка дифференциальной защиты и блокировки " +
"по 2-й гармонике. Проверка функции АПВ. Оформление протокола испытаний.",
"Петров А.А."],
["09.07.2026",
"Сбор и систематизация фактического материала для отчёта: выписки из НТД, протокол ПСИ, " +
"скриншоты конфигуратора. Проработка литературных источников (Чернобровов, Шабад). " +
"Составление плана отчёта.",
"Петров А.А."],
["10.07.2026",
"Написание разделов 1–3 отчёта. Оформление введения и заключения. " +
"Составление таблиц для приложений. Согласование чернового варианта с руководителем практики.",
"Петров А.А."],
["11.07.2026",
"Окончательное оформление отчёта. Устранение замечаний руководителя. " +
"Получение письменного отзыва и подписи руководителя от предприятия. Подготовка к публичной защите.",
"Петров А.А."],
];
const diaryColWidths = [1400, 6000, 1960];
children.push(
makeTable(diaryRows, diaryColWidths, true),
emptyLine(),
new Paragraph({
children: [tnr("Обучающийся _____________________ /Горшков К.О./")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 200, after: 60 },
}),
new Paragraph({
children: [tnr("Руководитель практики от предприятия _____________ /Петров А.А./")],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
}),
new Paragraph({
children: [tnr('Дата составления «_____» _______________ 2026 г.')],
alignment: AlignmentType.LEFT,
spacing: { line: 360, before: 60, after: 60 },
}),
);
// ══════════════════════════════════════════════════════════
// BUILD DOC
// ══════════════════════════════════════════════════════════
const doc = new Document({
numbering: { config: [] },
styles: {
default: {
document: {
run: { font: "Times New Roman", size: 28 },
paragraph: {
alignment: AlignmentType.JUSTIFIED,
spacing: { line: 360 },
},
},
heading1: {
run: { font: "Times New Roman", size: 28, bold: true },
paragraph: { alignment: AlignmentType.CENTER, spacing: { before: 480, after: 240 } },
},
heading2: {
run: { font: "Times New Roman", size: 28, bold: true },
paragraph: { alignment: AlignmentType.LEFT, spacing: { before: 360, after: 180 } },
},
},
},
sections: [{
properties: {
page: {
margin: {
top: convertInchesToTwip(1.18), // 3 cm
bottom: convertInchesToTwip(0.98), // 2.5 cm
left: convertInchesToTwip(1.18), // 3 cm
right: convertInchesToTwip(0.59), // 1.5 cm
},
},
},
children,
}],
});
Packer.toBuffer(doc).then((buffer) => {
fs.writeFileSync("/mnt/user-data/outputs/Отчёт_практика_НПП_Бреслер_Горшков.docx", buffer);
console.log("Done!");
});