Tag Archives: siemens plc

Языки программирования 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 – с помощью С/С++.

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

Глоссарий Siemens PLC (продолжение)

Программа пользователя — В SIMATIC проводится различие между  операционной системой CPU и программами пользователя. Последние создаются с помощью программного пакета STEP 7 на возможных языках программирования (контактный план, функциональный план и список команд) и сохраняются в кодовых блоках. Данные сохраняются в блоках данных.

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

Рабочая память — это RAM.память в CPU, к которой процессор обращается во время обработки программы пользователя.

Рабочий режим — Режимами работы ПЛК SIMATIC S7 являются: STOP, START-UP, RUN.

Реакция на  ошибку исполнения. Операционная система может реагировать следующим образом: перевод системы автоматизации в состояние STOP, вызов организационного блока, в котором пользователь может запрограммировать реакцию или отображение ошибки.

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

Сжатие — С помощью онлайновой функции PG .Сжатие (Compress). все действительные блоки в ОЗУ CPU сдвигаются к началу памяти пользователя, образуя связную, без пробелов область. Благодаря этому ликвидируются все пробелы, возникающие при стирании или корректировке блоков.

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

Система автоматизации — это устройство управления с программой, хранящейся в памяти, в SIMATIC S7, программируемый логический контроллер.

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

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

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

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

Скорость передачи — Скорость при передаче данных (бит/с)

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

Сохраняемость — Сохраняемой является область памяти, содержимое которой сохраняется также и после исчезновения напряжения сети и после перехода из STOP в RUN. Несохраняемая область битов памяти (меркеров), таймеров и счетчиков после исчезновения напряжения сети и после перехода из STOP в RUN сбрасывается.

Сохраняемыми могут быть:

• Биты памяти (меркеры)

• Таймеры S7

• Счетчики S7

• Области данных

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

• конфигурации S7.300

• текущей параметризации CPU и параметрируемых сигнальных модулей

• текущих состояний и процессов в CPU и параметрируемых сигнальных

модулях.

Счетчики . это составные части  системной памяти CPU. Содержимое счетчиков может быть изменено с помощью команд STEP 7 (например, прямой или обратный счет).

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

Тактовые биты памяти (меркеры) — Биты памяти, которые могут быть использованы в программе пользователя для получения тактовой частоты (1 байт памяти).

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

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

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

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

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

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

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

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

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

Central Processing Unit = центральный модуль системы автоматизации S7 с управляющим и арифметическим устройством, памятью, операционной системой и интерфейсом для устройства программирования.

DPV1 — Аббревиатура DPV1 означает расширение функций ациклических услуг (включая, например, новые прерывания), предоставляемых протоколом DP. Функциональные возможности DPV1 включены в IEC 61158/EN 50170, том 2, PROFIBUS.

Flash EPROM — FEPROM соответствуют по своим свойствам сохранять данные при отключении питания электрически стираемым EEPROM (ЭСППЗУ), однако стираются существенно быстрее (FEPROM = Flash Erasable Programmable Read Only Memory). Они используются на  платах памяти.

FORCE — Функция «Force [Принудительно задать значение]» используется для присваивания фиксированных значений определенным переменным из программы пользователя или CPU (включая входы и выходы). В этом контексте обратите, пожалуйста, внимание на ограничения, приведенные в разделе Обзор тестовых функций в главе Тестирование, диагностика и устранение неисправностей данного руководства.

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

• Один CPU посылает GD.пакет другим CPU.

• Один CPU посылает и принимает GD.пакет от другого CPU.

GD.контур идентифицируется номером GD.контура.

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

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

GSD.файл — В файле основных данных устройства (GSD.файле) хранятся все свойства, относящиеся 81 _1082 к slave-устройству. Формат GSD.файла хранится в стандарте EN 50170, том 2, PROFIBUS.

Master, если он обладает  маркером, может посылать данные другим абонентам и требовать данных от других абонентов (= активный абонент).

Master-устройство DP — Основная (ведущая) станция (—> Master), которая ведет себя в соответствии со стандартом EN 50170, часть 3, называется Master-устройством DP.

