4 2. Реализация функциональных карт
Программы, написанные с помощью функциональных карт, работают в режимереального времени, и аналогичными свойствами должен обладать порождаемый ими машинный код (соответствующие детали обсуждаются в главе 10). Обычно реализация систем реального времени требует больших усилий и значительных затрат времени и труда. Однако в этом конкретном случае большая часть бремени ложится на разработчика компилятора языка функциональных карт, а пользователь может писать сложные управляющие последовательности сравнительно простым способом. Все проблемы программирования в реальном времени, обсуждаемые в главе 10, имеют значение и при разработке программируемых логических контроллеров, однако конечного пользователя они касаются опосредованно и в достаточно малой степени.
Компиляторы функциональных карт существуют для многих платформ промышленного управления. Широко применяется метод кросс-компиляции — программа разрабатывается и компилируется на одной платформе, обычно на ПК, а затем готовый исполняемый код загружается в ПЛК. Некоторые компиляторы включают средства эмуляции, которые показывают процесс исполнения программы на экране компьютера без подключения к ПЛК. Кроме того, существуют ПЛК со встроенными компиляторами.
Очевидное преимущество абстрактного описания в виде функциональных карт — это независимость от конкретной аппаратной части и ориентация на выполняемую задачу, а не на компьютер. К сожалению, языки высокого уровня типа функциональных карт пока не имеют той популярности, которую заслуживают. Странно, что так иного программистов все еще продолжают работать на ассемблере или на С даже в тех случаях, когда задачу можно намного проще решить на языках описания функциональных карт.
Как в любом сложном описании системы, диаграмма или программа должны быть разумно структурированы. Реализация функциональных карт должна позволять деление программы на небольшие части. Например, каждый станок сложной технологической линии иметь свой собственный граф (номограмму), а затем графы нескольких станков объединяться. Такое иерархическое структурирование чрезвычайно важно при программировании больших и сложных систем (глава 12).
Функциональные карты применяются не только для сложных операций, но очень полезны и для простых задач. Неспециалисту проще понять функциональные карты, например, принципиальные схемы. Достоинством общепринятого стандарта является переносимость исходного кода между различными платформами вне зависимости от аппаратных особенностей среды. Трансляция функциональных карт в машинный код зависит от специфики ПЛК и его инструментария (системного программного обеспечения), так как не все устройства имеют компиляторы . Тем не менее, даже если функциональные карты не преобразуются в программный код, сами диаграммы исключительно полезны, поскольку они предоставляют пользователю инструмент для анализа и структурирования задачи. Некоторые компании используют функциональные карты для описания возможностей и методики применения своего оборудования. Конечно, было бы намного проще, если бы функциональные возможности карты применялись на всех этапах от технического задания до непосредственного программирования.
- 1.1. Роль вычислительной техники в управлении процессами
- 1.5. Руководство для читателя
- Глава 8 посвящена архитектуре системных шин; наибольшее внимание уделено стандарту vme.
- Процессы реального времени. Методы программирования. Задачи цифрового управления
- 2.1.1. Пример — пресс для пластика
- 2.1.2. Управление на основе последовательного программирования
- 2.1.3. Управление на основе прерываний
- 2.2. Примеры задач управления процессами
- 2.2.1. Управление последовательностью событий и бинарное управление
- 2.2.2. Простой контур управления — регулятор температуры
- 2.2.3. Генерация опорного значения
- 2.2.4. Системы, содержащие несколько контуров управления.
- 2.2.5. Взаимосвязанные системы
- 2.2.6. Критичные по времени процессы
- 2.2.7. Свойства процессов, усложняющие управление
- 2.3. Особенности систем цифрового управления
- 2.4.2 Модельный пример 2 – биологическая очистка сточных вод (процесс активированного отстоя)
- 2.5. Заключение
- 3. Описание и моделирование систем
- 3.1.2. Масштаб времени динамических моделей
- 3. 1.3. Моделирование динамических систем
- 3.1.4. Моделирование дискретных событий
- 3.2. Основы моделирования динамических систем
- 3.2.1. Механические системы
- 3.2.2. Электромагнитные цепи
- Пример 3.4
- 7.4. Функциональные карты
- 7.4.1. Синтаксис функциональных карт
- 4 2. Реализация функциональных карт
- 7.4.3. Применение функциональных карт в промышленном управлении
- 7.5. Заключение
- 10.6. Методы программирования в реальном времени
- 10.6.1. Что такое программа реального времени?
- 10.6.2. Среда программирования
- 10.6.3. Структура программы реального времени
- 10.6.4. Обработка прерываний и исключений
- 10.6.5. Программирование операций ожидания
- 10.6.6. Внутренние подпрограммы операционной системы
- 10.6.7. Приоритеты процессов и производительность системы
- 10.7. Языки программирования и операционные системы реального времени
- 10.7.1. Требования к языкам и операционным системам реального времени