код 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Английское обозначениеПримерный русский перевод
1Master Element
2Time-delay Starting or Closing RelayЗадержка включения или отключения реле
3Checking or Interlocking RelayКонтроль или блокировка реле
4Master Contactor
5Stopping DeviceОстановка устройства
6Starting Circuit BreakerВключение выключателя
7Rate of Change RelayЗащита по скорости нарастания
8Control Power Disconnecting DeviceУстройство отключения питания управления
9Reversing DeviceУстройство реверса
10Unit Sequence Switch
11Multifunction Device
12Overspeed DeviceЗащиты от повышенной скорости вращения
13Synchronous-Speed Device
14Underspeed DeviceЗащиты от пониженной скорости вращения
15Speed or Frequency Matching DeviceУстройство для измерения скорости или частоты
16Data Communications Device
17Shunting or Discharge SwitchШунтирующий или разгрузочный выключатель
18Accelerating or Decelerating DeviceУскоряющее или замедляющее устройство
19Starting-to-Running Transition ContactorСтартер двигателя / пусковой контактор перехода
20Electrically-Operated ValveЭлектрический клапан
21Distance RelayДистанционная защита
21GGround DistanceЗащита от снижения сопротивления
21PPhase DistanceДистанционная защита фазная
21FLОпределение места повреждения
22Equalizer circuit breaker
23Temperature control deviceУстройство контроля температуры
24Volts per hertz relayЗащита от перевозбуждения (контроль насыщения)
25Synchronizing or synchronism-check deviceКонтроль синхронизма
26Apparatus thermal deviceТермореле
27Undervoltage relayЗМН (защита минимального напряжения)
27DЗащита минимального напряжения ПП
27PPhase UndervoltageЗащита минимального фазного напряжения
27SDC undervoltage relay
27TNThird Harmonic Neutral UndervoltageЗащита минимального напряжения НП 3-ей гармоники
27RЗащита минимального напряжения НП (остаточного напряжения)
27TN/59N100% Stator Earth Fault100% защита статора на землю
27XAuxiliary Undervoltage
27 AUXUndervoltage Auxiliary Input
27/27XBus/Line Undervoltage
27/50Accidental Generator Energization
28Flame DetectorДетектор пламени
29Isolating ContactorИзолирующий контактор
30Annunciator RelayСигнальное реле
31Separate Excitation DeviceОтдельное устройство возбуждения
32Directional Power RelayНаправленная защита по мощности
32LLow Forward PowerЗащита по минимальной мощности
32NWattmetric Zero-Sequence DirectionalНаправленная защита по мощности НП (ваттметрическая)
32PDirectional PowerНаправленная защита по активной мощности
32RReverse PowerЗащита по обратной мощности
33Position SwitchПереключатель положения
34Master Sequence DeviceУстройство Master Sequence
35Brush-Operating or Slip-ring Short Circuiting DeviceУстройство для короткого замыкания с помощью кисти или скользящего кольца
36Polarity or Polarizing Voltage DeviceПолярность или поляризационное напряжение
37Undercurrent or Underpower RelayМинимальная токовая защита в фазах
37PUnderpowerНаправленная защита минимальной активной мощности
38Bearing Protective Device / Bearing RtdУстройство защиты подшипника
39Mechanical Condition MonitorМонитор механического состояния
40Field Relay / Loss of ExcitationЗащита от асинхронного режима с потерей возбуждения
41Field Circuit BreakerПолевой автоматический выключатель
42Running Circuit BreakerЗапуск автоматического выключателя
43Manual Transfer or Selector DeviceУстройство ручного переноса или выбора
44Unit Sequence Starting RelayИсходное реле последовательной последовательности
45Atmospheric Condition MonitorМонитор атмосферного состояния
46Reverse-Phase or Phase Balance Current Relay or Stator Current UnbalanceМТЗ ОП
47Phase-Sequence or Phase Balance Voltage RelayЗащита максимального напряжения ОП
48Incomplete Sequence Relay / Blocked RotorЗатянувшийся пуск / Блокировка ротора
49Machine or Transformer Thermal Relay / Thermal OverloadТепловая защита
49RTDRTD Biased Thermal Overload
50Instantaneous Overcurrent Relay
50BFBreaker FailureУРОВ
50DDCurrent Disturbance Detector
50EFEnd Fault Protection
50GGround Instantaneous Overcurrent
50IGIsolated Ground Instantaneous Overcurrent
50LRAcceleration Time
50NNeutral Instantaneous Overcurrent
50NBFNeutral Instantaneous Breaker FailureЧасть функции УРОВ
50PPhase Instantaneous Overcurrent
50SGSensitive Ground Instantaneous Overcurrent
50SPSplit Phase Instantaneous Current
50QNegative Sequence Instantaneous Overcurrent
50/27Accidental EnergizationЗащита генератора от ошибочного включения
50/51Instantaneous / Time-delay Overcurrent relayТрехфазная МТЗ
50Ns/51NsSensitive earth-fault protectionМТЗ по току НП
50/74Ct Trouble
50/87Instantaneous Differential
51AC Time Overcurrent Relay
51Overload
51GGround Time Overcurrent
51LRAC inverse time overcurrent (locked rotor) protection relayЗащита заклинивания ротора
51NNeutral Time Overcurrent
51PPhase Time OvercurrentФазная МТЗ
51RLocked / Stalled Rotor
51VVoltage Restrained Time OvercurrentМТЗ с коррекцией по напряжению с выдержкой времени
51QNegative Sequence Time Overcurrent
52AC circuit breakerПереключатель
52aAC circuit breaker position (contact open when circuit breaker open)
52bAC circuit breaker position (contact closed when circuit breaker open)
53Exciter or Dc Generator Relay
54Turning Gear Engaging Device
55Power Factor RelayЗащита от асинхронного режима с потерей возбуждения
56Field Application Relay
57Short-Circuiting or Grounding Device
58Rectification Failure Relay
59Overvoltage RelayЗащита максимального напряжения
59BBank Phase Overvoltage
59PPhase OvervoltageЗащита максимального фазного напряжения
59NNeutral OvervoltageЗащита максимального напряжения НП
59NUNeutral Voltage Unbalance
59PPhase OvervoltageЗащита максимального фазного напряжения
59XAuxiliary Overvoltage
59QNegative Sequence Overvoltage
60Voltage or Current Balance Relay
60NNeutral Current UnbalanceТок нейтрали небаланса
60PPhase Current UnbalanceФазный ток небаланса
61Density Switch or SensorПереключатель плотности или датчик
62Time-Delay Stopping or Opening RelayУстройство задержки остановки или старта
63Pressure Switch DetectorКонтроль давления
64Ground Protective RelayЗащита от замыкания на землю статора
64FField Ground Protection
64RRotor earth faultЗащита от знз обмотки ротора
64REFRestricted earth fault differentialИмпедансная защита
64SStator earth faultЗащита от знз статора
64SSub-harmonic Stator Ground ProtectionЗащита статора от знз по 3-ей гармонике
64TN100% Stator Ground100% защита статора от знз
65GovernorРегулятор
66Notching or Jogging Device/Maximum Starting Rate/Starts Per Hour/Time Between StartsОграничение количества пусков двигателя
67AC Directional Overcurrent RelayНаправленная МТЗ
67GGround Directional OvercurrentНаправленная МТЗ от ЗНЗ, измеряемая ТТНП
67NNeutral Directional OvercurrentНаправленная МТЗ от ЗНЗ, вычисляемая 3ТТ
67NsEarth fault directional
67PPhase Directional OvercurrentНаправленная МТЗ фазная
67SGSensitive Ground Directional OvercurrentНаправленная МТЗ от ЗНЗ, измеряемая чувствительным ТТНП
67QNegative Sequence Directional Overcurrent
68Blocking Relay / Power Swing BlockingКонтроль за бросками тока
69Permissive Control DeviceУстройство разрешающее управление
70RheostatРеостат
71Liquid SwitchПереключатель уровня
72DC Circuit BreakerПереключатель
73Load-Resistor ContactorНагрузочный резисторный контактор
74Alarm RelayРеле контроля
74TCSКонтроль цепи отключения
75Position Changing MechanismМеханизм изменения положения
76DC Overcurrent RelayЗащита от повышения постоянного тока
77Telemetering DeviceТелеметрическое устройство
78Phase Angle Measuring or Out-of-Step Protective RelayКонтроль синхронной работы синхронных машин
78VLoss of MainsПотеря сети
79AC Reclosing Relay / Auto RecloseАПВ
80Liquid or Gas Flow RelayПереключатель потока
81Frequency RelayЗащита по частоте
81OOver FrequencyЗащита максимальной частоты
81RRate-of-Change FrequencyЗащита по скорости изменения частоты (df/dt)
81RAVКонтроль средней скорости изменения частоты
81RFЗащита по скорости изменения частоты с контролем по частоте
81UUnder FrequencyЗащита минимальной частоты
82DC Reclosing RelayПовторное включение
83Automatic Selective Control or Transfer Relay
84Operating MechanismИсполнительный механизм
85Pilot Communications, Carrier or Pilot-Wire RelayОбмен сигналами защиты
86Lock-Out Relay, Master Trip RelayЗапоминание выходных реле
87Differential Protective RelayДифференциальная защита
87NДифференциальная защита, высокоимпедансная от замыкания на землю
87BBus DifferentialДифференциальная защита сборных шин
87GGenerator DifferentialДифференциальная защита генератора
87GTGenerator/Transformer DifferentialДифференциальная защита генератора/трансформатора
87LSegregated Line Current DifferentialДифференциальная защита линии
87LGGround Line Current DifferentialДифференциальная защита
87MMotor DifferentialДифференциальная защита двигателя
87OOverall Differential
87PCPhase Comparison
87RGFRestricted Ground Fault
87SStator Differential
87SPercent Differential
87TTransformer DifferentialДифференциальная защита транформатора
87VVoltage Differential
88Auxiliary Motor or Motor GeneratorВспомогательное устройство
89Line SwitchЛинейный переключатель
90Regulating DeviceРегулирующее устройство
91Voltage Directional RelayРеле напряжения
92Voltage And Power Directional RelayРеле напряжения и мощности
93Field-Changing ContactorКонтактор шунтирования обмотки возбуждения
94Tripping or Trip-Free RelayРеле свободного расцепления или отключающее реле
95-99For 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

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *