АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ

 

 

Кафедра инженерной кибернетики 

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

Методические указания к лабораторным работам

для студентов специальности 050702 - Автоматизация и управления

СОСТАВИТЕЛИ: А. А. Копесбаева, Ибрашева А.Т. Микропроцессорные средства в системе управления. Методические указания к лабораторным работам для студентов специальности 050702-Автоматизация и управление. Алматы: АИЭС, 2007. –    с.

Представлены методические указания к выполнению лабораторных работ по дисциплине «Микропроцессорные средства в системе управления»

 Печатается по плану издания «Алматинского института энергетики и связи» некоммерческого акционерного общества на 2007 год.

 

Содержание 

1 Лабораторная работа  1. Знакомство с программным обеспечением Simatic Manager, конфигурирование и параметрирование МПС. Логические функций............... 4

2 Лабораторная работа 2. Таймерные функций, счетчики и переходы………10

3 Лабораторная работа 3. Чтение и нормирование аналоговых сигналов…...21

4 Лабораторная работа 4. Функции и функциональные блоки. Создание системы логического контроля и управления………………………………….27

Приложение А…………………………………………………………………….35

Приложение Б…………………………………………………………………….37

Приложение В…………………………………………………………………….42

Приложение Г…………………………………………………………………….43

Список литературы……………………………………………………………….45

 

1 Лабораторная работа №1. Знакомство с программным обеспечением Simatic Manager, конфигурирование и параметрирование МПС. Логические функций.

Цель работы: ознакомление с составом программного обеспечения Simatic Manager, приобретение навыков работы с прикладной программой, ознакомление с составом операторов языка Step7, знакомство с методами конфигурирования и параметрирования микропроцессорной системы, приобретение навыков работы в режиме online.

Оборудование и программное обеспечение: контроллер Simatic 313 фирмы Siemens и программное обеспечение Simatic Manager. 

1.1 Задание к лабораторной работе

1.     Создать проект.

2.     Конфигурировать микропроцессорную систему.

3.     Параметрировать модули.

4.     Записать программу в соответствии с вариантом задания преподавателя для ОВ1 организационного блока.

5.     Исследовать процессы в режиме online.

6.     Сделать выводы. Заполнить отчет.

1.2            Порядок выполнения работы

1.2.1   Создание нового проекта

Создание проекта производится в окне Simatic Manager командой New-Project. Окно проекта представлено на рисунке 1.1. В результате будет создан проект, в котором существует уже установленная шина многоточечного интерфейса MPI, к которому подключается персональный компьютер (устройство программирования), система автоматизации и наблюдения (по необходимости). На лабораторной установке к MPI шине подключен персональный компьютер.

 

Рисунок 1.1 - Пример окна проекта

1.2.2 Конфигурирование системы

 

Пояснение терминов: Под «конфигурированием» мы понимаем размещение носителей модулей, модулей и интерфейсных модулей в конфигурационной таблице (рисунок 1.3).

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

-       создайте в проекте станцию;

-       откройте станцию  в окне проекта;

-       откройте конфигурационную таблицу;

-       установите в конфигурационной таблице каталог;

-       заполните конфигурационную таблицу.

Создание станции: выделив имя проекта выберите команду Insert - Station - Simatic-300 Station. Откройте станцию. В ней уже содержится окно  конфигурации – Hardware.

 

 

 

 

 

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

-       конфигурировать и параметрировать центральный процессор CPU;

-       сохранить конфигурационную таблицу;

-       загрузить конфигурацию в центральный процессор CPU.

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

 

 

 

 

 

 

 

Рисунок 1.3 –Окно конфигурации Hardware

 

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

Рисунок 1.4 - Размещение модулей на носителе и соответствие его конфигурационной таблице

 

1.2.3   Параметрирование модулей

 

Теперь выберите элемент, который вы хотели бы параметрировать и в диалоговом окне установите параметры. Например, таким образом можно параметрировать время цикла CPU. Это можно сделать как в окне конфигурационной «CPU – Proprties  - Cicle Time», так и из меню командой «PLC- Modul Information – Cicle Time». Закрыв диалоговое окно параметрирования, сохраните созданную конфигурационную таблицу. В результате конфигурация сохранится на жестком диске компьютера.

Загрузите конфигурационную таблицу командой PLC-Download. При этом все установленные параметры становятся действующими. В случае ошибки на CPU загорится сигнал ошибки SF. Для устранения ошибки придется выполнить стирание с помощью команды PLC-Clear/Reset. Ещё раз открыть конфигурационную таблицу и отредактировать её. Затем повторить загрузку.

В случае успешной загрузки в диалоговом окне появится запрос на перевод CPU  из режима STOP в режим RUN. Для того, чтобы в дельнейшем проверить выполнение прикладной программы переведите контроллер в режим RUN. Закройте окно конфигураций.

 

1.3 Запись программы для основной программы в организационном блоке ОВ1

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

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

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

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

На рисунке 1.7 показана страница программы, написанная на языке LAD.

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

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

 

 

 

 

 

 

Рисунок 1.7 - Пример программы на языке LAD.

 

1.4 Исследовать процессы в режиме online

 

Для исследования переменных в режиме online нужно создать таблицу переменных (с контекстного меню объекта Blocks выберите команду Insert New Object-Variable table). В диалоговом окне задайте имя таблице переменных или согласитесь с тем, которое предлагает вам программное обеспечение Simatic Manager. Создайте в ней перечень переменных для наблюдения. В этом случае это все элементы вашей программы. Теперь поступайте по привычной для вас схеме: сохраните, закройте окно редактора LAD, загрузите программу в CPU. Теперь создайте режим online для проверки прикладной программы. Для этого вам следует открыть ОВ1, и “надеть очки”. Окно редактора при этом изменится, а процесс работы CPU отражается мигающим сигналом в строке состояний. Попробуйте имитировать ключами с модуля имитации дискретного сигнала наличие  или отсутствие входного дискретного сигнала, наблюдая при этом выходной сигнал.

Теперь воспользуйтесь для наблюдения таблицей переменных. Откройте её, установите связь с CPU с помощью меню PLC команды Connect To Configured CPU (рисунок 1.9, изменится цвет строки оглавления окна таблицы переменных), создайте режим onlinе, наблюдайте изменения в таблице переменных входной  и выходной переменной.

 

 

 

 

 

 

 

 

  

Рисунок 1.9 - Таблица переменных в режиме onlinе

1.5  Контрольные вопросы

1.     Из каких составляющих состоит проект?

2.     Для чего служит таблица символов?

3.     Возможно, ли наблюдение за переменными в реальном масштабе времени без таблицы переменных и без таблицы символов?

4.     Из каких элементов состоит программа проекта?

5.     Как проверить правильность составленной таблицы конфигурации?

6.     Как выбираются и как обозначаются в основной программе дискретные входы и выходы?

7.     Как назначаются адреса аппаратных средств проекта?

8.     Как активизировать готовый проект? Из какого окна происходит загрузка основной программы в контроллер?

9.     Для чего служит таблица переменных?

10. Как выбирается центральный процессор в таблице конфигурации?

11. Как выбираются блоки питания и где они устанавливаются в таблице конфигурации?

12. Какие типы адресации используются в проекте?

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

14. Как на Simatic фиксируется орфографическая, логическая ошибка и ошибка в конфигурации?

15. Назначение организационного блока. Какие типы адресации используются при программировании на языке LAD?

16. Назовите основные составляющие проекта, который загружается в контроллер?

  

2 Лабораторная работа № 2. Таймерные функции, счетчики и переходы

 Цель работы: Знакомство с основными командами преобразования времени, счета и организации перехода на языке Step7 программного обеспечения Simatic Manager, приобрете­ние навыков программирования, загрузки и тестирования программ.

 Задание к лабораторной работе

2.1 Программирование с использованием логических функций.

