19. Параметры блоков
Automating with STEP 7 in STL and SCL 19 - 21
Автоматизация посредством STEP 7
с использованием STL и SCL
Запускающий (Start) сигнал подается на вход Start блока управления
конвейера Belt 1, выход Ready_rem подается на вход Start блока
управления конвейера Belt 2, и т.д. И, наконец, Ready_rem от блока
управления Belt 4 подается на выход Remove системы управления "Feed".
Такая же цепочка сигналов проходит в обратном направлении Removed ->
Continue -> Ready_load -> ... -> Load.
Сигналы Belt_motX_on, Light_barrierX и /M_faultX (отказ мотора) - это
отдельные сигналы в каждом из блоков управления конвейерами. Входы
Reset, Man_start и Stop позволяю т управлять всеми блоками посред ством
сигналов Basic_st, Man_on и Stop соответственно.
Следующий раздел программы функционального блока "Feed" создан
таким же путем. Входные и выходные параметры функционального блока
показаны на рис. 19.5. Кроме того, числовые значения для счетчика
деталей Quantity и таймера Dura1 и Dura2 используются здесь как
вхо дные параметры. Мы объявляем данные отдельных блоков
управления конвейерами и данные счетчика деталей в статических
локальных данных таким же образом, как объявляются данные
пользовательского типа UDT, т.е., с указанием имени и типа данны х.
Переменная Belt1 должна содержать структуру данных функционального
блока "Conveyor_Belt", так же как и переменные Belt2, ..., Belt4;
переменная Check должна содержать структуру данных функционального
блока "Parts_counter".
Программа функционального блока начинается с инициализации общих
сигналов для всех блоков управления конвейерами. Здесь мы используем
тот факт, что параметры блока функциональных блоков, вызываемых как
локальные экземпляры, являются статическими локальными данными в
текущем блоке и, поэтому, могут обрабатываться как таковые. Параметр
блока Man_start текущего функционального блока управляет входным
параметром Man_on всех четырех блоков управления конвейерами
посредством простой операции присвоения. Таким же образом
проводится инициализация входных параметров Basic_st и Stop с
помощью параметров блока Reset и Stop соответственно. Теперь общие
сигналы для блоков управления конвейерами инициализированы.
(Конечно же Вы можете инициализировать эти сигналы и при вызове
функционального блока).
Последовательные вызовы функциональных блоков управления
конвейерами содержат параметры блока только для отдельных сигналов
соответствующего конвейера, связанные с параметрами функционального
блока "Feed". Эти отдельные сигналы представляют собой сигналы от
фотодатчиков (Light_barrierX), сигналы для и от моторов приводов
конвейеров (соответственно сигналы для аварийной остановки
двигателей /M_faultX и сигналы о состоянии моторов приводов
Belt_motX_on). (Здесь имеется в виду, что при вызове функционального
блока не все параметры блока должны быть инициализированы).
Программирование связи между отдельными блоками управления
конвейерами производится с использованием операций присвоения.
Функциональный блок FB "Parts Counter" ("счетчик деталей") вызывается
как локальный экземпляр, даже несмотря на то, что он не связан с
сигналами управления конвейерными лентами. Экземплярный блок
данных функционального блока "Feed" содержит в себе данные FB.