код ansi что это
Коды ANSI в РЗА
Чтобы было более понятно с политической точки зрения, расшифрую основные международные организации, связанные с областями электротехники и электроники:
Данные организации разрабатывают в одиночку или совместно различные документы и спецификации, которые потом утверждаются на международном уровне.
Чем нам простым русским электрикам может быть интересен данный перечень организаций? А тем, что, работая с иностранными коллегами на пусковых объектах, порой встретишь ссылки на IEC нормативы, а при работе с терминалами релейных защит, можно встретить обозначения различных защит и элементов согласно “ANSI /IEEE Standard C37.2 Standard for Electrical Power System Device Function Numbers, Acronyms, and Contact Designations”. Именно там приведены цифровые коды и сокращения для обозначения элементов, принятые во всем цивилизованном мире. Ниже приведу эти цифры и акронимы, а некоторые даже с переводом на русский язык. В английской википедии пишут, что данный стандарт 2008 года является продолжением, когда то созданного после первой мировой войны стандарта и постоянно развивается членами участниками ANSI и IEEE.
Коды ANSI по C37.2
Ниже в таблице приведены коды с их английским обозначением. Для некоторых приведены русские аналоги (дословный или машинный перевод). Если заметили ошибку, неточность или есть что дополнить по кодам в таблицах ниже, пишите на почту.
Код ANSI | Английское обозначение | Примерный русский перевод |
---|---|---|
1 | Master Element | — |
2 | Time-delay Starting or Closing Relay | Задержка включения или отключения реле |
3 | Checking or Interlocking Relay | Контроль или блокировка реле |
4 | Master Contactor | — |
5 | Stopping Device | Остановка устройства |
6 | Starting Circuit Breaker | Включение выключателя |
7 | Rate of Change Relay | Защита по скорости нарастания |
8 | Control Power Disconnecting Device | Устройство отключения питания управления |
9 | Reversing Device | Устройство реверса |
10 | Unit Sequence Switch | — |
11 | Multifunction Device | — |
12 | Overspeed Device | Защиты от повышенной скорости вращения |
13 | Synchronous-Speed Device | — |
14 | Underspeed Device | Защиты от пониженной скорости вращения |
15 | Speed or Frequency Matching Device | Устройство для измерения скорости или частоты |
16 | Data Communications Device | — |
17 | Shunting or Discharge Switch | Шунтирующий или разгрузочный выключатель |
18 | Accelerating or Decelerating Device | Ускоряющее или замедляющее устройство |
19 | Starting-to-Running Transition Contactor | Стартер двигателя / пусковой контактор перехода |
20 | Electrically-Operated Valve | Электрический клапан |
21 | Distance Relay | Дистанционная защита |
21G | Ground Distance | Защита от снижения сопротивления |
21P | Phase Distance | Дистанционная защита фазная |
21FL | — | Определение места повреждения |
22 | Equalizer circuit breaker | — |
23 | Temperature control device | Устройство контроля температуры |
24 | Volts per hertz relay | Защита от перевозбуждения (контроль насыщения) |
25 | Synchronizing or synchronism-check device | Контроль синхронизма |
26 | Apparatus thermal device | Термореле |
27 | Undervoltage relay | ЗМН (защита минимального напряжения) |
27D | — | Защита минимального напряжения ПП |
27P | Phase Undervoltage | Защита минимального фазного напряжения |
27S | DC undervoltage relay | — |
27TN | Third Harmonic Neutral Undervoltage | Защита минимального напряжения НП 3-ей гармоники |
27R | — | Защита минимального напряжения НП (остаточного напряжения) |
27TN/59N | 100% Stator Earth Fault | 100% защита статора на землю |
27X | Auxiliary Undervoltage | — |
27 AUX | Undervoltage Auxiliary Input | — |
27/27X | Bus/Line Undervoltage | — |
27/50 | Accidental Generator Energization | — |
28 | Flame Detector | Детектор пламени |
29 | Isolating Contactor | Изолирующий контактор |
30 | Annunciator Relay | Сигнальное реле |
31 | Separate Excitation Device | Отдельное устройство возбуждения |
32 | Directional Power Relay | Направленная защита по мощности |
32L | Low Forward Power | Защита по минимальной мощности |
32N | Wattmetric Zero-Sequence Directional | Направленная защита по мощности НП (ваттметрическая) |
32P | Directional Power | Направленная защита по активной мощности |
32R | Reverse Power | Защита по обратной мощности |
33 | Position Switch | Переключатель положения |
34 | Master Sequence Device | Устройство Master Sequence |
35 | Brush-Operating or Slip-ring Short Circuiting Device | Устройство для короткого замыкания с помощью кисти или скользящего кольца |
36 | Polarity or Polarizing Voltage Device | Полярность или поляризационное напряжение |
37 | Undercurrent or Underpower Relay | Минимальная токовая защита в фазах |
37P | Underpower | Направленная защита минимальной активной мощности |
38 | Bearing Protective Device / Bearing Rtd | Устройство защиты подшипника |
39 | Mechanical Condition Monitor | Монитор механического состояния |
40 | Field Relay / Loss of Excitation | Защита от асинхронного режима с потерей возбуждения |
41 | Field Circuit Breaker | Полевой автоматический выключатель |
42 | Running Circuit Breaker | Запуск автоматического выключателя |
43 | Manual Transfer or Selector Device | Устройство ручного переноса или выбора |
44 | Unit Sequence Starting Relay | Исходное реле последовательной последовательности |
45 | Atmospheric Condition Monitor | Монитор атмосферного состояния |
46 | Reverse-Phase or Phase Balance Current Relay or Stator Current Unbalance | МТЗ ОП |
47 | Phase-Sequence or Phase Balance Voltage Relay | Защита максимального напряжения ОП |
48 | Incomplete Sequence Relay / Blocked Rotor | Затянувшийся пуск / Блокировка ротора |
49 | Machine or Transformer Thermal Relay / Thermal Overload | Тепловая защита |
49RTD | RTD Biased Thermal Overload | — |
50 | Instantaneous Overcurrent Relay | — |
50BF | Breaker Failure | УРОВ |
50DD | Current Disturbance Detector | — |
50EF | End Fault Protection | — |
50G | Ground Instantaneous Overcurrent | — |
50IG | Isolated Ground Instantaneous Overcurrent | — |
50LR | Acceleration Time | — |
50N | Neutral Instantaneous Overcurrent | — |
50NBF | Neutral Instantaneous Breaker Failure | Часть функции УРОВ |
50P | Phase Instantaneous Overcurrent | — |
50SG | Sensitive Ground Instantaneous Overcurrent | — |
50SP | Split Phase Instantaneous Current | — |
50Q | Negative Sequence Instantaneous Overcurrent | — |
50/27 | Accidental Energization | Защита генератора от ошибочного включения |
50/51 | Instantaneous / Time-delay Overcurrent relay | Трехфазная МТЗ |
50Ns/51Ns | Sensitive earth-fault protection | МТЗ по току НП |
50/74 | Ct Trouble | — |
50/87 | Instantaneous Differential | — |
51 | AC Time Overcurrent Relay | — |
51 | Overload | — |
51G | Ground Time Overcurrent | — |
51LR | AC inverse time overcurrent (locked rotor) protection relay | Защита заклинивания ротора |
51N | Neutral Time Overcurrent | — |
51P | Phase Time Overcurrent | Фазная МТЗ |
51R | Locked / Stalled Rotor | — |
51V | Voltage Restrained Time Overcurrent | МТЗ с коррекцией по напряжению с выдержкой времени |
51Q | Negative Sequence Time Overcurrent | — |
52 | AC circuit breaker | Переключатель |
52a | AC circuit breaker position (contact open when circuit breaker open) | — |
52b | AC circuit breaker position (contact closed when circuit breaker open) | — |
53 | Exciter or Dc Generator Relay | — |
54 | Turning Gear Engaging Device | — |
55 | Power Factor Relay | Защита от асинхронного режима с потерей возбуждения |
56 | Field Application Relay | — |
57 | Short-Circuiting or Grounding Device | — |
58 | Rectification Failure Relay | — |
59 | Overvoltage Relay | Защита максимального напряжения |
59B | Bank Phase Overvoltage | — |
59P | Phase Overvoltage | Защита максимального фазного напряжения |
59N | Neutral Overvoltage | Защита максимального напряжения НП |
59NU | Neutral Voltage Unbalance | — |
59P | Phase Overvoltage | Защита максимального фазного напряжения |
59X | Auxiliary Overvoltage | — |
59Q | Negative Sequence Overvoltage | — |
60 | Voltage or Current Balance Relay | — |
60N | Neutral Current Unbalance | Ток нейтрали небаланса |
60P | Phase Current Unbalance | Фазный ток небаланса |
61 | Density Switch or Sensor | Переключатель плотности или датчик |
62 | Time-Delay Stopping or Opening Relay | Устройство задержки остановки или старта |
63 | Pressure Switch Detector | Контроль давления |
64 | Ground Protective Relay | Защита от замыкания на землю статора |
64F | Field Ground Protection | — |
64R | Rotor earth fault | Защита от знз обмотки ротора |
64REF | Restricted earth fault differential | Импедансная защита |
64S | Stator earth fault | Защита от знз статора |
64S | Sub-harmonic Stator Ground Protection | Защита статора от знз по 3-ей гармонике |
64TN | 100% Stator Ground | 100% защита статора от знз |
65 | Governor | Регулятор |
66 | Notching or Jogging Device/Maximum Starting Rate/Starts Per Hour/Time Between Starts | Ограничение количества пусков двигателя |
67 | AC Directional Overcurrent Relay | Направленная МТЗ |
67G | Ground Directional Overcurrent | Направленная МТЗ от ЗНЗ, измеряемая ТТНП |
67N | Neutral Directional Overcurrent | Направленная МТЗ от ЗНЗ, вычисляемая 3ТТ |
67Ns | Earth fault directional | — |
67P | Phase Directional Overcurrent | Направленная МТЗ фазная |
67SG | Sensitive Ground Directional Overcurrent | Направленная МТЗ от ЗНЗ, измеряемая чувствительным ТТНП |
67Q | Negative Sequence Directional Overcurrent | — |
68 | Blocking Relay / Power Swing Blocking | Контроль за бросками тока |
69 | Permissive Control Device | Устройство разрешающее управление |
70 | Rheostat | Реостат |
71 | Liquid Switch | Переключатель уровня |
72 | DC Circuit Breaker | Переключатель |
73 | Load-Resistor Contactor | Нагрузочный резисторный контактор |
74 | Alarm Relay | Реле контроля |
74TCS | — | Контроль цепи отключения |
75 | Position Changing Mechanism | Механизм изменения положения |
76 | DC Overcurrent Relay | Защита от повышения постоянного тока |
77 | Telemetering Device | Телеметрическое устройство |
78 | Phase Angle Measuring or Out-of-Step Protective Relay | Контроль синхронной работы синхронных машин |
78V | Loss of Mains | Потеря сети |
79 | AC Reclosing Relay / Auto Reclose | АПВ |
80 | Liquid or Gas Flow Relay | Переключатель потока |
81 | Frequency Relay | Защита по частоте |
81O | Over Frequency | Защита максимальной частоты |
81R | Rate-of-Change Frequency | Защита по скорости изменения частоты (df/dt) |
81RAV | — | Контроль средней скорости изменения частоты |
81RF | — | Защита по скорости изменения частоты с контролем по частоте |
81U | Under Frequency | Защита минимальной частоты |
82 | DC Reclosing Relay | Повторное включение |
83 | Automatic Selective Control or Transfer Relay | — |
84 | Operating Mechanism | Исполнительный механизм |
85 | Pilot Communications, Carrier or Pilot-Wire Relay | Обмен сигналами защиты |
86 | Lock-Out Relay, Master Trip Relay | Запоминание выходных реле |
87 | Differential Protective Relay | Дифференциальная защита |
87N | — | Дифференциальная защита, высокоимпедансная от замыкания на землю |
87B | Bus Differential | Дифференциальная защита сборных шин |
87G | Generator Differential | Дифференциальная защита генератора |
87GT | Generator/Transformer Differential | Дифференциальная защита генератора/трансформатора |
87L | Segregated Line Current Differential | Дифференциальная защита линии |
87LG | Ground Line Current Differential | Дифференциальная защита |
87M | Motor Differential | Дифференциальная защита двигателя |
87O | Overall Differential | — |
87PC | Phase Comparison | — |
87RGF | Restricted Ground Fault | — |
87S | Stator Differential | — |
87S | Percent Differential | — |
87T | Transformer Differential | Дифференциальная защита транформатора |
87V | Voltage Differential | — |
88 | Auxiliary Motor or Motor Generator | Вспомогательное устройство |
89 | Line Switch | Линейный переключатель |
90 | Regulating Device | Регулирующее устройство |
91 | Voltage Directional Relay | Реле напряжения |
92 | Voltage And Power Directional Relay | Реле напряжения и мощности |
93 | Field-Changing Contactor | Контактор шунтирования обмотки возбуждения |
94 | Tripping or Trip-Free Relay | Реле свободного расцепления или отключающее реле |
95-99 | For specific applications where other numbers are not suitable | Для специального использования, где другие номера не подходят |
Кроме того, в стандарте описаны расшифровки обозначений (суффиксы), встречающихся на схемах. Приведем их в таблице ниже, сразу пардон за машинный перевод, возможно, когда-нибудь эта таблица станет более ценной с понятным переводом:
ANSI-коды
Есть много программ, печатающих что-нибудь в терминал. Но их можно сильно разнообразить: можно покрасить текст, двигать курсор или переписать какой-нибудь текст поверх старого. Благодаря этому в Git красивые прогресс-бары, а Vim и Nano позволяют редактировать текст внутри терминала, как будто это происходит в обычном блокноте.
Существуют библиотеки, которые помогают в такой работе с терминалом. Но куда круче научиться делать это самостоятельно. В этой статье мы рассмотрим, что можно сделать простой командой print в Python.
Большинство программ взаимодействуют с терминалом через управляющие коды ANSI. Это специальные инструкции для терминала. В терминалах разных систем поддерживаются разные коды. В Википедии есть список поддерживаемых кодов. В этой статье мы научимся работать с терминалами Unix систем: Ubuntu или OS-X. На Windows такие команды поддерживаются только в Windows Terminal, в обычном cmd они не работают.
Покраска текста
Начнём с простого вывода в консоль. Так выглядит обычный, не покрашенный текст:
Чтобы покрасить текст, нужно в придачу вывести пару ANSI-кодов. Вот два ваших первых ANSI-кода:
Вот как их применять:
Чтобы получилось аккуратно, лучше ставить команду “Верни как было” сразу после фразы:
С этим разобрались, а как ещё можно красить? У большинства терминалов есть 8 базовых цветов:
Цвет | Код |
---|---|
Чёрный | \u001b[30m |
Красный | \u001b[31m |
Зелёный | \u001b[32m |
Жёлтый | \u001b[33m |
Синий | \u001b[34m |
Пурпурный | \u001b[35m |
Голубой | \u001b[36m |
Белый | \u001b[37m |
Сброс цвета | \u001b[0m |
Цвет | Код |
---|---|
Яркий чёрный | \u001b[30;1m |
Яркий красный | \u001b[31;1m |
Яркий зелёный | \u001b[32;1m |
Яркий жёлтый | \u001b[33;1m |
Яркий синий | \u001b[34;1m |
Яркий пурпурный | \u001b[35;1m |
Яркий голубой | \u001b[36;1m |
Яркий белый | \u001b[37;1m |
Сброс цвета | \u001b[0m |
Все цвета
Покраска фона
Работает так же, только коды другие:
Цвет | Код |
---|---|
Чёрный | \u001b[40m |
Красный | \u001b[41m |
Зелёный | \u001b[42m |
Жёлтый | \u001b[43m |
Синий | \u001b[44m |
Пурпурный | \u001b[45m |
Голубой | \u001b[46m |
Белый | \u001b[47m |
Навигация курсора
Курсор – это вот эта “мигающая палочка”, откуда набирается текст:
Если продолжить набирать текст в примере выше, то он будет набираться между словами “вот” и “эта”.
Вывод в терминале тоже набирает “курсор”. Вот как он выглядит:
Вы можете двигать обычный курсор просто кликнув мышью в нужное место. В терминале так не получится, для этого есть отдельные ANSI-коды::
Направление | Код |
---|---|
Вверх | \u001b[ШАГA |
Вниз | \u001b[ШАГB |
Вправо | \u001b[ШАГC |
Влево | \u001b[ШАГD |
Вместо ШАГ нужно подставить нужное число, например, \u001b[10A — переведёт курсор на 10 строк вверх. Вот так это выглядит:
Мы вывели код, который поднимает курсор терминала на 4 строчки вверх. Поэтому следующий текст вывелся поверх того, что уже был выведен на третьей строчке.
Заметьте, что сам курсор в итоге оказался на следующей строке. Дело тут в том, что print добавляет перенос строки:
Каждый новый принт выводит строку, потом ставит перенос строки. Если выводить нечего, он выводит только перенос строки.
Это можно отключить:
Теперь первый print() перенос не вывел, курсор не сдвинулся вниз, поэтому вторая строка вывелась прямо следом за первой же.
Очистка экрана
Перемещение курсора по экрану позволяет выводить один текст поверх другого, но это не всегда просто сделать:
В результате получим абракадабру. Одна надпись наложилась поверх другой, но не затерла её полностью:
Эту проблему можно решить добавлением пробелов к коротким строкам, чтобы все получились одной ширины:
Это работает, но очень неудобно: сложно менять текст сообщений и легко ошибиться с количеством пробелов. Если вы можете себе позволить очистить экран полностью, то воспользуйтесь спец.символом для очистки экрана ‘\033[2J’ :
Теперь всё будет работать как надо:
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.