Студопедия — Создание программы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Создание программы






Создание таблицы символов

Каждый вход и выход имеет абсолютный адрес, определенный при конфигурировании аппаратуры (для лабораторного стенда адреса входов и выходов контроллера приведены в таблице 1.2).

Абсолютный адрес по вашему выбору может быть заменен символическим именем (например, Q9.6: Automatic_Mode [Автоматический режим]). Используемые символические имена не зависят от языков программирования LAD, FBD или STL.

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

Символическое программирование значительно улучшает читаемость созданной вами программы.

 

Откройте в STEP 7 Lite ваш созданный проект «GettingStarted.k7p». Сейчас ваш проект содержит только элементы, создаваемые по умолчанию и программный компонент OB1.

В окне проекта дважды щелкните компонент Symbol table [Таблица символов]. Таблица символов содержит только организационный блок OB1.

Заполните таблицу символов в соответствии с рисунком 3.1.9.

Рисунок 3.1.9 – Таблица символов

Сохраните введенные данные, выполнив команду меню File → Save.

Работа в редакторе блоков

Программирование блоков осуществляется в редакторе блоков (см. рисунок 3.1.10).

Пользовательские программы в STEP 7 Lite разбиты на блоки. Это упрощает управление большими программными проектами. Эти блоки отображены внутри компонента Program [Программа].

Новый проект содержит только блок OB1, который STEP 7 Lite создает автоматически.

Организационный блок (Organization Block) ОВ1 является управляющим блоком для ЦПУ и содержит главную программу. Дополнительные блоки (DB, FB, FC) в основном вызываются из ОВ1.

 

Рисунок 3.1.10 – Редактор блоков

Программирование ОВ1 в LAD

Запрограммируем последовательную цепь, параллельную цепь и функцию памяти (SR-триггер) на языке LAD (Ladder logic) [контактный план] (см. рисунок 3.1.11).

Рисунок 3.1.11 – Программирование OB1 в LAD

Дважды щелкните мышью элемент ОВ1 для открытия в рабочей области редактора блоков.

В меню View выберите язык программирования LAD. Теперь ОВ1 будет открыт на языке LAD.

В меню View выберите команду Display With → Symbolic Representation [Отобразить → Символическое Представление].

Программирование последовательной цепи в LAD:

- В заголовке ОВ1 введите «Периодически исполняемая главная программа». В заголовке (Title) Network 1 [Сегмент 1] введите «Последовательное соединение»;

- Выделите токоведущую шину, щелкнув по ней мышью;

- Вставьте три элемента, используя различные способы:

· вставьте нормально открытый контакт, щелкнув значок Normally Open Contact;

· щелкните правой кнопкой мыши токоведущую шину, чтобы открыть выпадающее меню. Выберите Normally Open Contact;

· установите в вашей цепи Coil [катушку] с помощью операции перетаскивания.

- Щелкните на вопросительные знаки. Выберите из выпадающего списка имена «Key_1», «Key_2» и «Green_Light» для соответствующих элементов.

Т.о. светодиод на стенде VD1 («Green_Light») будет загораться, если нажаты кнопки SA1 («Key_1») И SA2 («Key_2»).

Программирование параллельной цепи в LAD:

- Выделите Network 1. Вставьте новый сегмент (через пиктографическое меню или CTRL+R) и назовите его «Параллельное соединение»;

- Выделите токоведущую шину;

- Вставьте нормально открытый контакт и катушку. Назовите их «Key_3» и «Red_Light»;

- Выделите основную токоведущую шину (вертикальную линию слева). Добавьте параллельную ветвь (Branch Open) и еще один нормально открытый контакт («Key_4») в параллельную ветвь;

- Закройте ветвь, щелкнув значок Branch Closed в пиктографическом меню или перетащив двойную стрелку на конце параллельной ветви на токоведущую шину.

