Tag Archives: siemens plc

Управление прерываниями по времени

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

Этот пример призван пояснить общую работу с прерываниями по времени и изменением временного растра.

 

В байт специальных меркеров SMB34 заносится растр времени, с которым вызывается прерывание по времени с номером 10 (первое прерывание по временем). В байт специальных меркеров SMB 35 растр времени, с которым вызывается прерывание по времени с номером 11 (второе прерывание по времени — поддерживается только CPU 214). Растр времени в обоих случаях будет определен с инкрементом 1мс. Минимальное допустимое значение растра времени составляет 5 мс, максимальное — 255 мс.

Программа состоит из следующих подпрограмм:

  • Main Инициализация и задание времени
  • INT 0 Установка выхода A0.0
  • INT 1 Сброс выхода A0.0

Размер программы составляет 51 слово.

Основная программа

// TITEL = TIME-INT

// В этой первой части основной программы задается начальный растр времени

// и связываются два прерывания управляемых по времени.

 

// По положительному фронту входа E0.1 растр времени прерывания по времени

// удваивается. Для выполнения этого нового задания необходимо

// разорвать связи между прерываниями и подпрограммами прерывания,

// так как в противном случае новые значения не будут восприняты. Разрыв

// связи производится командой DTCH.

// После задания нового растра времени, связи должны быть заново созданы

// командой ATCH.

 

// По положительному фронту входа E0.0 будет восстановлена старая тактовая

// частота.

 

 

Подпрограммы прерываний

// ************************************************************

// При вызове подпрограммы прерывания 0 устанавливается выход A0.0.

 

// ************************************************************

// При вызове подпрограммы прерывания 1 выход A0.0 сбрасывается.

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

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

 

Указания по преобразованию

Для того чтобы преобразовать TOOLITE2 AWL в S7-Micro/DOS AWL :

  • Установите ‘K’ перед каждым числом, не являющимся 16-ричной константой (напр. 4 станет K4)
  • Замените ‘16#’ на ‘KH’ для всех 16-ричных констант (напр. 16#FF → KHFF)
  • Поставьте запятые для смены полей. Используйте клавиши перемещения или клавишу TAB для перехода от поля к полю.
  • Для преобразования программы S7-Micro/DOS AWL в KOP-форму нужно начинать каждый сегмент словом ‘NETWORK’ и номером. Каждый сегмент в этом примере имеет свой номер на диаграмме KOP. Используйте NWENFG в меню редактора для ввода нового сегмента. Команды MEND, RET, RETI, LBL, SBR и INT требуют отдельных сегментов.

 

Подключение модема к Siemens ПЛК

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

  • предоставляет интерфейс связи с международными телефонными линиями
  • предоставляет модемный интерфейс со STEP 7-Micro/WIN для программирования и устранения неисправностей (телесервис)
  • поддерживает протокол Modbus RTU
  • поддерживает цифровую и текстовую пейджинговую связь
  • поддерживает передачу коротких сообщений (SMS)
  • допускает передачу данных от CPU к CPU и от CPU к Modbus
  • предоставляет парольную защиту
  • обеспечивает обратный вызов для предотвращения несанкционированного доступа к данным

Конфигурация модемного модуля хранится в CPU

Для настройки модемного модуля можно использовать Мастер расширения функций

модема (Modem Expansion wizard) STEP 7-Micro/WIN.

Интерфейс со STEP 7-Micro/WIN

Модемный модуль допускает обмен данными со STEP 7-Micro/WIN через телефонную линию (телесервис). При работе со STEP 7-Micro/WIN вам не нужно настраивать или программировать CPU, чтобы использовать модемный модуль в качестве удаленного модема.

Для использования модемного модуля со STEP 7-Micro/WIN действуйте следующим образом:

  1. Снимите питание с CPU и присоедините модемный модуль к шине расширения ввода/вывода. Не подключайте модули ввода/вывода, пока CPU находится под напряжением.
  2. Подключите к модемному модулю телефонную линию. В случае необходимости используйте переходное устройство.
  3. Подключите питание 24 В постоянного тока к клеммному блоку модемного модуля.
  4. Подключите заземляющую клемму клеммного блока модемного модуля к земле системы.
  5. Установите в нужное положение переключатели кода страны.
  6. Подайте напряжение на CPU и модемный модуль.
  7. Настройте STEP 7-Micro/WIN на обмен данными с 10-битовым модемом.