MPI — Многоточечный интерфейс (MPI) . это интерфейс устройства программирования SIMATIC S7. Он дает возможность одновременной работы нескольких абонентов (устройств программирования, текстовых дисплеев, панелей оператора) с одним или несколькими центральными модулями. Каждый абонент идентифицируется однозначным адресом (адресом MPI).

PROFIBUS.DP — Цифровые, аналоговые и интеллектуальные модули, а также широкий спектр полевых устройств по EN 50170, часть 3, напр., приводы или клапаны расположены у управляемого процесса на удалении до23 км о системы автоматизации. При этом модули и полевые устройства связаны с системой автоматизации через полевую шину PROFIBUS.DP, и обращение к ним происходит, как и к централизованной периферии.

RAM (Random Access Memory) . это полупроводниковая память со свободным доступом (на запись и чтение).

Slave (подчиненная, ведомая станция) может обмениваться данными с  Master-устройством только по запросу последнего.

Slave-устройство DP — Подчиненная (ведомая) станция (—> Slave), которая приводится в действие на шине PROFIBUS с помощью протокола PROFIBUS.DP и ведет себя в соответствии со стандартом EN 50170, часть 3, называется Slave-устройством DP.

START-UP — Рабочий режим START-UP (ЗАПУСК) выполняется при переходе из рабочего режима STOP в рабочий режим RUN. Он может быть инициирован переключателем режимов работы, или после включения напряжения сети, или командой с устройства программирования. В S7-300 при этом выполняется  новый пуск.

STEP 7 — Язык программирования для разработки программ пользователя для контроллеров SIMATIC S7.

Глоссарий Siemens PLC

Адрес — это обозначение для определенного операнда или области операндов, примеры: вход I 12.1; слово памяти (меркерное слово) MW 25; блок данных DB 3.

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

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

Аппаратное прерывание запускается запускающими прерывания модулями при возникновении в управляемом процессе определенного события. Аппаратное прерывание передается на CPU. В зависимости от приоритета этого прерывания запускается соответствующий —> организационный блок.

Биты памяти (меркеры) . это составная часть —> системной памяти CPU для хранения промежуточных результатов. К ним можно обращаться побитно, побайтно, словами или двойными словами.

Блоки данных (DB) — это области данных в программе пользователя, содержащие данные пользователя. Имеются глобальные блоки данных, к которым можно обращаться из всех кодовых блоков, и экземплярные блоки данных, которые поставлены в соответствие определенному вызову FB.

Блок питания сигнальных и функциональных модулей и подключенной к ним

процессной периферии.

Буферная батарея обеспечивает, что —> программа пользователя сохраняется в —> CPU при исчезновении напряжения питания, и определенные области данных и биты памяти, таймеры и счетчики остаются реманентными. У CPU, не требующих обслуживания (напр., CPU 31xC), для сохраняемости данных батарея не требуется.

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

Варистор — Резистор, сопротивление которого зависит от напряжения

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

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

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

Глобальные данные . это данные, к которым можно обратиться из любого кодового блока (FC, FB, OB). В частности, это биты памяти М, входы I, выходы Q, таймеры, счетчики и блоки данных DB. К глобальным данным можно обращаться абсолютно или символически.

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

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

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

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

Диагностическое прерывание — Модули, способные к диагностике, через диагностические прерывания сообщают  CPU распознанные системные ошибки.

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

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

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

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

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

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

Классы приоритета — Операционная система CPU S7 предоставляет максимум 26 классов приоритета (или «уровней обработки программы»), которым поставлены в соответствие различные организационные блоки. Классы приоритета определяют, какие OB прерывают другие OB. Если класс приоритета включает в себя несколько OB, то они не прерывают друг друга, а обрабатываются последовательно.

Кодовый блок . это блок в SIMATIC S7, который содержит часть программы пользователя STEP 7. (В противоположность —> блоку данных, который содержит только данные.)

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

Конфигурирование — Назначение модулей носителям модулей/слотам и (напр., в случае

сигнальных модулей) адресам.

