Tag Archives: SIMATIC

Языки программирования Step7

Язык программирования Ladder Logic (LAD)

Графический язык программирования Ladder Logic (LAD) основан на представлении коммутационных схем. Элементы коммутационной схемы, такие как нормально открытые контакты и нормально замкнутые контакты, группируются в сегменты. Один или несколько сегментов образуют раздел кодов логического блока.

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

 пример сегментов в LAD

 Язык программирования. Функциональный план (FBD)

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

Пример сегмента в FBD

 Язык программирования. Список команд (STL)

Представление языка программирования Список команд (STL) – это текстовый язык, подобный машинному коду. Каждая команда соответствует шагу работы CPU при обработке программы. Несколько команд могут быть связаны друг с другом, образуя сегменты.

Пример сегментов в Списке команд

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

 Язык программирования S7 SCL

Язык программирования SCL (Structured Control Language [Структурированный язык управления]), доступный как дополнительный пакет, − это текстовый язык высокого уровня, определение которого в целом соответствует стандарту Международной электротехнической комиссии IEC 1131-3. Этот паскалеобразный язык благодаря своим командам высокого уровня упрощает в сравнении с STL программирование циклов и условных переходов. Поэтому SCL пригоден для расчетов, включая формулы, сложные оптимизационные алгоритмы или управление большими объемами данных.

 Создание программ на S7 SCL производится в режиме свободного редактирования в исходном файле.

Пример:

FUNCTION_BLOCK FB20

VAR_INPUT

ENDVAL: INT;

END_VAR

VAR_IN_OUT

IQ1 : REAL;

END_VAR

VAR

INDEX: INT;

END_VAR

BEGIN

CONTROL:=FALSE;

FOR INDEX:= 1 TO ENDVALUE DO

IQ1:= IQ1 * 2;

IF IQ1 >10000 THEN

CONTROL = TRUE

END_IF

END_FOR;

END_FUNCTION_BLOCK

Язык программирования S7 Graph (последовательное управление)

Графический язык программирования S7 Graph, доступный в виде дополнительного пакета, дает возможность программирования устройств последовательного управления. Это включает в себя создание последовательности шагов, определение содержания каждого шага и определение переходов. Вы программируете содержание шагов на специальном языке программирования (похожем на список команд) и вводите переходы в редакторе цепных логических схем (модернизированная версия языка КОР).

S7 Graph очень ясно представляет сложные последовательности и делает программирование и поиск неисправностей более эффективными.

Пример последовательного управления в S7 Graph

 Создаваемые блоки

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

Исходный файл

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

Язык программирования S7 HiGraph (граф состояний)

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

Вы создаете граф для каждого функционального агрегата, который описывает поведение этого агрегата. Графы для установки объединяются в группы графов. Для синхронизации функциональных агрегатов между графами может производиться обмен сообщениями. Ясное представление переходов между состояниями функционального агрегата делает возможным систематическое программирование и облегчает поиск ошибок. В отличие от S7 Graph, в S7 HiGraph в каждый момент времени активно только одно состояние (в S7 Graph: «шаг»). На следующем рисунке показано, как создавать графы для функциональных агрегатов (пример).

 

 Группа графов хранится в исходном файле HiGraph в папке «Source Files [Исходные файлы]» под программой S7. Затем исходный файл компилируется в блоки S7 для программы пользователя.

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

Язык программирования S7 CFC

Дополнительный пакет программного обеспечения CFC (Continuous Function Chart [Схема непрерывных функций]) – это язык программирования, используемый для графического связывания сложных функций.

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

Созданная программа хранится в виде схем CFC. Они находятся в папке «Charts [Схемы]» под программой S7. Эти схемы затем компилируются для формирования блоков S7 для программы пользователя. Возможно, Вы сами захотите создать подлежащие соединению блоки, в этом случае Вы программируете их для SIMATIC S7 с помощью одного из языков программирования S7, а для SIMATIC М7 – с помощью С/С++.

