8-900-374-94-44
[email protected]
Slide Image
Меню

Stl siemens: Siemens | Сименс | Преобразователи частоты и промышленная автоматика Siemens

Содержание

Siemens | Сименс | Преобразователи частоты и промышленная автоматика Siemens

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

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

Преобразователи частоты Siemens

К числу инновационных разработок концерна Siemens относятся надежные и удобные для любого

Устройства плавного пуска Siemens

Устройства данной серии имеют небольшие габаритные размеры, встроенный шунтирующий контактор

Контроллеры Siemens

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

Регулирующие и смесительные клапаны Siemens

В данном разделе представлены долговечные и надежные клапаны Siemens, совместимые с любыми

Автоматические регуляторы перепада давления Siemens

Устройства Siemens VSG и Siemens VHG применяется в качестве регуляторов перепада давления или

Газовые клапаны Siemens

Клапаны Siemens газовые предназначены для применения на газовых теплогенераторах, в

Радиаторные клапаны Siemens

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

Приводы для регулирующих клапанов Siemens

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

Приводы для газовых клапанов Siemens

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

Приводы воздушных заслонок Siemens

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

Сервоприводы Siemens

Электромоторные приводы Siemens применяются совместно с различными клапанами Siemens

Автоматы горения Siemens

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

Менеджеры горения Siemens

Менеджер горения это устройство на основе микропроцессора с соответствующими компонентами для

Датчики и сенсоры для горелок Siemens

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

Датчики для помещений Siemens

Датчики перепада давления используются для считывания показаний перепада давления

Термостаты комнатные Siemens

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

Термостаты капиллярные Siemens

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

Контроллеры Albatros

Albatros — это контроллеры для автоматизации котельных (линейка RVA) и индивидуальных тепловых пунктов (линейка RVD)

Контроллеры Sigmagir

Sigmagir — контроллеры тепловых пунктов. Управление тепловыми пунктами с контуром отопления и ГВС. Оптимизирован для управления температурой в обратной магистрали

Контроллеры Synco

Ряд контроллеров Synco 100 состоит из температурных контроллеров для прямого монтажа (не требуется панели управления) и контроллеров комнатной температуры

Контроллеры универсальные Siemens

Универсальные контроллеры для поддержания комфорта в помещениях при помощи управления системами вентиляции, отопления, кондиционирования и

Преобразователи частоты Sinamics

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

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

Линейка Sinamics включает в себя:
  • Sinamics G110 — привод на малые мощности.
  • Sinamics G120 — привод модульной конструкции для средних мощностей.
  • Sinamics G110D — компактный и простой привод малой мощности. Децентрализованный.
  • Sinamics G120D — привод модульной конструкции для средних мощностей. Децентрализованный.
  • Sinamics G130, Sinamics G150 — Универсальные преобразователи на приводы высоких мощностей.

Частотные преобразователи Micromaster

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

Серия преобразователей частоты Micromaster — это синоним слова «качество». На сегодняшний день компания Siemens выпускает четвертое поколение преобразователей — Micromaster 4.

  • Micromaster 420 — Преобразователь частоты, основной задачей которого регулирование скорости стандартных приводов. Применяется в конвейерных системах, упаковочных машинах, насосных станциях, вентиляторном оборудовании
  • Micromaster 430 — Преобразователь, предназначенный в основном для работы приводов насосных станций и вентиляторов. Обеспечивается программным обеспечением для решения типовых задач
  • Micromaster 440 — Преобразователь частоты с режимом векторного управления с обратной связью. Используется в приводах, где есть необходимость использовать большой диапазон регулирования

Устройства плавного пуска SIRIUS

Софт-стартеры или устройства плавного пуска SIRIUS 3RW осуществляют плавный пуск и останов трёхфазных электродвигателей методом нарастания/спада напряжения. Устройства данной серии имеют небольшие габаритные размеры, встроенный шунтирующий контактор.

Преимущества от использования данных устройств:
  • Плавный пуск и останов
  • Бесступенчатый запуск
  • Уменьшение пиковых токов
  • Исключение колебания напряжения в сети
  • Разгрузка сети электроснабжения
  • Снижение механических нагрузок на привод
  • Надёжная коммутация, не нуждающаяся в уходе
  • Простота в обслуживании
  • Значительная экономия места и объёма электромонтажа по сравнению с традиционными пускателями

3RW30 — Это серия цифровых устройств плавного запуска для асинхронных электродвигателей мощностью от 0,25 до 55 кВт включительно. Этот тип устройств плавного пуска широко используется в холодильном оборудовании, кондиционерах, системах управления насосами, ленточными конвейерами и многих других применениях. За счёт двухфазного управления на протяжении всего разгона ток во всех трёх фазах поддерживается на уровне минимальных значений.

Благодаря непрерывному действию напряжения здесь не возникают неизбежные, например, для пускателей типа «звезда–треугольник» пиковые токи и моменты. Применение этих устройств снижает нагрузку на сеть электропитания, тем самым, продлевая ей жизнь.