Коэффициент редукции определяет по отношению к циклу CPU, как часто посылаются и принимаются GD-пакеты.

Маркер — Право доступа к шине

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

Новый пуск — При запуске центрального процессора (например, при переводе переключателя режимов работы из положения STOP в RUN или при включении сетевого напряжения) перед циклической обработкой программы (ОВ 1) сначала обрабатывается организационный блок ОВ 100 (новый пуск). При новом пуске считывается образ процесса на входах и программа пользователя STEP 7 обрабатывается, начиная с первой команды ОВ 1.

Обработка ошибок через OB — Если операционная система распознает определенную ошибку (напр., ошибку доступа в STEP 7), то она вызывает предусмотренный для этого случая организационный блок (ОВ ошибок), в котором может быть определено дальнейшее поведение CPU.

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

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

Опорный потенциал — Потенциал, относительно которого рассматриваются и/или измеряются потенциалы цепей тока.

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

Ошибка исполнения — Ошибка, возникающая при обработке программы пользователя в системе автоматизации (т.е. не в управляемом процессе).

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

Параметр

1. Переменная кодового блока STEP 7

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

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

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

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

Плавающий потенциал — Потенциал, не имеющий гальванической связи с землей.

Платы микропамяти . это средства запоминания для CPU и CP. От  платы памяти MMC отличается только меньшими размерами.

Платы памяти . это средства запоминания в формате пластиковых карточек для CPU и CP. Они реализуются как  RAM или  FEPROM.

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

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

Прерывание —  Операционная система CPU знает 10 различных классов приоритетов, регулирующих обработку программы пользователя. К этим классам приоритетов принадлежат, среди прочего, прерывания, напр., аппаратные прерывания. При появлении прерывания операционной системой автоматически вызывается соответствующий организационный блок, в котором пользователь может запрограммировать желаемую реакцию (напр., в FB).

Прерывание, зависящее от производителя, может генерироваться slave- устройством DPV1. Оно приводит к вызову OB 57 в master-устройстве DPV1.

Прерывание по времени относится к одному из классов приоритета при обработке программы SIMATIC S7. Оно генерируется в зависимости от определенной даты (или ежедневно) и времени суток (напр., 9:50 или ежечасно, ежеминутно). Затем обрабатывается соответствующий организационный блок.

Прерывание по обновлению может генерироваться slave-устройством DPV1. Оно приводит к вызову OB 56 в master-устройстве DPV1.

Прерывание по состоянию может генерироваться slave-устройством DPV1.

Оно приводит к вызову OB 55 в master-устройстве DPV1.

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

Приоритет OB —  Операционная система CPU различает классы приоритета, например, циклическую обработку программы, обработку программы, управляемую аппаратными прерываниями. Каждому классу приоритета поставлены в соответствие организационные блоки (ОВ), в которых пользователь S7 может запрограммировать некоторую реакцию. В соответствии со стандартом ОВ имеют различные приоритеты, определяющие в какой последовательности они должны обрабатываться или, наоборот, прерывать друг друга в случае одновременного вызова.

Инструментальные средства для проектирования Step7

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

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

Языки высокого уровня

Следующие языки доступны как дополнительные пакеты для использования при программировании программируемых логических контроллеров SIMATIC S7-300/S7-400:

  • • S7 GRAPH – это язык программирования, используемый для программирования последовательного управления (состоящего из шагов и переходов). В этом языке ход процесса делится на шаги. Эти шаги содержат действия по управлению выходами. Переход от одного шага к другому управляется условиями переключения.
  • • S7 HiGraph – это язык программирования, используемый для описания асинхронных, непоследовательных процессов в виде графов состояний. Чтобы сделать это, установка разбивается на отдельные функциональные единицы, каждая из которых может принимать различные состояния. Эти функциональные единицы могут быть синхронизированы путем обмена сообщениями между графами.
  • • S7 SCL – это текстовый язык высокого уровня, удовлетворяющий требованиям стандарта EN 61131-3 (IEC 1131-3). Он содержит языковые конструкции, подобные имеющимся в языках программирования Pascal и C. Поэтому S7 SCL особенно пригоден для пользователей, привыкших работать с языками высокого уровня. Язык S7 SCL может быть использован, например, для программирования сложных и часто встречающихся функций

