Проектирование сверху вниз 

Проектирование сверху вниз

3.3

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

Лучший способ реализовать рациональное разбиение — это использовать метод, называемый проектированием сверху вниз.

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

Рис. 3.2. Сталеплавильная печь компании Sheerness Steel, управляемая с помощью ПЛК (фото любезно предоставлено Sheerness Steel)

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

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