- •324 Серия «Авторское приложение» Приложение «гиперсистема»
- •Оглавление
- •Введение
- •Назначение
- •Ограничения
- •Условия применения
- •Структура приложения «Гиперсистема»
- •Работа с приложением «Гиперсистема»
- •Комплексное логическое моделирование
- •Ввод данных модели
- •Запись блок-схем на языке Геракл
- •Краткое содержательное описание языка Геракл
- •Металингвистическое описание языка Геракл
- •Структурные диаграммы языка Геракл Пример записи алгоритма на языке Геракл
- •Преобразование блок-схем на язык Геракл
- •Ввод табличных данных тз
- •Верификация Логических функций
- •Логические функции
- •Команды управления
- •Сигналы срабатывания таймеров
- •Внешние соединители
- •Запуск алгоритмов
- •Синтез_модели
- •Конструкции-шаблоны приложения «Гиперсистема»
- •Связи конструкций-шаблонов с программными конструкциями
- •Отработка предметных конструкций модели
- •Отработка конструкции Логические_функции
- •Отработка конструкции Внешние_соединители
- •Пакетное моделирование
- •Функциональная схема
- •Список фс
- •Дерево фс
- •Граф управления фс
- •Моделирование и Отображение вMsVisio.
- •Моделирование и Отображение в тз.
- •Логическое моделирование аварийных режимов.
- •Речевое оповещение
- •Моделирование с продолжением
- •Представление алгоритмов на sfc
- •Язык последовательных функциональных схем - sfc
- •РеализацияSfCвIsaGraf6
- •Программа Gerakl To sfc Converter Принцип работы программы
- •Подготовка исходных данных
- •Работа с программой
- •Визуальное моделирование алгоритмов управления
- •Представление функций на ld Язык релейных диаграмм - ld
- •РеализацияLDвIsaGraf6
- •Программа Функции_ld Принцип работы программы
- •Подготовка исходных данных
- •Работа с программой
- •Визуальное моделирование логических функций
- •Подача команд на диаграмме ld
- •Использование списков наблюдения
- •Представление функций на fbd
- •Язык функциональных блоков - fbd
- •РеализацияFbDвIsaGraf6
- •Программирование функциональных блоков
- •Списки наблюдения
- •Браузер перекрестных ссылок (на примереDemo_energy)
- •Макетное программирование мк Работа с программой pice-196
- •Генерация с-кода
- •Экспорт c_кода в Project_96
Программирование функциональных блоков
Рассмотрим процесс разработки 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.
Подаем команды на выключение триггеров, не снимая команд на включение.