Графический язык

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

Дополнительное программное обеспечение

  • • Borland C++ (только для M7) содержит среду проектирования фирмы Borland.
  • • С помощью DOCPRO Вы можете организовать все конфигурационные данные, которые Вы создаете с помощью STEP 7, в руководства по монтажу. Это облегчает управление конфигурационными данными и позволяет подготовить информацию к распечатке в соответствии с указанными стандартами
  • • HARDPRO – это система конфигурирования аппаратуры для S7-300, предназначенная для поддержки пользователя при крупномасштабном конфигурировании сложных задач автоматизации.
  • • M7-ProC/C++ (только для M7) позволяет встроить среду проектирования Borland для языков программирования С и С++ в среду проектирования STEP 7.
  • • Вы можете использовать S7 PLCSIM (только для S7) для имитации программируемых контроллеров S7, соединенных с устройством программирования или РС, в целях тестирования.
  • • S7 PDIAG (только для S7) предоставляет стандартизованную конфигурацию диагностики процесса для SIMATIC S7-300/S7-400. Используя диагностику процесса, Вы можете обнаруживать дефекты и неисправные состояния вне программируемого контроллера (например, не достигнут конечный выключатель).
  • • TeleService позволяет Вам программировать и обслуживать удаленные программируемые контроллеры S7 и M7 через телефонную сеть, используя Ваше устройство программирования или PC.

 

Пользовательская программа для DP-Master.a (S7-400 c CPU416-2DP)

Для создания программы DP-Master.а для программы-примера откройте в проекте контейнер объектов .Blocks., содержащийся в контейнере объектов SIMATIC 400(1). Откройте ОВ1 и вызовите, как показано ниже, SFC14 и SFC15.

Чтобы при работе программы-примера в DP-Master.е избежать останова CPU из-за отсутствия ОВ диагностики и ошибок, создайте в CPU ОВ82 и ОВ86. Как области данных для входных/выходных данных I-Slave в примере должны применяться блоки данных DB10 и DB20. Эти DB должны иметь соответствующую длину.

• Создайте DB10 и DB20.

• Внутри каждого блока создайте по переменной с типом ARRAY[1..10] OF BYTE.

• Загрузите ОВ82, ОВ86, DB10, DB20 в CPU.

• После загрузки переведите CPU в состояние RUN-P. Светодиоды .SF DP. и .BUSF. не должны светиться или мигать. Обмен начался.

STL-программа DP-Master.а в STEP 7 c программой в OB1 для обмена данными через SFC14 и SFC15

DPCALL

SFC 14

LADDR :=W#16#3E8 // Адрес входного модуля (1000 dec)

RET_VAL:=MW200 // Возвращаемое значениен в MW200

RECORD :=P#DB10.DBX 0.0 BYTE 10 // Указатель на область данных для

//входных данных

CALL SFC 15

LADDR :=W#16#3E8 // Адрес выходного модуля (1000 dec)

RECORD := P#DB20.DBX 0.0 BYTE 10 // Указатель на область данных для выходных данных

RET_VAL:=MW202 // Возвращаемое значениен в MW202

Проверка обмена данными между DP-Master.ом и DP-Slave.ом

Чтобы протестировать обмен входными/выходными данными, выберите в SIMATIC Manager при имеющейся MPI-связи между PG/PC и CPU416-2DP online-вид для проекта. Откройте таблицу Monitor/Modify Variables. В ней в качестве операндов задайте DB10.DBB0 и DB20.DBB0 (DB10.DBB0 . 1-й байт выходных данных I-Slave; DB20.DBB0 DBB0 . 1-й байт входных данных ISlave).

Пользовательская программа для I-Slave (S7-300 c CPU315-2DP)