2.1.1 Изучите, просмотрев в каталоге функции логических преобразова­ний (Bit Logic, Word Logic), операции сравнения (Compare, Status Bit), операции переходов (Jump).

2.1.2 Согласно заданию (логическая схема управления конвейером на рисунке 2.1) составьте программу на языке LAD, соблюдая правила написания программ и пользуясь полным перечнем операций языка (приложение Б).

Задание: На рисунке 2.1 представлен конвейер, который запускается с помощью электродвигателя. В начале ленты находятся две кнопки: S1 ПУСК и S2 СТОП. В конце ленты также находятся две кнопки: S3 ПУСК и S4 СТОП. Лента может запускаться или останавливаться с обоих концов. Кроме того, датчик S5 останавливает ленту, если предмет на ленте доходит до конца.

 

 

 

Рисунок 2.1 - Управление конвейером

 

2.1.3 Составьте таблицу символов, выбрав в проекте Simatic Manager раздел Programm – Simbol Table назначив адресацию согласно таблице 1 в CPU.

Таблица 1

Компонент системы

Абсолютное обозначение

Кнопка ПУСК

I 0.0

Кнопка СТОП

I 0.1

Кнопка ПУСК

I 0.2

Кнопка СТОП

I 0.3

Датчик

I 0.4

Мотор

Q 0.0

 

Составьте программу на языке LAD. Загрузите программу в контроллер PLC-Downlad. Наблюдайте процесс выполнения программы в режиме On-line.

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

2.1.5 Переведите язык программирования на язык STL , используя меню View - STL. Исследуйте программу в новом окне, создавая различные ситуации: включение конвейера в начале транспортной ленты, отключение в конце ленты; включение в начале ленты и отключение по датчику и т.д.

2.1.6 Результаты работы логической схемы сведите в таблицу 2:

Таблица 2

Входные сигналы

Выходной сигнал

I 0.0

I 0.1

I0.2

I0.3

I0.4

Q 0.0

 

 

 

 

 

 

        

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

Задача Л-1: Перемещение детали с одного транспортера на другой производится пневматическим цилиндром. Конечные положения штока цилиндра контролируются датчиками В1 и В2. Запустить работу цилиндра кнопкой однократного нажатия «ПУСК». Чтобы не произошло случайного движения цилиндра вперед, контролируется начальное положение цилиндра датчиком В1. Управление цилиндром вперед  осуществляется выдачей дискретного сигнала на выход контроллера. При достижении цилиндром конечного положения вернуть его в исходное положение по сигналу датчика В2.

Задача Л-2: Осуществляется штамповка деталей пневматическим цилиндром. Присутствие детали штамповки контролируются датчиком В1. Нанесение штампа контролируется датчиком В2. Запустить штамповку кнопкой «ПУСК». Закончите штамповку кнопкой «СТОП». Если деталь присутствует, а также нажата кнопка «ПУСК» - начать штамповку. Управление цилиндром вперед  осуществляется подачей дискретного сигнала на выход контроллера. При достижении цилиндром конечного положения по сигналу датчика В2, а также по кнопке «СТОП» вернуть его в исходное положение.

Задача Л-3: Управлять работой двигателя маломощного насоса. Включить насос по кнопке «ПУСК». Если уровень в баке достигнет максимального, то сработает дискретный датчик уровня В1. По его сигналу или по сигналу кнопки «СТОП» остановить насос. Если уровень в баке меньше минимального срабатывает датчик уровня В2. По его сигналу выполнить автоматический запуск насоса.

  

2.2 Программирование с использованием таймеров

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

2.2.2  Согласно заданию составьте программу на языке LAD.

Рисунок 2.2 - LAD – программа реализации функции таймера

 

Задание: Реализуйте функцию тактового генератора импульсов, приме­нив обработку, управляемую временем, в специальных организацион­ных блоках. Представленная на рисунке 2.2 LAD - программа иллю­стрирует использование таймерных функций для генерации такта. Таб­лица 3 иллюстрирует значения частоты.

Таблица 3

Биты MB

Частота в герцах

Длительность 101

М 101.0

2.0

0.5 с (250 мс вкл/250 мс выкл)

М 101.1

1.0

1 с (0.5 с вкл /0.5 с выкл)

М 101.2

0.5

2 с (1 с вкл /1 с выкл)

М 101.3

0.25

4 с (2 с вкл /2 с выкл)

М 101.4  

0.125

8 с (4 с вкл /4 с выкл)

М 101.5

0.0625

16 с (8 с вкл /8 с выкл)

М 101.6

0.03125

32 с (16 с вкл /16 с выкл)

М 101.7

0.015625

64 с (32 с вкл /32 с выкл)

2.2.3 Загрузите программу в CPU и проверьте правильность её работы.

2.2.4 Результаты оформите в таблицу 4:

Таблица 4

Входные сигналы

Устанавливаемые параметры

Выходные сигналы

I0.0

……

T1

Т2

…..

Q0.0

Q0.1

……

T1

Т2

……

 

 

 

 

 

 

 

 

 

 

 

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

Задача Т-1: Решите задачу Л-1 при условии, что цилиндр перемещает деталь с одного транспортера на другой только по истечению трех секунд после нажатия кнопки «ПУСК», а возвращается назад немедленно.

Задача T-2: Решите задачу Л-2 при условии, что штамповка продолжается 5 секунд. Во время нанесения штамповки цилиндр задерживается в крайнем выдвинутом состоянии 5 секунд. По окончанию штамповки цилиндр возвращается в исходное состояние.

Задача Т-3. Решите задачу Л-3 при условии, что насос запускается автоматически по истечению 5 секунд после включения датчика нижнего уровня.

 

2.3 Программирование с использованием счетчиков.

2.3.1 Изучите, просмотрев в каталоге и пользуясь данными методическими указаниями функции со счетчиками (Counters).

2.3.2 Согласно заданию (рисунок 2.3,а) составьте программу.

Рисунок 2.3,а - Зона складирования.

 

Задание: рисунок 2.3,а показывает систему складирования с двумя конвейерами и промежуточной зоной складирования между ними. Конвей­ер 1 транспортирует пакеты в зону складирования. Фотодатчик в конце конвейера 1 рядом с зоной складирования фиксирует количество паке­тов, транспортируемых в зону. Конвейер 2 транспортирует пакеты от этой временной зоны хранения к погрузочной площадке, где они загpyжаются на грузовой автомобиль для доставки клиенту. Фотодатчик в кон­це конвейера 2 рядом с зоной промежуточного складирования фиксиру­ет, сколько пакетов транспортируется из зоны складирования к погру­зочной площадке. Информационное табло с пятью лампочками сообща­ет, насколько заполнена зона складирования. Рисунок 2.2,б показывает LAD – программу активизации индикаторных ламп.

 

Рисунок 2.3,б - STL – программа активизации индикаторных ламп.

 

2.3.3 Согласно рисунку составьте символьную таблицу, загрузите программу в CPU, и проверьте правильность её работы.

2.3.4 Результаты оформите в таблицу 5:

 

Таблица 5

Входные сигналы

Устанавливаемые параметры

Выходные сигналы

I0.0

I0.1

……

С1

C2

…..

Q0.0

Q0.1

……

С1

C2

……

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Задача С-1: Двери гаража открываются и закрываются пневматическим цилиндром П1. Въезд машин контролирует датчик Д1, а выезд датчик Д2. Когда количество машин достигнет 50, двери гаража автоматически закрываются цилиндром П1. Двери гаража открываются кнопкой «ПУСК» оператором или изнутри кнопкой «ВЫХОД».

