Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_МППСА1.doc
Скачиваний:
72
Добавлен:
07.11.2019
Размер:
5.13 Mб
Скачать

3. Пример решения задачи автоматизации средствами Step 7

3.1. Определение областей процесса. Для составления алгоритма работы и программы управления каким-либо технологическим агрегатом целесообразно разделить процесс на ряд связанных функциональных областей. Так, например, процесс смешивания двух компонентов на установке периодического действия может быть представлен следующим образом (рис. 4.6):

Рис. 4.6. Пример разделения на функциональные области

процесса смешивания двух компонентов

В нашем примере промышленного процесса смешивания можно выделить четыре отдельные области. В этом примере область для ингредиента А содержит такое же оборудование, как и область для ингредиента В.

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

• электрические, механические и логические входы и выходы для каждой задачи;

• блокировки и зависимости между отдельными задачами.

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

Области ингредиентов А и В:

• Трубы для каждого ингредиента оборудованы впускным вентилем, питающим вентилем и питающим насосом.

• Впускные трубы имеют также датчики потока.

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

• Запуск питающих насосов должен блокироваться, когда выпускной вентиль открыт.

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

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

• Запуск питающих насосов объединен с функцией контроля времени, иными словами, в течение 7 секунд после запуска насосов датчик потока должен сообщить о наличии потока.

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

• Количество запусков питающих насосов должно подсчитываться (интервал технического обслуживания).

Область резервуара для смешивания:

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

• Электродвигатель мешалки после достижения номинальной скорости посылает ответный сигнал. Если этот сигнал не принимается в течение 10 секунд после запуска электродвигателя, то электродвигатель должен быть выключен.

• Количество запусков электродвигателя мешалки должно подсчитываться

(интервал технического обслуживания).

• В резервуаре для смешивания должны устанавливаться три датчика:

• Резервуар полон: нормально замкнутый контакт. Этот контакт размыкается, когда достигается максимальный уровень резервуара.

• Уровень резервуара выше минимума: нормально разомкнутый контакт. Этот контакт замыкается, когда достигается минимальный уровень резервуара.

• Резервуар непустой: нормально разомкнутый контакт. Этот контакт замкнут, если резервуар непустой.

Область выпуска:

• Выпуск из резервуара контролируется электромагнитным вентилем.

• Электромагнитный вентиль управляется оператором, но должен закрываться снова, самое позднее, когда генерируется сигнал «резервуар пуст».

Открытие выпускного вентиля блокируется, когда

- работает электродвигатель мешалки;

- резервуар пуст.

3.3 Список входов, выходов и входов/выходов. Сделав физическое описание каждого устройства, подлежащего управлению, нарисуйте диаграммы входов и выходов для каждого устройства или группы задач.

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

Логический блок требует также четырех выходов: два для индикации рабочего состояния двигателя, один для индикации неисправностей и один для индикации того, что двигатель подлежит обслуживанию. Для активизации двигателя необходим также вход/выход. Он используется для управления двигателем, но в то же время редактируется и изменяется в программе для "блока двигателя".

Рис. 4.8. Логический блок двигателя

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

Блок имеет вход/выход для активизации вентиля. Он используется для управления вентилем, но в то же самое время редактируется и изменяется в программе для "блока вентиля".

Рис. 4.9. Логический блок вентиля

3.4. Определение требований безопасности. Выясните, какие устройства требуют аппаратно реализованных схем для удовлетворения требований безопасности. Промышленный процесс смешивания в нашем примере использует следующую логику для своей схемы защиты - один аварийный выключатель отключает следующие устройства независимо от программируемого контроллера (ПЛК):

- питающий насос для ингредиента А;

- питающий насос для ингредиента B;

- двигатель мешалки;

- вентили.

Аварийный выключатель находится на станции оператора. Один вход в контроллер индицирует состояние аварийного выключателя.

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

Рис. 4.10. Пульт оператора технологической установки смешивания

3.6. Выбор управляющего оборудования. После того как вы задокументировали требования к проекту, вы должны принять решение относительно типа управляющего оборудования, требующегося для проекта.

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

- тип CPU;

- количество и тип модулей ввода/вывода;

- конфигурация физических входов и выходов.

Следующий рисунок иллюстрирует пример конфигурации S7 для промышленного процесса смешивания.

Рис. 4.11. Пример конфигурации S7 для промышленного процесса смешивания

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

Рис. 4.12. Иерархия блоков, вызываемых в структурированной программе

OB1: Образует интерфейс с операционной системой CPU и содержит основную программу. В OB1 вызываются блоки FB1 и FC1 и передаются специальные параметры, требуемые для управления процессом.

FB1: Питающий насос для ингредиента A, питающий насос для ингредиента B и электродвигатель мешалки могут управляться одним функциональным блоком, потому что требования (включение, выключение, подсчет и т.д.) идентичны.

Экземплярные DB 1-3: Фактические параметры и статические данные для управления питающими насосами для ингредиента A, ингредиента B и для электродвигателя мешалки различаются и поэтому сохраняются в трех экземплярных DB, связанных с FB1.

FC1: Впускные и питающие вентили для ингредиентов А и B и выпускной вентиль тоже используют общий логический блок. Поскольку должна программироваться только функция "открыть и закрыть", то достаточно

одного единственного FC.

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

Табл. 4.6.