Т.о. светодиод на стенде VD2 («Red_Light») будет загораться, если нажата кнопка SA3 («Key_3») ИЛИ SA4 («Key_4»).

 

 

Программирование функции памяти в LAD:

- Выделите Network 2. Вставьте новый сегмент и назовите его «Функция памяти SR»;

- Выделите токоведущую шину;

- На закладке Command откройте ветвь Bit logic. Для вставки функции памяти найдите и дважды щелкните элемент SR;

- Вставьте нормально открытый контакт перед верхним входом S;

- Введите соответствующие символические имена (см. рисунок 3.1.11).

Сохраните введенные данные через меню File → Save.

Работа с функциональными блоками FB

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

 

Создание и открытие функциональных блоков:

- В окне проекта щелкните мышью компонент Program;

- Выберите команду Insert → Block или щелкните правой кнопкой мыши в окне проекта, чтобы открыть всплывающее меню и выберите команду New → Block;

- В диалоговом окне (см. рисунок 3.1.12) выберите Function Block. Выберите язык программирования в списке Created in language;

 

Рисунок 3.1.12 – Создание функционального блока

- Подтвердите ввод, нажав ОК.

Новый блок будет немедленно добавлен и открыт в окне проекта.

 

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

Все сигналы, «специфичные для двигателей», т.е. параметры блока, передаются функциональному блоку из организационного блока. Поэтому они должны быть определены в таблице описания переменных как входные и выходные параметры (описание «in» и «out»). Это определяет «интерфейс» для вызова функционального блока в программе.

Заполните таблицу описания переменных функционального блока, как показано на рисунке 3.1.13.

В столбце «Type» щелкните правой кнопкой мыши и выберите тип из «Elementary types» во всплывающем меню.

Рисунок 3.1.13 – Таблица описания переменных FB1

Программирование FB в LAD:

На рисунке 3.1.14 представлены программы включения/выключения двигателя и контроля скорости.

Рисунок 3.1.14 – Программирование FB1 в LAD

Локальные переменные блока помечаются знаком # и действительны только в этом блоке. Глобальные переменные заключаются в кавычки. Они определены и действительны в пределах всей программы.

 

Создание локальных блоков данных (DB) и

изменение фактических значений

Чтобы позже иметь возможность запрограммировать вызов функционального блока из ОВ1, вы должны создать соответствующий блок данных (DB).

Функциональный блок управляет и контролирует работу бензинового или дизельного двигателя. Различные заданные скорости двигателей хранятся в двух различных блоках данных, в которых изменяется фактическое значение #Present_Speed.

Вставьте новый блок (Insert → Block). В диалоговом окне (см. рисунок 3.1.15) выберите Data Block. Укажите FB1 в качестве соответствующего функционального блока.

Рисунок 3.1.15 – Создание блока данных DB1

Подтвердите ввод, нажав ОК. Новый блок будет немедленно добавлен и открыт в окне проекта.

Активизируйте Data view (View → Data view). Вы можете редактировать DB только в данном представлении.

Проверьте, что для бензинового двигателя введено значение «1500» в столбец Actual value (см. рисунок 3.1.16).

Рисунок 3.1.16 – Блок данных для бензинового двигателя

Аналогично добавьте DB2 «Diesel». Для дизельного двигателя введите в столбец Actual value значение «1200» (см. рисунок 3.1.17). Сохраните введенные данные.

Рисунок 3.1.17 – Блок данных для дизельного двигателя

Программирование вызова блока в LAD

Программирование функционального блока окажется бесполезным, если вы не вызовите этот блок в ОВ1. При каждом вызове FB используется только один DB. Таким образом, вы можете управлять обоими двигателями.

Откройте ОВ1 и добавьте сегмент 4 [Network 4].

Перетащите FB1 из окна проекта в сегмент 4. Будут отображены все переменные, характерные для двигателей (см. рисунок 3.1.18).

Рисунок 3.1.18 – Программирование вызова блока FB1