Следующий пример показывает применение SFC14 и SFC15. Он ограничивается участием станции S7-DP-Master (S7-400) вместе со станцией S7-300, как I-Slave. Поэтому Вы теперь должны соединить DP-интерфейсы S7-300 и S7-400 кабелем PROFIBUS. В примере следует исходить из того, что обе системы управления стерты и находятся в состоянии RUN (ключ в положении RUN-P).

Оба участника в примере имеют входные/выходные данные с длиной 10 байт с консистентностью .Total length. Это означает, что для обмена входными/выходными данными между DP-Slave.ом (I-Slave.ом) и DP-Master.ом должны применяться SFC14 и SFC15. Точно так же, как у S7-DP-Master.а, у I-Slave.a в нашем примере обмен консистентными входными/выходными данными, длиной в 3 байта или, как в нашем примере, более, чем 4 байта, должен происходить с помощью SFC14 и SFC15. Обратите внимание при этом, как показано на рисунке 1, что выходные данные, передаваемые в DP-Master.е через SFC15, в I-Slave.е читаются как входные данные через SFC14. С входными данными DP-Master.а все происходит соответственно наоборот.

Рис. 1 Обмен входными/выходными данными с I-Slave в проекте-примере через SFC14 и SFC15

Так как CPU SIMATIC S7-300 не распознает ошибок адресации, можно помещать входные/выходные данные, принимаемые и, соответственно, посылаемые с помощью SFC в программе-примере в области отображения процесса, не занятые в конфигурации CPU315-2DP модулями, например, IB100 . 109 и QB100 . 109. На основании этого к этим данным можно в пользовательской программе получить доступ с помощью простых команд для байта, слова, двойного слова.

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

• Выберите, как показано на рисунке 2, в SIMATIC-Manager с открытым проектом S7-PROFIBUS-DP, контейнер SIMATIC 300(1), потом контейнер Blocks. В контейнере объектов уже существует организационный блок ОВ1 и созданные в HW-Config системные данные SDB (системные блоки данных).

Рис. 2 SIMATIC Manager с открытым окном контейнера объектов Blocks

Двойным щелчком на ОВ1 откройте этот блок в LAD/FBD/STL-редакторе в представлении STL.

• Введите в программном редакторе команду .CALL SFC14. и нажмите кнопку .Enter.. SFC14 DPRD_DAT появится со своими входными/выходными параметрами. Снабдите формальные входные/выходные параметры фактическими, как показано на рисунке 3.

Вызовите также SFC15 и снабдите входные/выходные параметры соответственно. Блоки SFC14 и SFC15 можно скопировать в проект из библиотеки стандартных функций (.SIEMENSSTEP7S7libsSTDLIB30).

Рис. 3 Программный редактор STL с OB1 программы- примера для CPU315-2DP

Чтобы в примере было просто контролировать обмен данными в Master.е, передайте, как показано на рисунке 6.6, с помощью команд загрузки и передачи первый принимаемый байт (IB100) в первый посылаемый байт (QB100). Таким образом посланный из DP-Master.а первый байт попадает в область входных данных I-Slave, а оттуда . в область выходных данных ISlave, которая передается обратно в DP-Master.

• Запомните ОВ1. Теперь в папке блоков помимо блока ОВ1 и папки System Data, содержатся блоки SFC14 и SFC15.

Чтобы избежать перехода CPU в STOP во время работы нашего примера из-за отсутствия ОВ в I-Slave.е, которые операционная система вызывает при смене рабочего состояния DP-Master.а или при выходе его из строя, нужно создать соответствующие ОВ ошибок.

• Смена рабочего состояния CPU DP-Master.а с RUN на STOP вызывает ОВ82 (диагностические сигналы) в I-Slave. Поэтому создайте в CPU I-Slave.а ОВ82.

• Далее, при выходе из строя DP-Master.а в I-Slave.е вызывается ОВ86 (выход из строя носителя модулей). Чтобы избежать останова CPU по этой причине, создайте ОВ86.

• Передайте все блоки в CPU.