Мой блог находят по следующим фразам

Типы проектов WinCC

В WinCC существует три типа проектов:

  • • однопользовательский проект;
  • • многопользовательский проект;
  • • клиентский проект.

Однопользовательский проект

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

Принцип работы

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

Резервируемость

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

Архивный сервер

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

 

Многопользовательский проект

Если в проекте WinCC вы хотите работать с несколькими компьютерами, то необходимо создать многопользовательский проект. Существует два основных варианта многопользовательской системы:

  • • многопользовательская система с одним или большим числом серверов: несколько серверов с одним или большим количеством клиентов. Одна клиентская станция обращается к нескольким серверам. Рабочие данные находятся на различных серверах. Конфигурационные данные хранятся на серверах и на клиентских станциях;
  • • многопользовательская система только с одним сервером: один сервер и один или несколько клиентов. Все данные находятся на сервере.

Принцип работы

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

Клиентский проект

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

Существует два основных варианта работы WinCC клиента:

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

Архивный сервер или файл-сервер может, как клиент, обращаться к другому серверу.

 

Принцип работы

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

Многопользовательская система с одним или более количеством cерверов

Для доступа к нескольким серверам, на клиентской станции необходимо создать клиентский проект. Свойства проекта определяются в WinCC клиенте. На сервере нужно создать пакеты с помощью компонента Serverdata [Данные сервера]. В пакетах содержатся все важные конфигурационные данные многопользовательского проекта. Пакеты необходимо загрузить на WinCC клиента. Создавать и компилировать пакеты вручную требуется только один раз – если конфигурационные данные на сервере изменяются, WinCC автоматически генерирует нужные пакеты. Загрузить пакеты на клиентскую станцию можно либо вручную, либо автоматически.

Конфигурация с центральным сервером для многопользовательской системы с одним сервером

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

Web-клиент

Вы можете настроить клиента, который обращается к серверу по сети Интернет. Если вам необходим такой вид доступа, с помощью опции WinCC Web Navigator вы можете создать Web-клиента.

Структура WinCC

WinCC – это модульная система. Основными компонентами являются Configuration Software [Система проектирования] (CS) и Runtime Software (RT) [Система исполнения]

 

 Система проектирования

Сразу после запуска WinCC открывается WinCC Explorer [Проводник WinCC]. WinCC Explorer [Проводник WinCC] является ядром системы проектирования. В WinCC Explorer [Проводнике WinCC] отображается

структура всего проекта. Кроме того, здесь происходит администрирование

проекта.

Из WinCC Explorer [Проводника WinCC] могут быть вызваны специальные редакторы, предназначенные для проектирования. Каждый редактор используется для создания специальной подсистемы WinCC.

Наиболее важными подсистемами WinCC являются:

• графическая система; редактор графической системы, используемый для создания кадров процесса называется Graphics Designer [Графический дизайнер];

• система регистрации аварийных сообщений; процесс конфигурирования сообщений выполняется редактором Alarm Logging [Регистрация аварийных сообщений];

• система архивирования; редактор Tag Logging [Регистрация тегов] используется для определения данных, которые необходимо архивировать;

• система отчетов; редактор для создания шаблонов отчетов называется Report Designer [Дизайнер отчетов].

• система администрирования пользователей, редактор которой называется User Administrator [Администратор пользователей].

• система обмена данными Communication [Связь] конфигурируется непосредственно в WinCC Explorer [Проводнике WinCC].

Все данные конфигурации сохраняются в базе данных CS.

Система исполнения

Система исполнения (Runtime software) позволяет пользователю следить и управлять процессом. Система исполнения в основном используется для решения следующих задач:

• чтения данных, сохраненных в базе данных CS;

• отображения кадров процесса на экране;

• взаимодействия с системой автоматизации;

• архивирования текущих данных процесса, например, значений процесса и сообщений о событиях;

