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