Закрыть

Замыкания – Замыкания в JavaScript / Habr

Содержание

Замыкания в JavaScript — Блог Академии — HTML Academy

Замыкания являются ключевой особенностью в JavaScript, которую каждый уважающий себя программист должен знать.

В интернете есть множество объяснений того, что из себя представляют замыкания, но мало кто рассказывает, почему они такие.

Разработчикам понимание принципов работы тех или иных особенностей языка, даст больше осознанности в их применении, поэтому этот пост посвящён внутреннему устройству замыканий: как они работают и почему.

Надеюсь, после этой статьи вы будете лучше подготовлены к использованию замыканий в своей повседневной разработке. Давайте начнём.

Что такое замыкания?

Замыкания являются мощным инструментом в JavaScript и других языках программирования. Вот определение с MDN:

Замыкания — это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыкании, «запоминает» окружение, в котором она была создана.

Заметка: cвободные переменные — это переменные, которые не объявлены локально и не передаются в качестве параметра.

Давайте посмотрим на несколько примеров:

Пример 1

В примере функция numberGenerator создаёт локальную «свободную» переменную num (число) и checkNumber (функция, которая выводит число в консоль). Функция checkNumber не содержит собственной локальной переменной, но благодаря замыканию она имеет доступ к переменным внутри внешней функции, numberGenerator. Поэтому объявленная в numberGenerator переменная num будет успешно выведена в консоль, даже после того, как numberGenerator вернёт результат выполнения.

Пример 2

В этом примере видно, что замыкания содержат в себе все локальные переменные, которые были объявлены внутри внешней замкнутой функции — enclosing function.

Обратите внимание, как переменная hello определяется после анонимной функции, но эта функция всё равно может получить доступ к этой переменной hello. Это происходит из-за того, что переменная hello во время создания уже была определена в области видимости (scope), тем самым сделав её доступной на тот момент, когда анонимная функция будет выполнена. Не беспокойтесь, позже я объясню, что такое «область видимости». А пока просто смиритесь с этим.

Понимаем высокий уровень

Наши примеры показали нам, почему замыкания находятся на высоком уровне. Главная мысль такая: мы имеем доступ к переменным, которые были определены в замкнутых функциях и описывают их переменные как возвращённые. Также что-то происходит в фоновом режиме, что делает эти переменные доступными после замкнутых функций, которые определяют и возвращают их.

Чтобы понять, как это работает, давайте рассмотрим несколько связанных между собой идей. Мы зайдём издалека и постепенно вернёмся к замыканиям. Начнём наш путь с общего контекста, в котором выполняется функция, и известного как контекст выполнения — execution context.

Контекст выполнения

Контекст выполнения — это абстрактное понятие, которое используется в спецификации ECMAScript для оценки времени выполнения кода. Это может быть глобальный контекст — global context, в котором ваш код выполнится первым, или когда поток выполнения переходит в тело функции.

В любой момент времени выполняется только один контекст функции (тело функции). Вот почему JavaScript является однопотоковым, так как единовременно может выполняться только одна команда. Обычно браузеры поддерживают этот контекст с помощью стека — stack. Стек — структура данных, выполняемая в обратном порядке: LIFO — «последним пришёл — первым вышел». Последнее, что вы добавили в стек, будет удалено первым из него. Это происходит из-за того, что мы можем только добавить или удалить элементы из верхушки стека. Текущий или «выполняющийся» контекст исполнения — всегда верхний элемент стека. Он выскакивает из стека, когда код в текущем контексте полностью разобран, позволяя следующему верхнему элементу стека взять на себя контекст выполнения.

Кроме того, если контекст уже выполняется, это не означает, что ему нужно завершить своё выполнение, прежде чем другой контекст выполнения сможет начать работу. Бывают случаи, когда контекст приостанавливается и другой контекст начинает работу. Прерванный контекст может быть позже забран обратно наверх в том месте, где он был приостановлен. В любое время один контекст может быть заменён другим, и этот новый контекст поместится в стек, став текущим контекстом выполнения.

Для наглядности запустите в консоли код, который вы видите ниже:

Затем, когда boop возвратится, он удалится из стека, и bar продолжит работу:

Когда у нас есть целая куча контекстов исполнения, выполняющиеся один за другим и останавливающиеся в середине выполнения и снова запускающиеся, то нужно как-то отслеживать их состояние, чтобы мы могли управлять последовательностью выполнения этих контекстов. Согласно спецификации ECMAScript, каждый контекст выполнения имеет различные компоненты, которые используются для отслеживания прогресса исполнения кода. К ним относятся:

  • Оценка состояния кода — любое состояние необходимо выполнить, приостановить и возобновить определение кода, связанного с этим контекстом выполнения.
  • Функция — объект функции, который оценивает контекст выполнения или null, если контекст был определён как script или модуль.
  • Область — набор внутренних объектов, глобальное окружение ECMAScript, весь код ECMAScript, который находится в пределах этого глобального окружения и другие связанные с ним состояния и ресурсы.
  • Лексическое окружение — используется для разрешения ссылок идентификатора кода в этом контексте исполнения.
  • Переменное окружение — лексическое окружение, чья запись окружения — EnvironmentRecord имеет связи, созданные заявленными переменными — VariableStatements в этом контексте выполнения.

Не волнуйтесь, если это звучит слишком сложно. Из всех переменных, переменные лексического окружения наиболее интересны для нас, ведь они явно указывают, что принимают идентификатор ссылки кода в этом контексте выполнения. Вы можете думать о «идентификаторах» как о переменных. Так как наша первоначальная цель состояла в том, чтобы выяснить, как это возможно, что мы получаем доступ к переменным даже после того, как функция или «контекст» была возвращена, то мы должны копнуть ещё глубже в лексическую область видимости.

Заметка: c технической точки зрения, окружение переменных и лексическая область видимости используются для реализации замыканий. Но для простоты мы заменим его на «окружение». Для детального объяснения разницы между лексическим и переменным окружением читайте статью Акселя Раушмайера.

Лексическая область видимости

Дадим определение: лексическое окружение — специфичный тип, используемый для связи идентификаторов с определёнными переменными и функциями на основе лексической структуры вложенности кода ECMAScript. Лексическое окружение состоит из записи окружения и, возможно, нулевой ссылки на внешнее лексическое окружение. Обычно лексическое окружение связано с определённой синтаксической структурой, например: FunctionDeclaration — объявление функции, BlockStatement — оператор блока, Catch clause — условный оператор, TryStatement — перехват ошибок и новым лексическим окружением, которое создавалось каждый раз при разборе кода. — ECMAScript-262/6.0

Давайте разберём это.

  • «используемый для связи идентификаторов»: целью лексического окружения является управление данными, то есть идентификаторами в коде. Говоря иначе, это придаёт им смысл. Например, у нас есть такая строка в консоли: console.log(x / 10), x здесь бессмысленная переменная или идентификатор без чего-либо, что придавало бы ей смысл. Лексическое окружение обеспечивает смысл или «ассоциацию» через запись окружения. Смотрите ниже.
  • Лексическое окружение состоит из записи окружения: запись окружения — причудливый способ сказать, что она хранит записи всех идентификаторов и связей, которые существуют в лексической области видимости. Каждая лексическая область видимости имеет собственную запись окружения.
  • Лексическая структура вложенности: самый интересный момент, который говорит, что внутреннее окружение ссылается на внешнее окружение, и это внешнее окружение может иметь собственное внешнее окружение. В результате окружение может быть внешним окружением для более чем одного внутреннего окружения. Глобальное окружение является единственным лексическим окружением, которое не имеет внешнего окружения. Это сложно описать словами, поэтому давайте использовать метафоры и представим лексическое окружение как слои лука: глобальная среда — внешний слой луковицы, где каждый последующий слой находится ниже.

Так выглядит окружение в псевдокоде:

  • Новое лексическое окружение, которое создавалось каждый раз при разборе кода — каждый раз, когда вызываются внешние вложенные функции, создаётся новое лексическое окружение. Это важно, и мы вернёмся к этому моменту в конце. Примечание: функции — не единственный способ создать лексическое окружение. Другие типы содержат в себе оператор блока — block statement или условный оператор — catch clause. Для простоты, я сосредоточусь на окружении созданной нами функции на протяжении всего поста.

Каждый контекст исполнения имеет собственное лексическое окружение. Это лексическое окружение содержит переменные и связанные с ними значения, а также имеет ссылку на него во внешнем окружении. Лексическое окружение может быть глобальным окружением, модульным окружением, которое содержит привязку для объявлений модуля на высшем уровне, или окружением функций, где окружение создаётся за счёт вызова функции.

Цепочки областей видимости

Исходя из приведённого выше определения, мы знаем, что окружение имеет доступ к окружению своего родителя, его родительское окружение имеет доступ к своему родительскому окружению и так далее. Этот набор идентификаторов, к которому каждое окружение имеет доступ, называется область видимости — scope. Мы можем вложить их в иерархические цепочки окружения, известные как цепочки областей видимости.

Давайте рассмотрим эту структуру вложенности:

Как вы можете видеть, bar вложен в foo. Чтобы всё это представить посмотрите на диаграмму ниже:

Мы вернёмся позже к этому примеру.

Эта цепочка области видимости или цепочка окружения связанная с функцией сохраняется в объекте функции в момент создания. Другими словами, она определяется статично по местоположению в исходном коде. Это называют лексической областью видимости.

Давайте быстренько разберём разницу между динамической областью видимости и статической областью видимости. Это поможет нам разобраться, почему статическая область видимости или лексическая область видимости необходима для использования замыкания.

Идём в обход: динамическая область видимости против статической области видимости