3RW40 — Устройства плавного пуска SIRIUS 3RW40 обладают такими же преимуществами, как и 3RW30/31. Однако данные модели оснащены функциями, уникальными в данном диапазоне мощности: полупроводниковая защита от перегрузки двигателя и встроенная защита устройства, регулируемые ограничения тока и двухфазный метод управления (баланс полярности).

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

Асинхронный двигатель

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

Программируемые логические контроллеры

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

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

Siemens Simatic

Несмотря на изменчивость рынка, Simatic не сдает лидирующие позиции, обеспечивая предприятиям надежное и качественное функционирование. При этом данная линейка поддерживает такие популярные протоколы как Ethernet и MPI, Point to Point и PPI, и многие другие. Это позволит вашему бизнесу не только начать новую жизнь, но и обойти всех возможных конкурентов.

В линейку Simatic входят следующие семейства контроллеров:
  • Simatic S7-200 — популярная система автоматизации с широчайшим выбором доп. модулей
  • Simatic S7-300 — семейство для автоматизации крупных объектов
  • Simatic S7-400 — флагман серии, обеспечивающий управление крупными мощностями
  • Simatic S7-1200 — новое поколение программируемых контроллеров Siemens
  • Siemens LOGO!

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

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

Новости компании

03.11.2020

Интернет-шлюз SINAMICS CONNECT 300

Интернет-шлюз для сбора данных через порт USS преобразователя и синхронизации данных с MindSphere, операционной системой Siemens Industrial Cloud

03.11.2020

Новое сетевое программное обеспечение SINEC INS V1.0 от Siemens

Программное решение SINEC INS (Infrastructure Network Services) это WEB приложение, которое сочетает в себе различные сетевые инструменты и сервисы.

03.11.2020

Самый маленький контроллер от Siemens в новом обновлении v8.3 получит облачный функционал, который раскроет его с новой стороны!

03. 11.2020

Система мониторинга персонала SIWATH

Российское подразделение Siemens разработало собственную систему по мониторингу персонала на базе носимых устройств типа «Умные часы».

Краткий справочник по STL

S I E M E N S

Промышленные контроллеры SIMATIC S7-300/400 Описание_системы_команд

Содержание

S7-300/400 Система команд

Описание

 

 

 

 

 

 

 

 

Стр.

 Вступительное_слово

4

 

 

 

 

 

 

 

 

 

 Работа_с_аккумулятором

10

 

 

 

 

 

 

 

 

 Команды_битовой_логики

13

 Команды_сравнения

22

 Команды_преобразования

25

 Счетчики

33

 

 

 

 

 

 

 

 Команды_для_работы_с_блоками_данных

37

 Команды_переходов

39

 Команды_загрузки_и_передачи

44

 Математика_с_плавающей_точкой

49

 

 

 

 

 

 

 Целочисленная_математика

53

 

 

 

 

 

 Команды_программного_контроля

61

 Команды_сдвигов

66

 Таймеры

72

 Логика_для_WORD_и_DWORD

77

 

 

 

 

 

 

 

 

 

Начало

3

S7-300/400 Система команд

Описание

Вступительное_слово

Содержание

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

Общее правило состоит в том, что чем старше модель CPU, тем она более производительная, тем больше у нее возможностей.

Рассмотрим области, в которых могут находиться операнды:

∙Отображаемые области цифровых входов I и выходов Q (немецкие сокращения E и A соответственно). Программа пользователя не обращается непосредственно к входам/выходам, обращение идет в память, в область отображения.

∙Область неотображаемых входов PI и выходов PQ (немецкие

сокращения PE и PA соответственно). Программа пользователя обращается непосредственно к этим входам/выходам.

Модули цифровых входов/выходов располагаются в адресном пространстве ввода/вывода, начиная с нулевого адреса, и попадают в область отображения. Модули аналоговых сигналов располагаются сразу за отображаемой областью (начало неотображаемой области адресного пространства ввода/вывода, типичным значением является начальный адрес 256)

∙Область локального стека L.

Размер этой области зависит от максимально возможного числа одновременных1 событий. Старшие модели CPU реагируют на большее число событий, также как и число одновременно обрабатываемых событий у них больше. Суть состоит в том, что для каждой модели CPU в любой момент времени не может возникнуть одновременных событий больше, чем Х (например, для S7-312 IFM Х=2, причем общее число обрабатываемых событий равно 3). С каждым событием жестко связан конкретный организационный блок, то есть ОВ является обработчиком события. Если событие возникло, и пользователь на этапе программирования создал соответствующий ОВ, то возможно управление будет передано этому ОВ. Это произойдет, если приоритет текущего ОВ ниже приоритета вызываемого ОВ.

Содержание

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

4

S7-300/400 Система команд

Описание

Вступительное_слово Содержание

Как только ОВ получит управление, он считается активным до того момента, пока не завершится. Каждый активный ОВ имеет свой локальный стек в области локального стека. В этом стеке хранятся временные переменные, как самого ОВ, так и все фактические параметры, локальные переменные функций и функциональных блоков, вызываемых из данного ОВ. Для примера, снова вернемся к модели CPU S7-312 IFM, область локального стека имеет размер 512 байт, что позволяет одновременно открыть только два ОВ, по 256 байт на блок.