• управления процессом, например, путем ввода оператором значений уставок, переключения On/OFF

Производительность

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

WinCC Information System [Справочной системе WinCC] под заголовком «Performance data [Данные о производительности]».

На рисунке, приведенном ниже, представлена схема взаимодействия подсистем WinCC. Рисунок содержит важную информацию о последовательности действий при конфигурировании.

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

 

SIMATIC WinCC –Встроенные SCADA функции

Видеокадр WinCC: пищевая промышленность

Архивирование и регистрация сообщений

Для архивирования сообщений используется Microsoft SQL Server 2000. Система архивирует сообщения только в случае каких-либо изменений, например, когда сообщение возникло или изменилось состояние сообщения.

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

Высокопроизводительное архивирование сообщений и тегов

Архивирование тегов и сообщений обеспечивается высокопроизводительной базой данных Microsoft SQL Server 2000: до 10 000 измеренных значений и до 100 сообщений в секунду не составляют труда для выделенного сервера. Эффективные функции сжатия без потерь позволяют экономить память. Есть возможность архивировать значения процесса циклически (непрерывно), по событию (например, в случае превышений пределов), а также в сжатом виде (например, усреднение). Система сохраняет теги и сообщения в архиве настраиваемого размера. Можно установить максимальный период архивирования, например: один месяц или один год, или же возможно установить максимальный объем архива. Каждый архив разделяется на сегменты, законченный сегмент может передаваться серверу долговременного архивирования. При необходимости, все архивированные значения быстро становятся доступными для отображения и обработки в WinCC с использованием встроенных возможностей.

В базовой версии WinCC возможно архивирование до 512 переменных. Система Powerpack’ов позволяет расширить количество архивных тегов до 80 000.

WinCC Trend Control отображает графики текущих или архивированных значений

 

Статистическая обработка тегов

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

Список сообщений для пришедших сообщений (Alarm Control)

 Система отчетности и регистрации

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

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

Печать по требованию

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

Использование внешних данных в формате CSV

Журналы WinCC могут также содержать данные из базы данных и внешние данные в формате CSV в виде таблицы или графика. Для отображения данных из других приложений в виде таблицы или графика есть возможность разработать собственный Report Provider.

Базовые технологические функции (I&C)

Basic Process Control – это набор дополнительных объектов и инструментов, позволяющий легко реализовать типовые задачи, а именно:

  • Разделение экрана на обзорную, рабочую и клавиатурную области
  • Автопостроение иерархии экранов
  • Сохранение/удаление пользовательских композиций окон
  • Выбор мнемосхем и точек измерения по имени
  • Настройка трендов в реальном времени
  • Group Display – специальный объект, отображающий неисправности на нижних уровнях иерархии и обеспечивающий непосредственный переход к картинке процесса, на которой изображен неисправный объект Lifebeat Monitoring – автопостроение экрана диагностики технических средств системы автоматизации
  • Управление внешними устройствами сигнализации
  • Синхронизация времени (установка часов ПК через DCF77 или GPS; передача точного времени через PROFIBUS или Industrial Ethernet)

Представление экрана, созданного с помощью Basic Process Control на WinCC/Web Navigator

 

 

Подсети с SIMATIC

SIMATIC предлагает следующие подсети в соответствии с различными уровнями автоматизации (уровень управления предприятием, цеховой уровень, полевой уровень, уровень датчиков и исполнительных устройств):

  • многоточечный интерфейс (MPI)
  • PROFIBUS
  • двухточечное соединение (PtP)
  • Industrial Ethernet
  • интерфейс с датчиками и исполнительными устройствами (ASI)

Многоточечный интерфейс (MPI)

MPI . это подсеть малой протяженности и с малым количеством абонентов для полевого и цехового уровня. MPI . это интерфейс, способный объединять несколько точек в SIMATIC S7/M7 и C7. Он разрабатывался как интерфейс для устройства программирования (PG) и задумывался для соединения нескольких CPU между собой или с PG для обмена небольшими объемами данных.

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