У динамических языков программирования существует стековая архитектура — stack-based implementations, локальные переменные и функции хранятся в стеке. Поэтому, во время выполнения стека, программа определяет какую переменную вы имеете в виду. С другой стороны, статическая область видимости — это когда переменные ссылаются на контекст и фиксируются на момент создания. Другими словами, структура исходного кода программы определяет к каким переменным вы обращаетесь.

Вы могли задаваться вопросом, как различаются динамическая и статическая области видимости. Вот два примера, которые помогут это продемонстрировать:

Пример 1

Как мы видим из примера выше, статическая и динамическая область видимости возвращают разные значения при вызове функции bar.

В статической области видимости возврат значения bar зависит от значения x. Это происходит из-за того, что статическая и лексическая структура исходного кода приводит x и к 10, и к 15.

Динамическая область видимости даёт нам стек определённых переменных, которые отслеживаются во время выполнения. Поэтому x, которую мы используем, зависит от того, что находится в её области видимости и как она была динамично определена во время выполнения. Выполнение функции bar выталкивает x = 2 на верхушку стека, заставляя foo вернуть 7.

Пример 2

Аналогично и в динамической области видимости. Переменная myVar решает, какое использовать значение myVar в зависимости от того, где была вызвана функция. Статическая область видимости приводит myVar к переменной, которая была сохранена в рамках двух немедленно вызываемых функций при их создании.

Как вы можете заметить, динамическая область видимости часто создаёт некоторую двусмысленность. Она не даёт точно понять, какая свободная переменная будет передана.

Замыкания

Вы можете подумать, что всё, о чём мы говорим, совершенно не касается нашей темы, но на самом деле мы разобрали всё, что поможет нам понять замыкания:

Каждая функция имеет контекст выполнения, который состоит из окружения и передаёт смысл в переменные этой функции и ссылку на окружение своего родителя. Эта ссылка делает все переменные в родительской области доступными для всех внутренних функций, независимо от того, вызывается ли внутренняя функция (или функции) вне или внутри области видимости, в которой они были созданы.

Кажется, как будто функция «запоминает» это окружение, поскольку функция буквально имеет ссылку к области видимости и переменным, определённым в этой среде.

Возвратимся к примеру вложенной структуры:

Основываясь на нашем понимании того, как работает окружение, мы можем сказать, что определение окружения для вышеупомянутого примера выглядит примерно так в псевдокоде:

Когда мы вызываем функцию test, мы получаем 45, и она возвращает значение из вызова функции bar (потому что foo возвращает bar). bar имеет доступ к свободной переменной y даже после того, как функция foo вернётся, так как bar имеет ссылку на y через его внешнее окружение, которое является окружением foo! bar  так же имеет доступ к глобальной переменной x потому, что у окружения foo есть доступ к глобальному окружению. Это называют «поиск цепочки области видимости».

Подведём итог обсуждения динамической области видимости против статической: для замыканий, которые будут выполняться, нельзя использовать динамическую область с помощью динамического стека. Это сохранит наши переменные. Причина такого поведения кроется в том, что когда функция возвращается, переменные будут удалены из стека и больше не будут доступны, а это противоречит нашему определению замыкания. Это происходит из-за того, что замкнутость данных в родительском контексте сохраняется в так называемой «куче», и это позволяет сохранять данные после вызова функции, делая их возможными для возврата, то есть даже после того, как контекст выполнения извлекается из стека выполнения вызова.

Теперь, когда мы понимаем внутренности на абстрактном уровне, давайте рассмотрим ещё пару примеров:

Пример 1

Вот типичное заблуждение: в цикле for мы пробуем связать переменную счётчика с какой-либо функцией.

На основе всего что было ранее, мы можем с лёгкостью найти ошибку здесь. Абстрактно говоря, вот так выглядит окружение, во время выхода из цикла for:

Было бы неверно предполагать, что область видимости отличается для всех пяти функций в результирующем массиве. Вместо того, что происходит по факту, окружение или контекст/область видимости является тем же самым для всех пяти функций в пределах результирующего массива. Поэтому каждый раз, когда переменная i увеличивается, обновляется область видимости, а она является общей для всех функций. Из-за этого любая из пяти функций, пытающихся получить доступ к i, возвращает 5, i равна 5, когда цикл завершается.

У нас есть только один способ исправить это — создать дополнительный вызываемый контекст для каждой функции, чтобы у них появился собственный контекст/область видимости.

Ура, мы исправили это.

Есть ещё одно решение, в котором мы используем let вместо var, let находится в операторе блока и поэтому новая привязка идентификатора замыкания создаётся для каждой итерации в цикле for.

Та-дам!

Пример 2

В этом примере мы покажем как каждый вызов в функции создаёт новое отдельное замыкание:

Мы видим что каждый вызов в функции iCantThinkOfAName создаёт новое замыкание, а именно foo и bar. Последующие вызовы каждой замкнутой функции обновляют замкнутые переменные в пределах самого замыкания, демонстрируя, что переменные в каждом замыкании используются функции iCantThinkOfAName’s doSomething после того, как вернулась iCantThinkOfAName.

Пример 3

Обратите внимание, что mysteriousCalculator находится в глобальной области и возвращает две функции. Говоря иначе, окружение для кода выше будет выглядеть так:

Это происходит из-за того, что наши функции add и substract ссылаются на среду mysteriousCalculator, и они в состоянии использовать переменные этой среды для расчёта результата.

Пример 4

Последний пример продемонстрирует важность использования замыканий: для поддержания собственной ссылки на переменную во внешней области видимости.

Это очень мощная техника — она даёт замыкающей функции guessPassword исключительный доступ к переменной password, делая невозможным доступ к password снаружи.

Tl;dr

  • Контекст выполнения — это абстрактный контекст, использовавшийся в спецификации ECMAScript для отслеживания времени выполнения кода. В любое время может быть только один контекст выполнения, который выполняет код.
  • Каждый контекст исполнения имеет лексическое окружение. Оно содержит связи идентификаторов, то есть переменные и их значения и имеет ссылку на него во внешнем окружении.
  • Набор идентификаторов, к которым у каждого окружения есть доступ, называют «область видимости». Мы можем вложить эти области в иерархическую цепь окружения, известной как «цепочки области видимости».
  • Каждая функция имеет контекст выполнения, который включает в себя лексическое окружение. Это придаёт смысл переменным в пределах этой функции и ссылку на родительское окружение. И это означает, что функции «запоминают» окружение или область видимости, так как они буквально ссылаются на это окружение. Это и есть замыкание.
  • Замыкания создаются каждый раз при вызове внешней функции. Другими словами, внутренняя функция не будет возвращена для замыкания, в котором была создана.
  • Область видимости замыканий в JavaScript лексическая, её смысл определяется статично в зависимости от нахождения в исходном коде.
  • Есть множество практических случаев использования замыканий. Один из важных случаев использования — это сохранение приватных ссылок к переменным во внешней среде.

Замыкающая ремарка

Я надеюсь этот пост был полезным и дал представление о том, как замыкания реализованы в JavaScript. Как вы видите, понимание внутреннего устройства замыканий и особенностей их работы делают их поиск проще. Теперь у вас будет меньше головной боли при отладке.

Дополнительная литература

Для краткости я опустила несколько тем, которые могут быть интересны для некоторых читателей. Вот несколько ссылок, которыми я хотела бы поделиться:

Есть что-то ещё? Предлагайте.

htmlacademy.ru

Замыкание (программирование) — это… Что такое Замыкание (программирование)?

У этого термина существуют и другие значения, см. Замыкание.

Замыкание (англ. closure) в программировании — процедура или функция, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции и не в качестве её параметров (а в окружающем коде). Говоря другим языком, замыкание — это процедура или функция, которая ссылается на свободные переменные в своём лексическом контексте.

Замыкание, так же как и экземпляр объекта, есть способ представления функциональности и данных, связанных и упакованных вместе.

Замыкание — это особый вид функции. Она определена в теле другой функции и создаётся каждый раз во время её выполнения. В записи это выглядит как функция, находящаяся целиком в теле другой функции. При этом вложенная внутренняя функция содержит ссылки на локальные переменные внешней функции. Каждый раз при выполнении внешней функции происходит создание нового экземпляра внутренней функции, с новыми ссылками на переменные внешней функции.

В случае замыкания ссылки на переменные внешней функции действительны внутри вложенной функции до тех пор, пока работает вложенная функция, даже если внешняя функция закончила работу, и переменные вышли из области видимости.[1]

Замыкание связывает код функции с её лексическим окружением (местом, в котором она определена в коде). Лексические переменные замыкания отличаются от глобальных переменных тем, что они не занимают глобальное пространство имён. От переменных в объектах они отличаются тем, что привязаны к функциям, а не объектам.

Реализации замыкания в языках программирования

Pascal

Пример работы замыканий на Pascal (Delphi c 2009 версии):

type
  TGenericFunction = reference to function: string;
 
function Factory(const ASomeText: string):TGenericFunction;
begin
  Result := function: string
    begin
      Result := ASomeText;
    end;
end;
 
var
  f1, f2: TGenericFunction;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  f1 := Factory('First');
  f2 := Factory('Second');
 
  Memo1.Lines.Add(f1);
  Memo1.Lines.Add(f2);
end;

В версиях начиная с 2009, этот код выведет в Memo строки First и Second. Когда переменной типа reference to *** присваивается совместимая по спецификации анонимная подпрограмма или метод, неявно создаётся и инициализируется экземпляр анонимного класса, с полями для хранения значений, используемых подпрограммой из контекста её объявления, методом выполнения (присвоенной подпрограммой) и счётчиком ссылок.

Scheme

Пример работы замыканий на Scheme:

(define (make-adder n)       ; возвращает замкнутое лямбда-выражение
  (lambda (x)                ; в котором x - связанная переменная,
    (+ x n)))                ; а n - свободная (захваченная из внешнего контекста)
 