∙Область меркеров М используется для хранения рабочих параметров, промежуточных результатов, каких-либо флагов и так далее. Если операционная система контроллера обслуживает Ваш запрос (например, Вы вызвали функциональный системный блок), то следует учитывать, что SFB или SFC могут использовать область меркеров для работы со своими переменными. Обычно SFB и SFC используют старшие адреса, поэтому пользователю рекомендуется использовать память меркеров, начиная с младших адресов.

∙Глобальные блоки данных DB

∙Локальные блоки данных DI

∙Таймеры Т и счетчики С (немецкое обозначение Z)

∙Регистры процессора

Операнды могут принадлежать одному из множества допустимых

типов:

∙BOOL

∙BYTE

∙CHAR – символьный тип, например “А”, длина 1 байт

∙WORD

∙DWORD

∙INT – целое число со знаком, длина 1 слово (Integer)

∙DINT – длинное целое число со знаком, длина 2 слова (Long Integer)

∙REAL – число с плавающей точкой, формат представления IEEE, длина 2 слова

∙TIME – текущее время, длина 2 слова

∙TIME_OF_DAY – время дня, длина 2 слова

∙S5TIME – совместимость с серией S5, длина 1 слово

∙DATE – дата, длина 1 слово

∙DATE_AND_TIME – сложный тип данных, длина 4 слова

∙ARRAY – сложный тип данных, массив

∙STRING – сложный тип данных, строка

∙UNDEF – неопределенный тип

Содержание

5

S7-300/400 Система команд

Описание

Вступительное_слово Содержание

TIME

 

Интервал

[-24d20h41m23s647ms … +24d20h41m23s647ms]

Формат соответствует DINT, единица измерения 1 ms

Пример:

T#5h20s

Рассмотрим еще один пример:

T#24d59s999ms → 7B99 8A5F h

T# -24s

→ FFFF A240 h

Небольшое отступление. Как получить -24 [s]? Ответ:

24 [s] = 5DC0 h [ms] = 00000000 00000000 01011101 11000000 [ms] Теперь вычитаем 1 и инвертируем, в результате получится: 11111111 11111111 10100010 01000000 = FFFF A240 h. То есть

получили -24 [s].

Естественно, обратное преобразование (инвертируем, затем прибавляем 1) позволяет из отрицательного числа получить положительное.

TIME_OF_DAY

Интервал

[00:00:00.000 … 23:59:59.999]

Формат соответствует DWORD, единица измерения 1 ms,

значение 00:00:00.000 – полночь.

Пример:

TOD#00:18:25.207

 

TOD#07:10:02

Миллисекунды указывать необязательно.

S5TIME – Совместимость_с_серией_S5, длина 1 слово

Интервал

[0 ms … 2h56m30s]

Пример:

S5T#10ms

 

S5T#1h25m20s

Рассмотрим более подробно используемый формат:

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

Биты 15, 14 не используются Биты 13, 12 определяют базис времени:

Бит 13

Бит 12

Базис времени

В этом случае рабочий

 

 

 

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

0

0

0.01 s

[10ms … 9s990ms]

0

1

0.1 s

[100ms … 1m39s900ms]

1

0

1 s

[1s … 16m39s]

1

1

10 s

[10s … 2h56m30s]

Содержание

6

S7-300/400 Система команд

Описание

Вступительное_слово Содержание

Биты 11, 10, 9, 8 – старшая BCD цифра, определяет число сотен Биты 7, 6, 5, 4 – средняя BCD цифра, определяет число десятков Биты 3, 2, 1, 0 – младшая BCD цифра, определяет число единиц Эти три BCD цифры определяют значение коэффициента в

диапазоне [0 … 999]. Зная значения базиса и коэффициента, можно рассчитать заданное время:

ВРЕМЯ := Коэффициент * Базис ;

DATE

Интервал [1990-01-01 … 2168-12-31]

Формат соответствует WORD, единица измерения 1 день, нулевое значение соответствует дате 1990-01-01.

Пример: D#1998-11-23

DATE_AND_TIME

 

 

 

Интервал

[1990-01-01/00:00:00.000 … 2089-12-31/23:59:59.999]

Пример:

DT#1996-09-15-19:54:15.228

 

Для записи данных такого типа используются 8 байтов,

содержимое представляется в BCD формате. Как Вы помните, старший

байт располагается в памяти по младшему адресу.

 

Значащи

Условный

Адрес

Назнач

Диапазон значений

е

адрес

 

байта в

разряды

байта

 

заголовк

ение

 

 

 

 

 

е ОВ1

 

 

 

Ст. байт

0

 

12

Год

[00 … 99], значение 00

 

 

 

 

 

соответствует 1990

 

1

 

13

Мес

[01 … 12]

 

 

2

 

14

День

[01 … 31]

 

 

3

 

15

Час

[00 … 23]

 

 

4

 

16

Мин

[00 … 59]

 

 

5

 

17

Сек

[00 … 59]

 

 

6

 

18

ms

В данном байте находятся 2

 

 

 

 

 

старшие

ms, определяя

 

 

 

 

 

сотни и десятки [00x … 99x]

Мл. байт

7

 

19

ms

Старшая

тетрада задает

 

 

 

 

 

единицы ms [0 … 9]

 

 

 

 

 

Младшая тетрада содержит

 

 

 

 

 

день недели [1 … 7],

 

 

 

 

 

значение

1 соответствует

 

 

 

 

 

Sunday (Воскресенье)

Относительно столбца “Адрес байта в заголовке ОВ1” хотелось бы

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

 

 

 

 

 

 

Содержание

 

 

7

S7-300/400 Система команд

Описание

Вступительное_слово Содержание

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

 

Наряду

с переменными,

в качестве операнда могут

использоваться константы:

 

 

 

 

Константа

 

 

Пример

1

Константой является

 

L

‘ABC’

 

группа символов в ASCII

 

 

 

коде

 

 

 

 

 

2

2 или 4 байта

 

 

L

B#(100,12)

 

 

 

 

 

L

B#(50,8,3,72)

3

BYTE,

WORD

или

L

B#16#F7

 

DWORD, представленные

L

W#16#12

 

в 16-ричной системе

 

L

DW#16#EECD03E1

4

WORD

или

DWORD,

L

2#1000111101010011

 

представленные

в

2-

L

2#11110000111100001010101011101110

 

ичной системе

 

 

 

 

5

Константа типа INT

 

L

-27

6

Константа типа DINT

 

L

L#19346458

7

Константа типа REAL

 

L

-8014. 01

8

Константа типа TIME

 

L

T#500ms

 

 

 

 

 

L

T#1d5h4m21s2ms

9

Константа типа TIME OF

L

TOD#12:31:05.314

 

DAY

 

 

 

 

 

10

Константа типа S5TIME

L

S5T#10ms

11

Константа типа DATE

 

L

D#1996-05-22

12Указатель на адрес Формат константы соответствует формату адресного регистра, что дает

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

находиться операнд.

LP#22.1 //Не указывая конкретно в какой области должен //находиться операнд, сообщается, что этим операндом будет бит, //расположенный по адресу 22.1

LP#Q22.1 //В отличие от предыдущего примера, в данном //случае дополнительно сообщается, что операнд будет именно из //области выходов

Содержание

8

S7-300/400 Система команд

Описание

Вступительное_слово Содержание

Замечание относительно использования указателя. Если указатель должен указывать на байт, слово или двойное слово, то необходимо задавать адрес байта и номер бита, причем номер бита должен быть равен 0 (L P#124.0). Данное требование обусловлено специфичным форматом адресных регистров.

Приведем несколько примеров адресации:

AN

I3.7

//Адресуется входной бит

L

MB4

//Загружается в ACCU1 меркерный байт

T

QW0

//Передается слово на выход

LPIW258 //Читаем аналоговое значение

OPN DB3

//Открываем блок данных

L

DB3. DBB14

//Читаем 14 байт в этом блоке

LDB3.DBX0.5 //Там же читаем 5-тый бит из нулевого байта

Общий формат команды при использовании косвенной адресации: <команда> YX [адресный регистр, указатель], где Y определяет область нахождения операнда (и его указывать не обязательно), X задает размер операнда (B – байт, W – слово, D – двойное слово).

Приведем пример:

LB [AR1, P#8.0]

Данная команда загружает байт в ACCU1. Адрес этого байта представляет собой сумму адресов: адресный регистр AR1 и адрес 8.0. Область, в которой должен находиться операнд, определяется адресным регистром. Например, адресный регистр можно проинициализировать двумя командами:

LP#Q116.0

LAR1 //Таким образом, AR1 будет указывать на область выходов Еще один пример косвенной адресации:

LMB [AR2, P#12.0]

Второй пример отличается от первого тем, что явно задана область нахождения операнда (байт из области меркеров)

Выше были рассмотрены примеры абсолютной адресации. STEP7 дает пользователю возможность работать с именами. Такая адресация носит название символьной.

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

информацией к официальным партнерам фирмы SIEMENS, либо непосредственно в SIEMENS.

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

Содержание

9

S7-300/400 Система команд

Описание

Работа_с_аккумулятором

Содержание

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

Декремент_Аккумулятора

Инкремент_Аккумулятора

Вталкивание_в_старшие_Аккумуляторы

Выталкивание_из_старших_Аккумуляторов

Загрузка_старших_Аккумуляторов

Разгрузка_старших_Аккумуляторов

Поменять_содержимое_Аккумуляторов

Загрузка_первого_адресного_регистра

Загрузка_второго_адресного_регистра

Холостые_команды

Содержание

10

S7-300/400 Система команд

Описание

Работа_с_аккумулятором Содержание

1. Декремент_Аккумулятора Формат: DEC <byte>

Описание. ACCU1_LL :=ACCU1_LL — <byte>

2. Инкремент_Аккумулятора Формат: INC <byte>

Описание. ACCU1_LL :=ACCU1_LL + <byte>

3. Вталкивание_в_старшие_Аккумуляторы Формат: PUSH

Описание. На всех моделях CPU имеется два Аккумулятора, а на нескольких более производительных – четыре. Для случая двух Аккумуляторов выполняется присваивание ACCU2 :=ACCU1. Для четырех Аккумуляторов выполняются три присваивания ACCU4 :=ACCU3, ACCU3 :=ACCU2, ACCU2 :=ACCU1.

4. Выталкивание_из_старших_Аккумуляторов Формат: POP

Описание. Действие данной команды противоположно предыдущей. В случае двух Аккумуляторов действие состоит в присваивании ACCU1 :=ACCU2. Для четырех Аккумуляторов выполняются три присваивания ACCU1 :=ACCU2, ACCU2 :=ACCU3, ACCU3 :=ACCU4.

5. Загрузка_старших_Аккумуляторов Формат: ENT

Описание. Данная команда работает только в том случае, если в модуле процессора контроллера имеется четыре аккумулятора. Она загружает старшие Аккумуляторы ACCU4 :=ACCU3, ACCU3 :=ACCU2, ACCU2 и ACCU1 без изменения.

6. Разгрузка_старших_Аккумуляторов Формат: LEAVE

Описание. Данная команда работает только в том случае, если в модуле процессора контроллера имеется четыре аккумулятора. Она разгружает старшие Аккумуляторы ACCU2 :=ACCU3, ACCU3 :=ACCU4, ACCU1 и ACCU4 без изменения.

7. Поменять_содержимое_Аккумуляторов Формат: TAK

Описание. Содержимое ACCU1 и ACCU2 меняется местами.

Содержание

11

Введение в программирование списка операторов (STL) в Siemens TIA Portal

Введение 


Стандарт IEC 61131-3 определяет 5 языков программирования ПЛК: 3 графических языка (релейная диаграмма, функциональная блок-схема и последовательная функциональная схема) и 2 текстовых языки (список инструкций и структурированный текст). Подавляющее большинство производителей ПЛК используют эти стандартные языки.

В среде Siemens язык IL называется STL для списка операторов. Это низкоуровневый язык ассемблера. Это означает, что мы используем инструкции для непосредственного управления процессором. Хотя Siemens начал отказываться от этого языка (например, он не поддерживается семейством S7-1200, а семейство S7-1500 должно его эмулировать), он по-прежнему широко используется. Особенно в старших семействах S7 (S7-300 и S7-400). Пока они все еще поддерживаются, вы неизбежно столкнетесь с этим языком в своей карьере.

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

В этом руководстве мы рассмотрим некоторые из наиболее распространенных инструкций STL и запрограммируем простую машину для сортировки коробок в Siemens TIA Portal.

Предварительные условия

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

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

Понимание архитектуры ПЛК Siemens

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

ЦП использует два 32-битных регистра, называемых Аккумуляторами (аккумулятор 1 является основным). Они используются для выполнения операций над данными, переданными им из любой области памяти. Плюс 16-битный регистр под названием «Слово состояния» (только 9-битный регистр).LSB), где каждый бит указывает на определенную информацию о выполнении программы. Наиболее важным битом состояния является RLO (результат логических операций), который содержит окончательный результат последовательности логических операций в программе (И, ИЛИ, исключающее ИЛИ и т. д.)

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

  • Образ процесса ввода (I): Содержит значения, считываемые физическими входами.
  • Образ процесса вывода (Q): Содержит значения, записанные в физические выходные данные.
  • Область памяти (M): предназначена для глобальных переменных.
  • Локальная область (L): предназначена для локальных переменных (существует только внутри OB, FC или FB).
  • Область блоков данных (D): предназначена для блоков данных (БД)
  • Область таймеров (T): предназначена для таймеров.
  • Область прилавков (C): предназначена для прилавков.

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

  • DataType ByteNumber.BitNumber 

(Например, I 1.5 означает «бит номер 5 из байта номер 1 в области изображения процесса ввода).

В случае байтов (8 бит), слов (16 бит) и двойных слов (32 бита) вы должны добавить B, W или D после типа данных, а затем указать начальный номер байта (например, MB1 означает «Байт номер 1 в области памяти». MW5 означает «Слово, начинающееся с байта 5 в области памяти». MD8 означает «Двойное слово, начинающееся с байта 5 в области памяти»).

NB: будьте осторожны с перекрытием памяти при адресации данных. Например, MW5 принимает как MB5, так и MB6. Использование любого бита из байтов 5 и 6 в другой части программы будет противоречить значению, записанному в MW5.

Две области изображения процесса немного своеобразны. Они не обновляются постоянно в режиме реального времени. Область IPI считывает состояние физических входов только в начале каждого цикла. Затем ЦП записывает все новые значения, вычисленные во время выполнения программы, в область OPI, которая обновляет физические выходные данные в конце цикла.

Это означает, что если значение физического ввода изменится во время выполнения, это не повлияет на значения, которые программа обрабатывает в данный момент. Значения IPI и OPI являются статическими во время выполнения цикла.

Следующая диаграмма суммирует общую работу ПЛК Siemens.

Рисунок 1.1: Архитектура ПЛК Siemens TLDR.

Программирование битовых операций STL в TIA Portal

Язык STL — это текстовый язык, на котором вы пишете 1 инструкцию в строке. Существует два основных типа инструкций:

  • Условные инструкции: они выполняются (или нет) в зависимости от состояния бита состояния RLO.
  • Безусловные инструкции: они всегда выполняются независимо от бита состояния RLO.

Когда задан 1 или более логических запросов (И, ИЛИ, исключающее ИЛИ и т. д.), окончательный логический результат присваивается RLO. (Например, если «X И Y ИЛИ Z = 1», то RLO устанавливается равным 1). Существуют условные инструкции для обоих состояний (0 или 1) бита состояния RLO.

После создания нового проекта (с любым CPU, кроме S7-1200). Откройте «Теги ПЛК» в дереве проекта, дважды щелкните «Таблица тегов по умолчанию» и определите теги, показанные на следующем рисунке.

Рисунок 2.1: Теги ПЛК.

Создайте новый OB (организационный блок), дважды щелкнув «Добавить новый блок» в дереве проекта.

Рисунок 2.2: Добавление нового блока.

Откроется окно «Добавить новый блок». Выберите «STL» в качестве языка и нажмите «ОК».

Рисунок 2.3: Окно добавления нового блока.

Заполните (введя или скопировав) содержимое Сети 1 в Сеть 4 следующим образом.

Сеть 1:

   O «Пуск»

   S «Авто_режим»

Сеть 2: 

o «Stop»

R «Auto_Mode»

Сеть 3:

O «PE_LOW»

A «PE_HIGH»

= #LARGE_BOX

NETTEN

   AN «PE_High»

   = #Small_box

Рисунок 2.4: Сети с 1 по 4.
  • В строке 1 сети 1 (O «Старт») мы запрашиваем состояние бита «Старт» (I 0.0).

«O» — это запрос бита «ИЛИ». Когда он используется отдельно, это простой опрос битов, RLO назначается состоянием бита, который мы опрашиваем. Когда он приходит после очередного опроса бита, он формирует с ним логическое ИЛИ, а результат присваивается RLO. В этом случае, если бит «Старт» равен 1, RLO устанавливается на 1. Если он равен 0, RLO устанавливается на 0.

  • В строке 2 сети 1 (S «Auto_mode») мы устанавливаем «Auto_mode» (M 0.0) в 1, если RLO = 1.

«S» — это инструкция «SET». Он устанавливает назначенный бит в 1. В этом случае, если «Start» равен 1 (означает, что RLO = 1), бит «Auto_mode» устанавливается в 1.

  • В сети 2 мы делаем почти то же самое. как в сети 1. Мы запрашиваем состояние «Стоп», но используем инструкцию сброса (R) для бита «Auto_mode».

«R» — инструкция «СБРОС». Он устанавливает назначенный бит в 0. В этом случае, если «Stop» равен 1 (означает, что RLO = 1), бит «Auto_mode» устанавливается в 0.

  • В строках 1 и 2 сети 3 мы выполняем логическую операцию И («PE_low» И «PE_High»). Окончательный результат присваивается RLO.

«A» — это запрос бита «И». Когда он используется отдельно, это простой опрос битов, RLO назначается состоянием бита, который мы опрашиваем (как и инструкция «ИЛИ»). Когда он приходит после очередного битового опроса, он формирует с ним логическое И, и результат присваивается RLO. В этом случае, если оба «PE_Low» и «PE_High» равны 1, RLO устанавливается равным 1. Если они равны 0, RLO устанавливается равным 0.

  • В строке 3 сети 3 мы присваиваем состояние RLO локальному биту #LargeBox.

«=» — это инструкция присваивания, она копирует состояние RLO в назначенный бит. В этом случае бит #LargeBox будет установлен в 1, если «PE_Low» И «PE_High» равны 1, и будет установлен в 0, если либо «PE_Low», либо «PE_High» равны 0.

  • In В сети 4 мы делаем почти то же самое, что и в сети 3, но в строке 2 вместо обычной инструкции «A» мы используем инструкцию «AN» для опроса в «PE_High» на уровне 0,9.0032

«AN» — это инвертированный запрос бита «И». При отдельном использовании RLO устанавливается в 1, если запрошенный бит равен 0.  В этом случае, если «PE_Low» равен 1 И «PE_High» равен 0, RLO устанавливается в 1.  

Программирование переходов STL , таймеры и счетчики в TIA Portal

Заполните (введя или скопировав) содержимое Сети 5 следующим образом.

Сеть 5:

   O «Auto_mode»

   A #Large_box

   = #Lbox_passed

JC Lbox

O «AUTO_MODE»

A #SMALL_BOX

= #SBOX_PASSED

JC SBOBE

LBOX: CALL_TIMER

TIMER_TYPE: = IEC_TIMER

999009

009

009

0009009

009

009

006

000 300000 300000 300000 39000 300000 300000 39000 39000 300000 3

9 TP, «timera_db»

Time_type: = Time

in: =#lbox_passed

Pt: = T#5S

Q: = «Motor1»

ET: =

BE

Sbox: Call Reset_timer

Timer_type: = IEC_TIMER

TIMER: = «TimerB_DB

Call TP,» TimerB_DB «

Time_type: = Time

in:#lbox.

Q: = «Motor1»

ET: =

RESET_TIMER

TIMER_TYPE: = IEC_TIMER

TIMER: = «TIMERC_DB»

CALL TON, «TIMERC_DB»

      time_type:=Time

      IN :=#Lbox_passed

      PT :=T#5s

      Q  :=»valve_motor»

      ET :=

   O «valve_motor»

   = «Solenoid_valve»

   CALL Reset_timer

Timer_type: = IEC_TIMER

TIMER: = «TIMERD_DB»

CALL TP, «TIMERD_DB»

TIME_TYPE: = Time

in: = «Solenoid_valve»

Pt: = T#5s: = T. 5s

.0006

      Q  :=»Motor2″

      ET :=

   BE

«JC» — это инструкция условного перехода. Если RLO равен 1, программа начинает выполнение инструкций, начиная с метки, связанной с инструкцией перехода. Чтобы создать метку, просто напишите имя метки, а затем «:».

Например, если «Auto_mode» И #Large box равны 1, программа выполнит инструкции, начиная с метки LBOX в строке 11 и заканчивая BE (конец блока) в строке 22.

  • В строках 15, 28, 39 и 53 мы используем инструкцию «CALL» для генерации таймеров «TP» и «TON» со связанными с ними DB.

Инструкция «CALL» — безусловная инструкция, запускающая выполнение вызываемой функции (FC или FB). Поскольку это безусловно, мы используем переходы для выполнения нужных частей программы в соответствии с правильными условиями.

Использование переходов — это способ превратить безусловные инструкции в условные!

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

  • time_type: Время для 16-битного таймера или LTime для 32-битного таймера.
  • IN: логическое значение, активирующее таймер.
  • PT: Длительность таймера.
  • Q: Логическое значение, установленное таймером.
  • ET: Текущее время.
  • Функция «RESET_TIMER» в строках 11, 24, 35 и 49 используется для сброса текущего времени таймеров непосредственно перед их генерацией.

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

Затем заполните (напечатав или скопировав) содержимое Сети 6 следующим образом.

Сеть 6:

CALL CTU, «CONTROL_DB»

Value_type: = int

Cu: =#lbox_passed

R: = «

PV: = 0

Q: =

CV. :=»num_L»

   CALL  CTU , «CounterS_DB»

      value_type:=Int

      CU :=#Sbox_passed

      R  :=»Stop»

      PV :=0

      Q  :=

      CV :=»num_S»

Рисунок 3. 2: Сеть 6.
  • Счетчики CTU вызываются в строках 1 и 9. счетчики, мы просто назвали их в Сети 6. Параметры функции CTU:

    • тип_значения: Указывает целочисленный тип, используемый для подсчета.
    • CU: логическое значение, которое активирует увеличение счетчика.
    • R: логическое значение, которое сбрасывает счетчик.
    • PV: начальное значение счетчика.
    • Q: Логическое значение состояния счетчика.
    • CV: Значение счетчика.

    Программирование инструкций STL по математике и обработке данных в TIA Portal

    Заполните (напечатав или скопировав) содержимое Network 7 следующим образом.

    Сеть 7:

    L «num_l»

    L «num_s»

    +I

    T «Total_box»

    Рисунок 4.1: Сеть 7.
    • В строках 1 и 2 сети 7, мы загружаем значения «num_L» и «num_S» в ACCU 1 и ACCU 2.

    «L» — инструкция загрузки (безусловная). Он копирует значение, расположенное по указанному адресу, в ACCU 1. Если он используется второй раз подряд, первое загруженное значение перемещается в ACCU 2, а второе загруженное значение записывается в ACCU 1. В этом случае это означает что «num_L» загружается в ACCU 2, а «num_S» — в ACCU 1.

    • В строке 3 сети 7 мы суммируем целые числа, содержащиеся в ACCU 1 и ACCU 2. 

    Команда «+I» добавляет содержимое АККУ 2 в содержимое АККУ 1 в виде целых чисел. Результат сохраняется в ACCU 1.

    • В строке 4 сети 7 мы передаем содержимое ACCU 1 на указанный адрес.

    «T» — инструкция по передаче (безусловная). Он передает содержимое ACCU 1 по указанному адресу. В этом случае мы переносим содержимое ACCU 1 (которое содержит сумму «num_L» и «num_S») в «total_box» (MW6).

    Затем заполните (введя или скопировав) содержимое сетей 8, 9 и 10 следующим образом.

    Сеть 8:

    L «Num_l»

    ITD

    DTR

    T «NUM_L_REAL»

    L «Num_S»

    ITD

    DTR

    T «num_s_real»

    L »

    T «Total_box_Real»

    Сеть 9:

    L «num_l_Real»

    л «» Total_box_Real «

    /R

    L 100. 0

    9000 *R

    /R

    L 100.0

    9000 *R

    /R

    0005 T «процент_ларже»

    L 100,0

    L «процент_ларже»

    -R

    T «процент_SMALL»

    Сеть 10:

    L » R «auto_mode»

    L 0.0

    T «num_l_real»

    T «num_s_real»

    T » реалы.

Чтобы преобразовать целые числа в действительные, мы должны использовать 2 инструкции преобразования: Инструкция ITD преобразует Int в ACCU 1 в двойное Int. Затем инструкция DTR преобразует двойное значение Int в ACCU 1 в действительное значение. Преобразованное значение (хранящееся в ACCU 1) передается по нужному адресу с помощью «T».

  • Сеть 9 содержит математические инструкции для расчета процентов.

Аналогично тому, что мы делали в Сети 7. «/R» делит ACCU 2 на ACCU 1 как действительные числа, «+R» складывает ACCU 1 и ACCU 2 как действительные числа, а «-R» вычитает ACCU 1 из ACCU 2 как действительные числа. реалы. (Результаты всегда сохраняются в ACCU 1).

  • В строке 13 сети 10 мы сравниваем два действительных числа.

«==I» проверяет, равно ли целое число, хранящееся в ACCU 2, значению, хранящемуся в ACCU 1. Если это правда, RLO устанавливается равным 1. В этом случае, если «total_box» равно 1000, Бит «Auto_mode» установлен на 0.

Заключение

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

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

Ваши первые шаги на языке STL

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

Существует пять типов языков, которые можно использовать для программирования ПЛК:

  • Релейная логика (LAD)
  • Функциональная блок-схема (FBD)
  • Последовательная функциональная схема (SFC)
  • Структурированный текст (ST)
  • Список инструкций (IL)

Как вы могли видеть, язык списка операторов (STL) не является одним из языков IEC, он создан специально для ПЛК SIEMENS, а на с другой стороны, мы обнаружим, что языки STL и IL на 95% идентичны.

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

Действительно ли нам нужно изучать язык STL?

Как мы уже говорили выше, существует пять типов языков ПЛК, и программисту ПЛК не нужно быть профессионалом во всех них.

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

Язык STL в ПЛК

Итак, если вас интересует язык STL, вот некоторые из его преимуществ и недостатков:

Преимущества Недостатки
Список операторов часто является самым быстрым способом написания кода ПЛК.

Выполнение более сложных операций, таких как циклы, переходы и косвенная адресация, становится проще в STL.

Это действительно очень лаконично и действительно сэкономит вам много сетей.

Слишком сложно отлаживать код.

Вполне возможно написать код STL, но Шаг 7 не сможет преобразовать его обратно в LAD или FBD.

Пожалуйста, Перед выбором языка проекта. Просто задайте себе эти два вопроса:

  1. , который облегчает код и может поддерживать код

    80

  2. .
  3. Какой язык программирования делает код более читаемым и легче вносить последующие изменения или Устранение неполадок неисправности оборудования?

Как построить простую сеть в STL?

В нашем первом уроке с языком STL мы обсудим, как выполнять инструкции (И, ИЛИ, НЕ-И, НЕ-ИЛИ, Присвоить) на простых примерах.

А также, мы конвертируем некоторые сложные сети на языке LAD в STL .

И, И НЕ Инструкция

Приведенные ниже инструкции представляют собой формат адресации инструкций И ​​и И НЕ на языке STL.

Формат

A <адрес бита> // Это для и

А. <битовой адрес> // Это для, а не

Описание

(a) проверяет, является ли состояние адресного бита «1», — «1», и объединяет результат теста с RLO.

(AN) проверяет, равно ли состояние адресованного бита «0», и объединяет результат теста по И с RLO.

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

Пример

Здесь у нас есть два входа (если I0.0 ложно, RLO = 0, а если верно, RLO = 1).

И для других входных входов (I0.1, когда он неверен, чтобы сделать RLO = 1, а когда он верен, чтобы сделать RLO = 0) эти два входа управляют выходом (Q0.0).

Рис. (1)

Рис. (2)

Здесь, как видно, для Рис. ноль переводится в РЛО в единицу и наоборот.

Кроме того, вы можете видеть на рис. (1), когда RLO равен (единице) до конца сети, Q0.0 будет назначен равным единице, но, как показано на рис. (2), RLO равен (единице) только для первой строки, поэтому Q0.0 будет равно нулю.

Инструкция ИЛИ, ИЛИ НЕ

Приведенные ниже инструкции представляют собой формат адресации инструкций ИЛИ и ИЛИ НЕ на языке STL.

Формат

O          <Битовый адрес>             // это для ИЛИ

ON        <Битовый адрес>             // это для ИЛИ НЕ

Описание

(O) проверяет, равно ли состояние адресуемого бита «1», и выполняет операцию ИЛИ результата теста с RLO.

(ON) проверяет, равно ли состояние адресуемого бита «0», и выполняет операцию ИЛИ результата теста с RLO.

Пример

Вот простой пример, показывающий три разных входа (I0.0 – I0.1 – I0.2), когда любой из них переведен в состояние ВКЛ, которое назначает выход (Q0.0).

Рис. (3)

Рис. (4)

Рис. (5)

Как мы можем видеть на Рис. (3,4,5), когда любой из трех входов включается, RLO становится ИСТИННЫМ и по своей роли выход Q0.0 должен быть включен.

Преобразование сети LAD в язык STL

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

Сеть LAD

Рассмотрим приведенный ниже пример релейной логики.

Сеть STL

Приведенная ниже программа является кодом, эквивалентным приведенному выше примеру лестничной логики.

Видеоурок

В приведенном ниже видео мы объяснили простые шаги по написанию программы STL на примере релейной логики.

Если вам понравилась эта статья, подпишитесь на наш канал YouTube для видеоуроков по ПЛК и SCADA.

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

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