PROFIBUS

Наличие: CPU с буквами «DP» после номера имеют интерфейс DP в качестве своего второго интерфейса (напр., 315-2 DP)

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

PROFIBUS предлагается в двух вариантах:

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

2. в качестве PROFIBUS (FDL или PROFIBUS-FMS) для быстрой передачи данных между равноправными партнерами по связи на цеховом уровне.

PROFIBUS-DP и PROFIBUS-FMS можно реализовать также с помощью коммуникационных процессоров (CP).

Двухточечное соединение (PtP)

Наличие: CPU с буквами «PtP» после номера имеют двухточечный интерфейс (PtP) в качестве своего второго интерфейса (напр., 314-2 PtP)

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

Industrial Ethernet

Реализация с помощью коммуникационных процессоров (CP). Industrial Ethernet . это сеть для уровня управления предприятием и цехового уровня в открытой, независимой от изготовителя системе связи SIMATIC.

Industrial Ethernet пригоден для быстрой передачи больших объемов данных.

Через межсетевые шлюзы он предоставляет возможность соединения абонентов разных сетей.

Подключение к Industrial Ethernet в случае CPU S7-300 можно реализовать только через коммуникационные процессоры.

Интерфейс с исполнительными устройствами и датчиками (ASI)

Реализация с помощью коммуникационных процессоров (CP). AS-интерфейс (ASI, интерфейс с исполнительными устройствами и датчиками) . это сетевая подсистема для самого нижнего уровня в системах автоматизации. Он служит для объединения в сеть цифровых датчиков и исполнительных устройств. Передаваемый объем данных составляет не более 4 бит на ведомую станцию.

Подключение к интерфейсу с исполнительными устройствами и датчиками в случае CPU S7-300 можно реализовать только через коммуникационные процессоры.

Одинаковая структура MPI и PROFIBUS-DP

Для построения сети MPI рекомендуется использовать те же сетевые компоненты, что и для построения сети PROFIBUS-DP. При построении действуют те же самые правила.

Мой блог находят по следующим фразам

КОПЛ-включение асинхронного двигателя в Step7

Данная программа позволяет автоматический запуск асинхронного двигателя с короткозамкнутым ротором с помощью КОПЛ-включения. При таком Короткозамкнуто-Плавном пуске двигатель запускается с минимальным числом оборотов и достигает номинального числа оборотов только через определенное время.

Нажатие кнопки ВКЛ на входе E0.0 включает плавный пуск двигателя, а кнопка ВЫКЛ на E0.1 отключает двигатель. На вход E0.2 подключен автомат защиты двигателя, который срабатывает при перегрузке двигателя и отключает его.

Схема включения

 

Структура программы

Описание программы

Меркер блокировки M1.0 устаналивается при одновременном нажатии кнопок ВКЛ (нормально разомкнута) и ВЫКЛ (нормально замкнута) на входах E0.0 и E0.1 и сбрасывается только после того, как обе кнопки окажутся в исходном положении. Переключатель двигателя подключенный на выход A0.0 сработает после того как будет нажата кнопка ВКЛ и при этом не сработала ни блокировка (M1.0) ни автомат защиты двигателя (E0.2-нормально замкнуто) или кнопка ВЫКЛ (E0.1). Логическая операция ИЛИ с A0.0 реализует самоподхват переключателя. Двигатель запускается теперь с минимальным числом оборотов, так как сопротивление запуска еще не перемкнуто. Если включается переключатель двигателя и выход A0.1 для перемыкателя еще не установлен, то запускается таймер T37. По прошествии установленного времени 5 сек устанавливается выход A0.1 перемыкателя, пока включен переключатель двигателя, т.е. пока установлен A0.0.

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

Листинг

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

// TITEL = КОПЛ-включение

// E0.0 Кнопка вкл.

// E0.1 Кнопка выкл. Нормально замкнута

// E0.2 Защита двигателя Нормально замкнута

// A0.0 Защита двигателя

// A0.1 Перемыкатель

// T37 Таймер для переключения (5 сек)

 

БЛОКИРОВКА

LDN E0.1 // Кнопка Выкл нажата

U E0.0 // Кнопка Вкл нажата

S M10.0 ,1 // Вспомогательный меркер для блокировки

LD E0.1 // Кнопка Выкл не нажата

UN E0.0 // Кнопка Вкл не нажата

R M10.0 ,1 // Блокировка снята

 

ЗАПУСК ДВИГАТЕЛЯ

LD E0.0 // Кнопка Вкл нажата

O A0.0 // Самоподхват переключателя двигателя

LD E0.1 // Кнопка Выкл не нажата

U E0.2 // Защита двигателя OK

UN M1.0 // Меркер блокировки

ULD

= A0.0 // Защита двигателя

ЗАПУСК ТАЙМЕРА T37

LD A0.0 // Двигатель в движении

UN A0.1 // Перемыкатель

TON T37,50 // Запуск T37

 

ВКЛЮЧЕНИЕ ПЕРЕМЫКАТЕЛЯ

LD T37 // T37 завершил работу

O A0.1 // Самоподхват перемыкателя

LD A0.0 // Двигатель в движении

ULD

= A0.1 // Перемыкатель

MEND // Конец

 

 

P.S. Устал я чего — то все это расписывать. Возьму фотоаппарат нащелкаю фоток любимого контроллера и буду их ретушировать. А бесплатные программы для фотографий найти совсем несложно.

Запуск звезда-треугольник с ответным сообщением

Данный пример управляет запуском звезда-треугольник асинхронного двигателя. Если, например, переключатель звезды дефектен, то это будет опознано с ответным сообщением и SIMATIC S7-200 не переключится через время задержки 5 сек в режим треугольника, исключая тем самым возможность поломки. Двигатель запускается после нажатия кнопки ВКЛ на входе E0.0 в режиме звезды. По прошествии установленного времени двигатель переключается в режим треугольник.  Возможное сообщение об ошибке индицируется посредством лампы на выходе A0.3.

Схема включения

Описание программы

Двигатель запускается после нажатия кнопки ВКЛ на входе E0.0 в режиме звезды. По прошествии установленного времени 5 сек двигатель переключается в режим треугольник, если отсутствует сообщение об ошибке переключателей. Сообщение об ошибке индицируется лампой на выходе A0.3. Кнопкой квитирования на входе E0.6 можно сбросить сообщение об ошибке, в случае если ошибка устранена. Ответные сообщения переключателей подаются на входы с E0.3 по E0.5. Если нажата кнопка ВЫКЛ или сработал автомат защиты двигателя, находящиеся на входах E0.1 и E0.2, двигатель отключается. Если кнопки ВЫКЛ и ВКЛ нажаты одновременно, двигатель остается выключенным.

Части программы ”Включение переключателя звезда”, ”Запуск таймера переключения” и ”Включение переключателя сети” дополнены условием, что отсутствует сообщение об ошибке (A0.3), что позволит установить меркер для переключателя звезды (A0.1) и переключателя сети (A0.0) и запустить таймер переключения (T37).

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

Если по прошествии данного времени состояния все еще различаются, устанавливыается выход ошибки A0.3. Кнопкой квитирования на входе E0.6 он может быть снова сброшен.

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

Листинг

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

// TITEL = ЗАПУСК ЗВЕЗДА-ТРЕУГОЛЬНИК С ОТВЕТНЫМ СООБЩЕНИЕМ

// E0.0 Кнопка вкл.

// E0.1 Кнопка выкл. Нормально замкнута

// E0.2 Защита двигателя Нормально замкнута // E0.3

// E0.4 RM. Переключатель звезды

// E0.5 RM. Переключатель треугольника

// E0.6 Кнопка квитирования

// A0.0 Переключатель сети