Протокол Modbus RTU

Модемный модуль можно настроить так, чтобы он функционировал как slave-устройство Modbus RTU. Модемный модуль принимает запросы Modbus через модемный интерфейс, интерпретирует эти запросы и передает данные в CPU или из него. После этого модемный модуль генерирует ответ Modbus и передает его через модемный интерфейс.

Модемный модуль поддерживает функции Modbus, приведенные в таблице 1. Функции 4 и 16 Modbus позволяют считывать или записывать до 125 регистров временного хранения информации (250 байтов в памяти переменных) в одном запросе. Функции 5 и 15 ведут запись в регистр выходов образа процесса CPU. Эти значения могут быть перезаписаны программой пользователя.

Адреса Modbus обычно записываются в виде значений из 5 или 6 символов, содержащих тип данных и смещение.

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

Функции Modbus, поддерживаемые модемным модулем


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

Отображение адресов Modbus в адреса CPU

Пейджинговая связь и передача сообщений SMS

Модемный модуль поддерживает передачу цифровых и текстовых пейджинговых сообщений и сообщений SMS (Short Message Service [Служба коротких сообщений]) на сотовые телефоны (если они поддерживаются провайдером сотовой связи). Сообщения и телефонные номера хранятся в конфигурационном блоке модемного модуля, который должен быть загружен в блок данных CPU. Для создания сообщений и телефонных номеров конфигурационного блока модемного модуля можно воспользоваться Мастером расширения функций модема. Мастер расширения функций модема создает также программный код, позволяющий вашей программе инициировать передачу сообщений.

Цифровая пейджинговая связь

Цифровая пейджинговая связь использует для передачи цифровых значений на пейджер тональные сигналы кнопочного телефона. Модемный модуль набирает запрашиваемую пейджинговую службу, ожидает конца речевого сообщения, а затем передает тональные сигналы, соответствующие цифрам пейджингового сообщения. В пейджинговом сообщении разрешены цифры от 0 до 9, астериск (*), A, B, C и D. Символы, фактически отображаемые пейджером вместо астериска и A, B, C и D, не стандартизованы и определяются пейджером и провайдером пейджинговой связи.

Текстовая пейджинговая связь

Текстовая пейджинговая связь допускает передачу провайдеру пейджинговой связи и от него на пейджер алфавитно-цифровых сообщений. Провайдеры текстовой пейджинговой связи обычно имеют линию с модемом, которая принимает текстовые сообщения. Модемный модуль использует для передачи текстовых сообщений провайдеру пейджинговой связи алфавитно-цифровой протокол Telelocator (Telelocator Alphanumeric Protocol, TAP). Многие провайдеры текстовой пейджинговой связи используют этот протокол для приема сообщений.

Служба коротких сообщений (SMS)

Передача сообщений через Службу коротких сообщений (Short Message Service, SMS) поддерживается некоторыми службами сотовой телефонной связи, обычно теми, которые совместимы со стандартом GSM. SMS позволяет модемному модулю передавать сообщение по аналоговой телефонной линии провайдеру SMS. Затем провайдер SMS передает это сообщение на сотовый телефон, и сообщение появляется на текстовом дисплее телефона. Модемный модуль использует для передачи сообщений провайдеру SMS алфавитно-цифровой протокол Telelocator (Telelocator Alphanumeric Protocol, TAP) и универсальный компьютерный протокол (Universal Computer Protocol, UCP). SMS- сообщения можно передавать провайдеру SMS только в том случае, если он поддерживает эти протоколы на линии с модемом.

Переменные, вставленные в текстовые сообщения и в короткие сообщения SMS

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

Передача данных

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