• После окончания процесса передачи CPU315-2DP должен опять переключен в состояние RUN. Светодиоды CPU315-2DP для DP-интерфейса показывают следующее состояние:

— cветодиод .SF DP. . горит;

— cветодиод .BUSF. . мигает.

Общие положения и принципы работы Profibus

Децентрализованная периферия, подключенные через DP-интерфейс к системе SIMATIC S7, обрабатывется так же, как и периферия, находящаяся в центральной корзине или корзинах расширения. В зависимости от предоставленных при проектировании в HW-Config адресов обмен входными и выходными данными происходит или прямо через изображение процесса, или через соответствующие команды доступа к периферии. Однако в системе SIMATIC S7 cуществуют специальные системные функции для работы с DP-периферией.

• Для обмена данными со сложными DP-Slave.ами, которые имеют консистентные  входные/выходные данные, в системе SIMATIC S7 предусмотрены SFC14 DRRD_DAT и SFC15 DPWR_DAT.

• Для запуска сигналов от процесса на DP-Master.е из системы S7-300, используемой как I-Slave, предусмотрена функция SFC7 DP_PRAL.

• Параметры модулей S7-DP-Slave.а можно читать и записывать из пользовательской программы с помощью вызовов специально для этого предусмотренных функций.

• С помощью SFC11 DPSYC_FR можно синхронизировать запись выходов и фиксировать входы DP-Slave.ов.

Обмен данными с помощью команд доступа к периферии

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

Однако как только с помощью DP-Save.а обрабатывается информация длиной 3 байта или более, чем 4 байта и установлена консистентность .Total length., нельзя обмениваться входными/выходными данными через изображение процесса или через соответствующие команды прямого доступа.

Рис. 1 Обмен входными / выходными данными с помощью STEP7 через команды доступа к периферии

Рис. 2 Входные/выходные данные DP-Slave. Актуализация и доступ

Как показано на рисунке 6.2, актуализация DP-входных/выходных данных определяется исключительно циклическим обменом данными (шинным циклом) DP-Master.a c DP-Slave.ами. При известных обстоятельствах это может означать, что между двумя доступами к периферии в пользовательской программе область периферии DP-Slave.а может быть актуализирована (изменена), то есть, например, данные, прочитанные в первом и во втором циклах, относятся к разным  моментам  времени. По этой причине гарантируется консистентность данных только для тех периферийных структур и областей, к которым пользовательская программа обращается без перерывов с помощью команд для байтов, слов или двойных слов.

Обмен консистентными данными с помощью SFC14 DPRD_DAT и SFC15 DPWR_DAT

DP-Slave.ы, которые реализуют сложные функции, не обходятся обычными простыми структурами данных. Для структур данных, применяемых в этих DP-Slave.ах и определяемых, например, областями параметров регулятора или привода, необходимы большие области входных/выходных данных. Подобные области входных/выходных данных, которые содержат единую информацию и не могут разделяться на байты, слова или двойные слова, должны обрабатываться как консистентные данные. У некоторых входных/выходных модулей можно с помощью конфигурационной телеграммы установить консистентные области входных/выходных данных с длиной максимум 64 байта или, соответственно, слова (128 байт). Обмен данными с консистентными областями данных DPSlave а осуществляется с помощью SFC14 DRRD_DAT и SFC15 DPWR_DAT.

Рисунок 3 показывает принцип работы SFC14 DRRD_DAT и SFC15 DPWR_DAT.

Рис. 3 Обмен входными/выходными данными через SFC14 и SFC15

Параметр SFC LADDR служит здесь как указатель на область входных данных для чтения или область выходных данных записи. В этом параметре вызова SFC задается начальный адрес области входных или выходных данных в 16-ичном формате, спроектированный в HW-Config. Параметр SFC RECORD задает область-источник или область-цель для данных в CPU.

Выключение освещения лестницы по времени

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