Щелкните на вопросительных знаках. Появится всплывающий список символов. В списке выбора символов щелкните блок данных «Petrol».

Всем переменным дайте адреса. Адреса для бензинового двигателя имеют вид «PE_xxx» (см. рисунок 3.1.19).

Рисунок 3.1.19 – Программирование вызова FB1 с DB «Petrol»

 

Добавьте сегмент 5. Вновь перетащите FB1 из окна проекта в сегмент. Аналогично запрограммируйте вызов FB «Engine» с DB «Diesel».

Всем переменным дайте адреса. Адреса для дизельного двигателя имеют вид «DE_xxx» (см. рисунок 3.1.20).

 

Рисунок 3.1.20 – Программирование вызова FB1 с DB «Diesel»

Сохраните введенные данные и закройте блок.

Работа с функциями (FC)

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

Вставьте новый блок (Insert → Block). В диалоговом окне (см. рисунок 3.1.21) выберите Function. Выберите нужный язык программирования в списке Created in language.

Подтвердите ввод, нажав ОК. Новый блок будет немедленно добавлен и открыт в окне проекта.

 

Рисунок 3.1.21 – Создание функции FC1

Программирование функций

Требуется запрограммировать функцию таймера. При включении таймера функция таймера одновременно включает вентилятор, который работает еще 4 секунды после выключения двигателя (задержка выключения).

Аналогично FB, начните с объявления входных и выходных параметров функции (описание «in» и «out») в таблице описания переменных (см. рисунок 3.1.22). В столбце «Type» щелкните правой кнопкой мыши и выберите тип TIMER из «Parameter types» во всплывающем меню.

Рисунок 3.1.22 – Таблица описания переменных FC1

Для программирования функции перейдите в Libraries → Commands → Timers [Библиотеки → Команды → Таймеры]. Выберите элемент S_OFFDT и вставьте его в сегмент 1. Добавьте нормально открытый контакт и катушку.

Вместо вопросительных знаков введите имена из таблицы описания переменных, как показано на рисунке 3.1.23. Введите константу S5T#4s на входе TV таймера. Сохраните функцию и закройте окно.

Рисунок 3.1.23 – Программирование функции FC1 в LAD

Вызов функций в ОВ1

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

Откройте ОВ1. Добавьте Network 6 [сегмент 6] для бензинового двигателя и Network 7 [сегмент 7] для дизельного двигателя.

Перетащите FC1 в сегмент 6 и сегмент 7. Замените все вопросительные знаки символическими именами, как показано на рисунке 3.1.24.

Сохраните блок и закройте окно.

Рисунок 3.1.24 – Программирование вызова FC1 в LAD

В этом примере запрограммирован безусловный вызов функции, т.е. функция будет обрабатываться всегда. В зависимости от требований задачи автоматизации вы можете также запрограммировать условный вызов функции (FC) или функционального блока (FB): т.е. вызов, зависящий от входа или предшествующей операции. Для программирования условных вызовов предназначены вход EN и выход ENO.

Работа с глобальными блоками данных (DB)

Если ЦПУ недостаточно внутренней памяти для хранения всех данных, вы можете хранить определенные данные в глобальных (совместно используемых) блоках данных.

Данные в совместно используемых блоках данных доступны всем остальным блокам, а локальный блок данных соответствует конкретному функциональному блоку, и его данные доступны только в этом функциональном блоке.

Вставьте новый блок (Insert → Block). В диалоговом окне выберите Data Block, заполните поля, как показано на рисунке 3.1.25.

Подтвердите ввод, нажав ОК. Новый блок будет немедленно добавлен и открыт в окне проекта.

Рисунок 3.1.25 – Создание глобального блока данных DB3

Заполните таблицу, как показано на рисунке 3.1.26. Сохраните блок и закройте окно.

Рисунок 3.1.26 – Программирование переменных в блоке данных DB3







Дата добавления: 2014-11-10; просмотров: 1061. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия