Табличный ПЛК.Табличное программирование контроллеров
Шрифт:
Во-вторых, необходимо иметь однозначную информацию о назначении входных и выходных сигналов. Так как функция программируемого контроллера, управляющего оборудованием, – формировать выходные сигналы и данные, то специалисту по ремонту необходима информация о том, как формируются выходные сигналы и данные. Причем эта информация должна быть представлена в простом и понятном виде.
Применяемые при управлении объектами сложные алгоритмы имеют разные уровни детализации, и необходимо предоставить заинтересованным лицам такой уровень описания, когда алгоритм остается ясным и не тонет во множестве деталей. Можно и дальше добавлять требования к визуализации состояния оборудования, тем самым увеличивая нагрузку на программирование графической части программы. Но лучше, чтобы все эти требования имели автоматическую реализацию в среде разработки. Чтобы в момент написания программы создавалось такое графическое
Теперь необходимо задаться вопросом о том, как эта информация может быть доведена до пользователя и воспринята им. И здесь стоит отойти от оборудования и алгоритмов его работы и рассмотреть уже сложившиеся способы донесения информации до человека.
1. Введение в табличное программирование контроллеров
1.1. Почему таблица?
Многообразие форм информационных потоков, воспринимаемых человеком, несколько усложняет выбор такого метода, который применим в рассматриваемом случае. Ведь необходимо не только информировать человека о состоянии контролируемого процесса и его критических параметрах, но и показывать состояние входов и выходов контроллеров, их назначение и алгоритмы формирования выходных значений. Можно сузить круг поиска и рассматривать наиболее близкие для специалиста формы представления информации. Обычно специалист в области автоматизации – это человек с техническим образованием, привыкший работать на компьютере, понимающий основы булевой алгебры, разбирающийся в базовых алгоритмах.
Обучение профессии и последующая деятельность такого специалиста постоянно тренируют его в быстром восприятии и анализе таких форм представления информации, как графики, схемы, таблицы, диаграммы, блок-схемы, списки, тексты, чертежи и тому подобное. И здесь наступает момент выбора одной или нескольких таких форм. Все они имеют свои плюсы и минусы и могут быть адаптированы для решения поставленной задачи. При рассмотрении наиболее подходящих форм предоставления информации отбиралась та, которая позволяет объединить в себе максимальное количество необходимых свойств и не прибегать к дополнительному использованию других форм. Конечно, немалое влияние на выбор формы оказали предпочтения и опыт автора.
С появлением персональных компьютеров появилась возможность интерактивной обработки данных. Вместо пакетной обработки, когда между изменениями в программе или в данных и получением результата проходили часы или дни, появилась возможность видеть результат практически сразу после внесения изменений. Раньше перед автором стояла задача обработки рентгеновских спектров, получаемых при анализе содержания полезных элементов в руде. Для этого была написана соответствующая программа. Применение персонального компьютера позволило сохранять большое количество спектров, представляющих собой массивы, размерность которых соответствовала количеству каналов спектрометра, а значение элемента массива – интенсивности излучения. Программы электронных таблиц еще не были распространены, но в научной литературе обсуждалась их концепция и ожидаемая будущая популярность. Понимание того, что, используя электронную таблицу, можно упростить обработку спектров, сортировку и хранение, а также просто и наглядно решить множество вопросов, возникающих при определении состава проб, усиливало ожидание появления такого программного продукта.
Появление Microsoft Excel версии 3.0 и выше отодвинуло существовавшие на то время программы электронных таблиц других производителей на задний план. Хотя необходимо отметить, что электронная таблица Quattro Pro 9, входящая в Corel WordPerfect Office 2000, по своим возможностям не уступала аналогичной версии Microsoft Excel, но к этому времени MS Excel фактически стал стандартом. Особенно порадовала возможность заморозки части таблицы, как по вертикали, так и по горизонтали. Теперь можно было работать с довольно большими таблицами, используя замороженную часть как многострочный заголовок с возможностью видеть большое количество вычисляемых параметров. К примеру, таблица прихода и расхода комплектующих после появления MS Excel была сделана за пару часов и учитывала жизненный цикл каждой партии товара. Недостаток таких решений, состоящий в невысокой защищенности данных от случайных изменений, с лихвой покрывался скоростью получения интересующей вас информации и ее наглядностью.
Вообще информация, представленная в виде таблицы,
Для решения большинства проблем, связанных с отображением внутреннего состояния программы, которая управляет техническим объектом, предлагается выводить состояние программы в виде специальной таблицы на экран монитора или сенсорного дисплея удобного размера. Таблица с внутренним состоянием контроллера может находиться в одной из закладок монитора, на который в обычном режиме выводится информация о контролируемом процессе или другие необходимые данные. Специалисту, программирующему контроллер, не нужно создавать таблицу и организовывать отображение данных, таблица и является программой. Кроме данных в ячейках таблицы, нет никаких дополнительных блоков или файлов. Она же, по сути, и графический интерфейс между машиной и человеком. В ней мы видим состояние всех переменных. От программиста скрыт только код, пересчитывающий данные в ячейках. И самое главное, таблица является средством разработки программы контроллера. Отпадает необходимость в сложной и дорогостоящей среде для написания и отладки программ, загружаемых в контроллеры.
Так как отсутствует многоуровневая система меню для изменения параметров и на экран выводится одна-единственная таблица, в которой отображается весь процесс, то многократно сокращается время обучения программированию контроллеров. Может сложиться впечатление, что такая таблица будет иметь тысячи строк и столбцов, но это на самом деле далеко не так. Например, программа управления портальным краном, имеющим две лебедки, стреловой, поворотный механизм и систему передвижения, содержит 180 строк и 30 столбцов. Простые программы управления небольшими объектами часто не нуждаются в прокрутке строк или столбцов, помещаясь на экране целиком.
Для больших программ или программ, имеющих довольно большие повторяющиеся блоки, можно организовать многостраничную структуру, состоящую из нескольких таблиц на отдельных страницах, причем пересчет таблиц нужно производить параллельно. Так как параллельная обработка страниц выполняется циклически, то она не приведет к появлению ошибок, связанных с синхронизацией. Выходные данные от одной страницы по мере готовности могут участвовать в расчетах на другой странице. Если какие-либо данные с параллельной страницы не были готовы в этом цикле пересчета таблицы, то они могут быть готовы в одном из следующих. Программы на отдельных страницах можно рассматривать как программы, работающие в отдельных контроллерах. Так как подобные виртуальные контроллеры используют одну память, то практически нет ограничения скорости передачи данных между ними. Но чтобы не потерять прозрачность общего алгоритма, при многостраничной организации программы следует минимизировать связи между страницами.
1.2. Основы табличного программирования
Для начала рассмотрим таблицу, показанную на рис. 1. В левый столбец таблицы вводятся логические состояния входов контроллера, а в ячейках верхнего заголовка рассчитываются выходные значения. Состояние каждого выхода будем определять как логическое И по столбцу под ним.
Рис. 1. Пример таблицы
Чтобы таблица стала программой, внесем в нее некоторые изменения. Ячейки в теле таблицы, участвующие в расчете выходных значений, будем называть активными ячейками. Для обозначения активной ячейки используется символ «&», который в электронике и программировании обычно является символом битовой операции «логическое И». Чтобы увеличить наглядность таблицы, активные ячейки, состояние которых равно нолю, выделим синим цветом, а ячейки, состояние которых равно единице, – зеленым цветом. Таким же образом обозначим результат логического И по столбцу. Простая табличная программа представлена на рис. 2.