Что такое электромагнитное реле. Какие бывают основные типы реле. Как выбрать подходящее реле для конкретной задачи. На какие параметры реле обращать внимание при выборе.
Что такое электромагнитное реле и принцип его работы
Электромагнитное реле — это коммутационное устройство, предназначенное для замыкания и размыкания электрических цепей при изменении входных электрических сигналов. Принцип работы реле основан на взаимодействии магнитного поля, создаваемого током в обмотке, с подвижным якорем.
Основные элементы конструкции электромагнитного реле:
- Электромагнит (сердечник и обмотка)
- Якорь
- Контактная система
- Возвратная пружина
- Корпус
При подаче тока на обмотку возникает магнитное поле, которое притягивает якорь. Якорь приводит в движение контактную систему, замыкая или размыкая цепь. При снятии тока якорь возвращается в исходное положение под действием пружины.
Основные типы и классификация реле
Реле классифицируются по различным признакам:
По принципу действия:
- Электромагнитные
- Индукционные
- Магнитоэлектрические
- Электродинамические
- Тепловые
- Полупроводниковые
По назначению:
- Токовые реле
- Реле напряжения
- Реле мощности
- Реле времени
- Промежуточные реле
- Указательные реле
По способу включения в защищаемую цепь:
- Первичные реле (включаются непосредственно в цепь)
- Вторичные реле (включаются через измерительные трансформаторы)
Выбор типа реле зависит от конкретной задачи и условий применения.
Основные параметры и характеристики реле
При выборе и применении реле следует учитывать следующие ключевые параметры:
Электрические параметры:
- Номинальное напряжение или ток срабатывания
- Коэффициент возврата
- Мощность срабатывания
- Сопротивление обмотки
- Коммутационная способность контактов
- Электрическая прочность изоляции
Временные параметры:
- Время срабатывания
- Время отпускания
- Время дребезга контактов
Механические параметры:
- Механическая износостойкость
- Вибро- и удароустойчивость
Условия эксплуатации:
- Диапазон рабочих температур
- Влажность
- Атмосферное давление
Правильный учет этих параметров обеспечивает надежную работу реле в заданных условиях.
Рекомендации по выбору реле
При выборе реле для конкретного применения следует руководствоваться следующими рекомендациями:
- Определите требуемые функции реле (коммутация, защита, управление и т.д.)
- Выберите тип реле в соответствии с назначением
- Проверьте соответствие электрических параметров реле параметрам защищаемой цепи
- Учтите условия эксплуатации (температура, влажность, вибрации)
- Оцените требования к быстродействию
- Проверьте коммутационную способность контактов
- Учтите габаритные размеры и способ монтажа
- Сравните стоимость и доступность различных вариантов
Тщательный анализ этих факторов позволит подобрать оптимальное реле для решения поставленной задачи.
Особенности применения реле в различных областях
Реле широко применяются в различных отраслях промышленности и техники. Рассмотрим некоторые особенности их использования:
Энергетика:
- Защита линий электропередач от перегрузок и коротких замыканий
- Автоматическое включение резерва
- Регулирование напряжения трансформаторов
Автоматизация производства:
- Управление технологическими процессами
- Защита оборудования
- Сигнализация и блокировка
Транспорт:
- Системы управления и безопасности на железнодорожном транспорте
- Автомобильная электроника
- Авиационные системы
Телекоммуникации:
- Коммутация сигналов
- Защита оборудования связи
В каждой области применения к реле предъявляются специфические требования по надежности, быстродействию и условиям эксплуатации.
Современные тенденции в развитии реле
Несмотря на появление новых технологий, реле продолжают активно применяться и развиваться. Основные тенденции:
- Миниатюризация конструкций
- Повышение надежности и долговечности
- Улучшение параметров быстродействия
- Расширение функциональных возможностей
- Интеграция с микропроцессорными системами
- Применение новых материалов
Эти тенденции позволяют создавать более эффективные и универсальные реле, отвечающие современным требованиям промышленности и техники.
Заключение
Электромагнитные реле остаются важным элементом многих электрических и электронных систем. Правильный выбор и применение реле требуют понимания их принципов работы, основных параметров и особенностей различных типов. Учет рекомендаций по выбору и тенденций развития реле позволяет создавать надежные и эффективные системы управления, защиты и коммутации в различных областях техники.
СПРАВОЧНИК ПО РЕЛЕ
СПРАВОЧНИК ПО РЕЛЕ
Электромагнитные, полупроводниковые и другие типы реле являются важной частью любого электронного оборудования и приборов. Слаботочные реле выполняют самые разнообразные функции — от простых операций включения или отключения до осуществления сложных логических функций. Несмотря на развитие полупроводниковой техники и создание устройств, выполняющих релейные функции, применение реле в системах автоматики и телемеханики увеличивается.
Номер паспорта | Сопротивление обмотки, Ом | Рабочий Ток (мА) | Рабочее напряжение,В |
РЭС-9
РС4.524.200 450 -550 — 23 — 32
РС4.524.201 450 — 550 — 23 — 32
РС4.524.202 65 — 79 80 — 10.18
РС4.524.203 27 — 33 108 — 5.7
РС4.524.204 8160 — 10560 8.3-13 —
РС4.524.205 2890 — 3740 13.5-20 —
РС4.524.208 8160 — 10560 8.3-13 —
РС4.524.209 450 — 550 — 23 — 32
РС4.524.211 882 — 1078 27 — 38 —
РС4.524.213 450 — 550 — 23 — 32
РС4.524.214 32,4 — 39,6 — 5.7
РС4.524.215 65 — 79 80 — 10.18
РС4.524.216 27 — 33 108 5.7
РС4.524.217 8160 — 10560 8.3-13 —
РС4.524.218 2890 — 3740 13.5-20 —
РС4.524.219 32,4 — 39,6 — 5.7
РЭС-10
РС4.524.300 3825 — 5175 7-12 —
РС4.524.305 1360 — 1840 12.18 —
РС4.524.308 108 — 132 — 7-15
РС4.524.311 108 — 132 — 7-15
РС4.524.316 1360 — 1840 12.18 —
РС4.524.301 3825 — 5175 9.5-12 —
РС4.524.302 530 — 724 — 24 — 36
РС4.524.303 108 — 132 — 9-15
РС4.524.304 40 — 50 — 5.5-10
РС4.524.312 108 — 132 — 9-15
РС4.524.313 3825 — 5175 9.5-12 —
РС4.524.314 536 — 724 — 24 — 35
РС4.524.315 40 — 50 — 5.5-10
РС4.524.317 19 — 23 — —
РС4.524.319 536 — 724 — 24 — 32
РЭС-15
РС4.591.001 1870 — 2530 11 — 13
РС4.591.002 136 — 184 39 — 46
РС4.591.003 280 — 380 27 — 33
РС4.591.004 612 — 828 19 — 22
РС4.591.005 32.4 — 39.6 73 — 85
РС4.591.006 424 — 575 24 — 33
РС4.591.007 1020 — 1380 19 — 24
РС4.591.008 18 702 530 11 — 13
РС4.591.009 136 — 184 39 — 46
РС4.591.010 280 — 380 27 — 33
РС4.591.011 612 — 828 19 — 22
РС4.591.012 32.4 — 39.6 73 — 85
РС4.591.013 425 — 575 24 — 33
РС4.591.014 1020 -1380 19 — 24
РЭС-22
РФ4.500.125 2380 — 3080 _ 54 — 66
РФ4.500.129 158 — 210 _ 10.8 — 13.2
РФ4.500.130 2250 — 3875 _ 43.2 — 52.8
РФ4.500.131 552 — 780 _ 21.6 — 26.4
РФ4.500.163 595 — 805 _ 27 — 33
РФ4.500.225 485 — 748 _ 21.6 — 26.4
РФ4.500.231 595 — 805 _ 27 — 33
РФ4.500.233 158 — 210 _ 10.8 — 13.2
РЭС-48
РС4.590.201 540 — 660 _ 20 — 30
РС4.590.202 340 — 460 _ 10 — 18
РС4.590.203 298 — 367 _ 16.2 — 19.8
РС4.590.204 37.5 — 46.5 _ 5 — 9
РС4.590.205 6400 — 9600 _ 90 — 110
РС4.590.206 1130 — 1430 _ 38 — 55
РС4.590.207 540 — 660 _ 24.5 — 29.7
РС4.590.213 540 — 660 _ 20 — 36
РС4.590.214 85 — 115 _ 10 — 18
РС4.590.215 298 -367 _ 16.2 — 19.8
РС4.590.216 37.5 — 46.5 _ 5 — 9
РС4.590.217 6400 — 9600 _ 90 — 110
РС4.590.218 540 — 660 _ 24.3 — 29.7
РЭС-49
РС4.569.000 1330 — 2185 _ 24 — 30
РС4.569.423 1580 — 2185 _ 22 — 36
РС4.569.424 640 — 960 _ 16 — 20
В промышленности используютс и другие виды реле. Это Реле контроля и защиты — используются в устройствах автоматики для осуществления контроля за различными параметрами: минимальным и максимальным значениями тока и напряжения силовой сети, фазой, утечкой тока на землю, температурой двигателей, уровнем жидкости. Интерфейсные реле — предназначены для преобразования сигналов между промышленными контроллерами и периферийными устройствами. Основные функции выполняемые интерфейсными реле: адаптация уровня сигнала, визуальная индикация состояния объекта управления, датчиков и исполнительных устройств, гальваническая развязка между контроллерами и исполнительными устройствами, защита от промышленных наводок и помех. Телекоммуникационные реле — используют для коммутации активных нагрузок с рабочими токами до 1..2А. Реле этой группы имеют миниатюрные размеры и минимальное энергопотребление, в основном предназначены для печатного монтажа, область применения — аппаратура связи и телекоммуникации, измерительная техника. Мощные электромагнитные реле позволяют коммутировать мощные активные нагрузки до 30А при и индуктивные нагрузки мощностью до 500VA.
Коммутационная способность контактов реле характеризуется значением коммутируемой мощности, при которой контакты выполняют определенное число коммутаций. Следует учесть, что от значения коммутируемой мощности, зависит электрическая эрозия контактов. Как правило она проявляется при токе более 0.1 А. При токах меньше этого значения электрическая эрозия, не возникает и основное влияние на работоспособность реле оказывает механический износ контактов. В нормативно-технической документации на реле указывается диапазон ‘ коммутируемых токов и напряжений, в пределах которого гарантируется определенное число коммутаций.
Малогабаритные реле Советского производства
Электромагнитное реле — коммутирующее устройство, работа которого основана на воздействии магнитного поля неподвижной обмотки на подвижный ферромагнитный элемент (ГОСТ 16022—76). Электромагнитное реле состоит из корпуса, который обычно является и частью магнитопровода, сердечника, катушки, якоря, контактной группы. основания и чехла. Реле открытого типа чехла не имеют. Реле выпускают в различных исполнениях: зачехленные, завальцованные (пыле: брызгозащишенные), герметичные. Габаритные чертежи малогабаритных электромагнитных реле приведены на рис. 1 — рис. 3, а основные параметры — в таблицах 1 — 7.
Реле одного типа различаются обмоточными данными, числом и видом контактных групп и электрическими параметрами. Номер паспорта, по которому находят необходимые данные в таблицах маркируется на чехле.
Реле типов РЭС-42 — РЭС-44, РЭС-55А и РЭС-55В имеют герметизированные магнитоуправляемые контакты (МУК), представлйющие собой контактные ферромагнитные пружины, которые помещены в герметичные стеклянные баллоны, заполненные инертным газом, азотом высокой чистоты или водородом. Контактные элементы являются одновременно элементами магнитной цепи. Под действием магнитного поля достаточной напряженности ферромагнитные контактные пружины деформируются и замыкают или размыкают контакты. Достоинство МУК — большая износоустойчивость и очень малое время срабатывания.
Рекомендации по выбору реле
Рабочие напряжения и токи в обмотке должны находиться в пределах допустимых значений. Уменьшение рабочего тока в обмотке приводит к снижению надежности контактирования, а его уменьшение — к перегреву обмотки и снижению надежности, особенно при повышенной температуре окружающей среды. Необходимо учитывать значение и род коммутируемого тока, характер нагрузки (активная, индуктивная), общее число и частоту срабатываний. Если контакты соединяются параллельно, ток не должен превышать максимально допустимого для одной группы контактов.
Рис.1 Габаритные чертежи малогабаритных реле: (размеры малогабаритных реле) а — РЭС-6; б — РЭС-9; в — РЭС- 10; г — РЭС-15; д — РЭС-22; е — РЭС-34; ж — PЭС-47; з — РЭС-48; и — РЭС-49; к — РЭС-54; л — РЭС-60; м — РЭС-59.
Рис.2 Габаритные чертежи и схемы реле типов РЭС-42 — РЭС-44.
Рис.3 Габаритные чертежи и схемы реле типов РЭС-55А и РЭС-55Б.
Основные параметры малогабаритных электромагнитных реле
Таблица1
* Для реле с серебряными контактами..
Таблица 2. Параметры реле типа РЭС-6
Номер паспорта | Число и вид группы контактов * | Номинальное сопротивление обмотки, Ом | Ток мА | |
срабатывания | отпускания | |||
РФ0.452.110 РФ0.452.111 РФ0.452.112 РФ0.452.113 РФ0.452.114 РФ0.452.115 РФ0.452.116 | 2з | 2500 1250 850 550 300 200 125 | 15 21 25 30 42 55 62 | 2 4 5 6 8 9 10 |
РФ0.452.120 РФ0.452.121 РФ0.452.122 РФ0.452.123 РФ0.452.124 РФ0.452.125 РФ0.452.126 | 2р | 2500 1250 850 550 300 200 125 | 15 21 25 30 42 55 62 | 2 4 5 6 8 9 10 |
РФ0.452.140 Рф0.452.141 РФ0.452.142 РФ0.452.143 РФ0.452.144 РФ0.452.146 | 1п | 2500 1250 850 550 300 200 125 | 15 20 25 30 35 50 60 | 3 4 5 6 8 12 15 |
РФ0.432.100 РФ0 452.101 РФ0.452.102 РФ0.452.103 | 2п | 2500 1250 850 550 | 20 26 32 35 | 3 5 6 8 |
РФ0.452.104 РФ0.452.105 РФ0.452.106 РФ0.452.107 РФ0.452.109 | 2п | 300 200 125 60 30 | 60 65 70 100 130 | 10 15 18 … … |
РФ0.452.130 РФ0.452.131 РФ0.452.132 РФ0.452.133 РФ0.452.134 РФ0.452.135 РФ0.452.136 | 1з1р | 2500 1250 850 550 300 200 125 | 15 21 25 30 42 55 62 | 9 3 4 1 6 8 9 |
* Цифры обозначают число групп контактов, буквы: з — замыкание; р — размыкание; п — переключение.
Таблица 3. Параметры реле типа РЭС-9
Номер паспорта | Номинальное сопротивление обмотки, Ом | Ток, мА | Рабочее напряжение, В | Рабочий ток, мА | |
срабатывания не более | отпускания не менее | ||||
РС4.524.200* РС4.524.201 РС4.524.202 РС4.524.203* РС4.524.204* РС4.524.205* РС4.524.208 РС4.524.209 РС4.524.211 РС4.524.213 РС4.524.214 РС4.524.215 РС4.524.216 РС4.524.218 РС4.524.219 РС4.524.229 РС4.524.230 РС4.524.231 РС4.524.232 | 500 500 72 30 9600 3400 9600 600 980 500 36 72 30 9600 3400 36 30 3400 980 36 | 30 30 80 108 7 11 7 30 23 30 95 80 108 7 11 95 108 11 23 95 | 5 5 13 18 1,1 1,7 1,1 5 3 5 15 13 18 1,1 1,7 18 18 1,7 3 15 | 23…32 23…32 10…12 5…7 — — — 23…32 — 23…32 5…7 10…12 5…7 — — 5…7 5…7 — — 5…7 | — — — — 8,3…9,3 13…15 8,3…9,3 — 27…30 — — — — 8,3…9,3 13,5…15 — — 13,5…15 27…30 — |
* Реле с серебряными контактами; контакты остальных реле из платино-иридиевого сплава.
Таблица 4. Параметры реле типа РЭС-10
Номер паспорта | Число и вид группы контактов | Номинальное сопротивление обмотки Ом | Ток, мА | Рабочее напряжение, В | Рабочий ток, мА | |
срабатывания не более | отпускания не менее | |||||
PC4.524.300 РС4.524.301 РС4.524.302 РС4.524.303 РС4.524.304 РС4.524.305 РС4.524.308 РС4.524.311 РС4.524.312 РС4.524.313 РС4.524.314 РС4.h34.315 РС4.524.316 РС4.524.317 РС4.524.319 РС4.524.320 | 1з 1п 1п 1п 1п 1з 1з 1п 1п 1п 1п 1п 1п 1п 1п 1п | 4500 4500 630 120 45 1600 120 120 120 4500 630 45 1600 630 | 6 8 22 50 80 10 35 35 50 8 22 80 10 125 23 23 | 0,8 1,1 3 7 11 1,3 5 5 7 1,1 3 11 1,3 15 3 3 | — 24…30 9…12 4,5…7,5 — 7…12 7…12 9…12 — 24…30 4,5…7,5 — 4…5,2 24…32 24…32 | 7…8 9,5…10,5 — — — 12…13 — — — 9,5…10,5 — — 12…13 — — — |
* Цифры обозначают число групп контактов, буквы: з — замыкание; п — переключение.
Таблица 5. Параметры реле типов РЭС-15, РЭС-22 и РЭС-34
Тип и номер паспорта | Номинальное сопротивление обмотки, Ом | Ток, мА | Рабочее напряжение, В | Рабочий ток, мА | |
срабатывания не более | отпускания не менее | ||||
РЭС-15 РС4.591.001 РС4.591.002 РС4.591.003 РС4.591.004 РЭС-22 РФ4.500.120 РФ4.500.121 РФ4.500.122 РФ4.500.124 РФ4.500.125 РФ4.500.129 РФ4.500.130 РФ4.500.131 РФ4.500.163 РФ4.500.225 РФ4.500.231 РФ4.500.233 РЭС-34 РС4.524.371 РС4.524.372 РС4.524.373 РС4.524.374 PC4.524.375 РС4.524.376 РС4.524.377 РС4.524.378 РС4.524.379 РС4.524.380 РС4.524.381 | 2200 160 330 720 650 4200 | 8,5 30 21 14,5 19 8 | 2 7 5 3,5 6 1,2 | — — — — 21,6…26,4 — | 14…16 53…58 38…43 25…28 — 9,5…10,5 |
Примечание. Реле типов РЭС-16 и РЭС-22 имеют одну переключающую группу контактов, реле типа РЭС-22 четыре такие же группы.
Таблица 6. Параметры реле типов РЭС-47 — РЭС-49, РЭС-54, РЭС-59 и РЭС-60
Тип и номер паспорта | Номинальное сопротивление, Ом | Ток, мА | Рабочее напряжение, В | |
срабатывания не более | отпускания не менее | |||
РЭС-47 РФ4.500.408 РФ4.500.409 РФ4.500.417 РФ4.500.419 РФ4.500.421 РФ4.500.431 РФ4.500.432 РФ4.500.433 РФ4.500.434 РФ4.500.435 РЭС-48 РС4.590.201 РС4.590.213 РС4.590.202 РС4.590.214 РС4.590.203 РС4.590.215 РС4.590.204 РС4.590.216 РС4.590.205 РС4.590.217 РС4.590.206 РС4.590.207 РС4.590.218 РЭС-49 РС4.569.000 РС4.569.001 РС4.569.423 РС4.569.424 РС4.569.425 РС4.569.426 РС4.569.427 РС4.569.428 РС4.569.429 РС4.569.430 РС4.569.431 РС4.569.432 РЭС-54 ХП4.500.010 ХП4.500.011 РЭС-59 ХП4.500.020 ХП4.500.021 ХП4.500.024 ХП4.500.025 РЭС-60 РС4.569.436 РС4.569.437 РС4.569.438 РС4.569.439 РС4.569.440 | 650 169 650 169 40 165 165 650 650 40 600 100 350 42 8000 1250 600 1900 4000 2000 1700 | 23 42 21,5 42 86 42 42 23 21,5 86 23 52 30 79,5 7,2 15,2 24,8 8,3 2,6 2,5 8,4 | 3 4 2,5 4 12 4 4 3 2,5 12 3 6,8 4 10,4 0,94 2 2 0,8 0,3 0,4 1,8 | 24…30 10,8…13,2 21,5…34 10,8…16 5,5…8 10,8…13,2 10,8…13,2 24…30 22,5…34 5,5…8 20…36 10…18 16,2…19,8 5…9 90…110 38…55 24,3…29,7 24…30 22…32 9…11 22…34 |
Примечание. Реле с паспортами ХП4.500.010 и ХП4,500,021 имеют одну переключающую группу контактов, реле с паспортом ХП4.500.020 — одну замыкающую группу, остальные реле — две переключающие группы.
Таблица 7. Основные параметры реле типов РЭС-42 — РЭС-44
* При последовательном включении обмоток. *2 При параллельном включении обмоток.
Таблица 7. Параметры реле типов РЭС-55А и РЭС-55Б
Тип | Номер паспорта | Номинальное сопротивление обмотки, Ом | Напряжение, В | ||
срабатывания, не более | отпускания, не менее | номинальное рабочее | |||
РЭС55А | РС4.569.601 РС4.569.602 РС4.569.603 РС4.569.604 РС4.569.605 РС4.569.606 РС4.569.607 РС4.569.608 РС4.569.609 РС4.569.610 | 1880 377 95 67 35 1880 377 95 67 35 | 16,2 7,3 3,25 2,5 1,7 14,2 6,3 2,75 2,1 1,5 | 1,8 0,85 0,35 0,3 0,2 1,6 0,75 0,3 0,25 0,18 | 27 12,6 6 5 3 27 12,6 6 5 3 |
Примечание. Реле типа РЭС-55Б имеют паспорта РС4.569.626 — РС4.569.635. Параметры всего набора реле типа РЭС-55Б соответствуют параметрам всего набора реле типа РЭС-55А. Так, например, одинаковые параметры имеют реле с паспортами РС4.569.601 и РС4.569.626, РС4.569.602 и РС4.569.627 и т. д.
Мощные электромагнитные реле. Справочник инженера
Мощные электромагнитные реле. Справочник инженера
Введение
Электромагнитное реле – хорошо известное и широко применяемое на практике электротехническое изделие. Область применения электромагнитных реле простирается от отметивших свой 150-летний юбилей схем релейной автоматики до новейшего телекоммуникационного оборудования и интерфейсов между контроллерами и промышленными системами управления, где требуются надежные и мощные схемы для управления исполнительными устройствами, гарантирующие высоковольтную гальваническую развязку между объектом управления и управляющей системой. Можно без преувеличения сказать, что вся современная электротехника и промышленная автоматика выросла из дискретных устройств на базе электромагнитного реле.
Первое электромагнитное реле было придумано и практически реализовано в 30-х годах XIX века, когда потребовалась передача депеш на большие расстояния. С. Морзе пришла в голову идея создания телеграфного аппарата с регистратором принятой информации на основе электромагнита. Инженерам понравилось свойство реле при слабом токе управления коммутировать мощные цепи, после чего в телеграфе реле превратилось в импульсный усилитель слабых сигналов. Промежуточные усилители в линии связи позволили уже в 60-х годах XIX века передавать телеграфные сообщения на расстояния до нескольких тысяч километров. Само название «реле» было заимствовано из французского языка, где этим термином обозначалась смена лошадей при переездах на большие расстояния. Тааким вот образом в истории техники работа электромагнитного реле началась в области телекоммуникаций.
При появлении электростанций и электрического освещения возникла потребность в распределении электроэнергии и управлении электрическими сетями, а с развитием промышленности появились и первые системы управления, где реле немедленно нашло свое место. Развитие дискретной математики и электротехники привело к к разработке в 90 годы XIX века управляющих автоматов, сначала простых, но потом все более сложных, нашедших применение в телефонных станциях и автоматической электросвязи. Изобретение радио и электронных ламп не помешали совершенствованию электромагнитного реле, которое постепенно становится все более миниатюрным, экономичным и надежным. Конструкторы разрабатывают реле времени, поляризованные реле и многопозиционные реле для программного управления процессами.
…
Схемы включения реле направления мощности на фильтры тока и напряжения | Справочник по наладке вторичных цепей | РЗиА
Страница 16 из 58
Схемы включения реле направления мощности на фильтры тока и напряжения нулевой последовательности
В направленных МТЗ от замыканий на землю для сетей с большими токами однофазного КЗ (присоединения с глухозаземленной нейтралью 110 кВ и выше) в качестве органа, фиксирующего направление мощности в аварийном режиме и разрешающего действие защит, используются индукционные, быстродействующие реле РБМ-177, РБМ-178 и РБМ-277, РБМ-278, которые имеют фм.ч=+70° (см. разд. 2, технические данные).
Реле направления мощности в этих защитах включается на ток и напряжение нулевой последовательности; чтобы обеспечить такое подключение реле, его включают на сумму фазных токов и напряжений (рис. 3.3). Трансформаторы тока и напряжения, включенные на сумму фазных токов и напряжений, образуют фильтры тока и напряжения нулевой последовательности и реле включается на 3/0 и 3 U0.
Рис. 3.3. Схема включения реле мощности защиты от замыканий на землю
При таком включении в нормальном режиме и при всех видах симметричных двух- и трехфазных КЗ реле не работает, так как значения 3/0 и 3U0, обусловленные в этих случаях только небалансами, малы. При однофазных КЗ по поврежденной фазе протекает ток КЗ и сумма токов трех фаз в нулевом проводе, в который включена токовая обмотка реле мощности, равна этому фазному току, напряжение на поврежденной фазе понижается. Чтобы выполнить фильтр 3 U0, вторичные обмотки трансформаторов напряжения TV подключаются по схеме разомкнутого треугольника (используются дополнительные обмотки TV с заводскими обозначениями ад—хл на номинальное вторичное напряжение 100 В), сумма трех фазных напряжений в этом случае равна снижению напряжения на повреждённой фазе, а вектор 3 U0 развернут на Гв0° по отношению к вектору напряжения поврежденной фазы.
Из векторных диаграмм, приведенных на рис. 3.4, видно, что при однофазном КЗ в зоне действия защиты угол фр между током в поврежденной фазе 3/0 и напряжением разомкнутого треугольника 3U0 при повреждении на любой из фаз составляет —100н—120°. Так как вращающий момент этих реле (см. разд. 2) равен
где sin((pp+a) при фр=—100-ь—120° есть величина отрицательная, момент на реле отрицательный в сторону заклинивания, поэтому для обеспечения правильной работы реле направления мощности нулевой последовательности ток или напряжение на реле необходимо подавать с обратной полярностью.
Рис. 3.4. Векторные диаграммы для оценки поведения реле мощности защиты от замыканий на землю, включенного на 3/0 и 3U%:
а — КЗ на фазе А с остаточным напряжением ; .6—КЗ на фазе В с остаточным напряжением иО>: в —КЗ на фазе С с остаточным напряжением
На рис. 3.3 приведена наиболее широко распространенная схема подключения. реле, полярный вывод токовой обмотки реле 5 подключен к полярным выводам трансформаторов тока Ии полярный вывод обмотки напряжения реле 7 подключен к неполярному выводу разомкнутого треугольника с маркой ВИ(К).
Справочник по слаботочным электрическим реле
: Справочник по слаботочным электрическим реле.
Автор: Игловский И.Г., Владимиров Г.В.
1984.
Приведены основные технические данные, маркировка, габаритный чертеж и электрическая схема современных слаботочных электрических реле. Даны рекомендации по выбору и применению реле. Первое издание вышло в 1975г. под названием «Справочник по электромагнитным реле». Настоящее издание переработано и дополнено описанием новых малогабаритных реле, исключены реле, снятые с производства.
ПредисловиеГлава первая. РЕКОМЕНДАЦИИ ПО ВЫБОРУ И ПРИМЕНЕНИЮ РЕЛЕ
Основные эксплуатационные параметры слаботочных реле
Влияние дестабилизирующих факторов на работоспособность реле
Гарантии поставщика
Указания по пользованию справочником
Глава вторая. ЭЛЕКТРОМАГНИТНЫЕ РЕЛЕ
Нейтральные реле
Реле РЭС6
Реле РЭС8
Реле РЭС9
Реле РЭС10
Реле РЭС15
Реле РЭС22
Реле РЭС32
Реле РЭС34
Реле РЭС35
Реле РЭС39
Реле РЭС47
Реле РЭС48
Реле РЭС49
Реле РЭС52
Реле РЭС53
Реле РЭС54
Реле РЭС59
Реле РЭС60
Реле РЭС78
Реле РЭС79
Реле РЭС80
Реле РЭС90
Реле РЭН18
Реле РЭН19
Реле РЭН20
Реле РЭН29
Реле РЭН32
Реле РЭН34
Реле РЭН35
Реле ким
Реле РС52
Реле РСЧ52
Реле РКНМ
Реле РКН-М1
Реле РКМ1
Реле РКМП,РКМП1,РКМП2
Реле РЭС14
Реле МКУ48-С
Реле РКСЗ
Реле РЭК11
Реле РЭК15
Реле РЭК23
Реле РЭК24
Поляризованные реле
Реле РПЗ
Реле РП4, РП4М, РП5, РП7
Реле 64П
Реле РПС4, РПС5, РПС7
Реле РПС5, РПС15
Реле РПС11
Реле РПС18/4
Реле РПС18/5
Реле РПС18/7
Реле РПС20
Реле РПС28
Реле РПС32
Реле РПС34
Реле РПС36
Реле РПС42
Реле РПС43
Реле РПС45
Реле РПС46
Реле РПС48
Реле РПС58
Реле РПК11
Реле РПК17
Реле ДП12
Высокочастотные реле
Реле РПВ2
Реле РПВ5
Реле РЭВ14, РЭВ15
Реле РЭВ16, РЭВ17
Реле РПА11, РПА12
Реле РПХ14
Реле РЭА11
Реле РЭА12
Глава третья. ГЕРКОНОВЫЕ РЕЛЕ
Нейтральные реле
Реле РЭС42, РЭС43, РЭС44
Реле РЭС45, РЭС46
Реле РЭС55
Реле РЭС64
Реле РЭС81, РЭС82, РЭС83, РЭС84
Реле РЭС85, РЭС86
Реле РЭС91
Реле РГК11, РГК12
Реле РГК13, РГК14
Реле РГК15
Поляризованные реле
Реле РПС49, РПС50, РПС51, РПС52, РПС53, РПС54, РПС55, РПС56
Высокочастотные реле
РЭВ18
РЭВ20
Глава четвертая. РЕЛЕ ВРЕМЕНИ
Статические реле с контактным выходом
Реле РВЭ1А
Реле РВЭ2А
Реле РВЭЗА
Приложение. Список реле, производство которых прекращено.
ОСНОВНЫЕ ЭКСПЛУАТАЦИОННЫЕ ПАРАМЕТРЫ СЛАБОТОЧНЫХ РЕЛЕ.
Из большого числа параметров реле следует ориентироваться на основные, влияющие на нормальную работоспособность реле и характеризующие эксплуатационные возможности и область применения слаботочных реле.
Основными эксплуатационными параметрами реле являются:
1. Электрические: чувствительность, рабочий ток (напряжение), ток (напряжение) срабатывания, ток (напряжение) отпускания, сопротивление обмотки, сопротивление контактов электрической цепи, коммутационная способность, электрическая изоляция.
2. Временные параметры: время срабатывания, время отпускания, время дребезга контактов.
Чувствительность — способность реле срабатывать при определенном значении мощности, подаваемой в обмотку реле. Обычно чувствительность определяется магнитодвижущей силой (МДС) срабатывания. При сравнении между собой различных типов реле, а также при выборе и применении их в аппаратуре наиболее чувствительными считаются те реле, которые срабатывают при меньшем значении МДС. Значение МДС конкретного типа реле всегда должно быть постоянным и достаточным для надежного переброса якоря и замыкания (размыкания) всех контактных групп.
Поляризованные реле по сравнению с нейтральными обладают повышенной чувствительностью, большим коэффициентом усиления, меньшим временем срабатывания.
Повышенная чувствительность поляризованных реле достигается увеличением МДС, введением дополнительного источника энергии (постоянного-магнита), относительно малого хода якоря и сравнительно малого контактного нажатия.
— fileskachat.com, быстрое и бесплатное скачивание.
Справочник содержания драгметаллов в реле
Реле – это электромагнитное коммутационное устройство, предназначенное для установки и разрыва соединений в электрических цепях. Реле срабатывает при скачкообразном изменении входной величины.
Большинство отечественных реле содержат контакты из серебра, золота или платины. Для определения какие контакты установлены в реле важно знать:
Модель реле (РЭС9, РЭС22, РП-4, РЕН, РМУГ и т.д.)
Паспорт реле, как правило пишется на корпусе под моделью. Паспорт бывает двух кодировок старой и новой. Старая кодировка “слитная” типа “РС4.524.201”, для определения важны последние три символа. Новая кодировка “раздельная” состоит из двух пар символов “01 02”, в данном случае важны первые два символа.
Год выпуска. В зависимости от года выпуска реле менялось содержание и количество драгоценного металла.
К примеру реле, РЭС9 с раздельными паспортами 01, 02, 06 содержат 0,15 г платины, а РЭС22 с едиными паспортами 200-299, 133 до 1975 года содержат 0,55 г чистого золота.
Реле РЭС22 с золотыми контактамиВ случае, когда контакты в реле серебряные можно сделать обрезь контактов, срезав края пластины с контактом и в дальнейшем протравить.
Список реле с содержанием драгоценных металлов
Поделиться ссылкой:
Понравилось это:
Нравится Загрузка…
Покупаем на выгодных условиях: платы, радиодетали, микросхемы, АТС, приборы, лом электроники, катализаторы
Мы гарантируем Вам честные цены! Серьезный подход и добропорядочность — наше главное кредо.
Компания ООО «РадиоСкупка» (скупка радиодеталей) закупает и продает радиодетали , а также любое радиотехническое оборудование и приборы. У нас Вы сможете найти не только наиболее востребованные радиодетали, но и редкие производства СССР и стран СЭВ. Мы являемся партнером «ФГУП НИИ Радиотехники» и накопили огромный опыт за наши годы работы. Также многих радиолюбителей заинтересует наш уникальный справочник по содержанию драгметаллов в радиодеталях. В левом нижнем углу нашего сайта Вы сможете узнать актуальные цены на драгметаллы такие, как золото, серебро, платина, палладий (цены указаны в $ за унцию) а также текущие курсы основных валют. Работаем со всеми городами России и география нашей работы простирается от Пскова и до Владивостока. Наш квалифицированный персонал произведет грамотную и выгодную для Вас оценку вашего оборудования, даст профессиональную консультацию любым удобным Вам способом – по почте или телефону. Наш клиент всегда доволен!
Покупаем платы, радиодетали, приборы, АТС, катализаторы. Заинтересованы в выкупе складов с неликвидными остатками радиодеталей а также цехов под ликвидацию с оборудованием КИПиА.
Приобретаем:
- платы от приборов, компьютеров
- платы от телевизионной и бытовой техники
- микросхемы любые
- транзисторы
- конденсаторы
- разъёмы
- реле
- переключатели
- катализаторы автомобильные и промышленные
- приборы (самописцы, осциллографы, генераторы, измерители и др.)
Купим Ваши радиодетали и приборы в любом состоянии, а не только новые. Цены на сайте указаны на новые детали. Расчет стоимости б/у деталей осуществляется индивидуально в зависимости от года выпуска, состоянии, а также текущих цен Лондонской биржи металлов. Работаем почтой России, а также транспортными компаниями. Наша курьерская служба встретит и заберет Ваш груз с попутного автобуса или поезда.
Честные цены, наличный и безналичный расчет, порядочность и клиентоориентированность наше главное преимущество!
Остались вопросы – звоните 8-961-629-5257, наши менеджеры с удовольствием ответят на все Ваши вопросы. Для вопросов по посылкам: 8-900-491-6775. Почта [email protected]
С уважением, директор Александр Михайлов.
Пошаговое руководство | Relay
Relay — это платформа для управления и декларативного извлечения данных GraphQL. Это позволяет разработчикам объявлять , какие данные нужны каждому компоненту через GraphQL, а затем агрегировать эти зависимости и эффективно извлекать данные за меньшее количество циклов. В этом руководстве мы по очереди познакомим вас с ключевыми концепциями использования Relay в приложении React.
Шаг 1. Создание приложения React №
В этом примере мы начнем со стандартной установки приложения Create React.Create React App упрощает запуск и запуск полностью настроенного приложения React, а также поддерживает настройку Relay. Для начала создайте новое приложение с помощью:
npx create-response-app your-app-name
yarn create response-app your-app-name
КопироватьНа этом этапе мы должны иметь возможность перейти в каталог приложения и запустить его:
cd your-app-namenpm start
cd your-app-nameyarn start
CopyДля устранения неполадок и дополнительных параметров настройки см. документацию Create React App.
Шаг 2. Получение GraphQL (без Relay) #
Если вы изучаете использование GraphQL с Relay, мы настоятельно рекомендуем начать с базового подхода и использовать как можно меньше библиотек. Доступ к серверам GraphQL обычно можно получить с помощью старых простых HTTP-запросов, поэтому мы можем использовать API fetch
для запроса некоторых данных с нашего сервера. В этом руководстве мы будем использовать GitHub GraphQL API в качестве сервера, но если у вас уже есть сервер GraphQL, не стесняйтесь использовать его.
2.1: GitHub GraphQL Authentication #
Для начала нам понадобится токен аутентификации для GitHub API (если вы используете свою собственную конечную точку GraphQL, вы можете пропустить этот шаг):
- Откройте github.com/settings/tokens .
- Убедитесь, что выбрана как минимум область
репо
. - Создайте токен
- Создайте файл
./your-app-name/.env.local
и добавьте следующее содержимое, заменив
# your-app- имя/.env.localREACT_APP_GITHUB_AUTH_TOKEN =
Копировать2.2: помощник fetchGraphQL #
Затем давайте обновим домашний экран нашего приложения, чтобы отобразить имя репозитория Relay. Мы начнем с обычного подхода к выборке данных в React, вызывая нашу функцию выборки после монтирования компонента (примечание: позже мы увидим некоторые ограничения этого подхода и лучшую альтернативу, которая работает с React Concurrent Mode и Suspense). Сначала мы создадим вспомогательную функцию для загрузки данных с сервера.Опять же, в этом примере будет использоваться GitHub API, но вы можете заменить его соответствующим URL-адресом и механизмом аутентификации для вашего собственного сервера GraphQL:
асинхронная функция fetchGraphQL (текст, переменные) {const REACT_APP_GITHUB_AUTH_TOKEN = process.env.REACT_APP_GITHUB_AUTH_TO_TO;
const response = await fetch ('https://api.github.com/graphql', {method: 'POST', headers: {Authorization: `bearer $ {REACT_APP_GITHUB_AUTH_TOKEN}`, 'Content-Type': 'application / json ',}, тело: JSON.stringify ({запрос: текст, переменные,}),});
return await response.json ();}
экспорт по умолчанию fetchGraphQL;
Копировать2.3: Получение GraphQL из React #
Теперь мы можем использовать нашу функцию fetchGraphQL
для получения некоторых данных в нашем приложении. Откройте src / App.js
и отредактируйте его следующим образом:
import React from response; import './App.css';import fetchGraphQL из' ./fetchGraphQL ';
const {useState, useEffect} = React;
функция App () {const [имя, setName] = useState (null);
useEffect (() => {let isMounted = true; fetchGraphQL (`query RepositoryNameQuery {# не стесняйтесь менять владельца / имя здесь репозитория (владелец:" facebook "name:" relay ") {name}}`).then (response => {if (! isMounted) {return;} const data = response.data; setName (data.repository.name);}). catch (error => {console.error (error);});
return () => {isMounted = false; }; }, [fetchGraphQL]);
return ( {name! = null? `Репозиторий: $ {name}`: "Загрузка"}
);}
экспортировать приложение по умолчанию;
КопироватьШаг 3. Когда использовать Relay #
На этом этапе мы можем получить данные с помощью GraphQL и отрендерить их с помощью React.Это разумное решение, которого может хватить для многих приложений. Однако этот подход не обязательно масштабируется. По мере роста размера и сложности нашего приложения или увеличения числа людей, работающих над приложением, такой простой подход может стать ограничивающим. Relay предоставляет ряд функций, предназначенных для обеспечения скорости и надежности приложений даже при их увеличении в размере и сложности: совместное размещение зависимостей данных в компонентах с фрагментами GraphQL, согласованность данных, мутации и т. Д. Ознакомьтесь с разделом «Мышление в GraphQL» и «Мышление в реле», чтобы узнать больше. обзор того, как Relay упрощает работу с GraphQL.
Шаг 4: Добавление реле в наш проект #
В этом руководстве мы продемонстрируем установку экспериментальной версии Relay Hooks, нового API Relay на основе хуков, который поддерживает React Concurrent Mode и Suspense.
Сначала добавим необходимые пакеты. Обратите внимание, что Relay состоит из трех ключевых частей: компилятора (который используется во время сборки), основной среды выполнения (которая не зависит от React) и уровня интеграции React.
npm install --save relay-runtime react-relaynpm install --save-dev relay-compiler graphql babel-plugin-relay
yarn add relay-runtime react-relayyarn add --dev relay-compiler graphql babel-plugin-relay
Скопировать4.1 Настройка компилятора Relay #
Теперь давайте настроим компилятор Relay. Нам понадобится копия схемы в виде файла .graphql
. Если вы используете GitHub GraphQL API, вы можете загрузить копию прямо из примера приложения Relay:
cd your-app-namecurl https://raw.githubusercontent.com/relayjs/relay-examples/main/issue -tracker / schema / schema.graphql> schema.graphql
Копировать Примечание: В Windows файл .graphql
должен быть явно сохранен с кодировкой UTF-8, а не UTF-16 по умолчанию.Подробнее см. В этом выпуске.
Если вы используете свой собственный API, мы рекомендуем использовать утилиту get-graphql-schema
для загрузки вашей схемы в файл .graphql
.
Теперь, когда у нас есть схема, мы можем изменить package.json
, чтобы сначала запускать компилятор всякий раз, когда мы создаем или запускаем наше приложение:
{... "scripts": {... "start": "yarn run relay && react-scripts start "," build ":" yarn run relay && react-scripts build "," relay ":" yarn run relay-compiler --schema schema.graphql --src ./src/ --watchman false [адрес электронной почты защищен] "...}, ...}
КопироватьНа этом этапе вы сможете успешно выполнить следующее:
cd your- app-nameyarn start
Copy Если это работает, ваше приложение откроется на localhost: 3000. Теперь, когда мы напишем GraphQL в нашем приложении, Relay обнаружит его и сгенерирует код для представления наших запросов в your-app-name / src / __ сгенерировано __ /
. Мы рекомендуем вернуть эти сгенерированные файлы в систему управления версиями.
4.2 Настройка среды выполнения реле #
Теперь, когда компилятор настроен, мы можем настроить среду выполнения — мы должны сообщить Relay, как подключиться к нашему серверу GraphQL. Мы повторно воспользуемся утилитой fetchGraphQL
, которую мы создали выше. Предполагая, что вы не изменили его (или, по крайней мере, он все еще принимает текст
и переменные
в качестве аргументов), теперь мы можем определить Relay Environment
. Среда Environment
инкапсулирует, как разговаривать с нашим сервером (Relay Network
) с кешем данных, полученных с этого сервера.Мы создадим новый файл src / RelayEnvironment.js
и добавим следующее:
import {Environment, Network, RecordSource, Store} из relay-runtime; импортировать fetchGraphQL из ./fetchGraphQL;
асинхронная функция fetchRelay (параметры, переменные) {console.log (`получение запроса $ {params.name} с помощью $ {JSON.stringify (variables)}`); return fetchGraphQL (params.text, variables);}
экспортировать новую среду по умолчанию ({network: Network.create (fetchRelay), store: new Store (new RecordSource ()),});
КопироватьШаг 5: Получение запроса с помощью реле №
Теперь, когда реле установлено и настроено, мы можем изменить приложение .js
, чтобы использовать его. Мы подготовим наши данные при запуске приложения и дождемся их готовности в
. Замените содержимое src / App.js
следующим:
import React from 'react'; import './App.css';import fetchGraphQL from' ./fetchGraphQL '; import graphql from' babel-plugin -relay / macro '; импортировать {RelayEnvironmentProvider, loadQuery, usePreloadedQuery,} из' react-relay / hooks '; импортировать RelayEnvironment из' ./RelayEnvironment ';
const {Suspense} = React;
const RepositoryNameQuery = graphql` запрос AppRepositoryNameQuery {репозиторий (владелец: "facebook", имя: "реле") {имя}} `;
const preloadedQuery = loadQuery (RelayEnvironment, RepositoryNameQuery, {});
функция App (реквизиты) {const data = usePreloadedQuery (RepositoryNameQuery, props.preloadedQuery);
return ( {data.repository.name}
);}
function AppRoot (props) {return ( );}
экспорт по умолчанию AppRoot;
Копировать Обратите внимание, что вам придется перезапустить приложение — yarn start
— чтобы компилятор Relay мог увидеть новый запрос и сгенерировать для него код.См. Документацию по настройке Relay Compiler, чтобы узнать, как запустить Relay Compiler в режиме наблюдения, чтобы повторно сгенерировать код при изменении запросов.
Шаг 6: Исследуйте! #
На этом этапе у нас есть приложение, настроенное для использования Relay. Мы рекомендуем проверить следующее, чтобы получить информацию и идеи о том, что делать дальше:
- В Руководстве описывается, как реализовать множество распространенных сценариев использования.
- Справочник по API содержит полную информацию об API-интерфейсах Relay Hooks.
- Пример приложения — это более сложная версия того, что мы начали здесь создавать.Он включает интеграцию маршрутизации и использует React Concurrent Mode и Suspense для плавных переходов между страницами.
Компилятор реле | Relay
graphql
# Тег шаблона graphql
, предоставляемый Relay, служит механизмом для записи запросов, фрагментов, мутаций и подписок на языке GraphQL. Например:
import {graphql} из «react-relay»;
graphql` query MyQuery {viewer {id}} `;
Копировать Результатом использования тега шаблона graphql
является GraphQLTaggedNode
; представление документа GraphQL во время выполнения.
Обратите внимание, что теги шаблона graphql
никогда не выполняются во время выполнения . Вместо этого они заранее компилируются компилятором Relay в сгенерированные артефакты, которые живут вместе с вашим исходным кодом и которые Relay требует для работы во время выполнения.
Compiler #
Relay использует Relay Compiler для преобразования литералов graphql
в сгенерированные файлы, которые находятся рядом с вашими исходными файлами.
Фрагмент, подобный следующему:
graphql` фрагмент MyComponent on Type {field} `
Копировать Заставит сгенерированный файл появиться в ./__generated__/MyComponent.graphql.js
,
с обоими артефактами времени выполнения (которые помогают читать и писать из Relay Store)
и Типы потока, чтобы помочь вам написать безопасный код.
Компилятор Relay отвечает за генерацию кода на этапе сборки, на который затем можно ссылаться во время выполнения. За счет заблаговременного построения запроса среда выполнения Relay не отвечает за создание строки запроса, и для запроса могут выполняться различные оптимизации, которые могут быть слишком дорогими во время выполнения (например, поля, которые дублируются в запросе, могут быть объединены на этапе сборки, чтобы повысить эффективность обработки ответа GraphQL).
GraphQL Schema #
Для использования Relay Compiler вам понадобится файл схемы GraphQL .graphql
или .json
, описывающий API вашего сервера GraphQL. Обычно эти файлы являются локальными представлениями серверного источника истины и не редактируются напрямую. Например, у нас может быть schema.graphql
, например:
schema {query: Root}
type Root {dictionary: [Word]}
введите Word {id: String! определение: WordDefinition}
type WordDefinition {text: String image: String}
КопироватьЗапуск компилятора #
Кроме того, вам понадобится каталог, содержащий .js
, которые используют тег graphql
для описания запросов и фрагментов GraphQL. Назовем это ./src
.
Затем запустите реле хода пряжи
, как было настроено ранее.
Это создаст серию из __generated__
каталогов, которые совмещены с соответствующими файлами, содержащими теги graphql
.
Например, учитывая два файла:
-
src / Components / DictionaryComponent.js
const DictionaryWordFragment = graphql` фрагмент DictionaryComponent_word в Word {определение идентификатора {...DictionaryComponent_definition}} `
const DictionaryDefinitionFragment = graphql` фрагмент DictionaryComponent_definition в WordDefinition {текстовое изображение} `
Копировать-
src / Queries / DictionaryQuery.js
const DictionaryQuery = graphql` query DictionaryQuery {dictionary {... DictionaryComponent_word}} `
Копировать Это создаст три сгенерированных файла и два каталога __generated__
:
-
src / Components / __ generated __ / DictionaryComponent_word.graphql.js
-
src / Components / __ created __ / DictionaryComponent_definition.graphql.js
-
src / Queries / __ created __ / DictionaryQuery.graphql.js
Импорт сгенерированных определений #
Обычно не требуется импортировать сгенерированные определения #
ваши сгенерированные определения. Затем плагин Relay Babel преобразует литералы graphql
в вашем коде в вызовы require ()
для сгенерированных файлов.
Однако компилятор Relay также автоматически генерирует типы потока как комментарии типа.Например, вы можете импортировать сгенерированные типы Flow следующим образом:
import type {DictionaryComponent_word} from './__generated__/DictionaryComponent_word.graphql';
КопироватьРеже вам может потребоваться доступ к запросу, изменению, фрагменту или подписке из нескольких файлов. В этих случаях вы также можете импортировать его напрямую:
import DictionaryComponent_word из './__generated__/DictionaryComponent_word.graphql';
КопироватьМышление в реле | Relay
Подход Relay к выборке данных в значительной степени вдохновлен нашим опытом работы с React.В частности, React разбивает сложные интерфейсы на повторно используемые компоненты , позволяя разработчикам рассуждать о дискретных единицах приложения изолированно и уменьшая связь между разрозненными частями приложения. Еще важнее то, что эти компоненты являются декларативными : они позволяют разработчикам указывать, как должен выглядеть пользовательский интерфейс для данного состояния, и не беспокоиться о , как будет отображать этот пользовательский интерфейс. В отличие от предыдущих подходов, которые использовали императивные команды для управления собственными представлениями (например,грамм. DOM), React использует описание пользовательского интерфейса для автоматического определения необходимых команд.
Давайте рассмотрим некоторые варианты использования продукта, чтобы понять, как мы воплотили эти идеи в Relay. Предположим, что вы знакомы с React.
Получение данных для представления #
По нашему опыту, подавляющему большинству продуктов требуется одно конкретное поведение: выборка всех данных для иерархии представлений при отображении индикатора загрузки, а затем визуализация всего представления, когда данные становятся доступными.
Одно из решений состоит в том, чтобы корневой компонент объявлял и извлекал данные, необходимые ему и всем его дочерним элементам. Однако это приведет к связыванию: любое изменение дочернего компонента потребует изменения любого корневого компонента, который может его отобразить! Эта связь может означать больше шансов для ошибок и замедлить темпы разработки.
Другой логический подход состоит в том, чтобы каждый компонент объявлял и извлекал требуемые данные. Звучит здорово. Однако проблема в том, что компонент может отображать разных дочерних элементов в зависимости от полученных данных.Таким образом, вложенные компоненты не смогут визуализировать и начать выборку своих данных до тех пор, пока не будут выполнены запросы родительских компонентов. Другими словами, заставляет выборку данных выполняться поэтапно: сначала визуализирует корень и извлекает необходимые данные, затем визуализирует его дочерние элементы и извлекает их данные, и так далее, пока вы не дойдете до конечных компонентов. Для рендеринга потребуется несколько медленных последовательных циклов.
Relay сочетает в себе преимущества обоих этих подходов, позволяя компонентам указывать, какие данные им требуются, но объединять эти требования в один запрос, который извлекает данные для всего поддерева компонентов.Другими словами, он определяет статически (т.е. перед запуском вашего приложения; во время написания кода) требований для всего представления!
Это достигается с помощью GraphQL. Функциональные компоненты используют один или несколько фрагментов GraphQL для описания своих требований к данным. Затем эти фрагменты вкладываются в другие фрагменты и, в конечном итоге, в запросы. И когда такой запрос получен, Relay сделает один сетевой запрос для него и всех его вложенных фрагментов.Другими словами, среда выполнения Relay может сделать единый сетевой запрос для всех данных, необходимых для представления!
Давайте погрузимся глубже, чтобы понять, как Relay достигает этого подвига.
Определение требований к данным для компонента #
В Relay требования к данным для компонента указываются с помощью фрагментов. Фрагменты — это именованные сниппеты GraphQL, которые определяют, какие поля выбрать из объекта определенного типа. Фрагменты записываются в литералах GraphQL.Например, в следующем примере объявляется литерал GraphQL, содержащий фрагмент, который выбирает имя автора и URL-адрес фотографии:
const authorDetailsFragment = graphql` fragment AuthorDetails_author on Author {name photo {url}} `;
Copy Затем эти данные считываются из хранилища путем вызова ловушки useFragment (...)
в функциональном компоненте React. Фактический автор, от которого следует читать эти данные, определяется вторым параметром, переданным в useFragment
.Например:
экспортировать функцию по умолчанию AuthorDetails (props) {const data = useFragment (authorDetailsFragment, props.author); }
Копировать Этот второй параметр ( props.author
) является ссылкой на фрагмент. Ссылки на фрагменты получаются путем распространения фрагмента на другой фрагмент или запрос. Фрагменты нельзя получить напрямую. Вместо этого все фрагменты должны в конечном итоге быть распределены (либо напрямую, либо транзитивно) в запрос для извлечения данных.
Рассмотрим один из таких запросов.
Queries #
Чтобы получить эти данные, мы могли бы объявить запрос, который распространяет AuthorDetails_author
следующим образом:
const storyQuery = graphql` query StoryQuery ($ storyID: ID!) {Story (id: $ storyID ) {title author {... AuthorDetails_author}}} `;
Копировать Теперь мы можем получить запрос, вызвав const data = useLazyLoadQuery (storyQuery, {storyID})
.На этом этапе data.author
(если он присутствует; все поля по умолчанию допускают значение NULL) будет ссылкой на фрагмент, которую мы можем передать в AuthorDetails
. Например:
function Story (props) {const data = useLazyLoadQuery (storyQuery, props.storyId);
return (<> {data? .story.title} {data? .story? .author && } >);}
Копия Обратите внимание на то, что здесь произошло.Мы сделали один сетевой запрос, который содержал данные, необходимые для и , Story,
, компонента , и , компонента AuthorDetails,
! Когда эти данные были доступны, все представление могло отображаться за один проход.
Маскирование данных #
Используя типичные подходы к выборке данных, мы обнаружили, что два компонента обычно имеют неявных зависимостей . Например,
может использовать некоторые данные, не гарантируя, что данные были получены напрямую.Эти данные часто могут быть получены какой-либо другой частью системы, например
. Затем, когда мы изменили
и удалили эту логику выборки данных,
внезапно и необъяснимо сломался. Ошибки такого типа не всегда проявляются сразу, особенно в более крупных приложениях, разрабатываемых более крупными командами. Ручное и автоматическое тестирование могут только очень помочь: это именно тот тип систематических проблем, которые лучше решить с помощью фреймворка.
Мы видели, что Relay обеспечивает одновременную выборку всех данных для представления. Но Relay также дает еще одно преимущество, которое не сразу очевидно: маскирует данные . Relay только позволяет компонентам получать доступ к данным, которые они специально запрашивают во фрагментах GraphQL, и не более того. Таким образом, если один компонент запрашивает заголовок истории
, а другой — его текст
, каждый может увидеть только то поле, которое они запросили. Фактически, компоненты не могут даже видеть данные, запрошенные их дочерними элементами : это также нарушит инкапсуляцию.
Relay также идет дальше: он использует непрозрачные идентификаторы в свойствах
для проверки того, что мы явно извлекли данные для компонента перед их рендерингом. Если
отображает
, но забывает распространить его фрагмент, Relay предупредит, что данные для
отсутствуют. Фактически, Relay предупредит , даже если какой-то другой компонент получил те же данные, которые требуются для
.Это предупреждение говорит нам, что, хотя вещи могут работать сейчас, они, скорее всего, сломаются позже.
GraphQL предоставляет мощный инструмент для создания эффективных, независимых клиентских приложений. Relay основывается на этой функциональности, чтобы обеспечить основу для декларативной выборки данных . Разделяя , какие данные нужно извлекать, от как данные извлечения , Relay помогает разработчикам создавать приложения, которые по умолчанию являются надежными, прозрачными и производительными. Это отличное дополнение к компонентно-ориентированному образу мышления, который отстаивает React.Хотя каждая из этих технологий — React, Relay и GraphQL — мощна сама по себе, их комбинация представляет собой платформу пользовательского интерфейса , которая позволяет нам быстро продвигаться, и поставлять высококачественные приложения в масштабе .
Фрагменты | Relay
Основным строительным блоком для объявления зависимостей данных для компонентов React в Relay являются фрагменты GraphQL. Фрагменты — это повторно используемые единицы в GraphQL, которые повторяют набор данных для запроса из типа GraphQL, представленного в схеме.
На практике это набор полей в GraphQL. Тип:
фрагмент UserFragment для пользователя {name age profile_picture (scale: 2) {uri}}
Copy Чтобы объявить фрагмент внутри вашего кода JavaScript необходимо использовать тег graphql
:
const {graphql} = require ('react-relay');
const userFragment = graphql` фрагмент UserFragment_user пользователя {имя возраст profile_picture (scale: 2) {uri}} `;
CopyRendering Fragments #
Чтобы визуализировать данные для фрагмента, вы можете использовать useFragment
Hook:
import type {UserComponent_user $ key} из 'UserComponent_user.graphql ';
const React = require ('React');
const {graphql, useFragment} = требовать ('реагировать-реле');
type Props = {user: UserComponent_user $ key,};
функция UserComponent (props: Props) {const data = useFragment (graphql` фрагмент UserComponent_user для пользователя {name profile_picture (scale: 2) {uri}} `, props.user,);
return (<> {data.name}
>);}
модуль.export = UserComponent;
КопияДавайте разберемся, что здесь происходит:
-
useFragment
берет определение фрагмента и ссылку на фрагмент и возвращает соответствующие данные - Ссылка на фрагмент — это объект, который Relay использует для чтения данных, объявленных в определении фрагмента; как вы можете видеть, сам фрагмент
UserComponent_user
просто объявляет поля типаUser
, но нам нужно знать , из какого конкретного пользователя читать эти поля; это то, чему соответствует ссылка на фрагмент.Другими словами, ссылка на фрагмент подобна указателю на конкретный экземпляр типа , из которого мы хотим читать данные. - Обратите внимание, что компонент автоматически подписывается на обновления данных фрагмента. : если данные для этого конкретного пользователя
- Relay будет автоматически генерировать типы потока для любых объявленных фрагментов при запуске компилятора, поэтому вы можете использовать эти типы для объявления типа для свойств
вашего компонента
.- Сгенерированные типы потока включают тип для ссылки на фрагмент, который является типом с суффиксом
$ key
:$ key $ data
суффикс:<имя_фрагмента> $ data
; эти типы доступны для импорта из файлов, созданных со следующим именем:<имя_фрагмента> .graphql.js
. - Мы используем наше правило lint, чтобы обеспечить правильное объявление типа свойства ссылки на фрагмент при использовании
useFragment
.При использовании правильно типизированной ссылки на фрагмент в качестве входных данных тип возвращаемых данных - В нашем примере мы вводим опору
user
в качестве ссылки на фрагмент, которая нам нужна дляuseFragment
, что соответствуетUserComponent_user $ key
, импортированному изUserComponent_user.graphql
, что означает, что типданные
выше будут:{name:? string, profile_picture:? {uri:? string}}
.
- Сгенерированные типы потока включают тип для ссылки на фрагмент, который является типом с суффиксом
- Имена фрагментов должны быть глобально уникальными. Чтобы легко добиться этого, мы называем фрагменты, используя следующее соглашение, основанное на имени модуля, за которым следует идентификатор:
<имя_модуля> _ <имя_свойства>
. Это позволяет легко определить, какие фрагменты определены в каких модулях, и позволяет избежать конфликтов имен, когда несколько фрагментов определены в одном модуле.
Если вам нужно отобразить данные из нескольких фрагментов внутри одного компонента, вы можете использовать useFragment
несколько раз:
тип импорта {UserComponent_user $ key} из 'UserComponent_user.graphql '; импортировать тип {UserComponent_viewer $ key} из' UserComponent_viewer.graphql ';
const React = require ('React'); const {graphql, useFragment} = require ('react-relay');
type Props = {user: UserComponent_user $ key, viewer: UserComponent_viewer $ key,};
функция UserComponent (props: Props) {const userData = useFragment (graphql` фрагмент UserComponent_user для пользователя {name profile_picture (scale: 2) {uri}} `, props.user,);
const viewerData = useFragment (graphql` фрагмент UserComponent_viewer в средстве просмотра {актер {имя}} `, props.зритель,);
return (<> {userData.name}
Действует как: {viewerData.actor?.name ?? 'Unknown'} < / div> >);}
module.exports = UserComponent; Копия Составление фрагментов #
В GraphQL фрагменты являются повторно используемыми единицами, что означает, что они могут включать других фрагментов , и, следовательно, фрагмент может быть включен в другие фрагменты или запросы:
фрагмент UserFragment on User {name age profile_picture (scale: 2) {uri}...AnotherUserFragment}
фрагмент AnotherUserFragment для пользователя {username ... FooUserFragment}
Копировать С помощью Relay вы можете составлять компоненты фрагмента аналогичным образом, используя как композицию компонентов, так и композицию фрагментов. Каждый компонент React отвечает за получение зависимостей данных своих прямых потомков — так же, как он должен знать о своих дочерних реквизитах, чтобы правильно их отображать. Этот шаблон означает, что разработчики могут локально рассуждать о компонентах — какие данные им нужны, какие компоненты они отображают, — но Relay может получить глобальное представление о зависимостях данных всего дерева пользовательского интерфейса.
импортировать тип {UsernameSection_user $ key} из UsernameSection_user.graphql;
const React = require ('React'); const {graphql, useFragment} = require ('react-relay');
введите Props = {user: UsernameSection_user $ key,};
функция UsernameSection (реквизиты: реквизиты) {const data = useFragment (graphql` фрагмент UsernameSection_user для пользователя {username} `, props.user,);
return {data.username ?? 'Неизвестно'} ;}
module.exports = UsernameSection;
Копия
тип импорта {UserComponent_user $ key} из UserComponent_user.graphql ';
const React = require ('React'); const {graphql, useFragment} = require ('react-relay');
const UsernameSection = require ('./ UsernameSection.react');
type Props = {user: UserComponent_user $ key,};
function UserComponent (props: Props) {const user = useFragment (graphql` фрагмент UserComponent_user для пользователя {name age profile_picture (scale: 2) {uri}
# Включить дочерний фрагмент: ... UsernameSection_user} `, props.user,);
return (<> {user.имя}
{user.age}
{} >);}
module.exports = UserComponent;
Копировать Здесь есть несколько вещей, на которые следует обратить внимание:
-
UserComponent
оба рендерит UsernameSection
, и включают в себя фрагмент, объявленный UsernameSection
внутри своего собственного объявления фрагмента graphql
. -
UsernameSection
ожидает ссылку на фрагмент как user
prop. Как мы упоминали ранее, ссылка на фрагмент — это объект, который Relay использует для чтения данных, объявленных в определении фрагмента; как вы можете видеть, дочерний фрагмент UsernameSection_user
сам просто объявляет поля типа User
, но нам нужно знать , из какого конкретного пользователя читать эти поля; это то, чему соответствует ссылка на фрагмент.Другими словами, ссылка на фрагмент подобна указателю на конкретный экземпляр типа , из которого мы хотим читать данные. - Обратите внимание, что в этом случае пользователь
передал UsernameSection
, то есть ссылку на фрагмент, фактически не содержит никаких данных, объявленных дочерним UsernameSection
компонентом ; вместо этого UsernameSection
будет использовать ссылку на фрагмент для чтения данных , которые он объявил внутри , используя useFragment
.Это не позволяет родителю неявно создавать зависимости от данных, объявленных его дочерними элементами, и наоборот, что позволяет нам локально рассуждать о наших компонентах и изменять их, не беспокоясь о влиянии на другие компоненты. Если это не так и родитель имеет доступ к данным ребенка, изменение данных, объявленных дочерним элементом, может нарушить работу родителя. Это известно как маскирование данных . - Ссылка на фрагмент , которую ожидает дочерний элемент (т.е.
UsernameSection
), является результатом чтения родительского фрагмента, который включает в себя дочерний фрагмент.В нашем конкретном примере это означает, что результат чтения фрагмента, который включает ... UsernameSection_user
, будет ссылкой на фрагмент, которую ожидает UsernameSection
. Другими словами, данные, полученные в результате чтения фрагмента через useFragment
, также служат ссылкой на фрагмент для любых дочерних фрагментов, включенных в этот фрагмент.
Составление фрагментов в запросы #
Фрагменты в Relay позволяют объявлять зависимости данных для компонента, но они не могут быть извлечены сами по себе .Вместо этого они должны быть включены в запрос либо напрямую, либо транзитивно. Это означает, что все фрагменты должны принадлежать запросу, когда они отображаются , или, другими словами, они должны быть «укоренены» под каким-либо запросом. Обратите внимание, что один фрагмент все еще может быть включен в несколько запросов, но при рендеринге конкретного экземпляра компонента фрагмента он должен быть включен как часть определенного запроса запроса.
Для извлечения и рендеринга запроса, содержащего фрагмент, вы можете составить их таким же образом, как составляются фрагменты, как показано в разделе «Составление фрагментов»:
тип импорта {UserComponent_user $ key} из UserComponent_user.graphql ';
const React = require ('React'); const {graphql, useFragment} = require ('react-relay');
type Props = {user: UserComponent_user $ key,};
функция UserComponent (реквизиты: реквизиты) {const data = useFragment (graphql` ... `, props.user,);
возвращение (...);}
module.exports = UserComponent;
Копия
импортировать тип {AppQuery} из 'AppQuery.graphql'; импортировать тип {PreloadedQuery} из 'response-relay';
const React = require ('React'); const {graphql, usePreloadedQuery} = require ('react-relay');
const UserComponent = require ('./UserComponent.react ');
type Props = {appQueryRef: PreloadedQuery ,}
функция App ({appQueryRef}) {const data = usePreloadedQuery (graphql` query AppQuery ($ id: ID!) {user (id: $ id) {name
# Включить дочерний фрагмент: ... UserComponent_user}} `, appQueryRef,);
return (<> {data.user? .name}
{} >);}
Копировать Обратите внимание, что:
- The Ссылка на фрагмент , которую ожидает
UserComponent
, является результатом чтения родительского запроса, который включает его фрагмент, что в нашем случае означает запрос, включающий ...UsernameSection_user
. Другими словами, данные
, полученные в результате usePreloadedQuery
, также служат в качестве ссылки на фрагмент для любых дочерних фрагментов, включенных в этот запрос. - Как упоминалось ранее, все фрагменты должны принадлежать запросу, когда они отображаются, , что означает, что все компоненты фрагмента должны быть потомками запроса. Это гарантирует, что вы всегда сможете предоставить ссылку на фрагмент для
useFragment
, начиная с результата чтения корневого запроса с usePreloadedQuery
.
TIDA-01065 Изолированное твердотельное реле переменного тока с автономным питанием и полевыми МОП-транзисторами Эталонная конструкция
См. Важное примечание и Заявление об ограничении ответственности, относящиеся к эталонным проектам и другим ресурсам TI.
Основной документ
Описание
Изолированное твердотельное реле переменного тока с автономным питанием и эталонной конструкцией полевых МОП-транзисторов представляет собой замену реле, которая обеспечивает эффективное управление питанием для маломощной альтернативы стандартным электромеханическим реле.Гальваническая развязка реализована емкостным образом, что создает экономичное решение с уменьшенной занимаемой площадью для замены нескольких реле в термостатах и другом подобном оборудовании.
Характеристики
- Нет звука щелчка
- Гальваническая развязка
- Автономный
- Нулевая мощность от батареи термостата
- Собственная демпфирующая цепь, уменьшающая скачки напряжения, создаваемые индуктивными нагрузками
См. Важное примечание и заявление об ограничении ответственности, относящиеся к эталонным проектам и другим ресурсам TI.
Схема / блок-схема
Быстро понять общую функциональность системы.
Скачать схему
Руководство по проектированию
Получайте результаты быстрее благодаря проверенным данным испытаний и моделирования.
Скачать руководство по дизайну
Устройства TI (5)
Закажите образцы, получите инструменты и найдите дополнительную информацию о продуктах TI в этом справочном дизайне.
Символы CAD / CAE
Texas Instruments и Accelerated Designs, Inc. сотрудничали друг с другом, чтобы предоставить клиентам TI схематические символы и посадочные места на печатных платах для продуктов TI.
Шаг 1 : Загрузите и установите бесплатную загрузку.
Шаг 2 : Загрузите символ и посадочное место из CAD.bxl файл таблицы.
Texas Instruments и Accelerated Designs, Inc. сотрудничали друг с другом, чтобы предоставить клиентам TI схематические символы и посадочные места на печатных платах для продуктов TI.
Шаг 1 : Загрузите и установите бесплатную загрузку.
Шаг 2 : Загрузите символ и посадочное место из таблицы файла CAD.bxl.
Шаг 3 : Откройте файл.bxl с помощью программного обеспечения Ultra Librarian.
Вы всегда можете получить доступ к полной базе данных символов CAD / CAE по адресу https://webench.ti.com/cad/
Посадочные места печатной платы и условные обозначения доступны для загрузки в формате, не зависящем от производителя, который затем может быть экспортирован в ведущие инструменты проектирования EDA CAD / CAE с помощью Ultra Librarian Reader. Ридер доступен в виде (скачать бесплатно).
UL Reader — это подмножество набора инструментов Ultra Librarian, которое может создавать, импортировать и экспортировать компоненты и их атрибуты практически в любом формате EDA CAD / CAE.
Техническая документация
См. Важное примечание и Заявление об ограничении ответственности, относящиеся к эталонным проектам и другим ресурсам TI.
Файлы дизайна (6)
Руководство по дизайну (1)
Сопутствующие инструменты и программное обеспечение
Поддержка и обучение
Выполните поиск в нашей обширной онлайн-базе знаний, где доступны миллионы технических вопросов и ответов круглосуточно и без выходных.
Найдите ответы от экспертов TI Контент предоставляется «КАК ЕСТЬ» соответствующими участниками TI и Сообществом и не является спецификациями TI.
См. Условия использования.
Если у вас есть вопросы о качестве, упаковке или заказе продукции TI, посетите нашу страницу поддержки.
PMP9522 Эталонная конструкция изолированного твердотельного реле 26 В перем. / Пост. Тока
См. Важное примечание и Заявление об ограничении ответственности, относящиеся к эталонным проектам и другим ресурсам TI.
Описание
Этот изолированный, двунаправленный твердотельный переключатель может управлять током в нагрузках как переменного, так и постоянного тока. Рассчитанный на 24 В переменного тока, он может переключать нагрузки до 17 А.
Характеристики
- Твердотельное реле 24VAC / DC, заменяющее механическое реле
- Размер платы примерно 58 мм
- Управляет током нагрузки как переменного, так и постоянного тока
- Имеется отчет об испытаниях
См. Важное примечание и заявление об ограничении ответственности, относящиеся к эталонным проектам и другим ресурсам TI.
Схема / блок-схема
Быстро понять общую функциональность системы.
Скачать схему
Данные испытаний
Получайте результаты быстрее благодаря проверенным данным испытаний и моделирования.
Скачать тестовые данные
Устройства TI (2)
Закажите образцы, получите инструменты и найдите дополнительную информацию о продуктах TI в этом справочном дизайне.
Образец и покупка Комплекты для проектирования и оценочные модули CSD19502Q5B 80-В, N-канальный силовой МОП-транзистор NexFET ™, одиночный SON 5 мм x 6 мм, 4,1 мОм МОП-транзисторы Образец и покупка Нет в наличии UCC2808-1 Двухтактный ШИМ в режиме низкого энергопотребления с 12.5 / 8,3 В UVLO, от -40 ° C до 85 ° C Импульсные регуляторы переменного / постоянного тока и изолированные DC / DC Образец и покупка Нет в наличии
Символы CAD / CAE
Texas Instruments и Accelerated Designs, Inc. сотрудничали друг с другом, чтобы предоставить клиентам TI схематические символы и посадочные места на печатных платах для продуктов TI.
Шаг 1 : Загрузите и установите бесплатную загрузку.
Шаг 2 : Загрузите символ и посадочное место из таблицы файла CAD.bxl.
Texas Instruments и Accelerated Designs, Inc. сотрудничали друг с другом, чтобы предоставить клиентам TI схематические символы и посадочные места на печатных платах для продуктов TI.
Шаг 1 : Загрузите и установите бесплатную загрузку.
Шаг 2 : Загрузите символ и посадочное место из таблицы файла CAD.bxl.
Шаг 3 : Откройте файл .bxl с помощью программного обеспечения Ultra Librarian.
Вы всегда можете получить доступ к полной базе данных символов CAD / CAE по адресу https://webench.ti.com/cad/
Посадочные места печатной платы и условные обозначения доступны для загрузки в формате, не зависящем от производителя, который затем может быть экспортирован в ведущие инструменты проектирования EDA CAD / CAE с помощью Ultra Librarian Reader.Ридер доступен в виде (скачать бесплатно).
UL Reader — это подмножество набора инструментов Ultra Librarian, которое может создавать, импортировать и экспортировать компоненты и их атрибуты практически в любом формате EDA CAD / CAE.
Техническая документация
См. Важное примечание и Заявление об ограничении ответственности, относящиеся к эталонным проектам и другим ресурсам TI.
Руководство пользователя (1)
Файлы дизайна (3)
Поддержка и обучение
Выполните поиск в нашей обширной онлайн-базе знаний, где доступны миллионы технических вопросов и ответов круглосуточно и без выходных.
Найдите ответы от экспертов TI Контент предоставляется «КАК ЕСТЬ» соответствующими участниками TI и Сообществом и не является спецификациями TI.
См. Условия использования.
Если у вас есть вопросы о качестве, упаковке или заказе продукции TI, посетите нашу страницу поддержки.
Рабочие процессы Relay — Справочник — Документы
Используйте рабочий процесс Relay для определения отдельных шагов в задаче, которую вы автоматизируете.
Рабочие процессы ретрансляции используют четыре карты верхнего уровня: описание
, параметры
, шаги
и триггеры
. Из них требуется только шагов
.
Описание
Начните рабочий процесс с помощью клавиши description
. Например:
описание: Этот рабочий процесс распечатывает приветственное сообщение в журналы. Он также запускает несколько простых команд терминала и выводит их результаты в журналы.
Параметры
Параметры позволяют Relay передавать данные в рабочий процесс по мере его выполнения.При желании вы можете указать значение по умолчанию для каждого параметра, которое заданное пользователем значение переопределит во время выполнения. Если вы не укажете значение по умолчанию и не укажете значение для любого параметра, выполнение рабочего процесса завершится ошибкой.
Реле в настоящее время поддерживает только прямую передачу значений параметров в виде строк. Триггеры могут передавать сложные структуры данных в качестве значений параметров; подробности см. в разделе привязки.
параметры:
myparam:
описание: «Типичный параметр, задаваемый пользователем»
default: defaultvalue
Steps
Клавиша steps
составляет основу рабочего процесса.Он содержит массив шагов, где каждый шаг должен состоять из имени
, изображения
и spec
, а также дополнительных ключей Зависит от
и env
ключей.
имя
Имя шага. Должен быть уникальным для всего рабочего процесса.
Тип: String
имя: echo
image
Образ контейнера и тег, которые вы используете для шага. Реестр Relay по умолчанию — это Docker Hub, поэтому, если образ размещен там, вы можете использовать короткий синтаксис imagename: tag
.В противном случае используйте длинную форму, например gcr.io/account/image:tag
Тип: String
image: alpine: latest
env
Этот ключ позволяет вам установить переменные среды, которые будут доступен в среде выполнения шага. Это полезно, потому что многие образы контейнеров созданы для поиска определенных переменных среды для корректировки их поведения или получения данных во время выполнения.
env
содержит карту пар ключ-значение, ключи которых являются точными (с учетом регистра) переменными, которые необходимо установить.Значения могут быть фиксированными строками или использовать выражения шаблона для доступа к параметрам, секрету, соединению или выходным данным.
Тип : Карта
env:
AWS_ACCESS_KEY_ID: $ {parameters.awsAccessKeyID}
AWS_SECRET_ACCESS_KEY: $ {secrets.awsSecretAccessKey}
spec
Сокращение от «спецификация»; в этом разделе представлен контекст, специфичный для данного шага. Содержимое spec
будет зависеть от реализации контейнера задач; программистам может быть полезно думать об этом как о предоставлении значений функции.Например, шаг, который использует контейнер relayh / jira-server-step-issue-transition для закрытия билета Jira, требует url
, а выдаёт ключи
в своей спецификации
. Список контейнеров шагов, курируемых Puppet, можно найти в организации relay-integration на GitHub.
Тип: Карта
зависит от
Указывает, что этот шаг зависит от другого шага в рабочем процессе. Каждое значение должно быть допустимым атрибутом name
для другого шага. Этот ключ полезен, если вам нужно установить явный последовательный порядок для ваших шагов.Без зависит от
или неявных требований к порядку (см. Ключ выходных данных), Relay будет выполнять ваши шаги параллельно, чтобы ускорить выполнение.
Тип: Строка или массив строк
зависит от:
- deploy_test_cluster
input
Если контейнер настроен на его прием, вы можете использовать карту input
для предоставления списка команд, которые Relay передает точке входа.
Тип: Массив строк
inputFile
Если контейнер настроен на его прием, вы можете использовать атрибут inputFile
для предоставления URL-адреса файла, который Relay загрузит и предоставит в качестве входных данных для точки входа.URL-адрес должен быть доступен в общедоступном Интернете.
Тип: String
Триггеры
Триггеры сопоставляют входящие события с рабочими процессами. Триггеры Ключ
содержит массив индивидуальных триггеров, любой из которых может вызвать запуск рабочего процесса. Каждый триггер должен иметь имя
и исходный ключ
, и может дополнительно иметь привязки
и , когда ключи
.
Существует отдельное руководство по добавлению триггеров в рабочие процессы с подробным описанием системы триггеров Relay.
имя
Имя для этого триггера; должен быть уникальным для рабочего процесса.
Тип: String
source
Источник для триггера — это описание события, которое приведет к запуску рабочего процесса. В настоящее время доступны три типа источников: schedule
, webhook
и push
. Для карты источника
требуется атрибут типа
, чтобы указать, какой из них использовать, и каждый тип имеет дополнительные обязательные поля.
Тип: Карта
расписание
Триггер расписания работает по расписанию, основанному на времени. Ему нужен ключ с именем schedule
, значение которого является строкой в стандартном синтаксисе Unix cron. Есть удобный генератор синтаксиса crontab, который поможет построить расписание, если вы не знакомы с cron. Чтобы определить, поддерживает ли Relay конкретную расширенную функцию cron, обратитесь к документации по базовой реализации на github.com/robfig/cron.
триггеры:
- имя: мой-расписание-триггер
источник:
тип: расписание
schedule: '* / 5 * * * *' # запускается каждые 5 минут
webhook
Триггер веб-перехватчика обрабатывает входящие полезные данные веб-перехватчика от внешней службы.Relay запускает образ контейнера в ответ на полезную нагрузку веб-перехватчика, поэтому для этого триггера требуется поле image
, которое является ссылкой на образ контейнера, размещенный в реестре, аналогично полю image
в определении шага .
триггеры:
- имя: my-webhook-trigger
источник:
тип: webhook
image: relaysh / dockerhub-trigger-image-push
В этом примере запускается контейнер dockerhub-trigger-image-push
в ответ на получение веб-перехватчика.После добавления триггера веб-перехватчика в рабочий процесс приложение Relay предложит вам завершить настройку веб-перехватчика на боковой панели. Для получения информации о создании собственных контейнеров веб-перехватчиков см. Документацию по интеграции с Relay.
Триггеры Webhook требуют привязки для сопоставления выходных данных из контейнера триггеров с параметрами рабочего процесса.
push
Push-триггер использует события, которые поступают в Relay через его API, для запуска рабочих процессов. В отличие от триггеров веб-перехватчиков, push-триггерам не требуется образ контейнера, поскольку они обрабатываются самой службой ретрансляции.Если у вас есть внешняя система, которая может генерировать полезные данные JSON, но не поддерживает веб-перехватчики, push-триггеры - хороший вариант.
Чтобы использовать push-триггеры, добавьте его определение и привязку
к своему рабочему процессу, а затем просмотрите его в веб-приложении Relay, чтобы увидеть свой токен аутентификации, связанный с триггером. Внешняя система должна сделать запрос POST с заголовком Authorization
, содержащим токен https://api.relay.sh/api/events
. Тело запроса должно быть допустимой полезной нагрузкой JSON в ключе верхнего уровня, называемом data
.Затем рабочий процесс использует ключ входных данных события
в выражении шаблона для извлечения значений из полезной нагрузки и привязки их к параметрам рабочего процесса.
Например, рабочий процесс, содержащий триггер push, будет выглядеть так:
триггеров:
- имя: my-push-trigger
источник:
тип: толкать
привязка:
параметры:
сообщение: $ {event.messageFromPush}
параметры:
сообщение:
описание: сообщение для показа
шаги:
- имя: дисплей-сообщение
изображение: relaysh / core
спецификация:
сообщение: $ {параметры.сообщение}
Вход:
- echo "Мое сообщение было $ (ni get {.message})"
Этот рабочий процесс будет запущен HTTP-запросом, таким как эта команда curl:
export TOKEN = ... # получить это из веб-приложения
curl -X POST -H "Авторизация: Bearer $ TOKEN" \
-d '{"data": {"messageFromPush": "Это событие push"}}' \
https://api.relay.sh/api/events
binding
Ключ привязки
определения триггера отображает входящие данные из события в параметры рабочего процесса.Это позволяет извлекать определенные поля из полезной нагрузки json веб-перехватчика или события push. Привязка
имеет одно поле, , параметры
, которое представляет собой карту, ключи которой должны совпадать с именами параметров внутри рабочего процесса. Значения могут использовать выражения шаблона, в частности ключ данных события
, для извлечения данных из события и управления ими в форме, ожидаемой параметром рабочего процесса.
триггеры:
- имя: my-webhook-trigger
источник:
тип: webhook
изображение: relaysh / dockerhub-trigger-image-pushhed
привязка:
параметры:
dockerTagName: $ {event.ярлык}
параметры:
dockerTagName:
default: latest
В примере с Docker Hub этот триггер извлекает поле tag
из входящего веб-перехватчика и сопоставляет его с параметром dockerTagName
, который используется в рабочем процессе для переопределения значения по умолчанию latest
.
при
Тот же синтаксис, который Relay использует для обеспечения условного выполнения шагов, также доступен для триггеров. При этом используется ключ , когда
, значение которого является выражением, которое должно оцениваться как «истина» для выполнения рабочего процесса.Дополнительные сведения о синтаксисе и использовании см. В документации по условному выполнению.
Подобно карте привязки
, удобно принимать решения о выполнении на основе содержимого входящего события. Вы можете использовать данные события
в при нажатии клавиши
для триггера.
триггеры:
- имя: условно-триггер
источник:
тип: webhook
изображение: relaysh / core
когда: $ {event.