logo
ОСНОВЫ АСУ ТП

4 2. Реализация функциональных карт

Программы, написанные с помощью функциональных карт, работают в режимереального времени, и аналогичными свойствами должен обладать порождаемый ими машинный код (соответствующие детали обсуждаются в главе 10). Обычно реализа­ция систем реального времени требует больших усилий и значительных затрат вре­мени и труда. Однако в этом конкретном случае большая часть бремени ложится на разработчика компилятора языка функциональных карт, а пользователь может пи­сать сложные управляющие последовательности сравнительно простым способом. Все проблемы программирования в реальном времени, обсуждаемые в главе 10, име­ют значение и при разработке программируемых логических контроллеров, однако конечного пользователя они касаются опосредованно и в достаточно малой степени.

Компиляторы функциональных карт существуют для многих платформ промыш­ленного управления. Широко применяется метод кросс-компиляции — программа разрабатывается и компилируется на одной платформе, обычно на ПК, а затем гото­вый исполняемый код загружается в ПЛК. Некоторые компиляторы включают сред­ства эмуляции, которые показывают процесс исполнения программы на экране ком­пьютера без подключения к ПЛК. Кроме того, существуют ПЛК со встроенными компиляторами.

Очевидное преимущество абстрактного описания в виде функциональных карт — это независимость от конкретной аппаратной части и ориентация на выполняемую задачу, а не на компьютер. К сожалению, языки высокого уровня типа функциональных карт пока не имеют той популярности, которую заслуживают. Странно, что так иного программистов все еще продолжают работать на ассемблере или на С даже в тех случаях, когда задачу можно намного проще решить на языках описания функ­циональных карт.

Как в любом сложном описании системы, диаграмма или программа должны быть разумно структурированы. Реализация функциональных карт должна позволять деление программы на небольшие части. Например, каждый станок сложной технологической линии иметь свой собственный граф (номограмму), а затем графы нескольких станков объединяться. Такое иерархическое структурирование чрезвычайно важно при программировании больших и сложных систем (глава 12).

Функциональные карты применяются не только для сложных операций, но очень полезны и для простых задач. Неспециалисту проще понять функциональные карты, например, принципиальные схемы. Достоинством общепринятого стандарта является переносимость исходного кода между различными платформами вне зависимости от аппаратных особенностей среды. Трансляция функциональных карт в машинный код зависит от специфики ПЛК и его инструментария (системного программного обеспечения), так как не все устройства имеют компиляторы . Тем не менее, даже если функциональные карты не преобразуются в программный код, сами диаграммы исключительно полезны, поскольку они предоставляют пользователю инструмент для анализа и структурирования задачи. Некоторые компании используют функциональные карты для описания возможностей и методики применения своего оборудования. Конечно, было бы намного проще, если бы функциональные возможности карты применялись на всех этапах от технического задания до непосредственного программирования.