3.9. Создание FB электродвигателя. FB электродвигателя содержит следующие логические функции:

- имеются вход запуска и вход останова;

- ряд блокировок разрешает работу устройств (насосов и электродвигателя мешалки). Состояние блокировок хранится во временных локальных данных (L-стек) OB1 (”Motor_enable", ”Valve_enable") и логически объединяется со входами запуска и останова, когда FB для электродвигателя обрабатывается;

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

- должны задаваться момент времени и длительность ответного сигнала или период ошибки/отказа;

- если нажимается кнопка запуска и электродвигатель разблокирован, то

устройство самостоятельно включается и работает до тех пор, пока не нажата кнопка останова;

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

3.10. Спецификация входов и выходов. Рисунок 4.13 показывает входы и выходы общего FB для электродвигателя.

Рис. 4.13. Входы и выходы общего FB для электродвигателя

3.11. Определение параметров FB. Если вы используете мультиэкземплярный FB электродвигателя (для управления как насосами, так и электродвигателем мешалки), то вы должны определить общие имена параметров для входов и выходов.

FB электродвигателя в типовом процессе требует следующего:

- он должен получать от станции оператора сигналы на останов и запуск электродвигателя и насосов;

- он требует сигналов ответа от электродвигателя и насосов, означающих, что электродвигатель работает;

- он должен вычислять время между передачей сигнала на запуск электродвигателя и приемом ответного сигнала. Если за это время ответный сигнал не будет получен, то электродвигатель должен выключаться;

- он должен включать и выключать лампы на станции оператора;

- он выдает сигнал, запускающий электродвигатель.

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

Следующая таблица показывает параметры FB электродвигателя в нашем типовом процессе.

Табл. 4.7.

3.12. Описание переменных FB для электродвигателя. Вы должны описать входные, выходные и проходные (in/out) FB для электродвигателя (см. табл. 4.8). В FB входные, выходные, проходные (in/out) и статические переменные сохраняются в экземплярном DB, указанном в команде вызова. Временные переменные сохраняются в L-стеке.

3.13. Программирование FB для электродвигателя. В STEP 7 каждый блок, вызываемый другим блоком, должен создаваться раньше блока, содержащего его вызов. Поэтому в типовой программе вы должны создать FB для электродвигателя раньше OB1.

3.14. Создание экземплярных блоков данных Создайте три блока данных и откройте их один за другим. В диалоговом окне "New Data Block [Новый блок данных]" выберите опцию "Data block referencing a function block [Блок данных, ссылающийся на функциональный блок]". В списке "Reference [Ссылка]" выберите "FB1". Тогда блоки данных определяются как экземплярные блоки данных с фиксированным назначением блоку FB1.

Табл. 4.8.

3.15. Создание FC для вентилей. Функция для впускных и питательных вентилей и выпускного вентиля содержит следующие логические функции:

- имеются вход для открытия и вход для закрытия вентилей;

- блокировки разрешают вентилям открываться. Состояние блокировок хранится во временных локальных данных (L-стек) OB1 (”Valve_enable") и логически объединяется с входами для открытия и закрытия, когда FC для вентилей обрабатывается.

Следующая таблица показывает параметры, передаваемые в FC.

Табл. 4.9

3.16. Спецификация входов и выходов Следующий рисунок показывает входы и выходы общей FC для вентилей. Устройства, вызывающие FB электродвигателя, передают входные параметры. FC вентилей возвращает выходные параметры.

Рис. 4.14. Входы и выходы общей FC для вентилей

3.17. Описание переменных FC для вентилей. Так же, как и у FB для электродвигателя, вы должны для FC вентилей описать входные, выходные и проходные (in/out) параметры (см. таблицу 4.10 описания переменных).

Табл. 4.10

В FC временные переменные хранятся в L-стеке. Входные, выходные и проходные (in/out) переменные хранятся в виде указателей на логический блок, который вызвал FC. Для этих переменных используется дополнительное пространство памяти в L-стеке (после временных переменных) .

3.18. Программирование FC для вентилей. Функция FC1 для вентилей должна создаваться раньше OB1, так как вызываемые блоки должны создаваться раньше вызывающих блоков.

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

Сегменты AWL для питающих насосов и электродвигателя мешалки снабжают FB электродвигателя входными параметрами для запуска ("Start"), останова ("Stop"), отклика ("Response") и сброса отображения технического обслуживания ("Reset_Maint"). FB электродвигателя обрабатывается в каждом цикле ПЛК.

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

FC вентилей и FB электродвигателя обрабатываются в каждом цикле программы программируемого контроллера, потому что они вызываются в OB1. Программа использует FB электродвигателя с разными экземплярными DB, чтобы обрабатывать задачи управления питающими насосами и электродвигателем мешалки.

3.20. Описание переменных для OB1. Таблица 4.11 описания переменных для OB1 показана ниже. Первые 20 байтов содержат стартовую информацию OB1 и не должны изменяться.

Табл. 4.11

3.21. Создание программы для OB1. В STEP 7 каждый блок, вызываемый другим блоком, должен создаваться прежде блока, содержащего его вызов. Поэтому в типовой программе вы должны создать и FB электродвигателя, и FC вентилей прежде, чем программу для OB1. Блоки FB1 и FC1 вызываются в OB1 более одного раза; FB1 вызывается с разными экземплярными DB:

Рис. 4.15. Порядок вызова FB и FC из ОВ1