// A0.1 Переключатель звезды

// A0.2 Переключатель треугольника

// A0.3 Лампа ошибки

// T37 Таймер переключения 5 сек

// T38 Таймер сообщения об ошибке 2 сек

 

БЛОКИРОВКА

ВКЛЮЧЕНИЕ

 

ВКЛЮЧЕНИЕ ПЕРЕКЛЮЧАТЕЛЯ ЗВЕЗДЫ

 

ЗАПУСК ТАЙМЕРА ПЕРЕКЛЮЧЕНИЯ

 

ВКЛЮЧЕНИЕ ПЕРЕКЛЮЧАТЕЛЯ СЕТИ

 

ВКЛЮЧЕНИЕ ПЕРЕКЛЮЧАТЕЛЯ ТРЕУГОЛЬНИКА

 

LD A0.0 // Переключатель сети

UN E0.3 // RM. Переключатель сети

LDN A0.0 // Нет переключателя сети

U E0.3 // RM. Переключатель сети

OLD

LD A0.1 // Переключатель звезды

UN E0.4 // Нет RM. Переключателя звезды

OLD

LDN A0.1 // Нет переключателя звезды

U E0.4 // RM. Переключатель звезды

OLD

LD A0.2 // Переключатель треугольника

UN E0.5 // Нет RM. Переключателя треугольника

OLD

LDN A0.2 // Нет переключателя треугольника

U E0.5 // RM. Переключатель треугольника

OLD