С помощью Мастера расширения функций модема можно сконфигурировать передачу данных, во время которой производится одно считывание из удаленного устройства, одна запись в удаленное устройство или считывание из удаленного устройства и запись в него. При передаче данных используется сконфигурированный протокол модемного модуля. Если модемный модуль настроен на поддержку протокола PPI (тогда он может реагировать на STEP 7-Micro/WIN), то и для передачи данных используется протокол PPI. Если модемный модуль настроен на поддержку протокола Modbus RTU, то данные передаются с помощью протокола Modbus.

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

Защита с помощью пароля

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

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

 

Команды для обмена данными в Step7

Команда чтения из сети (NETR) инициирует коммуникационную операцию для получения данных из удаленного устройства через указанный порт (PORT), как указано в таблице (TBL). Команда записи через сеть (NETW) инициирует коммуникационную операцию для записи данных в удаленное устройство через указанный порт (PORT), как указано в таблице (TBL).

Сбойные состояния, устанавливающие ENO = 0:

  • 0006 (косвенный адрес)

Команда NETR может прочитать до 16 байтов информации из удаленной станции, а команда NETW может записать до 16 байтов информации в удаленную станцию.

В программе можно иметь любое количество команд NETR/NETW, но одновременно можно активизировать не более восьми команд NETR и NETW.

С помощью мастера команд для операций чтения из сети и записи через сеть вы можете создать счетчик. Для запуска этого мастера команд выберите команду меню Tools > Instruction Wizard [Инструменты > Мастер команд], а затем в окне мастера команд выберите опцию Network Read/Network Write [Чтение из сети/Запись через сеть].

Параметр TBL для команд чтения из сети и записи через сеть

Коды ошибок для параметра TBL2

Рисунок

 

Команды Step7, связанные со временем

Чтение и установка часов реального времени

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