(define add1 (make-adder 1)) ; делаем процедуру для прибавления 1
(add1 10)                    ; печатает 11
 
(define sub1 (make-adder -1)); делаем процедуру для вычитания 1
(sub1 10)                    ; печатает 9

C#

Анонимные методы в C# 2.0 могут замыкаться на локальный контекст:

 int[] ary = { 1, 2, 3 };
 int x = 2;
 var ary1 = Array.ConvertAll<int, int>(ary, delegate(int elem) { return elem * x; }); // { 2, 4, 6 }
 // or..
 var ary2 = Array.ConvertAll<int, int>(ary, elem => { return elem * x; }); // { 2, 4, 6 }

Функция Array.ConvertAll преобразует один список/массив в другой, применяя для каждого элемента передаваемую ей в качестве параметра функцию.

В C# 3.0 введены лямбда-выражения, которые делают синтаксис анонимных методов более кратким и выразительным. Соответственно, они также поддерживают замыкания. То есть, замыкания в C# 3.0 практически аналогичны анонимным функциям из C# 2.0, но синтаксически более кратки. Вот тот же пример с применением лямбда-выражений в C# 3.0:

 int[] ary = { 1, 2, 3 };
 var x = 2;
 var ary1 = ary.Select(elem => elem * x); // { 2, 4, 6 }

Метод Select аналогичен методу Array.ConvertAll за тем исключением, что он принимает и возвращает IEnumerable<T>.

C++

В языке C++ замыкание долгое время не поддерживалось. Однако новый стандарт языка C++11 вводит лямбда-функции и выражения, ограниченно поддерживающие замыкание:

function<int()> f() {
        int x = 0;
        return [=] () mutable {return ++x; };
}
 
auto fun = f();
for (int i = 0; i < 5; ++i) {
        cout << fun() << endl;
}

VB.NET

В VB.NET 9.0 лямбда-функции могут быть только однострочными. Начиная с версии 10.0, можно использовать синтаксис для описания многострочных лямбда-функций.

Dim ary As Integer() = {1, 2, 3}
Dim x As Integer = 2
 
' VB.NET 9.0 - { 2, 4, 6 }
Dim ary1() As Integer = Array.ConvertAll(Of Integer, Integer)(ary, Function(elem) elem * x)
 
' VB.NET 10.0 - { 2, 4, 6 }
Dim ary2() As Integer = Array.ConvertAll(Of Integer, Integer)(ary, Function(elem)
                                                                       Return elem * x
                                                                   End Function)

Ruby

Некоторые языки, такие как Ruby, позволяют выбирать различные способы замыканий по отношению к оператору возврата return. Вот пример на Ruby:

# ruby
def foo
  f = Proc.new { return "return from foo from inside proc" }
  f.call # после вызова функции замыкания f осуществляется выход из foo
         # результатом работы функции foo является результат работы f замыкания
  return "return from foo" 
end
 
def bar
  f = lambda { return "return from lambda" }
  f.call # после вызова функции замыкания f продолжается выполнение bar
  return "return from bar"
end
 
puts foo # печатает "return from foo from inside proc"
puts bar # печатает "return from bar"

И Proc.new, так же как и lambda, в этом примере — это способы создания замыкания, но семантика замыканий различна по отношению к оператору return.

PHP

PHP имеет встроенную поддержку замыканий начиная с версии 5.3. Пример замыкания. Локальная переменная $id будет увеличиваться при вызове возвращаемой функцией getAdder вложенной функции:

function getAdder()
{
    $id = 1;
    return function() use (&$id){ // use (&$id) для того чтобы передать в возвращаемую функцию внешнюю переменную $id 
        return $id++;
    };
}
 
$test= getAdder();
echo $test(); //1 $id увеличивается только после того, как возвращается, так как написано $id++
echo $test(); //2
echo $test(); //3
echo $test(); //4

Для более ранних версий возможно использовать одноименный шаблон проектирования, который реализуется в библиотеке Николаса Нассара. P.S. Однако, до сих пор существует проблема с замыканиями в классах, в частности — для статических методов класса.

Java

Java реализует концепцию замыкания с помощью анонимных классов. Анонимный класс имеет доступ к полям класса, в лексическом контексте которого он определён, а также к переменными с модификатором final в лексическом контексте метода.

 class CalculationWindow extends JFrame {
     private JButton btnSave;
     ...
 
     public final void calculateInSeparateThread(final URI uri) {
         // Выражение "new Thread() { ... }" представляет собой пример анонимного класса.
         new Thread() {
             public void run() {
                 // Имеет доступ к финальным (final) переменным:
                 calculate(uri);
                 // Имеет доступ к приватным членам содержащего класса:
                 btnSave.setEnabled(true);
             }
         }.start();
     }
 }

Предполагалось, что версия Java-7 будет включать полную поддержку концепции замыканий, которые официально должны были называться «лямбда-выражения» (Lambda expressions), но этого не произошло. Теперь поддержка «лямбда-выражений» заявлена в версии Java-8[2].

Python

Пример с использованием замыканий и карринга:

# Реализация с помощью именованных функций:
def taskerize(func_object):
    def unbound_closure(*args, **kwarg):
        def bound_closure():
            return func_object(*args, **kwarg)
 
        return bound_closure
 
    return unbound_closure
 
# Равносильная реализация с использованием lambda:
taskerize = lambda func_object: (
    lambda *args, **kwarg: (
        lambda: func_object(*args, **kwarg)
    )
)
 
@taskerize # применение декоратора равнозначно записи testfunc = taskerize(testfunc) после объявления функции.
def testfunc(a, b, c):
    return a + b * c
 
f = testfunc(1, 2, 3)
print f() # выведет 7

Пример простого замыкания:

# Реализация с помощью именованных функций:
def make_adder(x):
    def adder(n):
        return x + n # захват переменной "x" из внешнего контекста
    return adder
 
# То же самое, но через безымянные функции:
make_adder = lambda x: (
    lambda n: (
        x + n
    )
)
 
f = make_adder(10)
print f(5) # 15
print f(-1) # 9

Пример карринга:

# Функция с кучей аргументов (26 шт.), делающая что-то невразумительное.
def longfunc(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z):
    print 'Меня вызвали с такими аргументами: ', a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
    return a + b * c - d / e + f / g - h * i - (j * (k - l) + m) + (n * o) / (p - q + r) + (s * (t + (u * (v + w)))) - (x * y * z)
 
def curry(func_object, *args):
    def innerfunc(*local_args):
        # в функции выполняется замыкание на args и func_object из внешнего контекста
        return func_object(*(args + local_args)) # а еще нам нужно прилепить в конец тех аргументов, что у нас были, новые
    return innerfunc
 
# По уже сложившейся традиции — то же самое, только лямбдами:
curry = lambda func_object, *args: (
    lambda *local_args: (
        func_object(
            *(args + local_args)
    )
    )
)
 
