В чем состоит отличие синхронных и асинхронных систем? Асинхронные системы импульсно-фазового управления.

27.04.2019

Компьютер без процессора - разве такое возможно? А почему бы и нет! Ведь процессор выполняет множество различных функций, реализация которых может быть возложена и на другие устройства. Архитектура же процессорных вычислений построена таким образом, что большинство операций выполняет именно процессор. Следовательно, вся вычислительная мощь компьютера сосредоточена в процессоре, что ограничивает возможности конфигурирования под конкретные задачи. Кроме того, решения для ускорения процессорных вычислений все более усложняются - число функций, которые должен выполнять процессор, растет. В результате конструкция современных процессоров стала настолько сложной, что предъявляет слишком высокие требования к уровню разработок.

1. Синхронные вычисления

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

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

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

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

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

2. Безадресные асинхронные вычисления

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

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

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

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

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

2.1 Коммутаторы

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

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

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

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

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

2.2 Память

Чтобы блоки памяти выполняли свои функции, они должны поддерживать два основных типа операций:

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

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

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

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

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

2.3 Периферийные устройства

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

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

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

2.4 Вычислительные блоки

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

    однофазный асинхронный двигатель с короткозамкнутым ротором;

    двухфазный асинхронный двигатель с короткозамкнутым ротором;

    трехфазный асинхронный двигатель с короткозамкнутым ротором;

    трехфазный асинхронный двигатель с фазным ротором.

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

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


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

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

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


Обмотки статора трехфазного двигателя можно соединить по схеме «звезда» или «треугольник», причем для питания двигателя по схеме «звезда» требуется напряжение выше, чем для схемы «треугольник», и на двигателе, поэтому, указываются два напряжения, например: 127/220 или 220/380. Трехфазные двигатели незаменимы для приведения в действие различных станков, лебедок, циркулярных пил, подъемных кранов, и т.д.


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


1 - кожух с жалюзями, 2 - щетки, 3 - щеточная траверса со щеткодержателями, 4 - палец крепления щеточных траверс, 5 - выводы от щеток, 6 - колодка, 7 - изоляционная втулка, 8 - контактные кольца, 9 - наружная крышка подшипника, 10 - шпилька крепления коробки и крышек подшипника, 11 - задний подшипниковый щит, 12 - обмотка ротора, 13 - обмоткодержатель, 14 - сердечник ротора, 15 - обмотка ротора, 16 - передний подшипниковый щит, 7 - наружная крышка подшипника, 18 - вентиляционные отверстия, 19 - станина, 20 - сердечник статора, 21 - шпильки внутренней крышки подшипника, 22 - бандаж, 23 - внутренняя крышка подшипника, 21 - подшипник, 25 - вал, 26 - контактные кольца, 27 - выводы обмотки ротора

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

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

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

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

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

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

Наиболее распространенным и исторически первым достаточно универсальным способом реализации синхронного взаимодействия в распределенных системах является удаленный вызов процедур (Remote Procedure Call, RPC ; вообще-то, по смыслу правильнее было бы сказать "дистанционный вызов процедур", но по историческим причинам закрепилась имеющаяся терминология). Его модификация для объектно-ориентированной среды называется удаленным вызовом методов (Remote Method Invocation, RMI) . Удаленный вызов процедур определяет как способ организации взаимодействия между компонентами, так и методику разработки этих компонентов.

На первом шаге разработки определяется интерфейс процедур, которые будут использоваться для удаленного вызова. Это делается при помощи языка определения интерфейсов (Interface Definition Language, IDL) , в качестве которого может выступать специализированный язык или обычный язык программирования , с ограничениями, определяющимися возможностью передачи вызовов на удаленную машину.

Определение процедуры для удаленных вызовов компилируется компилятором IDL в описание этой процедуры на языках программирования, на которых будут разрабатываться клиент и сервер (например, заголовочные файлы на C/C++), и два дополнительных компонента - клиентскую и серверную заглушки (client stub и server stub ).

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

  1. Определяется физическое местонахождение в системе сервера, для которого предназначен данный вызов. Это шаг называется привязкой (binding) к серверу. Его результатом является адрес машины, на которую нужно передать вызов.
  2. Вызов процедуры и ее аргументы упаковываются в сообщение в некотором формате, понятном серверной заглушке (см. далее). Этот шаг называется маршалингом (marshaling) .
  3. Полученное сообщение преобразуется в поток байтов (это сериализация, serialization ) и отсылается с помощью какого-либо протокола, транспортного или более высокого уровня, на машину, на которой помещен серверный компонент.
  4. После получения от сервера ответа, он распаковывается из сетевого сообщения и возвращается клиенту в качестве результата работы процедуры.

В результате для клиента удаленный вызов процедуры выглядит как обращение к обычной функции.

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

Асинхронный режим (asynchronous regime ) – переходный режим в энергосистеме, характеризующийся несинхронным вращением части генераторов энергосистемы.

Асинхронные режимы могут возникать в результате:

Нарушения статической устойчивости из-за увеличения передаваемой мощности по линиям электропередачи сверхдопустимого значения;

Нарушения динамической устойчивости из-за аварийных возмущений (коротких замыканий, отключение генерирующего оборудования или электроустановок потребителя);

Несинхронного включения линий электропередачи и генераторов;

Потери возбуждения генератора.

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

1. Асинхронный режим возбужденной синхронной машины

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

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

Зависимость изменения напряжения и взаимного угла между двумя векторами напряжения при асинхронном режиме

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

Относительная удаленность контролируемой точки с напряжением от точки с напряжением .

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

против часовой стрелки ускоряются

Если вектор энергосистемы №2 вращается по часовой стрелке , то это свидетельствует о том, что генераторы энергосистемы №2 тормозятся относительно генераторов энергосистемы №1.

В качестве примера рассмотрим вращение вектора системы №2 в представленной расчетной схеме «по часовой стрелке».

Анализ полученных выражений показывает, что в момент расхождения напряжения системы №1 и системы №2 на угол 180 градусов (асинхронный проворот) активная мощность меняет свой знак, а значение реактивной мощности достигает своего максимального значения. Данная особенность изменения мощности в момент асинхронного проворота используется различными производителями в устройствах АЛАР независимо от элементной базы (электромеханические или микропроцессорные устройства).

В общем случае годограф вектора полной мощности (S = P + j Q) в месте измерения (установки реле мощности) представляет собой эллипс (зависимость P от Q) при изменении угла. Особенности изменения годографа мощности в цикле асин-хронного хода позволяют выявить момент наступления асинхронного режима, если есть возможность зафиксировать переход указанного годографа из диапазона углов ~0<δ<180° в диапазон ~180 0 <δ<360 0 при выполнении дополнительного условия, характеризующего зону δ≈180°.

Зависимость изменения сопротивления при асинхронном режиме

Сопротивление на зажимах реле сопротивления определяется как частное от деления напряжения в контролируемой точке на ток

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

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

При обращении к асинхронному (также называемому неблокирующим) примитиву, процесс не приостанавливается.

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

Если копии сообщения не создается, то любые изменения сообщения, производимые передающим процессом уже после обращения к примитиву Send, но до отправки сообщения, являются рискованными.

Аналогично, после обращения к асинхронному примитиву Receive процесс продолжает работу. Когда сообщение прибывает, процесс информируется об этом событии путем прерывания или периодического опроса.

Асинхронные примитивы обеспечивают эффективное и гибкое обращение процессов к системе передачи сообщений.

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

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

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

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

Блокирующий примитив Receive не возвратит управление, пока сообщение не окажется в выделенном для него буфере.

Уделенные вызовы процедур

Уделенный вызов процедуры (Remote Procedure Call, RPC) представляет собой вариант базовой модели передачи сообщения.

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

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

Популярность этого подхода связана со следующими преимуществами:

Вызов процедуры представляет собой широко распространенную и понятную абстракцию.

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

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

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

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

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

Например: CALL P(X. Y)

Здесь ♦ Р - имя процедуры;

♦ X - передаваемые аргументы;

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

Стаб создает сообщение, идентифицирующее вызываемую процедуру и содержащее ее параметры. Затем он посылает это сообщение удаленной системе и ждет ответа.

Когда ответ получен, стаб возвращает управление вызвавшей ее программе и передает ей возвращаемые значения. На удаленной машине с вызываемой процедурой ассоциируется другой стаб.

Когда приходит сообщение, стаб исследует его и на основе полученных имени процедуры и параметров формирует обычное локальное обращение CALL P(X, Y).

То есть удаленная процедура вызывается локально, при этом выполняется стандартная передача параметров через стек.

Рис. 17.13. Механизм удаленного вызова процедур

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

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

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

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

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

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

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