Все значения даты и времени необходимо записывать в формате BCD (например, 16#97 для 1997 года). На рисунке, представленном ниже, показан формат 8-байтового буфера времени (T).

После продолжительного отключения питания или потери памяти часы реального времени (TOD) инициализируют следующую дату и время:

  • Дата: 01-Янв-90
  • Время: 00:00:00
  • День недели: Воскресенье

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 0007 (ошибка даты TOD) Только для установки часов реального времени
  • 000C (часы отсутствуют)

Обычно ПЛК не проверяет соответствие дня недели дате. Могут быть восприняты неверные даты, например, 30 февраля. Правильность даты должны обеспечивать прграммисты при написании скрипта.

Не используйте команду TODR/TODW одновременно в главной программе и программе обработки прерывания. Эта команда не будет исполнена в программе обработки прерывания, которая пытается ее выполнить, когда действует другая команда TODR/TODW. Если делается попытка одновременно двух обращений к часам, то устанавливается SM4.3 (нефатальная ошибка 0007).

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

Високосные годы обрабатываются правильно до 2096 года.

Чтение расширенных часов реального времени

Команда чтения расширенных часов реального времени (TODRX) считывает текущую конфигурацию времени, даты и летнего времени из ПЛК и загружает их в 19– байтовый буфер, начинающийся по адресу, указанному параметром T.

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 000C (отсутствует модуль часов)
  • 0091 (ошибка диапазона)

Установка расширенных часов реального времени Команда установки расширенных часов реального времени (TODWX) записывает текущую конфигурацию времени, даты и летнего времени в ПЛК из 19–байтового буфера, находящегося по адресу, указанному в параметре T.

Все значения даты и времени необходимо записывать в формате BCD (например, 16#02 для 2002 года). В таблице ниже показан формат 19–байтового буфера времени (T).

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

Дата: 01-Jan-90

Время 00:00:00

День недели: воскресенье

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 0007 (ошибка данных TOD)
  • 000C (отсутствует модуль часов)
  • 0091 (ошибка диапазона)

1 Европейская конвенция: Переводить часы на один час вперед в последнее воскресенье марта в 1:00 час ночи UTC (Universal Time Coordinated = универсальное синхронизированное время).  Переводить часы на один час назад в последнее воскресенье октября в 2:00 часа ночи UTC. (Местное время выполнения корректировки зависит от смещения часового пояса от UTC).

2 Конвенция США: Переводить часы на один час вперед в первое воскресенье апреля в 2:00 часа ночи местного времени. Переводить часы на один час назад в последнее воскресенье октября в 2:00 часа ночи местного времени.

3 Австралийская конвенция: Переводить часы на один час вперед в последнее воскресенье октября в 2:00 часа ночи местного времени. Переводить часы на один час назад в последнее воскресенье марта в 3:00 часа ночи местного времени.

4 Австралийская конвенция (Тасмания): Переводить часы на один час вперед в первое воскресенье октября в 2:00 часа ночи местного времени. Переводить часы на один час назад в последнее воскресенье марта в 3:00 часа ночи местного времени

5 Новозеландская конвенция: Переводить часы на один час вперед в первое воскресенье октября в 2:00 часа ночи местного времени. Переводить часы на один час назад 15 марта, если этот день приходится на воскресенье, или в первое воскресенье после 15 марта в 3:00 часа ночи местного времени

 

Стековые операции Step7

Логическое сопряжение 1-го и 2-го уровня по И

Команда логического сопряжения первого и второго уровня стека по И (ALD) логически сопрягает значения в первом и втором уровне стека, используя логическую операцию И. Результат загружается в вершину стека.

После выполнения ALD глубина стека уменьшается на единицу.

Логическое сопряжение 1-го и 2-го уровня поИЛИ

Команда логического сопряжения первого и второго уровня стека по ИЛИ (OLD) логически сопрягает значения в первом и втором уровне стека, используя логическую операцию И. Результат загружается в вершину стека. После выполнения OLD глубина стека уменьшается на единицу.

Дублирование вершины логического стека

Команда дублирования вершины логического стека (LPS) дублирует значение вершины стека и помещает это значение в стек. Дно стека выталкивается и теряется.

Копирование второго уровня стека

Команда копирования второго уровня стека (LRD) копирует второй уровень стека в его вершину. В стек ничего не помещается и из него ничего не извлекается, но его вершина замещается копией.

Извлечение вершины стека

Команда извлечения вершины стека (LPP) извлекает одно значение из стека. Второй уровень становится новой вершиной стека.

Логическое И для бита ENO

Команда логического И для бита ENO (AENO) выполняет логическое сопряжение бита ENO и вершины стека с использованием операции И, производя такой же эффект, как и бит ENO в блоке LAD или FBD. Результатом операции И является новая вершина стека. ENO – это булев выход для блоков в LAD и FBD. Если блок имеет поток сигнала на входе EN и выполняется без ошибок, то выход ENO передает поток сигнала следующему элементу. ENO может быть использован как деблокирующий бит, указывающий на успешное завершение команды. Бит ENO вместе с вершиной стека используется для воздействия на поток сигнала для выполнения последующих команд. У команд STL нет входа EN. Для выполнения условных операций вершина стека должна быть равна 1. В STL нет выхода ENO, но команды STL, соответствующие командам LAD и FBD с выходами ENO обязательно устанавливают специальный бит ENO. Доступ к этому биту осуществляется с помощью команды AENO.

Загрузка стека

Команда загрузки стека (LDS) дублирует бит стека (N) и помещает это значение в вершину стека. Дно стека выталкивается и теряется.

Как показано на рисeyrt, ПЛК использует логический стек для решения задач логики управления. В этих примерах «iv0»  «iv7» обозначают начальные значения логического стека, «nv» обозначает новое значение, поставляемое командой, а «S0» обозначает рассчитанное значение, сохраняемое в логическом стеке.

 

Катушки в Step 7

Присваивание

Команда присваивания (=) записывает новое значениедля выходного бита в регистр образа процесса. При выполнении команды присваивания ПЛК устанавливает или сбрасывает выходной бит в регистре образа процесса. В LAD и FBD указанный бит устанавливается равным потоку сигнала. В STL значение, находящееся в вершине стека, копируется в указанный бит.

Непосредственное присваивание битового значения

Команда непосредственного присваивания битового значения (=I) при своем выполнении записывает новое значение как в физический выход, так и в образ процесса.

Когда выполняется команда непосредственного присваивания битового значения, физический выход (бит) немедленно устанавливается в соответствии с состоянием потока сигнала. В STL команда непосредственного присваивания битового значения непосредственно копирует значение, находящееся в вершине стека, в указанный физический выход. Символ “I” означает непосредственный доступ; при исполнении команды новое значение записывается в физический выход и в соответствующую ячейку регистра образа процесса. Здесь имеется отличие от других видов доступа, которые записывают новое значение только в регистр образа процесса.

Установка и сброс

Команды установки (S) и сброса (R) устанавливают (включают) или сбрасывают (выключают) указанное количество входов или выходов (N), начиная с указанного адреса (бита). Вы можете установить или сбросить от 1 до 255 входов и выходов.

Если команда сброса указывает на бит таймера (T) или счетчика (C), то команда сбрасывает бит таймера или счетчика и стирает текущее значение таймера или счетчика.

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 0091 (операнд вышел за пределы допустимого диапазона)

Непосредственная установка и непосредственный сброс Команды непосредственной установки и непосредственного сброса непосредственно устанавливают (включают) или непосредственно сбрасывают (выключают) указанное количество входов или выходов (N), начиная с указанного адреса (бита). Вы можете непосредственно и немедленно установить или сбросить от 1 до 128 входов и выходов.

Символ “I” означает непосредственный доступ; при исполнении команды новое значение записывается в физический выход и в соответствующую ячейку регистра образа процесса. Здесь имеется отличие от других видов доступа, которые записывают новое значение только в регистр образа процесса.

Сбойные состояния, устанавливающие ENO = 0

  • 0006 (косвенный адрес)
  • 0091 (операнд вышел за пределы допустимого диапазона)

 

Битовые логические операции в STEP 7

Стандартные контакты

Команды «Нормально открытый контакт» (LD, A и O) и «Нормально замкнутый контакт» (LDN, AN, ON) получают исходное значение из памяти или из регистра образа процесса. Стандартные контакты получают исходное значение из памяти (или из регистра образа процесса, если типом данных является I или Q).

Нормально открытый контакт замкнут (включен), когда бит равен 1, а нормально замкнутый контакт замкнут (включен), когда бит равен 0. В FBD к блокам И и ИЛИ может быть подключено не более 32 входов. В STL команды, представляющие нормально открытый контакт, загружают значение адресного бита в вершину стека или выполняют логическое сопряжение значения адресного бита со значением в вершине стека в соответствии с таблицей истинности логического И или ИЛИ, а команды, представляющие нормально замкнутый контакт, загружают логическое отрицание значения адресного бита в вершину стека или выполняют логическое сопряжение логического отрицания значения адресного бита со значением в вершине стека в соответствии с таблицей истинности логического И или ИЛИ.

Непосредственно управляемые контакты

Непосредственно управляемый контакт при своей актуализации не зависит от цикла PLC, его значение обновляется немедленно. Команды «Непосредственно управляемый нормально открытый контакт» (LDI, AI и OI) и «Непосредственно управляемый нормально замкнутый контакт» (LDNI, ANI и ONI) при выполнении команды получают значение физического входа, однако, регистр образа процесса не обновляется.

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

Команда NOT [НЕ]

Команда отрицания (NOT) изменяет состояние входа потока сигнала (т.е. она изменяет значение в вершине стека с 0 на 1 или с 1 на 0).

Положительный и отрицательный фронт

Контакт «Положительный фронт» (EU) пропускает поток сигнала в течение одного цикла при каждом появлении положительного фронта. Контакт «Отрицательный фронт» (ED) пропускает поток сигнала в течение одного цикла при каждом появлении отрицательного фронта. У команды «Положительный фронт» при обнаружении перехода значения в вершине стека с 0 на 1 значение в вершине стека устанавливается в 1; в противном случае оно устанавливается в 0. У команды «Отрицательный фронт» при обнаружении перехода значения в вершине стека с 1 на 0 значение в вершине стека устанавливается в 1; в противном случае оно устанавливается в 0.