TON T38,20 // Таймер задержки для сообщения об ошибке (2 сек)

 

    S7-200 Примеры. Реверсивный переключатель для асинхронного двигателя

    Краткое описание

    Данный пример программы служит для управления асинхронным двигателем с двумя направлениями вращения.

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

     

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

    Сначала программа проверяет, должна ли быть включена блокировка установкой вспомогательного меркера M2.0. Это как раз тот случай когда обе кнопки, на входах E0.0 и E0.1 нажаты одновременно или если время ожидания еще не вышло. Только если обе кнопки снова находятся в отжатом состоянии и кончилось время ожидания, т.е вспомогательный меркер M2.3 сброшен, будет сброшен и блокирующий меркер M2.0.

    Разрешение на вращение влево осуществляется установкой соответствующего бита деблокировки M2.1, если ни защитный выключатель двигателя на входе E0.3 или кнопка ВЫКЛ на E0.2 (оба нормально закрытые) не нажаты, ни бит состояния для вращения вправо M1.1 не установлен. Бит состояния для вращения влево это M1.0. Деблокировка вращения вправо происходит аналогично.

    Двигатель включается, если нажата одна кнопка включения и ни бит блокировки ни бит состояния другого направления не установлены. Пуск двигателя происходит установкой соответствующего выхода и относящегося к нему бита состояния, обеспечивающего самоподхват. На выходе A0.0 срабатывает контактор левого вращения, а на выходе A0.1 правого. Кроме того, загорается сигнальная лампа режима. Сигнальная лампа движения влево подключена на A0.4, движения вправо на A0.3, а лампа состояния ВЫКЛ на A0.2.

    Если двигатель выключается, то по положительному фронту ‘ED’ устанавливается вспомогательный меркер M2.3 (процесс выключения). Если последний установлен, то запускается таймер ожидания для повторного пуска со временем работы 5 с (500*10 мс). По завершении этого времени меркер M2.3 процесса выключения сбрасывается. Во время работы таймера ожидания на выходе A0.5 мигает сигнальная лампа. В случае, если бит состояния не установлен, то на выходе A0.2 горит сигнальная лампа состояния ‘ВЫКЛ’.

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

     

    // TITEL = Контакторное переключение

    // Блокировка

    LD E0.1 // Команда вправо

    U E0.0 // и команда влево

    O M2.3 // или время ожидания не кончилось

    S M2.0,1 // устанавливается блокировка

    LDN E0.0 // Нет команды влево

    UN E0.1 // нет команды вправо

    UN M2.3 // время ожидания кончилось

    R M2.0, 1 // блокировка сбрасывается

    Деблокировка движения влево

    LD E0.2 // Нет команды выключения

    U E0.3 // не сработал защитный выключатель

    UN M1.1 // бит состояния движения вправо не установлен

    = M2.1

    // Деблокировка движения вправо

    LD E0.2 // Нет команды выключения

    U E0.3 // не сработал защитный выключатель

    UN M1.0 // бит состояния движения влево не установлен

    = M2.2

    // Движение влево

    LD E0.0 // Команда влево

    O M1.0 // или состояние левого движения

    UN M2.0 // и нет блокировки

    U M2.1 // разрешение на движение влево

    = M1.0 // бит состояния движения влево

    = A0.0 // выход контактора

    = A0.4 // выход сигнальной лампы движения влево

    // Движение вправо

    LD E0.1 // Команда вправо

    O M1.1 // или состояние правого движения

    UN M2.0 // и нет блокировки

    U M2.2 // разрешение на движение вправо

    = M1.1 // бит состояния движения вправо

    = A0.1 // выход контактора

    = A0.3 // выход сигнальной лампы движения вправо

    // Определение фронта процесса выключения

    LDN M1.0 // бит состояния движения влево

    UN M1.1 // бит состояния движения вправо

    = A0.2 // выход сигнальной лампы состояния ВЫКЛ

     

     

    LD A0.2 // При выключении

    ED

    S M2.3,1 // Устанавливается вспомогательный меркер для

    // процесса выключения

    LD M2.3

    MOVW 500,VW20 // Загрузка времени ожидания для перезапуска

    TON T33,VW20 // Пуск таймера ожидания для перезапуска

    U T33

    R M2.3, 1 // Сброс вспомогательного меркера после времени ожидания

    // Индикация состояния ВЫКЛ, Время ожидания

    LD M2.3 // Вспомогательный меркер времени ожидания

    // процесса выключения

    U SM0.5 // Мигание 1 с

    = A0.5 // Выход сигнальная лампа время ожидания

     

    MEND // Конец основной программы

    Различные возможности установки битов или байтов в S-200

    Данная программа описывает различные возможности занесения в области памяти определенных значений или очистки определенных областей памяти.

    В этом примере применения рассмотрены:

    Рисунок  SEQ Рисунок * ARABIC 1 Структура программы

    Описание программы вкл. листинг

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

    Используются команды:

    FILL Устанавливает один или несколько битов

    FOR… NEXT Цикл FOR…NEXT R Сбрасывает один или несколько битов

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

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

    // TITEL=FORNEXT

    // Основная программа содержит вызовы подпрограмм 0, 1 и 2.

    LD SM0.0 // Всегда в единице

    CALL 0 // Вызов подпрограммы 0

    // (FILL)

    CALL 1 // Вызов подпрограммы 1

    // (FOR…NEXT)

    CALL 2 // Вызов подпрограммы 2

    // (Reset)

    MEND // Конец основной программы

    Подпрограммы

    // Подпрограмма 0 копирует значение слова VW200 в слово VW204 и в 6 последующих слов памяти (до VW216), если установлен вход E0.0.

    SBR 0 // Подпрограмма 0

    LD E0.0 // Чтение входа E0.0

    MOVW 16#ABC3,VW200 Запись 16-рич.значения

    // ABC3 в VW200

    FILL VW200,VW204,7 Копирование значения слова VW200 в слово VW204 и шесть последующих слов памяти (до VW216)

    RET // Конец подпрограммы 0

    Подпрограмма 1 копирует следующие друг за другом числа в переменную область памяти, если установлен вход E0.1. Число выполняемых циклов определяется номерами первого (в VW10) и последнего цикла (в VW0). Текущее значение выполненных циклов находится в слове памяти VW20. Первое число, с которого надо начинать счет, загружается в аккумулятор AC0. Первый адрес, под которым надо запоминать значение,заносится в аккумулятор AC1, действующий в качестве указателя. Затем начинается выполнение циклов. К начальному значению AC0 за один цикл прибавляется 4, указатель AC1 увеличивается на следующее слово памяти, пока не будет обработан последний цикл.

    SBR 1 // Подпрограмма 1

    LD E0.1 // Чтение входа E0.1

    MOVW 10,VW0 // Номер последнего цикла в VW0

    MOVW 0,VW10// Номер первого цикла в VW10

    MOVW 0,VW20// Текущий номер цикла в VW20 (счетчик)

    MOVW 50,AC0// Начальное значение счета в аккумулятор 0

    MOVD &VB100,AC1// аккумулятор 1 (указатель памяти) указывает на байт памяти VB100

    FOR VW20,VW10,VW0 / Начало цикла

    MOVW AC0,*AC1// Сохранить текущее значение счетчика по текущ. адресам памяти

    INCD AC1 // Инкрементировать указатель памяти на 1 байт

    INCD AC1 // Инкрементировать указатель памяти на 1 байт

    +I 4,AC0 // Прибавить 4 к текущ. значению счетчика

    NEXT // Конец цикла

    RET // Конец подпрограммы 1

    // Подпрограмма 2 сбрасывает биты памяти с V100.0 до V121.7 и с V204.0 до 217.7, если установлен вход E0.2.

    SBR 2 // Подпрограмма 2

    LD E0.2 // Установка входа E0.2

    R V100.0,176// Сброс битов с V100.0 до 121.7

    R V204.0,112// Сброс битов с V204.0 до 217.7

    RET // Конец подпрограммы 2

    S7-200 Примеры. Обработка фронтов входных сигналов

    Этот пример показывает, как можно определить смену сигнала с помощью функции определения фронта S7-200. При этом различаются положительные и отрицательные фронты, причем под положительным фронтом понимается смена сигнала с ‘0’ на ‘1’, а под отрицательным – смена сигнала с ‘1’ на ‘0’. Логическая ‘1’ означает, что на вход подано напряжение, а под ‘0’ понимается отсутствие напряжения на входе.

    Программа запоминает число положительных фронтов на входе E0.0 и отрицательных на входе E0.1 в слове меркеров. Можно дополнить программу опросом запомненных значений, проверяя при этом все ли фронты опознаны.

    Структура программы

     

     

    Описание программы вкл. листинг

    Программа опрашивает вход E0.0 и и проверяет затем с помощью команды EU (Edge Up), произошла ли положительная смена сигнала, то есть смена с ‘0’ на ‘1’. Если да, то значение меркерного слова MW1 повышается на 1. Отрицательный фронт входа E0.1 будет сосчитан посредством команды ED (Edge Down) iв меркерном слове MW3. Если число сосчитанных фронтов достигает 127, то соответствующий меркер сбрасывается в ноль. Не забывайте, что младший байт слова меркеров MW1 это байт M2, а старший байт это байт M1. В слове меркеров MW3 соответственн младший бит M4, а старший M3.

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

     

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

    LD SM0.1 // Только в первом цикле в единицу

    MOVD 0, MD1// Установка двойного слова MD1 в ноль

    LD E0.0 // Положительный фронт

    EU

    +I 1,MW1// При смене фронта: слово меркеров MW1 увеличивается на 1

    LDW= 127,MW1// После 127 смен фронта (=свободно задаваемое значение)

    MOVW 0,MW1// Слово меркеров MW1 сбрасывается в 0

    LD E0.1 // Отрицательный фронт

    ED

    +I 1,MW3// При смене фронта: слово меркеров MW3 увеличивается на 1

    LDW= 127,MW3// После 127 смен фронта (=свободно задаваемое значение)

    MOVW 0,MW3// Слово меркеров MW3 сбрасывается в 0

    MEND // Конец программы