Эта программа служит примером управления освещения лестницы. Кнопки ВКЛ с разных этажей подключены на вход E0.0 системы управления. После того как кнопка ВКЛ нажата, свет будет включен в течение 30 секунд, пока установлен предусмотренный для этого вход A0.0. Повторное нажатие в течение этого времени кнопки ВКЛ, начинает отсчет времени заново, что гарантирует, что включенное освещение через 30 секунд после последнего нажатия кнопки будет выключено.

 

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

 

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

 

Если на входе E0.0 установлен сигнал ВКЛ (E0.0 = логическая ‘1’), то бит таймера T37 сбрасывается, причем таймер T37 начинает отсчет сначала. Одновременно утанавливается выход A0.0. Установка в начало стека необходимо для того, чтобы таймер был активен в каждом цикле. По прошествии 30 секунд таймер устанавливает таймерный бит T37. При этом выход A0.0 снова выключается.

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

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

// TITEL = ВЫКЛЮЧЕНИЕ ПО ВРЕМЕНИ

LD E0.0 // Если кнопка вкл

// нажата

R T37, 1 // то интервал времени

// запускается заново

S A0.0,1 // и свет включается

LD SM0.0 // Устанавл. начало

// стека для таймера

TON T37, 300

// Таймер считает 30 с

LD T37 // Если время вышло

//

R A0.0, 1// свет выключается

MEND // Конец

 

Счетчик часов работы Step7

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

Данная программа-пример служит для того, чтобы определять длительность работы привода (тормоза, автоматы, и т.д.). Предпосылкой к этому является то, что при работающем приводе на вход E0.0 подается сигнал 24В, а при стоящем двигателе напряжение отсутствует.

Появление сигнала запускает счет времени, а при отсутствии сигнала счет времени прерывается пока сигнал не появится снова. Число сосчитанных часов заносится в слово данных VW0, минуты в слово данных VW2, а секунды ы слово данных VW4.

 

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

 

 

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

Цикл программы начинается с опроса состояния входа E0.0. Если логическое состояние ‘1’, то вызывается Подпрограмма 1. В Подпрограмме 1 таймер T5 (задержка включения с запоминанием) устанавливается на одну секунду. По прошествии этой секунды устанавливается бит таймера ‘T5’, а значение слова меркеров MW4 для значения секунд увеличивается на 1. Для того чтобы при этом при следующем цикле таймер снова мог быть запущен, бит таймера ‘T5’ сбрасывается.

Если меркер секунд достигает значения 60, то меркер минут MW2 повышается на 1, а меркер секунд MW4 снова сбрасывается в ноль. (Знак ‘>‘ служит здесь для повышения надежности).

Если меркер минут достигает значения 60, то он сбрасывается в ноль, а слово данных VW0, работающее как память для прошедших часов, увеличивается на 1. Кроме того меркер минут MW2 копируется в слово данных VW2 для текущего значения минут, а меркер секунд MW4 в слово данных VW4 для текущего значения секунд. На этом работа подпрограммы завершается.

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

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

 

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

// TITEL= СЧЕТЧИК ЧАСОВ РАБОТЫ

LD E0.0 // Время работы

// входа E0.0 будет

// измерено

CALL 1

MOVB VB5, AB0// Выдача теста

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

 

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

SBR 1 // Начало подпрограммы

// измерений

LD SM0.0 // Установка начала стека

TONR T5,10 // Задание времени

// тацмера: 100мсек *

// 10 = 1 сек

LD T5 // По прошествии

// одной секунды

INCW VW4 // меркер такта

// секунд

// инкрементируется

R T5,1 // Сброс бита таймера

LDW>= VW4,60 // Через 60 сек

INCW VW2 // инкрементируется

// меркер минут

MOVW 0, VW4 // Меркер секунд

// сбрасывается

LDW>= VW2,60 // Через 60 минут

INCW VW0 // значение часов в VW0

// инкрементируется

MOVW 0, VW2 // Меркер минут

// сбрасывается

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

 

 

КОПЛ-включение асинхронного двигателя в 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. Устал я чего — то все это расписывать. Возьму фотоаппарат нащелкаю фоток любимого контроллера и буду их ретушировать. А бесплатные программы для фотографий найти совсем несложно.