Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание_применения.docx
Скачиваний:
321
Добавлен:
26.03.2015
Размер:
36.59 Mб
Скачать

Программирование функциональных блоков

Рассмотрим процесс разработки FBD – программы на простейшем примере логического элемента AND.

Создаем программу с помощью панели элементов.

Создаем словарь локальных переменных.

Используя окно навигации создаем виртуальные устройства ввода – вывода (монтируем переменные) для входов и выходов.

Создаем список наблюдения (шпиона).

Добавляем в список наблюдения переменные.

Настраиваем список наблюдения.

Визуальное моделирование функциональных блоков

Строим решение (компилируем программу).

Выполняем моделирование, разными способами подавая входы.

Подача входов вFBD– программе

Подача входов в окне наблюдения

Исходное состояние.

Подаем вход X1.

Подаем вход X2.

Подача входовcвиртуальной панели ввода

Исходное состояние.

Подаем вход X1.

Подаем вход X2.

Комплексное визуальное моделирование

Работа с решением (проектной группой)

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

Одной командой Построение компилируем все проекты группы.

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

В режиме моделирования нельзя одновременно запустить несколько проектов.

Работа с группой программ в проекте

Создаем проект Prog_All, копируя к него программы из существующих проектов.

Переменные программ, по которым они взаимодействуют, заносим в словарь глобальных переменных (переменные ресурса).

Две первые переменные программы Prog_SFC управляют триггером Z1P в программе Prog_LD, а две последующие – логическим элементом AND в программе Prog_FBD.

Выполняем моделирование проекта Prog_All.

На шаге 2 алгоритма Prog_SFC подан вход Х1 на логический элемент AND и сигнал установки триггера Z1P.

На шаге 4 алгоритма Prog_SFC подан вход Х2 на логический элемент AND и сигнал сброса триггера Z1P.

На шаге 5 алгоритма Prog_SFC снят вход Х1 логического элемента AND.

Настройка ресурса для генерации кода С.

Вы можете генерировать информацию отладки только для

ресурсов, скомпилированных в TIC код.

Structured C source code, индикация формирования компилятором Структурного исходного кода C.

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

встраиваемого исполняемого кода.

Цикл-за-циклом/Реальное время, указывает выполняются ли программы циклически или нет. Для режима

Цикл-за-циклом входы читаются, но код не выполняется в течение времени цикла. Эта опция полезна для

проверки входов-выходов.

Списки наблюдения

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

Подаем команду XRK061 (отмечена галочкой) на включение триггера ZVBIVK.

Подаем команды (пакет команд, ВП) F1P1_2, F2P1_2, F3P1_2, FKO, XRK061, XRK062, XRKA5.

Перечисленные команды выполняются по мере подачи (установки галочек) и дают итоговый результат:

Так как в словаре проекта содержатся все входные, внутренние и выходные переменные, то для работы со сложной реальной LD-программой представленный выше способ моделирования оказывается неудобным. В среде разработки IsaGraf можно дополнительно использовать списки наблюдения (шпиона). Количество и размеры списков не ограничены.

Наиболее целесообразно использовать три группы списков:

  • Один или несколько списков для входных переменных;

  • Один или несколько списков для внутренних переменных;

  • Один или несколько списков для выходных переменных;

Ниже представлены средства создания и использования этих списков.

Созданные списки можно оформить в виде вкладок в главном окне или в виде плавающих окон.

Подаем команды на включение триггеров F1P1_2, F2P1_2, F3P1_2.

Снимаем команды на включение триггеров.

Подаем команды на выключение триггеров F1P1_3, F2P1_3, F3P1_3.

Снимаем команды на выключение триггеров, сделав все окна плавающими.

Подаем команды на включение триггеров XRK061, XRKA5.

Подаем команды на выключение триггеров, не снимая команд на включение.