Задача С-2: Мимо турникета, оснащенного датчиком движения Д1, проходят посетители.  На выходном табло выведены  пять сигнальных ламп Л1-Л5 на каждый десяток посетителей. При достижении количества посетителей 50, загорается последняя сигнальная лампа, и турникет перестает принимать монеты (закрывается задвижка З1). Новый прием посетителей произойдет только тогда, когда все предыдущие посетители покинут помещение. Обратный отсчет посетителей происходит по выходному датчику движения Д2. 

Задача С-3. Датчик Д контролирует количество оборотов двигателя, по прохождению через зону обзора датчика штифта, установленного на двигателе. При количестве оборотов 256, двигатель автоматически останавливается. На выходном табло контролируется количество оборотов двигателя в двоичном коде, срабатывание датчика Д. Включение двигателя производится кнопкой «ПУСК». Предусмотрен аварийный останов двигателя кнопкой «СТОП».

 

2.4 Программирование арифметических операций

 

2.4.1  Изучите, просмотрев в каталоге основные арифметические операции над целыми (Integer Math) и действительными (Floating-Point Math) числами.

2.4.2  Составьте программу (рисунок 2.3) реализации следующего выражения на языке LAD:

           (1)

 

 

Рисунок 2.4 – LAD-программа реализации арифметического выражения (1)

2.4.3 Загрузите программу в CPU и проверьте правильность её работы.

2.4.4 Результаты оформите в таблицу 6:

 

Таблица 6

бло­кa

Блок № 1

Блок №2

Блок №3

Блок №4

Блок №5

Имена блоков

ADD_I

MUL_I

I_DI

DI_R

DIV_R

Входы  и выходы

IN1

IN2

OUT

IN1

IN2

OUT

IN1

OUT

IN1

OUT

IN1

IN2

OUT

Значения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5 Методические указания к выполнению работы

2.5.1 Программирование с использованием логических функций.

В этой части работы используются следующие логические операции:

•   Размыкающий контакт - –|/|–

•   Замыкающий контакт - –|  |–

•   Катушка реле, выход - –(  )–

•   Коннектор - –(#)–

•   Инвертирование результата логической операции - –|NOT|–

•   Загрузка результата логической операции в бите BIE- –( SAVE )–

•   Установка выхода - –( S )–

•   Сброс выхода - –( R )–

•   Опрос фронта 0 -> 1 –( Р )–

•   Опрос фронта 1 -> 0 - –( N )–

В таблице 7 приведено назначение входов и выходов блока логической функций SR.

 

Таблица 7 -Триггер "установка-сброс"

Элемент LAD

Параметры

Тип дан­ных

Область памяти

Описание

 

 

 

<операнд>

BOOL

I, Q, М, D,L

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

S

BOOL

I, Q, М, D,L

Операция установки разрешена

R

BOOL

I, Q, М, D,L

Операция сброса разрешена

Q

 

BOOL

I, Q, М, D,L

Состояние сигнала

  

На языке STL используются следующие  операции:

Таблица 8 - Логические операции

Команда

Описание

А

операция логического «И» между операндом и битом RLO

AN

операция логического «И-НЕ» между операндом и битом RLO

О

операция логического «ИЛИ» между операндом и битом RLO

ON

операция логического «ИЛИ-НЕ» между операндом и битом RLO

Х

операция логического «Искл.ИЛИ» между операндом и битом RLO

ХN

операция логического «Искл.ИЛИ-НЕ» между операндом и битом RLO

S

операция установки бита в операнде

R

операция сброса бита в операнде

=

операция присвоения бита RLO операнду

AW

побитное «И» над 16 –разрядными словами в аккумуляторе

OW

побитное «ИЛИ» над 16 –разрядными словами в аккумуляторе

XW

побитное «Искл.ИЛИ» над 16 –разрядными словами в аккумуляторе

AR

побитное «И» над 32 –разрядными словами в аккумуляторе

OR

побитное «ИЛИ» над 32 –разрядными словами в аккумуляторе

XR

побитное «Искл.ИЛИ» над 32–разрядными словами в аккумуляторе

 

2.5.2 Программирование с использованием таймеров.

Выбор подходящего таймера поясняет рисунок 2.5. Здесь изображены временные характеристики таймеров с мнемоникой команды, приведены пояснения по порядку работы таймера.

 

Рисунок 2.5

  

На языке STL используются следующие  операции с таймерами:

Таблица 9

Команда

Описание

R Tn

сброс значения области памяти отведенного для таймера с номером “n”

SP Tn, SE Tn, SD Tn, SS Tn, SF Tn

запуск таймера с номером “n”

A  Tn, AN  Tn, O  Tn, ON  Tn, X  Tn, XN  Tn

опрос таймера с номером “n”

L S5T#5s

загрузка в аккумулятор значение времени

FR Tn

разблокировка таймера для нового запуска

 

2.5.3 Выбор счетчика:

Прямой/обратный счет поясняется таблицей 10.

Таблица 10

Элемент LAD

Параметры

Тип данных

Область памяти

Описание

 

 

Nr.

COUNTER

-

Номер счетчика: диапазон зависит от CPU.

CU

BOOL

E, A, M, D, L

Вход CU: прямой счет

CD

BOOL

E, A, M, D, L

Вход CD: обратный счет

S

BOOL

E, A, M, D, L

Вход для предвар. установ. счетчика 

PV

WORD

E, A, M, D, L

Начальное знач. в диапазоне от 0 до 999 (вводится как С#<знач>, что указывает на формат BCD 

R

BOOL

E, A, M, D, L

Вход сброса

Q

BOOL

E, A, M, D, L

Состояние счетчика

CV

WORD

E, A, M, D, L

Текущее значение счетчика (форм, целого числа).

CV_BCD

WORD

E, A, M, D, L

Текущее значение счетчика (ВСD-код)

 

На языке STL используются следующие  операции со счетчиками:

Таблица 11

Команда

Описание

R Сn

сброс значения области памяти отведенного для счетчика с номером “n”

S Сn

запуск счетчика с номером “n”

A  Сn

опрос на ненулевое значение счетчика с номером “n”

LС С#5

загрузка в аккумулятора начального значения счетчика в BCD коде

FR Сn

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

CU Сn

счет вперед (+1) в области памяти с номером “Cn

CD Сn

счет назад (-1) в области памяти с номером “Cn

 

2.5.4 Программирование арифметических операций.

В этой части работы используются:

•   Арифметика с фиксированной запятой.

•   Арифметика с плавающей запятой.

Сложение целых чисел (16 бит) поясняется таблицей 12.

 

Таблица 12

Блок LAD

Параметры

Тип данных

Область памяти

Описание

EN

' BOOL

E, A, M, D, L

Разрешающий вход

ENO

BOOL

E, A, M, D, L

Разрешающий выход

IN1

INT

E, A, M, D. L

Первое слагаемое

IN2

INT

E, A, M, D, L

Второе слагаемое

OUT

INT

E, A, M, D, L

Результат сложения

.

Указание:

Здесь показан пример блока сложения. Все остальные oпeрации выполняются так же.

 

Таблица 13 – Арифметические  операции на языке STL

Типы

Описание

Операции

16 битные целые числа

32 битные целые числа

32 битные действительные числа

ADD_I

ADD_DI

ADD_R

Сложение чисел

SUB_ I

SUB_ DI

SUB_R

Вычитание чисел

MUL_ I

MUL_DI

MUL_R

Умножение чисел

DIV_I

DIV_DI

DIV_R

Деление чисел

-

MOD

-

Получение остатка от деления

-

-

АВS

Абсолютное значение

-

-

SQR, SQRT

Квадрат и квадратный корень

-

-

LN

Натуралный логарифм

-

-

SIN, АSIN, СOS, АСOS, ТАN, АТAN

Тригонометрические функции

-

-

ЕХР

Экспоненциальное распределение

 

Таблица 14 – Операции с числами на языке STL

Типы

Описание

16 битные целые числа

32 битные целые числа

32 битные действительные числа

+I

+D

+R

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

-I

-D

-R

вычесть значения двух аккумуляторов

*I

*D

*R

умножить значения двух аккумуляторов

/I

/D

/R

разделить значения двух аккумуляторов

L - загрузка младшего слова в аккумулятор из операнда

T - выгрузить младшее слово аккумулятора в операнд

 

Контрольные вопросы:

1.      Как дополнить программу на рисунке 2.2, чтобы при накоплении 50 импульсов зажигалась лампа на пятом выходе?

2.      Дополните программу на рис.2. зажиганием лампы «Нормальный режим», при количестве деталей 10<N<100, где N –количество деталей.

3.      Изобразите таблицу истинности программы на рисунке 2.2?

4.      Измените программу на рисунке 2.4, так, чтобы складывались целые слова длинной «одно слово», а результат деления был бы представлен «двойным словом».

5.      Как изменится программа управления конвейером, если режимами «пуск» и «стоп» управляет одна кнопка?

6.      Напишите программу отключения сигнальной лампы с задержкой на 5 сек.

7.      Назовите основные команды битовой логики.

8.      Запишите программу, реализующую следующее арифметическое выражение: А=(B*D-C)/7. Результат получить в виде числа с плавающей запятой.

9.      Как на языке LAD и STL реализуются простейшие логические функции?

10.  Назовите основные группы команд STEP7?

11.  Назовите виды таймеров, которые могут быть выбраны из каталога STEP7?

12.  Приведите виды триггеров языка и таблицу истинности каждого триггера.

13.  Составьте таблицу истинности программы на рисунке 2.1.

14.  Запишите программу, реализующую следующее арифметическое выражение: А=(B+D*C)/15. Результат получить в виде числа с плавающей запятой.

15.  Измените программу на рисунке 2.3,б включением лампы «Зона складирования полна» по условию 90<N<100.

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

3 Лабораторная работа № 3. Чтение и нормирование аналоговых сигналов.

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

 

Задание к лабораторной работе

Часть 1

1 Разделить систему на функциональные подсистемы.

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

3 Составить алгоритм нормирования сигналов различных датчиков.

4 Программировать функциональные подсистемы, как функции Step7 на языке LAD в виде FС.

 

Часть 2

5 Заполнить таблицу символов и таблицу переменных в программ­ном обеспечении Simatic Manager.

6 Программировать функции чтения FC1, нормирования FC2, и вывода FC3 аналогового сигнала в виде функций.

7 Программировать основную программу в организационном блоке ОВ1.

8 Сделать выводы. Заполнить отчет.

 

Краткие сведения из теории. 

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

    (2)

Допустим, датчик уровня выдал сигнал 6 вольт. Необходимо узнать какому значению уровня это показание соответствует. Используя формулу (2) получим:

        (3)

В программном обеспечении Simatic Manager существует библиотека готовых стандартных функций. Для чтения аналогового сигнала используются функции FC105 (SCALE)  и для вывода FC106(UNSCALE).

 

Функция линейного масштабирования входного сигнала SCALE

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

Сигналы функции:

IN – входная переменная в безразмерных величинах;

HI_LIM – максимальное измеренное значение по напряжению или току;

LO_LIM– минимальное измеренное значение по напряжению или току;

BIPOLAR- дискретный сигнал установки биполярного (TRUE) или униполярного (FALSE) сигнала;

OUT- выходная переменная по напряжению (в вольтах) или по току (в амперах).

Выходное значение рассчитывается контроллером по формуле:

OUT=[((FLOAT(IN) – K1)/(K2-K1))*(HI_LIM-LO_LIM)]+LO_LIM;   (4)

 

Функция линейного масштабирования выходного сигнала UNSCALE

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

Сигналы функции:

IN – входная переменная в безразмерных величинах;

HI_LIM – максимальное выходное значение по напряжению или току;

LO_LIM– минимальное выходное значение по напряжению или току;

BIPOLAR- дискретный сигнал установки биполярного (TRUE) или униполярного (FALSE) сигнала;

OUT- выходная переменная по напряжению (в вольтах) или по току (в амперах).

Выходное значение рассчитывается контроллером по формуле:

OUT=[((IN – LO_LIM)/( HI_LIM-LO_LIM))*( K2-K1)]+ K1;     (5)

        

Как видно, формулы (4) и (5) идентичны формуле (2). А коэффициенты К1 и К2 определяются форматом представления числа в контроллере.

Задача студента лишь исследовать действие формул (4) и (5), а также составить независимую программу нормирования сигнала конкретной физической величины (2).

 

Порядок выполнения работы

 

1.Разделим систему на следующие подсистемы:

1.     Подсистема чтения аналогового сигнала

2.     Подсистема нормирования сигнала

3.     Подсистема записи аналогового сигнала

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

Таблица 15

Обозна чение

Адрес в программе

Статус пара   метра

Символ в таблице символов

Тип пере менной

Комментарии

1.     Подсистема чтения аналогового сигнала

Символы в  основной программе ОВ1

AN1

PIW272

Вход функции

AN1

WORD

Первый входной аналоговый сигнал с модуля ввода

H_AN1

10.0

Константа

H_AN1

REAL

Верхнее предельное значение напряжения датчика

L_AN1

0.0

Константа

L_AN1

REAL

Нижнее предельное значение напряжения датчика

XIZ1

MD20

Выход функции

XIZ1

REAL

Измеренное значение в вольтах

POL_AN1

I0.0

Вход функции

POL_AN1

BOOL

Установить униполярный (FALSE) или биполярный вид сигнала (TRUE)

Символы функции FC1

AN

LW0

Вход функции

#AN

WORD

Любой входной аналоговый сигнал с модуля ввода – формальный параметр

H_AN

LD2

Внутрен ний параметр функции

#H_AN

REAL

Верхнее предельное значение напряжения датчика – формальный параметр

 

L_AN

LD6

Внутрен ний параметр функции

#L_AN

REAL

Нижнее предельное значение напряжения датчика – формальный параметр

OUT_AN

LD10

Выход функции

#OUT_AN

REAL

Измеренное значение в вольтах – формальный параметр

POL_AN

LD14.0

Вход функции

#POL_AN

BOOL

Установить униполярный (FALSE) или биполярный вид сигнала (TRUE) – формальный параметр

2.     Подсистема нормирования сигнала

Символы в  основной программе ОВ1

XFMAX1

300.0

Константа

XFMAX1

REAL

Максимальное значение фактической переменной

XFMIN1

100.0

Константа

XFMIN1

REAL

Минимальное значение фактической переменной

XIZMAX1

10.0

Константа

XIZMAX1

REAL

Максимальное значение измеренной переменной

XIZMIN1

0.0

Константа

XIZMIN1

REAL

Минимальное значение измеренной переменной

XF1

MD24

Выход функции

XF1

REAL

 Значение фактической переменной

Символы функции FC2

XFMAX

LD0

Вход функции

#XFMAX

REAL

Максимальное значение фактической переменной – формальный параметр

XFMIN

LD4

Вход функции

#XFMIN

REAL

Минимальное значение фактической переменной – формальный параметр

XIZMAX

LD8

Вход функции

#XIZMAX

REAL

Максимальное значение измеренной переменной – формальный параметр

XIZMIN

LD12

Вход функции

#XIZMIN

REAL

Минимальное значение измеренной переменной – формальный параметр

XIZ

LD16

Вход функции

#XIZ

REAL

Значение измеренной переменной – формальный параметр

XF

LD20

Выход функции

#XF

REAL

Значение фактической переменной – формальный параметр

3.Подсистема записи аналогового сигнала

Символы в  основной программе ОВ1

ON1

PQW272

Выход функции

ON1

WORD

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

H_ON1

10.0

Константа

H_ON1

REAL

Верхнее предельное значение напряжения датчика

L_ON1

0.0

Константа

L_ON1

REAL

Нижнее предельное значение напряжения датчика

POL_AN1

I0.0

Вход функции

POL_AN1

BOOL

Установить униполярный (FALSE) или биполярный вид сигнала (TRUE)

 

Символы функции FC3

ON

LW0

Выход функции

#ОN

WORD

Любой выходной аналоговый сигнал на модуль вывода – формальный параметр

H_ON

LD2

Внутрен ний параметр функции

#H_ON

REAL

Верхнее предельное значение напряжения датчика– формальный параметр

L_ON

LD6

Внутрен ний параметр функции

#L_ON

REAL

Нижнее предельное значение напряжения датчика– формальный параметр

XF

LD10

Вход функции

#XF

REAL

Фактическое значение в единицах измерения физической величины – формальный параметр

POL_AN

LD14.0

Вход функции

#POL_AN

BOOL

Установить униполярный (FALSE) или биполярный вид сигнала (TRUE) – формальный параметр

 

3. Составим алгоритмическую схему каждой функциональной подсистемы отдельно.

 

 

 

 

Рисунок 3.1 - Подсистема чтения аналогового сигнала

 

 

 

 

 

 

 

 

 

 

Рисунок 3.2 - Подсистема нормирования сигнала

 

 

Рисунок 3.3 -  Подсистема записи аналогового сигнала

 4. Программирование функциональных подсистем

При программировании используйте те же обозначения, что и в таблице 15 и на рисунках 3.1-3.3. Программу нужно выполнить в соответствии с алгорит­мической схемой.

При составлении подобного рода программ рекомендуется соблюдать следующую последовательность действий:

·        составить таблицу символов;

·         программировать функции, начиная с таблицы описания блока;

·        программировать организационный блок;

·         составить таблицу переменных.

5. Программирование организационного блока

Основная программу должна быть записана в виде организационного блока ОВ1 в соответствии с приведенной алгоритмической схемой. Она предназначена для вызова блоков FC1, FC2, FC3. В первом варианте программы реализуются формулы (2) и (3). По заданию преподавателя следует продолжить организационный блок нормируя различные физические величины (температуру, расход, напряжение и т.д. ).

6. Составление таблицы символов и таблицы переменных

Таблица символов приведена в приложении В. Она отражает относительные адреса переменных и соответствующие им абсолютные адреса. Таб­лица составлена с учетом пункта 2, предназначена для удобства чтения про­граммы. Таблица переменных (приложение В) предназначена для управления входными переменными и контроля выходных переменных. Заполнение таблицы следует начать с заполнения необходимых адресов вхо­дов и выходов, символы, при наличии таблицы символов и типы данных по­являются автоматически.

7. Составление отчета

Отчет по работе должен содержать:

•   Задание к лабораторной работе;

•   Описание функциональных подсистем;

•   Таблицу 15;

•   Алгоритмические схемы функциональных подсистем;

•   Программу, таблицы символов и переменных Simatic Manager;

•   Выводы в виде таблицы истинности входных и выходных сигналов.

  

Контрольные вопросы

1.     Как создаётся функция?

2.     Как происходит обмен информацией между основной программой и функцией?

3.     Почему функцию называют блоком без параметров?

4.     Как обозначены в функциях формальные и фактические параметры?

5.     Сколько входных и выходных данных может содержать функция?

6.     Какие соответствия должны быть между фактическими и формальными переменными?

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

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

9.     Что отражают переменные К1 и К2 в формулах (4) и (5)?

10.  Изменится ли коэффициент нормирования сигнала, если изменить диапазон измерения, без изменения диапазона соответствующего напряжения?

 

4 Лабораторная работа № 4. Программирование системы логического контроля и управления.

 

Цель работы: обучение алгоритмизации и программированию системы логического контроля и управления, изучение режимов работы системы ло­гического управления

 

Задание к лабораторной работе

Часть 1

1 Разделить систему на функциональные подсистемы.

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

3 Составить алгоритм логического контроля и управления для функциональной подсистемы электродвигателей Д1 и Д2.

4 Программировать функциональные подсистемы, как функцио­нальные блоки Step7 на языке LAD в виде FB.

 

Часть 2

5 Программировать функции вентиляторов в виде FC блока и организационный блок ОВ.

6 Заполнить таблицу символов и таблицу переменных в программ­ном обеспечении Simatic Manager.

7 Сделать выводы. Заполнить отчет.

 

Порядок выполнения работы

Порядок выполнения работы рассмотрим на следующем примере. В технологических процессах задачи логического управления связаны, чаще всего, с управлением пуска и останова исполнительных механизмов. Задан технологический процесс (принципиальные электрические схемы на рисун­ках 4.1,4.2,4.3), в котором участвуют два исполнительных механизма Д1 и Д2. Агрегат запускается кнопкой «Пуск» и останавливается кнопкой «Стоп». Предусмотрены два режима: автоматический («Авт») и ручной («Руч»). Каж­дый из двигателей имеет свой вентилятор, который отключается через 7 ми­нут после отключения соответствующего двигателя. В системе происходит контроль достижения каждым из двигателей желаемой скорости.

 

1. Разделим описанную систему на функциональные подсистемы:

•   Контроль включения агрегата;

•   Двигатель первый (Д1);

•   Двигатель второй (Д2);

•   Вентилятор первого двигателя (В1);

•   Вентилятор второго двигателя (В2).

 

Ручной

пуск - основного

агрегата

Сигнализация аварийного отключения D1 и D2

Выбор режима

Авт.вкл.

Цепи управления эл. двигателя Д1

 

Руч.вкл.

Руч. или авт.откл

"Включение"

Сигнализация состояния Д1

 

"Отключение"

Включение вентилятора

Цепи управления эл.дв. вентиля­тора двигателя Д1

Отключение вентилятора через 7с

 

 

Рисунок 4.1 - Принципиальная электрическая схема логического управления электродвигателем Д1(Д2) и вентилятором охлаждения.

Рисунок 4.2 - Принципиальная электрическая схема силовой части управления двигателем Д1(Д2).

 

Рисунок 4.3 - Схема контроля скорости на первом двигателе.

 

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

Таблица 16

Обозна  чение на ПЭС

Адрес в программ ме

Статус параметра

Символ таблицы перемен ных

Тип переменной

Комментарии

Контроль включения агрегата:

Пуск

I0.0

Вход

«Пуск»

BOOL

Если этот сигнал "1" загорается лампа Л1

Стоп

I0.1

Вход

«Стоп»

BOOL

Если этот сигнал "1" загорается лампа Л2

Авт.

I0.3

Вход

«Авт.»

BOOL

Этот сигнал запускает триггер «Автоматический режим»; если сигнал "0", запускаются триггеры управления режимами двигателей Д1 и Д2

Руч

I0.4

Вход

«Руч»

BOOL

Этот сигнал сбрасывает триггер «Автоматический режим»

Л1

Q 0.0

Выход

«Лапма1»

BOOL

Выходной сигнал, устанавливается, если «Пуск»-1

Л2

Q 0.1

Выход

«Лампа 2»

BOOL

Выходной сигнал, устанавливается, если «Стоп»-1

Авт.      режим

М1.0

Выход-вход

«Авт. режим»

BOOL

Триггер установки режима

Двигатель Д1 и Д2

ВклД1

I0.5

Вход

«ВклД1»

BOOL

Кнопка включения двигателя Д1. Если этот сигнал "1" загорается лампа ЛЗ, запускается триггер ТГ1

Выкл Д1

I0.6

Вход

«ВыклД1»

BOOL

Кнопка отключения двигателя Д1. Если этот сигнал "0" загорается Л4, сбрасывается ТГ1

АвД1

М10.0

Вход

«АвД1»

BOOL

Если этот сигнал "1" загорается Л2, если "0" сбрасывается ТГ1

W1

MW20

Вход

«W»

WORD

Действительное значение скорости Д1. Вводится с клавиатуры в таблицу переменных

Wжел1

L6.0 (#Рrеset_Speed)

Вход

« Wжел1»

WORD

Желаемое значение скорости Д1. Устанавливается по начальному значению в таблицу описания FB1.

ЛЗ

Q0.2

Выход

«Л3»

BOOL

Загорается, если сигнал «ВклД1»=1

Tгl

М10.2

Выход

Вход

BOOL

Устанавливается, если «Авт.режим»=1 и «ВклД1=1». Сбрасывается, если «ВыклД1=1» или «АвД1»=1

Л4

Q0.3

Выход

«Л4»

BOOL

Загорается, если сигнал «ВыклД1»=1

Л5

Q0.4

Выход

«Л5»

BOOL

Сигнализация о достижении желаемой скорости на Д1

Вкл Д2

I0.7

Вход

 «ВклД2»

BOOL

Если этот сигнал "1" загорается лампа Л6

ВыклД2

I0.2

Вход

«ВыклД1»

BOOL

Если этот сигнал "0" загорается Л7, сбрасывается TГl

АвД2

М10.4

Вход

«АвД2»

BOOL

Если этот сигнал "1" загорается Л2, если 0 сбрасывается ТГ2

W2

MW 30

Вход

«W2»

WORD

Действительное значение скорости Д2.

Wжел2

L6.0 (#Рrеset_Speed)

Вход

«Wжел2»

WORD

Желаемое значение скорости Д2. Устанавливается по начальному значению в таблицу описания FB1.

Л6

Q0.5

Выход

«Д1 - вкл»

BOOL

Загорается, если сигнал «ВклД1»=1

Тг2

M l 0.6

Выход

«Тг2»

BOOL

Устанавливается, если «Авт.режим»=1 и «ВклД2=1». Сбрасывается, если «ВыклД2=1» или «АвД2»=1

Л7

Q0.6

Выход

«Д2-выкл»

BOOL

Загорается, если сигнал «ВыклД2»=1

Л8

Q0.7

Выход

«Жел.зн. достиг.Д2»

BOOL

Сигнализация о достижении желаемой скорости на Д2

Вентиляторы В1 и В2

В1     

FC1        

Функция

«Вентиля тор-В1»      

Нет

Вызов из основной про­граммы в виде функции без параметров. Запускает таймер с задержкой выключения, если «ВклД1»=1

В2

FC1

Функция

«Вентиля тор-В2»

Нет

Вызов из основной программы в виде функции без параметров. Запускает таймер с задержкой выключения, если «ВклД2»=1

Т1

Т1

Таймер

«Т1»

TIMER

Устанавливается как операнд на блоке таймера

Т2

Т2

Таймер

«Т2»

TIMER

Устанавливается как операнд на блоке таймера (одинаковый для обоих вентиляторов)

КТ1

Q2.0

Выход

«КТ1»

BOOL

Сигнализирует о включенном состоянии В1

КТ2

Q4.0

Выход

«КТ2»

BOOL

Сигнализирует о включенном состоянии В2

 

3. Составим алгоритмическую схему каждой функциональной подсистемы отдельно.

Алгоритмическую схему (рисунки 4.4- 4.7) следует составлять, пользуясь литературой /1/.

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

Рисунок 4.4

3.2 Функциональный блок – Д1 и Д2.

Рисунок 4.5

3.3 Функции вентиляторов В1 и В2.

Рисунок 4.6

3.4 Контроль достижения желаемой скорости на Д1 и Д2.

Рисунок 4.7

  

4. Программирование функциональных подсистем

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

При составлении подобного рода программ рекомендуется соблюдать следующую последовательность действий:

•    программировать функциональный блок, начиная с таблицы описания блока;

•    программировать функции;

•    программировать организационный блок;

•    составить таблицу символов;

•    составить таблицу переменных.

5. Программирование организационного блока

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

6. Составление таблицы символов и таблицы переменных

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

7. Составление отчета

Отчет по работе должен содержать:

•   Задание к лабораторной работе;

•   Описание функциональных подсистем;

•   Таблицу 16;

•   Алгоритмические схемы функциональных подсистем;

•   Программу, таблицы символов и переменных Simatic Manager;

•   Выводы в виде таблицы истинности входных и выходных сигналов.

 

Контрольные вопросы

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

2.     Почему для программирования работы двигателя был выбран FB блок, а вентилятора FC блок?

3.     Как реализована подсистема включения агрегата?

4.     Как реализована в программе функция вентиляторов?

5.     Как дополнить программу контроля достижения заданной скорости с учетом знака скорости?

6.     Какие логические функции были использованы при моделировании переключения режимов «авт/руч» и почему?

7.     Чем отличаются переменные изображенные в программе со знаками # и “”? В какой области памяти они располагаются?

8.     Смоделируйте ситуацию отключения двигателя Д2 по сигналу оператора.

9.     Как смоделировать ситуацию возникновения аварии на втором двигателе? Приведите в виде таблицы результаты этой ситуации.

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

11. Как реализована в программе подсистема двигателей Д1 и Д2?

12. Как смоделировать ситуацию отказа вентилятора первого двигателя? Приведите в виде таблицы результаты этой ситуации

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

14. Какая часть программы реализует изменения режима с ручного на автоматический? Назовите номер или номера сетей и приведите описание.

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

Приложение А 

Таблица А.1 - Обозначение адресов

 

 

Область операндов

Доступ через едини­цы следующей вели­чины:

Нота­ция S7

Описание

Отображение процесса на входах

Вход (бит)

Входной байт

Входное слово

Двойное входное сло­во

I

IW

ID

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

Отображение процесса на выходах

Выход (бит)

Выходной байт Выходное слово

Двойное выходное слово

Q

QW

QD

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

Маркеры

Маркер (бит)

 Маркерный байт Маркерное слово Двойное маркерное слово

М

MB

MW

MD

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

Таймеры

Таймер (Т)

Т

В этой области предоставляют­ся в распоряжение таймеры.

Счетчики

Счетчик (Z)

Z

В этой области предоставляют­ся в распоряжение счетчики.

Блок данных

Блок данных, откры­ваемый с помощью "AUF DB":

Бит данных

Байт данных

Слово данных

Двойное слово данных

DB

 

 

DBX DBB DBW DBD

Блоки данных хранят инфор­мацию для программы. Они могут быть определены или так, что к ним могут обращать­ся все кодовые блоки (глобаль­ные DB), или они приписаны одному определенному FB или SFB (экземпляры DB).

Блок данных, откры­ваемый с помощью "AUF DP:

Бит данных

Байт данных

Слово данных

Двойное слово данных

DI

 

 

DIX

DIB

DIW

DID

 

Продолжение таблицы А.1

Локальные

данные

Бит локальных данных

Байт локальных данных

Локальное слово данных    Двойное ло­кальное слово данных

L

LB

LW

LD

Эта область памяти принимает

временные данные блока на

время обработки этого блока.

L-стек предоставляет в распоряжение также память дли пе­редачи параметров блока и для хранения промежуточных ре­зультатов из сетей КОР.

Периферий

ная область:

входы

 

 

Периферийный входной байт

Периферийное входное слово

Периферийное входное двойное слово

РIВ

 

PIW

 

PID

Периферийные области входов

и выходов разрешают прямой

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

и вывода (DP, см. гл. 6.3.)

Периферий

ная область:

выходы

Периферийный выходной байт

Периферийное выходное слово

Периферийное выход­ное двойное слово

РQВ

 

PQW

 

PQD

 

Приложение Б 

Таблица Б.1 - Список операций языка LAD

Описание

Мнемоника

SIMATIC

Бит ошибки Недействительная операция

UO ---| |---

Бит ошибки Переполнение

OV ---| |---

Бит ошибки Переполнение с запоминанием

OS ---| |---

Бит ошибки ВIЕ-регистр

BIE ---| |---

Бит результата если больше 0

>0 ---| |---

Бит результата если больше или равно 0

>=0 ---| |----

Бит результата если меньше 0

<0 ----| | ----

Бит результата если меньше или равно 0

<=0 ----| | ----

Бит результата если не равно 0

<>0 ----| | ----

Бит результата если равно 0

==0 ---| |---

Включение Master Control Relay

---(MCR<)

Возврат

---(RET)

Вызов системного FB как блока

CALL_SFB

Вызов системного FC как блока

CALL_SFC

Вызов FB как блока

CALL_FB

Вызов FC как блока

CALL_FC

Вызов FC/SFC без параметров

----(CALL)

Выключение Master Control Relay

----(MCR>)

Вычитание целых чисел (16 бит)

SUB_I

Вычитание целых чисел (32 бита)

SUB_Dl

Вычитание чисел с плавающей точкой

SUB_R

Деление целых чисел (16 бит)

DIV_I

Деление целых чисел (32 бита)

DIV_Dl

Деление чисел с плавающей точкой

DIV_R

Загрузка результата логической операции в ВIЕ-регистр

----( SAVE )

Замыкающий контакт

---| |---

Запуск таймера в режиме задержки включен (SE)

S_EVERZ

Запуск таймера в режиме задержки включения (SE)

----(SE)

Запуск таймера в режиме задержки включения с запоминанием  (SS)

S_SEVERZ

Запуск таймера в режиме задержки включения с запоминанием  (SS)

----( SS )

Запуск таймера в режиме задержки выключения (SA)

S_AVERZ

Запуск таймера в режиме задержки выключения(SA)

-----( SA)

Запуск таймера в режиме удлиненного импульса (SV)

S_VIMP

Запуск таймера в режиме удлиненного импульса (SV)

----(SV)

Запуск таймера в режиме формирования импульса (SI)

S_IMPULS

Запуск таймера в режиме формирования импульса (SI)

----( SI )

Изменение знака числа с плавающей точкой

NEG_R

Инверсный бит ошибки Недействительная операция

UO ---| / |---

Инверсный бит ошибки Переполнение

OV ---| / |---

Инверсный бит ошибки Переполнение с запоминанием

OS  ---| / |---

Инверсный бит ошибки ВIЕ-регистр

BIE ---| / |---

Инверсный бит результата, если больше 0       

>0   ---| / |---

Инверсный бит результата, если больше или равно 0

>=0 ---| / |---

Инверсный бит результата, если меньше 0

<0   ---| / |---

Продолжение таблицы Б.1

Инверсный бит результата, если меньше или равно 0

<=0 ---| / |---

Инверсный бит результата, если не равно 0

<>0 ---| / |---

Инверсный бит результата, если равно 0

= =0 ---| / |---

Инвертирование результата логической операции

---| NOT |---

Катушка реле, выход

---(  )---

Коннектор

----(#)-----

Начало Master Control Relay

---(MCRA) ---

Образование ближайшего большего целого   числа из числа с плавающей точкой

CEIL

Образование ближайшего меньшего целого числа из числа с плавающей точкой

FLOOR

Образование дополнения до 1 целого числа (16 бит)

INV_I

Образование дополнения до 1 целого числа (32 бита)

INV_Dl

Образование дополнения до 2 целого числа (16 бит)

NEG_I

Образование дополнения до 2 целого числа (32 бита)

NEG_DI

Образование целого числа

TRUNC

Обратный счет

Z_RUECK

Обратный счет

----(ZR)

Округление числа

ROUND

Опрос фронта 01

---(P)---

Опрос фронта 10

---( N )---

Опрос фронта сигнала 01

POS

Опрос фронта сигнала 1  0

NEG

Открытие блока данных                                    

---( AUF )

Передача значения                                                              

MOVE

Переход, если 0

---(JMPN)

Переход, если 1

---(JMP)

Получение остатка от деления (32 бита)

MOD

Поразрядное ИЛИ над 16 битами

WOR_W

Поразрядное ИЛИ над 32 битами

WOR_DW

Поразрядное И над 16 битами

WAND_W

Поразрядное И над 32 битами

WAND_DW

Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над 16 битами

WXOR_W

Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над 32 битами

WXOR_DW

 

Таблица Б.2 - Список операций на STL

Наименование

Мнемоника

Абсолютное значение вещественного числа (32 бита)

ABS

Акк3→Акк4;Акк2→Акк3;Акк1→Акк2

PUSH

Акк3←Акк4;Акк2←Акк3;Акк1←Акк2

POP

Акк3→Акк2;Акк4→Акк3;

LEAVE

Акк3→Акк4;Акк2→Акк3;

ENT

Активизировать область мастер контроль реле

MCRA

Сложить Акк1 и Акк2 как двойные целые числа 32 бита

+D

Сложить Акк1 и Акк2 как целые числа 16 битов

+I

Сложить Акк1 и Акк2 как вещественные  числа 32 бита

+R

Прибавить Акк1 к адресному регистру 1

+AR1

Прибавить Акк1 к адресному регистру 2

+AR2

Продолжение таблицы Б.2

Прибавить целую константу (8, 16, 32 бита)

+

И

A

Поразрядное И с двойными словами 32 бита

AD

И-НЕ

AN

И-НЕ с открытием вложения

AN(

И с открытием вложения

A(

Поразрядное И со словами 16 бит

AW

Арккосинус числа с плавающей точкой 32 бита

ACOS

Арксинус числа с плавающей точкой 32 бита

ASIN

Арктангенс числа с плавающей точкой 32 бита

ATAN

Присвоить

=

Преобразовать BCD в двойное целое число 32 бита

BTD

Преобразовать BCD в целое число 16 бит

BTI

Конец блока условный

BEC

Конец блока безусловный

BEU

Вызов блока

CALL

Изменить последовательность байтов в аккумуляторе1 (16 бит)

CAW

Изменить последовательность байтов в аккумуляторе1 (32 бита)

CAD

Очистить результат логической операции

CLR

Сравнить двойные целые числа 32 бита

==D

Сравнить двойные целые числа 16 битов

==I

Сравнить вещественные числа

==R

Условный вызов блока

CC

Косинус числа с плавающей точкой 32 бита

COS

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

CD

Счетчик прямого счета

CU

Деактивизировать область мастер контроль реле

MCRD

Уменьшить Акк1 на 1

DEC

Разделить Акк2 на Акк1 как двойные целые числа 32 бита

/D

Разделить Акк2 на Акк1 как целые числа 16 бит

/I

Разделить Акк2 на Акк1 как вещественные числа 32 бита

/R

Остаток от деления двойного целого числа

MOD

Преобразовать двойное целое в BCD

DTB

Преобразовать двойное целое в вещественное

DTR

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

FN

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

FP

Разблокировать таймер или счетчик

FR

Обменять адресный регистр 1 с адресным регистром 2

CAR

Обменять глобальный блок данных и экземплярный блок данных

CDB

Исключающее ИЛИ

X

Поразрядное Исключающее ИЛИ с двойными словами 32 бита

XOD

Исключающее ИЛИ-НЕ

XN

Исключающее ИЛИ-НЕ с открытием вложения

XN(

Исключающее ИЛИ с открытием вложения

X(

Поразрядное Исключающее ИЛИ со словами 16 битов                   бита

XOW

Экспоненциальное значение числа с плавающей точкой 32 бита по основанию Е

EXP

Таймер –формирователь удлиненного импульса

SE

Продолжение таблицы Б.2

Увеличить аккумулятор на 1

INC

Преобразовать целое число 16 битов в BCD

ITB

Преобразовать целое число 16 битов в двойное целое число 32бита              

ITD

Перейти, если результат =0

JZ

Перейти, если результат BR=0

JNBI

Перейти, если результат BR=1

JBI

Перейти, если результат <0

JM

Перейти, если результат <=0

JMZ

Перейти, если результат <>0

JN

Перейти, если OS=1

JOS

Перейти, если OV=1

JO

Перейти, если результат >0

JP

Перейти, если результат >=0

JPZ

Перейти, если RLO = 0

JCN

Перейти, если RLO = 0 с сохранением RLO в BR

JNB

Перейти, если RLO = 1

JC

Перейти, если RLO = 1 с сохранением RLO в BR

JCB

Перейти, если результат недействителен

JUO

Перейти по списку

JL

Перейти безусловно

JU

Загрузить в аккумулятор: Сnnn значение счетчика nnn, Т nnn значение таймера nnn, DILG длину экземплярного блока данных, DBLG длину глобального блока данных, DINO номер экземплярного блока данных, DBNO номер глобального блока данных, STW слово состояния,

L

Загрузить адресный регистр 1 из: аккумулятора, второго адресного регистра или двойным целым числом Р# область байта,бита.

LAR1

Загрузить адресный регистр 2 из: аккумулятора, второго адресного регистра или двойным целым числом Р# область байта, бита.

LAR2

Загрузить текущее значение счетчика или таймера в BCD

LC

Программный цикл

LOOP

Умножение Акк1 на Акк2 как двойное целое

*D

Умножение Акк1 на Акк2 как целое

*I

Умножение Акк1 на Акк2 как вещественные числа

*R

Натуральный логарифм числа с плавающей запятой

LN

Изменить знак вещественного числа

NEGR

Инвертировать результат логической операции

NOT

Вложение закрыто

)

Пустая операция 0

NOP 0

Пустая операция 1

NOP 1

Таймер, формирователь задержки выключения

SF

Таймер, формирователь задержки включения

SD

Дополнение до 1 двойного целого числа 32 бита

INVD

Дополнение до 1 целого числа 16 бит

INVI

Открыть блок данных

OPN

ИЛИ

O

Поразрядное ИЛИ с двойными словами

OD

ИЛИ-НЕ

ON

ИЛИ-НЕ с открытием вложения

ON(

Продолжение таблицы Б.2

ИЛИ с открытием вложения

O(

Поразрядное ИЛИ со словами

OW

Команда программирования изображения

BLD

Таймер – формирователь импульса

SP

Сбросить адрес, счетчик или таймер

R

Восстановить RLO и закрыть мастер контроль реле

)MCR

Таймер – формирователь задержки включения с запоминанием

SS

Выполнить циклический сдвиг Акк1 влево через бит переноса

RLDA

Выполнить циклический сдвиг Акк1 вправо через бит переноса

RRDA

Выполнить циклический сдвиг двойного слова влево 32 бита

RLD

Выполнить циклический сдвиг двойного слова вправо 32 бита

RRD

Округлить

RND

Округлить до ближайшего меньшего двойного целого числа

RND-

Округлить до ближайшего большего двойного целого числа

RND+

Сохранить результат логической операции RLO в бите BR

SAVE

Сохранить RLO в стеке MCR, начать MCR

MCR(

Установить область памяти или начальное значение счетчика

S

Установить RLO=1

SET

Сдвинуть влево двойного слово 32 бита

SLD

Сдвинуть влево слово 16 бита

SLW

Сдвинуть вправо двойного слово 32 бита

SRD

Сдвинуть вправо слово 16 бита

SRW

Сдвинуть двойного целое число со знаком 32 бита

SSD

Сдвинуть целое число со знаком 16 битов

SSI

Синус числа с плавающей точкой 32 бита

SIN

Квадрат числа с плавающей точкой 32 бита

SQR

Корень квадратный числа с плавающей точкой 32 бита

SQRT

Вычесть Акк1 из Акк2 как двойные слова 32 бита

-D

Вычесть Акк1 из Акк2 как целые числа 16 бит

-I

Вычесть Акк1 из Акк2 как вещественные числа 32 бита

-R

Тангенс числа с плавающей точкой 32 бита

TAN

Обменять Акк1 с Акк2

TAK

Передать Акк1

T

Передать адресный регистр 1

TAR1

Передать адресный регистр 2

TAR2

Округлить до целого отбрасыванием младших разрядов

TRUNC

Дополнение до 2 двойного целого числа 32 бита

NEGD

Дополнение до 2 целого числа 16 бит

NEGI

Безусловный вызов блока

UC

  

Приложение В 

Таблица В.1 - Таблица символов 

Символ

Адрес

Тип

Комментарии

AN1

PIW   272

PIW   272

Аналоговый вход

ON1

PQW   288

INT

Аналоговый выход

POL_AN1

I       0.0

BOOL

Полярность аналогового сигнала

SCALE

FC    105

FC    105

Scaling Values

UNSCALE

FC    106

FC    106

Unscaling Values

XF1

MD     24

REAL

Фактическое значение аналогового сигнала

XIZ1

MD     20

REAL

Измеренное значение аналогового сигнала

 

 

Таблица В.2 - Таблица переменных 

Операнд

Символ

Формат

MD    20

"XIZ1"

DEC

MD    24

"XF1"

REAL

I      0.0

"POL_AN1"

BIN

 

 Приложение Г 

Таблица Г.1 - Таблица символов 

Символ

Адрес

Тип

Комментарии

Wl

MW20

WORD

Текущая ско­рость на Д1

W2

MW30

WORD

Текущая ско­рость на Д2

Wжел1

MW22

WORD

Желаемое зна­чение скорости Д1

Wжел2

MW32

WORD

Желаемое зна­чение скорости Д2

АвД1

М10.0

BOOL

Авария на Д1

АвД2

М10.4

BOOL

Авария на Д2

Авт

I0.3

BOOL

Переключатель «Авт»

Авт.режим

M1.0

BOOL

Триггер

Вентилятор

FC1

FC1

Функция

ВклД1

I0.5

BOOL

Контакт

ВклД2

I0.5

BOOL

Контакт

ВыклД1

I0.6

BOOL

Контакт

ВыКлД2

I0.2

BOOL

Контакт

Двигатель 1

DB1

FB1

Блок данных для функционального блока FB1

Двигатель 2

DB2

FB1

Блок данных для функционального блока FB1

К1

Q2.0

BOOL

Катушка с сиг­нализацией

К2

Q4.0

BOOL

Катушка с сиг­нализацией

Л1

Q0.0

BOOL

Катушка с сиг­нализацией

Л2

Q0.1

BOOL

Катушка с сиг­нализацией

ЛЗ

Q0.2

BOOL

Катушка с сиг­нализацией

Л4

Q0.3

BOOL

Катушка с сиг­нализацией

Л5

Q0.4

BOOL

Катушка с сиг­нализацией

Л6

Q0.5

BOOL

Катушка с сигнализацией

Л7

Q0.6

BOOL

Катушка с сиг­нализацией

Л8

Q0.7

BOOL

Катушка с сиг­нализацией

Пуск

I0.0

BOOL

Дискретный вход

Руч

I0.4

BOOL

Дискретный вход

Стоп

I0.1

BOOL

Дискретный вход

Tгl

М10.2

BOOL

Триггер

Тг2

М10.6

BOOL

Триггер

 

 Список литературы 

1.     Петров И.В. Программируемые контроллеры. .стандартные языки и приемы прикладного проектирования/ Под ред. проф. В.П. Дьяконова. – М.: СОЛОН-Пресс, 2004. -256с.

2.     Романчик А.Л., Рудакова Л.Н.. Автоматизация теплоэнергетических процессов. Учебное пособие. Алматы: АИЭС, 1994. - 72с.

3.     Э.Парр. Программируемые контроллеры: руководство для инженера/ пер. с англ. – М.: БИНОМ. Лаборатория знаний, 2007. -516с

4.     Электронные версии документации к программному обеспечению Simatic Manager.