Методика создания программы на языках LAD, STL, FBD
Для составления программы на языке STL надо сначала определиться – где будет размещена эта программа. Если это будет главная программа с циклическим выполнением, то ее нужно записать в организационном блоке ОВ1. Если программа разрабатывается для локальной задачи логического управления, то для ее размещения возможно нужен функциональный блок.
В любом случае сначала надо создать проект.
Создание проекта происходит в среде Simatic Manager. После задания имени проекта, выбора типа станции и типа процессорного модуля появляется возможность размещения программных блоков.
Для этого в дереве проекта найдем и откроем папку Blocks. На правом поле окна проекта в Simatic Manager находится первый блок – блок организации циклического выполнения программы ОВ1.
Пусть, например, надо создать программу для управления пешеходным переходом и разместить ее в отдельном функциональном блоке.
Щелкнем на поле правой кнопкой мыши и выберем в контекстном меню команды «Insert New Object» → «Function Block», как показано на рисунке 2.35.
При этом приоткрывается окно для задания параметров блока. На вкладыше General - Part 1 в соответствующих полях вносим: номер блока (нумерация блоков выполняется автоматически, но ее можно изменить), его символическое имя (Cross) и язык программирования (STL). Окно Properties после выполнения этих операций показано на рисунке 2.36.
Рисунок 2.35 – Выбор команд в окне Simatic Manager для создания функционального блока
Рисунок 2.36 – Вид окна Properties после задания параметров блока
После создания функционального блока надо определить состав переменных, которые будут использоваться в программе. Прежде всего, необходимо определить глобальные переменные, которые нужно внести в таблицу Symbol Table. Чтобы открыть эту таблицу, надо в окне редактора выбрать меню Options → Symbol Table. В таблицу символов можно включать входные и выходные данные, меркеры, периферийные данные, таймеры, счетчики, функциональные блоки и функции, организационные блоки, блоки данных и типы данных UDT. Редактировать Symbol Table можно в любой момент.
Дальше определяются локальные переменные блока – его интерфейс с программой. К интерфейсу принадлежат входные данные (IN), выходные данные (OUT), входные и выходные параметры (IN_OUT), а также статические переменные (STAT). Кроме этого блок может иметь временные данные (TEMP), которые не принадлежат к интерфейсу.
Объявление символических имен и типов всех необходимых переменных осуществляется в разделе объявлений окна редактора Stl- программы, которое можно открыть двойным щелчком левой кнопки на пиктограмме созданного функционального блока в окне Simatic Manager.
После объявления переменных в функциональном блоке нужно создать блок данных DB. Следует принять во внимание, что в случае внесения изменений в раздел объявлений функционального блока после создания блока данных, интерфейс блока данных уже не будет отвечать интерфейсу функционального блока, поэтому блок данных должен быть создан сызнова.
Для создания блока данных нужно в окне проекта Simatic Manager раскрыть папку Blocks, щелкнуть правой кнопкой мыши на поле расположения блоков и в списке, который открылся, выбрать команды «Insert New Object» → «Data Block».
В окне параметров, которое открывается при этом, надо назначить номер и символическое имя блока данных, переключить тип блока из «Shared DB» на «Instance DB» (экземплярный) и указать номер функционального блока. После внесения этих данных нужно закрыть окно кнопкой ОК. При этом интерфейс функционального блока будет скопирован в блок данных. На рисунке 2.37 для примера показано содержимое блока данных DB1, созданного для функционального блока FB1.
После создания функционального блока и экземплярного блока данных остается организовать вызов этих блоков в главной программе управления, которая находится в ОВ1.
Открыв ОВ1, в первом сегменте вводим команду CALL FB1, DB1 и нажимаем Enter. При этом редактор автоматически меняет абсолютные номера блоков на символические имена “Cross” и “Cross_data”, где кавычки означают, что это глобальные символы, а также выводит для инициализации входные и выходные переменные. Входные переменные должны иметь конкретные значения, а для выходных указывается адрес расположения. Пример программного элемента вызова показан на рисунке 2.38.
Рисунок 2.37 – Отображение данных в блоке данных DB1
Рисунок 2.38- Организация вызова функционального блока в программе
Контрольные вопросы
1. Какими операциями осуществляется проверка состояния бит?
2. Что включает логический шаг двоичной операции?
3. Каким образом учитываются типы контактов при программирование проверки состояния?
4. Как программируются вложенные операции проверки бит?
5. Какие функции принадлежат к операциям с памятью?
6. Как проверяется наличие фронта сигнала?
7. Каким образом можно сохранить факт выявления фронта сигнала?
8. Какими операциями осуществляется пересылка данных?
9. Какие типы таймеров доступны пользователю?
10. Как задается продолжительность для таймера?
11. Какое значение имеет временная база для задания продолжительности?
12. От чего зависит скорость работы счетчиков?
13. Какие операции можно применять при программировании счетчика?
14. В каком порядке программируются операции сравнения?
15. В каком порядке программируются арифметические операции?
16. В каком порядке программируются математические операции?
17. В каком порядке программируются функции преобразования?
18. Как программируются функции сдвига?
19. Из каких бит составляется слово состояния?
20. Какие биты позволяют использовать функции переходов?
21. При каких условиях выполняется переход в другую точку программы?
22. Какие функции применяются для обработки кодовых блоков?
23. Из каких процедур составляется обработка вызова блока?
24. Какими процедурами завершается обработка блока?
25. Что необходимо для вызова функции?
26. Что необходимо для вызова системного блока?
3 ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ SCL
Дата добавления: 2016-12-09; просмотров: 4480;