# "достраиваем" функцию, как пожелаем.
f1 = curry(longfunc, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
f2 = curry(f1, 110, 120, 130, 140)
f3 = curry(f2, 150, 160, 170, 180, 190, 200)
f4 = curry(f3, 210)
 
# не обязательно использовать функцию, к которой был применен карринг, только один раз.
f5 = curry(f4, 220, 230, 240, 250, 260) # раз
f5b = curry(f4, 220, 230, 240, 250) # два!
f6b = curry(f5b, 260)
 
print f5() # выведет 2387403
print f6b() # опять выведет 2387403
 
# контроль того, что карринг всё сделал верно (вызываем функцию со всеми её 26-ю параметрами):
print longfunc( # перенос значений аргументов функций на несколько строк не имеет ничего общего с каррингом. Нет, правда.
    10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
    130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230,
    240, 250, 260
) # да, опять выведет 2387403.

JavaScript

В JavaScript областью видимости локальных переменных (объявляемых словом var) является тело функции, внутри которой они определены.[3]

Если вы объявляете функцию внутри другой функции, первая получает доступ к переменным и аргументам последней:

function outerFn(myArg) {
   var myVar;
   function innerFn() {
      // имеет доступ к myVar и myArg
   }
}

При этом, такие переменные продолжают существовать и остаются доступными внутренней функции даже после того, как внешняя функция, в которой они определены, была исполнена.

Рассмотрим пример — функцию, возвращающую количество собственных вызовов:

function createCounter() {
   var numberOfCalls = 0;
   return function() {
      return ++numberOfCalls;
   }
}
var fn = createCounter();
fn(); // 1
fn(); // 2
fn(); // 3

Perl

Пример с использованием замыканий на Perl:

# возвращает анонимную функцию
sub adder{
        my $x = shift();        # в котором x - свободная переменная,
        sub{
                my $y = shift();        # а y - связанная переменная
                $x + $y;
        };
}
 
$add1 = adder(1);       # делаем процедуру для прибавления 1
print $add1->(10);      # печатает 11
 
$sub1 = adder(-1);      # делаем процедуру для вычитания 1
print $sub1->(10);      # печатает 9

Lua

Пример с использованием замыканий на Lua:

function makeaddfunc(x)
  -- Возвращает новую анонимную функцию, которая добавляет x к аргументу
  return function(y)
    -- Когда мы ссылаемся на переменную x, которая вне текущей области,
    -- и время жизни которой меньше, чем этой анонимной функции, 
    -- Lua создаёт замыкание.
    return x + y
  end
end
plustwo = makeaddfunc(2)
print(plustwo(5)) -- Выводит 7

Haskell

В Haskell замыкания используются повсеместно в виде частичного применения аргументов к функциям (также известного как каррирование).

sum3 :: Int -> Int -> Int -> Int
sum3 x y z = x + y + z

Определение функции «sum3» напоминает следующий код на C:

int sum3(int x, int y, int z)
{
        return(x + y + z);
}

На самом деле «sum3» эквивалентна функции «sum3_desugared», по определению которой видно, что «sum3_desugared» принимает один аргумент «x» и возвращает новую функцию со связанной переменной «x». Новая функция также принимает только один аргумент «y» и возвращает функцию от одного аргумента «z».

sum3_desugared :: Int -> Int -> Int -> Int
sum3_desugared = \x -> \y -> \z -> x + y + z

Псевдоопределение таких функций выглядит следующим образом («bounded» — это некоторые фиксированные значения, которые неявно хранятся вместе с функциями):

 
sum2_closure :: Int -> Int -> Int
sum2_closure = \y -> \z -> bounded_from_sum3 + y + z
 
sum1_closure :: Int -> Int
sum1_closure = \z -> bounded_from_sum3 + bounded_from_sum2 + z
 
sum_value :: Int
sum_value = bounded_from_sum3 + bounded_from_sum2 + bounded_from_sum1
 
sum2_with52 = sum3 42
sum2_with52 = \y -> \z -> 42 + y + z
 
sum1_with52_with23 = sum3 42 13
sum1_with52_with23 = sum2_with52 13
sum1_with52_with23 = \z -> 42 + 13 + z
 
sum_with52_with23_with66 = sum3 42 13 66
sum_with52_with23_with66 = sum2_with52 13 66
sum_with52_with23_with66 = sum1_with52_with23 66
sum_with52_with23_with66 = 42 + 13 + 66

Такой подход очень часто применяется для создания «специализированных» функций из более общих:

-- (&&) :: Bool -> Bool -> Bool
-- liftM2 :: (Monad m) => (a -> b -> c) -> m a -> m b -> m c
 
(<&&>) (Monad m) => m Bool -> m Bool -> m Bool
(<&&>) = liftM2 (&&)
 
-- foldr :: (a -> b -> b) -> b -> [a] -> b
 
custom_fold :: [a] -> b
custom_fold = foldr k z
  where
    z     = {- zero value -}
    k x z = {- combining function -}

Для удобства использования общих функций рекомендуют располагать в них параметры в порядке от общих к частным. Например, сначала принимать функцию-обработчик перед самими данными.

Smalltalk

Пример с использованием замыкания на Smalltalk:

createClosureWithComparator: aComparator 
 
^[ :each | ^ each < aComparator ]

Выполнение метода создает замыкание, при использовании которого будет происходить сравнение произвольного аргумента each и связанного значения aComparator.

MATLAB

Пример реализации замыкания в MATLAB с использованием nested функций:

function d = some_func(a)
 
    function c = nested_func(b)
        c = a + b;
    end
 
    d = @nested_func;
end
 
>> f = some_func(10);
f = 
    @some_func/nested_func
 
>> f(5)
ans =
    15

Пример реализации замыкания в MATLAB с использованием анонимных функций:

>> f = @(x) @(y) x + y
f = 
    @(x)@(y)x+y
 
>> ff = f(10)
ff = 
    @(y)x+y
 
>> ff(5)
ans =
    15

Objective-C

Пример реализации замыкания в Objective-c с использованием блоков(blocks):

typedef int (^Add)(int x,int y);
 
Add addBlock = (^(int x, int y) {       
    return x + y;
    });
 
int res = addBlock(5,6);
NSLog(@"%i",res);
>>11

Common LISP

(defun photon-energy-common (planck)
  (lambda (freq) 
    (* planck freq)))
 
(setq photon-energy-hbar (photon-energy-common 1.054571726E-23))  
(setq photon-energy-h (photon-energy-common 6.62606957E-23))
 
(funcall photon-energy-h 10E12)

Go

package main
 
import "fmt"
 
func fibonacci() func() int {
    a, b := 0, 1
    return func() int {
        a, b = b, a + b
        return b
    }
}
 
func main() {
    f := fibonacci()
    for i := 0; i < 10; ++i {
        fmt.Println(f())
    }
}

См. также

Примечания

dic.academic.ru

Что такое короткое замыкание, его виды и причины возникновения

О таком нештатном режиме работы электрической цепи как короткое замыкание слышали практически все. Описание физики этого процесса входит в школьную программу 8-го класса. Предлагаем вспомнить, что представляет собой данное явление, какую опасность представляют токи КЗ и их вероятные причины возникновения. В статье мы рассмотрим виды короткого замыкания, а также способы защиты, позволяющие минимизировать негативные последствия.

Что такое короткое замыкание?

Под данным термином принято называть состояние сети, в которой имеет место непредусмотренный нормальной эксплуатацией электрический контакт между точками электроцепи с различными потенциалами. Низкое сопротивление в зоне контакта вызывает резкое увеличение силы тока, превышающее допустимое значение.

Для понимания процесса приведем наглядный пример. Допустим, имеется лампа накаливания мощностью 100 Вт, подключенная к бытовой сети 220 В. Применив Закон Ома, рассчитаем величину тока для нормального режима и короткого замыкания, игнорируя сопротивление источника и электрической проводки.

Электрическая схема нормального режима работы (а) и короткого замыкания (b)Электрическая схема нормального режима работы (а) и короткого замыкания (b)

При нормальном режиме работы приведенной выше цепи, электрический ток будет равен 0,45 А (I = P/U = 100/220 ≈ 0,45), а сопротивление нагрузки составит 489 Ом (R = U/A = 220/0,45 ≈ 489).

Теперь рассмотрим изменение параметров цепи при возникновении КЗ. Для этого замкнем цепь между точками А и В выполним соединение при помощи провода с сопротивлением 0,01 Ом. Учитывая свойства электрического тока, он выберет путь с наименьшим сопротивлением, соответственно, Iкз увеличится до 22000 А (I=U/R). Собственно, по этой причине замыкание называется коротким.

Данный пример сильно упрощен, в реальности ток замыкания не поднимется до 2,2 кА, поскольку произойдет падение напряжения на потребителе, согласно второму закону Киргофа: E = I * r + I * R , где I*r  — напряжение на источнике питания, а I * R, соответственно, на потребителе. Поскольку R при замыкании стремится к нулю, то вольтметр в изображенной выше схеме покажет падение напряжения.

Виды КЗ

Согласно ГОСТ 52735-2007, в энергосетях короткие замыкания принято разделять на несколько видов. Для наглядности ниже представлены схемы различных видов КЗ.

Различные виды КЗРазличные виды КЗ

Обозначения с кратким описанием:

  1. 3-х фазное, принятое обозначение – К(З). То есть, происходит электрический контакт между тремя фазами. Это единственный вид замыкания не вызывающий «перекос» фаз, процесс протекает симметрично, что упрощает расчет силы тока КЗ. В тоже время 3-х фазное замыкание представляет наибольшую опасность по факторам тепловых и электродинамических воздействий. В связи с этим, когда производится расчет тока КЗ для трехфазной цепи, как правило, рассматривается данный вид замыкания.

Характерно, что при К(З) наличие контакта с землей не отражается на параметрах процесса.

  1. 2-х фазное (K(2)). Данный вид замыкания, как все последующие, относится к несимметричным процессам, вызывающим перекос напряжений в системе. В кабельных линиях электропередач довольно велика вероятность перехода процесса K(2) в К(З), поскольку температура в месте замыкания разрушает изоляцию токоведущих частей.
  2. 2-х фазное с землей (K(1,1)). Данный процесс можно наблюдать в системах с заземленной нейтралью.
  3. 1-о фазное с землей (K(1)). Этот вид замыкания на практике встречается чаще всего. Характерно, что процесс может возникнуть как в бытовых или промышленных электросетях, так и в запитанном от них оборудовании.
  4. Двойное на землю (K(1+1)). То есть, две фазы замыкаются через землю, не имея электрического контакта между собой. Такой вид замыкания возможен в системах с заземленной нейтралью.

Мы привели только пять видов замыканий, которые чаще всего встречаются на практике. С полным списком возможных вариантов и поясняющими схемами можно ознакомиться в приложении 2 к ГОСТу 26522 85.

Вероятность возникновения каждого из рассмотренных выше вариантов приведена в таблице. Как видно из нее чаще всего наблюдаются однофазные короткие замыкания.

Таблица 1. Распределение, составленное по аварийной статистике.

Обозначение КЗПроцентное соотношение к общему числу (%)
К(З)5,0
K(2)10,0
K(1)65,0
K(1,1) и K(1+1)20,0

Разобравшись с видами замыканий, рассмотрим, в каких ситуациях они могут возникнуть.

Причины возникновения короткого замыкания

Несмотря на случайность данного процесса, существует много причин, имеющих косвенное или прямое отношение к его происхождению. Перечислим наиболее распространенные причины, по данным аварийной статистики:

  • Износ электрохозяйства энергетических систем или бытовой электросети. Со временем изоляция проводов или токоведущих элементов теряет диэлектрические свойства, в результате на участке цепи возникает непредусмотренное электрическое соединение. Определить общее состояние проводки можно по проводам в электрических точках. Старение изоляции заметно на отводах к электрическим точкамСтарение изоляции заметно на отводах к электрическим точкам
  • Превышение допустимой нагрузки на цепь питания. Это вызывает нагрев токоведущих элементов, что приводит к повреждению изоляции. Подробно о перегрузке электросети можно прочитать на нашем сайте. Перегрузка электросети может стать причиной короткого замыканияПерегрузка электросети может стать причиной короткого замыкания
  • Удар молнии в ВЛ. В этом случае происходит перенапряжение электросети, которое может вызвать КЗ. Обратим внимание, что молнии не обязательно попадать непосредственно в ЛЭП, близкий разряд может вызвать ионизацию воздуха, увеличивающую его электропроводимость. В результате увеличивается вероятность образования электрической дуги между линиями электропередач.
  • Физическое воздействие на провода, вызывающее механическое повреждение изоляции. В качестве примера достаточно вспомнить шутку, где перфоратор называют электрическим прибором для поиска скрытой проводки.
  • Попадание металлических предметов на токоведущие элементы. Собственно, это следствие, поскольку причина кроется в неудовлетворительном уходе за электрохозяйством.
  • Подключение к сети неисправного оборудования, например вызванного существенным снижением внутреннего сопротивления.
  • Человеческий фактор. Под это определение можно подвести практически все случаи так или иначе связанные с неправильными действиями человека. Например, ошибки при монтаже электропроводки, неудачные попытки ремонта электрооборудования, неправильные действия оперативного персонала подстанции и т.д.

Опасность и последствия

Чтобы понять, какую опасность представляет КЗ, достаточно узнать о возможных последствиях короткого замыкания. Для этого перейдем к краткому перечню, составленному по статистическим данным Ростехнадзора:

  • Возникновение возгорания в месте механического соприкосновения неизолированных элементов оборудования или электрической сети часто становится причиной пожара.
  • Понижение уровня напряжения электрического тока в зоне замыкания вызовет сбой в работе электрооборудования. О последствиях пониженного напряжения можно подробно узнать в одной из публикаций на нашем сайте.
  • Как видно из приведенной выше таблицы 1, на долю симметричных замыканий (К(З)) приходится не более 5%, это означает, что во всех остальных случаях придется иметь дело с сетевой асимметрией, более известной под названием «перекос фаз». Последствия такого режима мы уже рассматривали в более ранней публикации.
  • Возникновение различных системных аварий, вызывающих отключение потребителей энергосистемы до устранения короткого замыкания.

Как предотвратить КЗ и защита от него?

Нельзя полностью исключить вероятность КЗ, поскольку на природу его возникновения влияет случайная составляющая. Поэтому в данном случае может идти речь только о профилактике, понижающей вероятность возникновения аварийной ситуации. К таким мерам относятся:

  • Контроль состояния изоляции токоведущих элементов оборудования или линий электропередач. В частности, испытание изоляции электропроводки в производственных помещениях положено проводить не реже одного раза в три года. Для бытовых сетей нормируется только срок максимальной эксплуатации. Например, для скрытой проводки, выполненной медным проводом, допустимая эксплуатация – 40 лет.
  • Сверка с проектом бытовой электросети перед сверлением теоретически должна минимизировать вероятность механического повреждения скрытой проводки. Но, как показывает практика, в таких ситуациях надежней воспользоваться прибором, для поиска проводки. Обзор таких устройств и их принципиальные схемы, можно найти на нашем сайте. Детектор проводкиДетектор проводки
  • Отключение электроприборов при выходе из дома или квартиры.
  • В «сырых» помещениях (например, в ванной комнате) необходимо минимизировать количество электрооборудования. Если таковое нельзя исключить, оно должно иметь соответствующий класс защиты.
  • В случае повреждения электроприбора, требуется исключить возможность его подсоединения к сети питания.
  • Соблюдение норм потребления электроэнергии и т.д.

Не менее важным является организация защиты, она реализуется путем установки автоматических выключателей (или предохранителей) как на ввод, так и на каждую внутреннюю линию проводки. Если произойдет короткое замыкание, электромагнитная защита автоматического выключателя сработает под воздействием высокого уровня тока КЗ. Как подобрать автоматический выключатель, в зависимости от номинального тока, Вы можете прочитать на нашем сайте.

Если в щитах РУ используются плавкие электрические предохранители, то после их «расплавления» (срабатывания), замена должна проводиться на однотипные устройства. Установка предохранителя с током меньше номинального приведет к ложным срабатываниям, превышение допустимого тока срабатывания может вызвать повреждение электрооборудования.

Преднамеренное КЗ

Завершая данную тему нельзя не упомянуть, что большие токи короткого замыкания могут успешно использоваться. Ярким примером этому являются электросварочные аппараты с ручным или автоматическим ограничением по току КЗ. Принцип работы и примеры электрических схем различных видов сварочного оборудования мы уже ранее рассматривали на нашем сайте.

Помимо сварочных аппаратов особенности КЗ используются в короткозамыкателях.

Внешний вид короткозамыкателяВнешний вид короткозамыкателя

Короткозамыкатели представляют собой специальные электромеханические устройства, вызывающие преднамеренное короткое замыкание для оперативного отключения системой защиты определенного участка цепи.

Таким образом, можно констатировать, что в приведенных примерах короткое замыкание вызывается принудительно для выполнения конструктивных действий.

Несколько видео по теме:


www.asutpp.ru

что это такое, определение, причины, виды КЗ.

Ток короткого замыкания – это возрастающий электрический импульс ударного типа. Из-за его появления могут расплавиться провода, выйти из строя некоторые электрические приборы.

korotkoe-zamykanie

korotkoe-zamykanie

Почему происходит короткое замыкание?

Ток КЗ возникает в следующих случаях:

  1. При высоком уровне напряжения. Происходит резкий скачок, уровень напряжения начинает превышать допустимые нормы, возникает вероятность появления электрического пробоя изоляционного покрытия проводника или схемы электрического типа. Образуется утечка тока, повышается температура дуги. Напряжение короткого замыкания приводит к созданию кратковременного дугового разряда.
  2. При старом изоляционном покрытии. Такое замыкание возникает в жилых и промышленных зданиях, в которых не проводилась замена проводки. У любого изоляционного покрытия есть свой ресурс, который со временем истощается под воздействием факторов внешней среды. Несвоевременная замена изоляции может стать причиной КЗ.
  3. При внешнем воздействии механического типа. Перетирание защитной оболочки провода или снятие его изоляционного покрытия, а также повреждение проводки приводят к возгоранию и КЗ.
  4. При попадании посторонних предметов на цепь. Попавшие на проводник пыль, мусор или другие мелкие предметы способны вызвать замыкание в цепи механизма.
  5. Во время удара молнии. Повышается уровень напряжения, пробивается изоляционное покрытие провода или электрической схемы, из-за чего и возникает КЗ в электро цепи.

Почему КЗ так называется?

Рассмотрим определение КЗ, расшифровка – короткое замыкание. Это объединение 2 любых точек (обладающих различным потенциалом), которые находятся в электрической цепи. Соединение не предусмотрено нормальным режимом функционирования цепи, что приводит к критическим показателям силы тока на месте объединения этих точек.

Такое замыкание называется коротким, потому что образуется, минуя прибор, т.е. по короткому пути.

Простым языком: происходит соединение положительного и отрицательного проводника (короткий путь), что приводит к тому, что значение сопротивления становится равно 0. Для нормального функционирования механизма необходимо сопротивление, а его отсутствие вызывает сбой в работе источника напряжения, что приводит к замыканию.

КЗ – это любое соединение проводников с разным потенциалом между собой или с землей. КЗ возникает только в том случае, если такое объединение не запланировано конструкцией данного прибора или механизма. Например, соединение между любыми точками разных фаз или объединение фазы и 0, когда образуется разрушительный ток, превышающий все критические значения электрической схемы устройства.

В чем опасность?

Последствия короткого замыкания могут быть следующими:

  1. Падает уровень напряжения в электро цепи. Это может привести к выходу из строя и обгоранию электрического прибора или сбоям в функционировании устройства.
  2. Повреждения механического и термического типа: обрыв цепи, повреждение проводки или отдельных проводов, розеток и выключателей.
  3. В зависимости от мощности короткого замыкания возможно возгорание проводки и расположенных рядом с ней материалов и предметов.
  4. Деструктивное электромагнитное воздействие на телефонную линию связи, компьютер, телевизор и другие электроприборы.
  5. Опасность для жизни. Если в момент возникновения замыкания человек находится рядом с источником КЗ, то он может получить ожоги.
  6. Нарушается функционирование электропоставляющих систем.
  7. В зависимости от параметров КЗ возможны сбои в работе подземных коммуникаций при электромагнитном воздействии.

Многих людей интересует вопрос о том, как посчитать, чему равна сила тока при коротком замыкании. Для этого необходимо воспользоваться законом Ома: сила тока в цепи прямо пропорциональна напряжению на ее концах и обратно пропорциональна полному сопротивлению цепи.

Вычисление КЗ осуществляется по формуле: I= U/R (I – сила тока, U – напряжение, R – сопротивление).

opasnost

opasnost

Виды короткого замыкания и их причины

Существуют такие виды КЗ, как:

  1. Однофазное КЗ. Повреждение на линиях электропередачи, когда 1 из фаз электрической системы замыкается на землю или на элемент, который соединен с землей. Причиной замыкания может стать неправильное заземление.
  2. Двухфазное КЗ. Тип замыкания, возникающий между 2 фазами с различным потенциалом в электроэнергетической цепочке. Причина – нарушение изоляции проводов. Также это может быть одновременное соединение 2 фаз не между собой, а на землю.
  3. КЗ трехфазное (симметричное). Замыкание 3 фаз друг на друга. Причиной может стать механическое повреждение изоляционного покрытия, перегрев и пробой в изоляции или схлестывание проводов.
  4. Межвитковое. Такой тип замыкания характерен для электрических машин. В этом случае происходит замыкание витков механизма обмотки статора, трансформатора или ротного устройства между собой.
  5. Замыкание на металлический корпус прибора или системы. Такое короткое замыкание возникает при нарушении изоляции проводки на металлическом корпусе.

Варианты защиты от КЗ

В качестве защиты от возникновения короткого замыкания можно использовать:

  • реакторы электрического типа, которые будут ограничивать ток;
  • распараллеливание электрической цепи;
  • отключение секционных выключателей;
  • трансформаторы понижающего типа с расщепленной обмоткой с низким уровнем напряжения;
  • быстродействующие коммутационные аппараты, в которых есть опция ограничения поступления тока;
  • плавкие предохранительные элементы;
  • установку автоматических выключателей;
  • своевременную замену изоляционного покрытия проводов и регулярный осмотр проводки на наличие дефектов;
  • устройства релейной защиты, которые будут отключать поврежденные участки цепи.

Автоматы можно устанавливать только на всю систему, а не на отдельные фазы и цепь нуля. В противном случае во время замыкания выйдет из строя нулевой автомат, а вся электросеть окажется под напряжением, т.к. фазный автомат будет включен. По этой же причине не рекомендуется устанавливать провод меньшего сечения, чем может позволить автомат.

Использование этого явления

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

Такие режимы короткого замыкания действуют непродолжительный промежуток времени. В момент сварки в месте соединения стержня и поверхности возникает нестандартный заряд тока, из-за чего выделяется большое количество теплоты. Ее достаточно для плавки металла и создания сварочного шва.

Также короткое замыкание используется в сфере промышленной автоматики, с его помощью создаются информационные системы, которые отражают параметры передачи токового сигнала.

Полезное КЗ применяется в электродинамических датчиках. Например, в индукционных виброметрах, сейсмических приемниках. Короткое замыкание дает возможность дополнительно уменьшить количество колебаний подвижной системы.

Режим КЗ может использоваться при объединении каскадов в электронике, когда выход первого активного компонента работает в режиме КЗ.

odinelectric.ru

Короткое замыкание | Практическая электроника

Что такое короткое замыкание

Короткое замыкание (КЗ, англ. short curcuit) — незапланированное  соединение точек цепи с различными потенциалами друг с другом или с другими электрическими цепями через пренебрежимо малое сопротивление. При этом образуется сверхток, значения которого на порядки превышают предусмотренные нормальными условиями работы.

Определение КЗ из “Элементарного учебника физики” Ландсберга

короткое замыкание определение

В результате короткого замыкания выходит из строя электрооборудование, происходят возгорания. О самых разрушительных последствиях коротких замыканий мы регулярно узнаем из новостных рубрик «Чрезвычайные происшествия». Что же именно происходит при КЗ? В результате чего они появляются? Какими могут быть последствия? Давайте рассмотрим подробнее эти и другие вопросы в приведенной ниже статье.

Как образуется короткое замыкание

Как мы помним из учебника физики за 8 класс, закон Ома для участка цепи определяется по формуле:

закон Ома формула

где

I – сила тока в цепи, А

U – напряжение, В

R – сопротивление, Ом

Давайте рассмотрим вот такую схему

Короткое замыкание

Если мы подключим настольную лампу EL к источнику тока Bat и замкнем ключ SA, то вольфрамовая нить лампы начнет разогреваться под тепловым воздействием тока. В этом случае значительная часть электрической энергии преобразуется в световую и тепловую.

А теперь покончим с лирическими отступлениями и замкнем два провода, которые идут на лампочку, через толстый провод AВ

Короткое замыкание

Что будет дальше, если мы замкнем контакты ключа SA?

короткое замыкание

В результате ток пойдет по укороченному пути, минуя нагрузку. Короткий путь в данном случае и есть провод AB. Сопротивление провода АВ близко к нулю. В результате наша схема преобразуется в делитель тока. Согласно правилу делителя тока, если нагрузки соединены параллельно, то через нагрузку с меньшим сопротивлением побежит большая сила тока, а через нагрузку с большим значением сопротивления – меньшая сила тока. Так как провод АВ обладает почти нулевым сопротивлением, то через него потечет большая сила тока, согласно опять же закону Ома:

Короткое замыкание

Как я уже сказал, в режиме КЗ сила тока достигает критических значений, превышающих допустимые для данной цепи.

Закон Джоуля-Ленца

Согласно закону Джоуля-Ленца, тепловое действие тока прямо пропорционально квадрату силы тока на данном участке электрической цепи

закон джоуля ленца формула

где

Q – это количество теплоты, которое выделяется на сопротивлении нагрузки Rн . Выражается в Джоулях. 1 Джоуль = 1 Ватт х секунда.

I – сила тока в этой цепи, А

Rн – сопротивление нагрузки, Ом

t – период времени, в течение которого происходит выделение теплоты на нагрузке Rн , секунды

Это означает, что на проводе AB будет выделяться бешеное количество теплоты. Провод резко нагреется от температуры, а потом и сгорит. Все зависит от мощности источника питания.

То есть, если ток при коротком замыкании возрастет в 20 раз, то количество выделяющейся при этом теплоты — примерно в 400 раз! Вот почему бывшая еще мгновение назад мирной электроэнергия превращается в настоящее стихийное бедствие: горит проводка, расплавленный металл проводов поджигает находящиеся рядом предметы, возникают пожары. 

Существуют еще запланированные  и контролируемые КЗ, а также специальное замыкающее оборудование. Например, сварочные аппараты работают как раз на контролируемом КЗ, где требуется большая сила тока для плавки металла.

короткое замыкание сварочный ток

Основные причины короткого замыкания

Все многообразие причин возникновения коротких замыканий можно свести к следующим:

  • Нарушение изоляции
  • Внешние воздействия
  • Перегрузка сети

Нарушение изоляции вызывается как естественным износом, так и внешним вмешательством. Естественное старение элементов электросети ускоряется за счет длительного теплового воздействия тока (тепловое старение изоляции), агрессивных химических сред.

Внешние воздействия могут быть вызваны грызунами, насекомыми и другими животными. Сюда же относится и человеческий фактор. Это может быть “кривой” электромонтаж, либо несоблюдение техники электробезопасности.

Намного чаще короткое замыкание вызывается перегрузкой сети из-за подключения большого количества потребителей тока. Так, если совокупная мощность одновременно включенных в бытовую сеть электроприборов превышает допустимую нагрузку на проводку, с большой вероятностью произойдет короткое замыкание, так как сила тока в такой цепи начинает превышать допустимое значение. Такое явление можно часто наблюдать в домах со старой проводкой, где провода чаще всего алюминиевые и не рассчитаны на современные мощные электроприборы.

Ток короткого замыкания

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

Для источников ЭДС ток короткого замыкания может быть вычислен по формуле

ток короткого замыкания

где

Iкз – это ток короткого замыкания, А

E – ЭДС источника питания, В

Rвнутр. – внутреннее сопротивление источника ЭДС, Ом

Более подробно про ЭДС и внутреннее сопротивление читайте здесь.

Ниже на рисунке как раз изображен такой источник ЭДС  в виде автомобильного аккумулятора с замкнутыми клеммами

короткое замыкание источник ЭДС

Внутреннее сопротивление автомобильного аккумулятора может достигать значений в доли Ома. Теперь представьте, какой ток короткого замыкания  будет течь через проводник, если закоротить им клеммы аккумулятора. Внутреннее сопротивление аккумулятора зависит от многих факторов. Возьмем среднее значение Rвнутр = 0,1 Ом. Тогда ток короткого замыкания будет равен Iкз =E/Rвнутр. = 12/0,1=120 Ампер. Это очень большое значение.

Виды коротких замыканий

В цепи постоянного тока

В этом случае КЗ бывает, как правило, между напряжением питания, которое чаще всего обозначается как “+”, и общим проводом схемы, который соединяют с “-“. Последствия такого КЗ зависят от мощности источника питания постоянного тока. Если в автомобиле голый плюсовой провод заденет корпус автомобиля, который соединяется с “минусом” аккумулятора, то провода начнут плавится и гореть как спички, при условии если не сработает предохранитель, либо вместо него уже стоит “жучок” – самопальный предохранитель. Ниже на фото вы можете увидеть результат такого КЗ.

короткое замыкание сгорел автомобиль

В цепях переменного тока

Трехфазное замыкание

короткое замыкание трехфазное

Это когда три фазных провода коротнули между собой.

Трехфазное на землю

короткое замыкание на землю

Здесь все три фазы соединены между собой, да еще и замкнуты на землю

Двухфазное

короткое замыкание двухфазное

В этом случае любые две фазы замкнуты между собой

Двухфазное на землю

короткое замыкание двухфазное на землю

Любые две фазы замкнуты между собой, да еще и замкнуты на землю

Однофазное на землю

короткое замыкание однофазное на землю

Однофазное на ноль

короткое замыкание фаза ноль

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

В трехфазных сетях наиболее часто происходит однофазное замыкание на землю –  60-70% всех коротких замыканий. Двухфазные КЗ составляют 20-25%. Двойное замыкание фаз на землю происходит в электросетях с изолированной нейтралью и составляет 10-15% всех случаев. До 3-5% занимают трехфазные КЗ, при которых происходит нарушение изоляции между всеми тремя фазами.

В электрических двигателях короткое замыкание чаще всего возникает между обмотками двигателя и его корпусом.

Последствия короткого замыкания

Во время КЗ температура в зоне контакта возрастает до нескольких тысяч градусов. Помимо воспламенения изоляции, расплавления и механических повреждений выключателей и розеток и возгорания проводки, следствием замыкания может стать выход из строя компьютерного и телекоммуникационного оборудования и линий связи, которые находятся рядом, вследствие сильного электромагнитного воздействия.

Но падение напряжения и выход из строя оборудования — не самое опасное последствие. Нередко короткие замыкания становятся причиной разрушительных пожаров, зачастую с человеческими жертвами и огромными экономическими потерями.

Из-за удаленности и большого сопротивления до места замыкания защитное оборудование может не сработать. Бывают ситуации, когда ток недостаточен для срабатывания защиты и отключения напряжения, но в месте КЗ его вполне хватает для расплавления проводов и возникновения источников возгорания. Поэтому, токи коротких замыканий очень важны для расчетов аварийных режимов работы.

последствия короткого замыкания

Меры, исключающие короткое замыкание

Еще на заре развития электротехники появились плавкие предохранители. Принцип действия подобной защиты очень прост: под влиянием теплового действия тока предохранитель разрушается, тем самым размыкая цепь. Предохранители наиболее часто используются в бытовых электросетях и бытовых электроприборах, электрическом оборудовании транспортных средств и промышленном электрооборудовании до 1000 В. Встречаются они и в цепях с высоковольтным оборудованием.

Вот такие предохранители используются в цепях с малыми токами

стеклянный предохранитель

вот такие плавкие предохранители вы можете увидеть в автомобилях

автомобильный предохранитель

А вот эти большие предохранители используются в промышленности, и они уже рассчитаны на очень большие значения токов

промышленный плавкий предохранитель

Более сложную конструкцию имеют автоматические выключатели, оснащенные электромагнитными и/или тепловыми датчиками. Ниже на фото однофазный автоматический выключатель, а справа – трехфазный

однофазный автоматтрехфазный автомат

Их принцип действия основан на размыкании цепи при превышении допустимых значений силы тока.

В быту мы чаще всего сталкиваемся со следующими устройствами защиты электросети:

  • Плавкие предохранители (применяются в том числе в бытовых электроприборах).
  • Автоматические выключатели.
  • Стабилизаторы напряжения.
  • Устройства дифференциального тока.

Все вышеперечисленное защитное оборудование относится к устройствам вторичной защиты, действующим по инерционному принципу. На вводе бытовых электросетей наиболее часто устанавливаются автоматические защитные устройства, действующие по адаптивному принципу. Такие устройства можно увидеть возле счетчиков электроэнергии квартир, коттеджей, офисов.

В высоковольтных сетях защита чаще обеспечивается:

  • Устройствами релейной защиты и другим отключающим оборудованием.
  • Понижающими трансформаторами.
  • Распараллеливанием цепей.
  • Токоограничивающими реакторами.

Большинства коротких замыканий можно избежать, если устранить основные причины их возникновения: своевременно ремонтировать или заменять изношенное оборудование, исключить вредные воздействия человека. Не допускать неправильных действий при монтажных и ремонтных работах, соблюдать СНИПы и правила техники безопасности.

www.ruselectronic.com

Защита от короткого замыкания и что такое КЗ: виды и последствия

Одним из самых опасных моментов для работы электрических сетей является процесс короткого замыкания. Он связан с высокими токовыми перегрузками, выбросом большого количества тепловой энергии и, как следствие, нарушением надёжности электроснабжения потребителей и подключенного к источнику энергии оборудования. В этом режиме неизбежно отключение повреждённого участка от сети, значит, перебои в электроснабжении при устранении аварии.

Что собой представляет КЗ

Что такое короткое замыкание

Короткое замыкание (сокращённо КЗ) – это аварийный режим электрической цепи, который представляет собой соединение двух точек этой цепи с разницей потенциалов. Так как это аварийный режим работы, то он не предусматривается конструкцией устройства или линией электроснабжения, находящейся под напряжением. Возникновение процесса КЗ связано с резким увеличением силы тока, до максимально возможного значения, при этом масштабы повышения характеризуются мощностью источника питания. Также увеличение тока в режиме замыкания сопровождается снижением величины напряжения, так как происходит падение напряжения.

Важно! Увеличение силы тока вызывает повышенный резкий перегрев проводников. Соответственно, для надёжности электроснабжения в случае возникновения короткого замыкания любая (без исключения) цепь должна иметь надёжные инструменты и быстро реагирующую аппаратуру для аварийного отключения потенциально опасного участка от источника напряжения.

Почему короткое замыкание так называется

Почему короткое замыкание так называется? Этот процесс выхода устройства или электрической цепи из нормального режима работы получил своё название, благодаря низкому сопротивлению между точками соприкосновения цепи с разным потенциалом. Так как доказано, что электроны двигаются по самому короткому пути с минимальным электрическим сопротивлением, то во время соединения двух проводников в точке КЗ их путь будет кротчайшим, поэтому этот процесс получил соответствующее название.

Причины возникновения короткого замыкания

Несмотря на то, что этот нежелательный аварийный процесс считается случайным, на его создание могут влиять следующие причины, связанные с некачественным монтажом или неправильной эксплуатацией электрического оборудования (цепей). Вот основные причины появления короткого замыкания:

  1. Снижение качества изоляции токоведущих проводников. Это одна из самых распространенных причин перехода сети в режим КЗ, который возникает вследствие пересыхания, механического повреждения или разрушения изоляции между проводниками с разным потенциалом. Чаще всего все перечисленные причины снижения сопротивления изоляции и её разрушения связаны с воздействием на неё вредных факторов, на которые она не рассчитана. Например, при длительном воздействии солнечных лучей на изоляцию, которая боится ультрафиолетового излучения, происходят пересыхание, потрескивание и, как следствие, короткое замыкание.

Нужно отметить! У любой изоляции есть свой срок использования, старение её приводит к аварийным режимам.

  1. Изменение физических параметров электрической сети, например, перенапряжение. Такое явление возможно во время грозы, а именно попадания молнии в проводник с током.
  2. Неправильная коммутация, ошибки монтажа или укладки кабеля, с несоответствием техническим условиям, заявленным заводом производителем.

Любой электромонтажник или электромонтер не застрахован от ошибочных, неправильных действий при монтаже электропроводки или при выполнении оперативных переключений. В низковольтных цепях такие ошибки менее опасны, чем в высоковольтных цепях с мощными источниками энергии, например, на высоковольтных силовых подстанциях электроснабжения. Даже с современными элементами и устройствами защиты от превышения нагрузок процесс КЗ в силовых высоковольтных цепях опасен не только для оборудования, но и для обслуживающего персонала, из-за появления мощной электрической дуги.

  1. Длительная эксплуатация электрического оборудования и линий в режиме перегрузок или в условиях с завышенными температурами окружающей среды. Это приводит к перегреву изоляции между обмотками электрооборудования, значит, происходит снижение сопротивления изоляции, которое в какой-то момент достигает критического значения.

Выполнение монтажа качественными материалами, правильная организация работ в электроустановках, а также своевременное обслуживание, с заменой повреждённых участков линии, снизят риск появления короткого замыкания.

Виды коротких замыканий

Рассматривая трёхфазные электрические сети и аварийные режимы в них, можно выделить следующие возможные виды короткого замыкания:

  1. трёхфазное – три фазных провода замыкаются между собой;
  2. однофазное – электрическое соединение фазного провода с земляным, нейтральным или токопроводящим элементом, которые присоединены к земле;
  3. двухфазное – замыкание двухфазных проводов с разным потенциалом между собой;
  4. двухфазное замыкание на землю – это два любых фазных провода с током замыкаются между собой и прикасаются к земле или заземлению.

Замыкание внутри электрических устройств и оборудования – это процесс, идентичный КЗ, но происходит он из-за ухудшения изоляции внутри электрических машин и чаще всего требует замены статорной или роторной обмотки. Внутри электрических машин короткое замыкание может быть двух типов:

  1. межвитковое, снижающее сопротивление обмоток до критического значения;
  2. замыкание обмотки на корпус, который изготовлен из токопроводящего материала.
Виды КЗ

Виды КЗ

Как предотвратить КЗ, защита от него

Так как КЗ это аварийный режим, то существуют способы защиты от этого опасного процесса и его предотвращения:

  • Быстродействующая электромагнитная или электронная защита от мгновенного увеличения тока в нагрузке или линии, которая максимально быстро отключит аварийный участок цепи от напряжения. Для этого используются автоматические выключатели, предохранители, дифференциальные автоматы. В домашних условиях для защиты от КЗ достаточно установить на группу приборов правильно рассчитанный автоматический выключатель (АВ).
  • Для высоковольтных линий и силовых цепей подстанций используются масляные (вакуумные и другие) аппараты коммутации с настроенной и проверенной защитой от резкого увеличения тока на отходящих линиях.

Способ предотвращения короткого замыкания в тот момент, когда этот процесс уже произошел, простой: он заключается в немедленном автоматическом отключении участка цепи от напряжения. В принципе, любой автоматический выключатель имеет внутри конструкции электромагнитный разцепитель, который при превышении номинального тока разрывает цепь нагрузки достаточно эффективно и быстро.

Важно! Защита от КЗ должна быть надёжной и быстродействующей, это два основных правила безопасной эксплуатации электрических цепей.

Виды предохранителей и автоматических выключателей

Так как предохранители и автоматические выключатели – это самые распространённые элементы защиты участков цепей от коротких замыканий, то стоит рассмотреть основные виды этой токоограничивающей аппаратуры.

Предохранители делятся на три основные группы, которые отличаются по типу срабатывания:

  • с плавкой вставкой;
  • электромеханические с повторным взводом путём нажатия кнопки;
  • электронные (редко применяемые в быту).

Автоматические выключатели делятся по количеству полюсов:

  • однополюсные;
  • двухполюсные;
  • трёхполюсные.

Подбор данной аппаратуры для отключения напряжения вследствие короткого замыкания связан с величиной напряжения сети, номинальной силой тока и порога срабатывания защиты. В зависимости от назначения электроустановки, конструктивных особенностей, а также местных условий работы, проектировщики выбирают необходимую и максимально эффективную систему защиты от КЗ.

Автоматический выключатель считается более надёжным и быстродействующим элементом защиты от короткого замыкания, нежели предохранитель, даже если автомат включить повторно на цепь с коротким замыканием – это не так опасно для человека, нежели установка предохранителя под нагрузкой и напряжением.

Что такое УЗО

Появившиеся недавно на рынке защитного оборудования системы УЗО (внешне похожи на автоматические выключатели) – это надёжные устройства для защиты от токовой утечки из-за появления повреждений изоляции, которые выявляются за счёт токового перекоса цепи. Данная система отлично справляется с защитой от попадания человека под напряжение, но никак не от короткого замыкания. Таким образом, установка УЗО повышает безопасность участка цепи и обслуживаемого оборудования, но это не значит, что в этой цепи не требуется установка автоматических выключателей с токовым разцепителем.

Внимание! Существует ошибочное мнение, что устройство защитного отключения (УЗО) защитит цепь от короткого замыкания. УЗО выполняет защитную функцию при попадании человека под опасное напряжение сети (потенциал), а также реагирует на ухудшение сопротивления изоляции, которое в дальнейшем может привести к замыканию на землю или на нулевой проводник.

Последствия короткого замыкания

Согласно закону Ома, при снижении сопротивления в цепи, которое характерно при КЗ, происходит пропорциональное многократное увеличение силы тока. При этом увеличение тока сопровождается значительным выделением тепла, согласно закону Джоуля Ленца, что приводит к возгоранию, пожару, нагреву и расплавлению изоляции на проводах с током.

Что такое КЗ и его последствия, часто видят и знают пожарные службы, которым приходится устранять возгорания, а также электромонтёры с опытом работы в электроустановках. Короткое замыкание у одного из потребителей способно нарушить электроснабжение и привести к отключению целого участка энергосистемы, поэтому установка, обслуживание, а также проверка срабатывания токоограничивающей защиты являются очень важными и актуальными.

Чем опасно КЗ и его последствия

Чем опасно КЗ и его последствия

Преднамеренное использование

Короткое замыкание лишь в некоторых случаях оправдывает себя, а именно:

  • Для обесточивания участка цепи, на которой человек попал под воздействие опасного напряжения. Если индивид попадает под опасный потенциал, а в цепи нет УЗО, и автоматический выключатель находится далеко от места происшествия, то для спасения человека выполняется искусственное КЗ, отключающее линию;
  • При отключении цепей высоковольтных участков от источника напряжения с помощью короткозамыкателей. Короткозамыкатель – это коммутационный аппарат, имеющий мощную контактную часть, которая конструктивно рассчитана и предназначена для создания искусственного короткого замыкания в сетях электроснабжения;
  • В сварочных аппаратах. Конструкция этих устройств рассчитана на технологическое создание электрической дуги. За счёт низкого напряжения (практически безопасного) и электрического соединения с землёй через сварочный электрод, который плавится, выполняется сваривание металлических поверхностей.
Преднамеренное короткое замыкание с помощью короткозамыкателя

Преднамеренное короткое замыкание с помощью короткозамыкателя

Электрическая энергия и возникающее в сетях короткое замыкание – это опасный процесс, который может привести к ужасным последствиям с человеческими жертвами. Однако, если правильно рассчитать и установить токоограничивающие аппараты, а также своевременно проверять их работоспособность, то его можно контролировать. Быстрое реагирование качественной защитной аппаратуры на режим КЗ предотвратит крупные аварии.

Видео

amperof.ru

причины возникновения и основные виды, признаки и последствия негативного явления

Что происходит при коротком замыкании Коротким замыканием называется нештатное соединение двух точек электрической сети, обладающих разными потенциалами. При этом явлении происходит нарушение нормальной работы цепи, не предусмотренное конструкцией оборудования. Такая ситуация может возникать при повреждении изоляции проводников или прикосновении оголенных их частей. Резкое падение сопротивления нагрузки при подключении к сети также относится к короткому замыканию.

Природа негативного явления

Чтобы лучше понять происхождение этого явления, следует сделать короткое замыкание своими руками. Для этого нужно собрать простейшую электрическую цепь из батарейки, лампочки и оголенных проводов. Как только будут соединены проводами источник питания и устройство, то по цепи пойдет ток, и лампочка загорится. Провода, идущие к лампочке, необходимо замкнуть любым металлическим отрезком. Ток начнет проходить по новому проводнику и через лампочку.

Ток по проводамНо так как сопротивление провода очень мало, то весь ток будет протекать через него. Если говорить простым языком, короткое замыкание — это кратчайшее прохождение электрического тока по пути, где наименьшее сопротивление в цепи. Проводок сильно нагреется, так как, согласно Закону Ома из физики, по нему потечет ток большого значения. В результате сильного нагрева возможен обрыв проводов или их возгорание. В больших масштабах часто из-за этого явления возникают пожары.

Причины возникновения

Считается, что короткое замыкание (КЗ) — явление случайное, которое может произойти в любое время. Существует ряд прямых и косвенных причин, приводящих к этому негативному событию. К ним относятся:

  1. В процессе длительной эксплуатации большой износ энергетических систем или бытовой электрической сети. Провода со временем теряют качество изоляции, что приводит к непреднамеренным соединениям. Проверяется такая ситуация в местах соединения электрической проводки по степени ее нагрева. Если происходит большой нагрев проводников, значит, где-то произошло нарушение изоляции.
  2. МолнияЧасто причиной короткого замыкания считается удар молнии в высоковольтную линию. Происходит кратковременное перенапряжение сети с последующим замыканием. Если даже молния ударила рядом с линией, все равно это вызывает ионизацию воздуха, что приводит к увеличению электрической проводимости. Вследствие чего образуется дуга, соединяющая линии электрических передач.
  3. В бытовых условиях происходит механическое повреждение изоляции. Особенно часто такая ситуация возникает во время проведения ремонта.
  4. Возможно попадание на токоведущие элементы посторонних металлических предметов. Такая ситуация говорит о неудовлетворительном уходе за электрическим оборудованием.
  5. Подключение к сети неисправных приборов, у которых низкое внутреннее сопротивление.

Короткое замыкание причины

Кроме того, большое значение имеют действия человека, которые иногда могут привести к замыканию. Особенно такие моменты часто происходят при неправильном монтаже электрической проводки.

Основные виды

Существует несколько видов КЗ. Все они описываются и подтверждаются документально национальным стандартом. В перечень входят:

  1. Трехфазное — электрический контакт осуществляется между тремя фазами цепи. В отличие от других видов, этот процесс протекает симметрично, поэтому более точно можно рассчитать силу тока в этот период. Такой вид замыкания считается самым опасным по тепловым и электродинамическим воздействиям. Наличие контакта с землей никак не влияет на параметры процесса.
  2. Короткое замыкание определение причиныДвухфазное — это короткое замыкание в электрической цепи, как все последующие, вызывает неравномерное распределение напряжения в сети. Такой вид негативного явления в кабельных линиях может быстро перейти в трехфазное замыкание из-за разрушения изоляции проводников.
  3. Двухфазное с землей — обычно такой процесс наблюдается в электрических магистралях с заземленной нейтралью.
  4. Однофазное с землей — наиболее часто встречающаяся ситуация, которая происходит в бытовых или промышленных электросетях и подключенным к ним устройствам.
  5. Двойное замыкание на землю — когда две фазы замыкаются через землю, не взаимодействуя напрямую друг с другом. Наблюдается в сетях с заземленной нейтралью.

Характерные признаки и последствия

Визуально такой процесс можно определить по ярким вспышкам, появлению дыма, обугленным проводам и перегоревшим плавким предохранителям. Кроме того, при этом происходит падение напряжения и рост силы тока в электрической магистрали. Все эти явления представляют большую опасность, а именно:

  1. Виды кзВ месте соприкосновения проводников или элементов устройств появляется источник возгорания, который часто приводит к возникновению пожара.
  2. Падение напряжения приводит к сбою в работе электрического оборудования и бытовой техники.
  3. Возникают электромагнитные волны, которые оказывают влияние на линии связи и коммуникаций.
  4. Происходит цепь различных аварий, приводящих к отключению потребителей от энергетической системы до устранения последствий.

Последствия негативного явления считаются очень серьезными, поэтому при проектировании и монтаже электрооборудования обязательно устанавливаются средства защиты от КЗ.

Методы защиты

Так как возникновение этого явления полностью нельзя исключить, поэтому все меры защиты основаны на профилактике и предупреждении КЗ. Основной задачей считается применение мероприятий, понижающих вероятность возникновения аварийной ситуации. К ним относятся:

  1. Короткое замыкание это простым языкомНаблюдение за состоянием изолирующего материала на токоведущих элементах или линиях электрических передач. Раз в три года проводятся испытания изоляции электрических проводов в производственных помещениях, а в бытовых магистралях определение ее надежности осуществляется согласно сроку эксплуатации. Для медного провода он составляет 40 лет.
  2. Перед проведением ремонтных работ, связанных со сверлением стен, необходимо с помощью специального прибора определить месторасположение скрытых проводов.
  3. Отказаться или минимизировать использование электрического оборудования в ванной комнате и в других помещениях с повышенной влажностью.

Как сделать короткое замыкание

Для обеспечения безопасности электрического оборудования проводится установка автоматических выключателей как на ввод, так и на каждую внутреннюю линию. Выключатель срабатывает при протекании через него большого тока, который образуется в результате замыкания в электрической сети или бытовом приборе.

В некоторых распределительных устройствах используются плавкие предохранители, рассчитанные на определенную силу тока. На производстве для защиты электрических двигателей устанавливается специальное реле, которое разрывает цепь при замыкании якоря или обмотки статора устройства.

Применение короткого замыкания

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

Короткое замыкание в электрической цепиИспользуются они для создания преднамеренного замыкания с целью вызвать защитное отключение. Такие приборы применяются при аварийных ситуациях в высоковольтных линиях. При поломке силового трансформатора устройство вызывает замыкание между фазами в электрических магистралях до 35 кВ или фазой и землей при напряжении от 110 кВ.

Прибор включается как автоматически, так и вручную, если есть необходимость. На основе замыкания работает электродуговая сварка, которая позволяет получить крепкие металлические соединения. Чаще всего такое устройство используется для соединения кузовных деталей автомобилей.

rusenergetics.ru

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

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