Повышенные требования к надежности. Традиционные контроллеры с параллельной шиной не имеют каких либо архитектурных решений, повышающих их надежность. Надежность традиционных контроллеров сегодня обеспечивается только экстенсивным способом - за счет высокого качества производства электронного оборудования. С архитектурной точки зрения, параллельная шина является центральным системным элементом с крайне высокой потенциальной ненадежностью. Она содержит десятки сигналов к которым подключаются все модули контроллера своими активными интерфейсными элементами (шинными приемо-передатчиками). Отказ любого элемента, при котором нарушатся электрические характеристики хотя бы одного сигнала может привести к выходу из строя всего контроллера. При этом практически невозможно диагностировать такую неисправность, так как при подобном отказе может полностью нарушиться функционирование контроллера.
Быстрое восстановление функций. В традиционных контроллерах многие единичные отказы могут привести к отказу всего контроллера. В этих случаях возможна только полная замена на новый полностью аналогичный контроллер. Подобную замену быстро произвести трудно - она потребует много времени.
Высокая сложность процедуры замены требует дополнительного тестирования нового контроллера после замены перед тем, как ввести его в эксплуатацию, что зачастую невозможно ввиду особенностей эксплуатации реальных технологических объектов. Иными словами восстановление традиционного контроллера, в общем случае, возможно только в масштабах ремонтных работ. Для ряда объектов, например ТЭС, ремонтные работы по вине системы управления недопустимы.
Повышенные требования к устойчивости функционирования. Это требование может быть выполнено только при условии компоновки небольших контроллеров, соответствующих объемам функциональных технологических узлов. В противном случае, при выполнении большого числа сложных программ на одном процессорном устройстве в многозадачном режиме возможно взаимовлияние программ.
Это может приводить к неустойчивому функционированию прикладного программного обеспечения. Выяснение причин подобных сбоев является наиболее сложной задачей в программировании и ее сложность растет экспоненциально с ростом объема программы.
Взаимовлияние программ может привести к чрезвычайно высокой трудоемкости технологической наладки объекта.
Во-первых, модификация программы в любой ее части может изменить время ее выполнения существенным образом, что повлияет на динамические свойства других участков программ. В некоторых случаях, ощутимое перераспределение процессорного времени может возникать только при соблюдении определенных условий (состояний), т.е. очень редко. Выявление и устранение подобных программных ошибок может занять неизвестное количество времени.
Во-вторых, для запуска исправленной в ходе технологической наладки программы требуется перезагрузка программы в контроллере на работающем объекте. Если контроллер ответственен за крупный участок технологии, то такая перезагрузка может повлечь остановку основного оборудования, что просто не допустимо.
Недостатки классической параллельной шины
Помимо перечисленных выше противоречий, возникающих при использовании традиционных контроллеров в управлении сложными технологическими объектами, существует ряд недостатков, порождаемых самой природой параллельной шины:
Во-первых, большинство параллельных шин являются одномастерными (однопроцессорными). Многомастерные (многопроцессорные) шины существенно сложней и более дорогостоящи. Если для решения задач, потребуется многопроцессорная обработка, то необходимо использовать относительно дорогие многопроцессорные шины типа VME или аналогичные.
Во-вторых, многопроцессорные параллельные шины имеют централизованную схему арбитража. Арбитр - это отдельное самостоятельное устройство, которое управляет доступом процессоров к шине. Выход из строя единственного элемента - арбитра, приведет выходу из строя всего контроллера.
В-третьих, шинные циклы на параллельной магистрали являются элементарными операциями чтения/записи операндов с точно заданными адресами. Шинные циклы не обладают свойством транзакции, т.е. невозможно корректно "откатиться" в состояние до выполнения неудачного цикла и попытаться повторить его вновь. Из этого следует сразу несколько проблем:
1. любой сбой при выполнении шинного цикла является серьезной системной ошибкой (исключительной ситуацией), корректная обработка которой практически невозможна. Редко какие операционные системы способны сохранить функционирование при подобных сбоях;
2. обязательное наличие точного адреса операнда в шинном цикле лишает возможности организации динамической маршрутизации информационных потоков;
3. ряд ограничений в адресации на параллельных шинах - отсутствуют широковещательные сообщения.
Вывод. Крупные контроллеры с централизованной обработкой даже с очень мощным процессором не удовлетворяют предъявляемым требованиям в полной мере. Необходима децентрализация обработки между небольшими автономными контроллерами, оптимальный объем которых соответствует объемам ФУ, для того, чтобы минимизировать обмен информацией между контроллерами.
Структура системы, адекватная функционально-технологической структуре объекта, на традиционных контроллерах возможна, но при этом стоимость системы существенно возрастет. С точки зрения эксплуатации, такая система будет иметь ряд недостатков. Отсутствие архитектурных решений, повышающих надежность системы будет допускать возможность отказов, приводящих к остановкам основного технологического оборудования на длительные периоды времени.
Контроллер с последовательной шиной
Распределение интеллекта по небольшим автономным контроллерам продиктовано разбиением технологии на функциональные узлы. Если представить архитектуру контроллера, состоящего из автономных интеллектуальных модулей, в которых объем каналов ввода/вывода и производительность встроенного в модуль процессора достаточны для управления средним функциональным узлом, то такая архитектура будет адекватной технологической структуре объекта автоматизации. Ключевой проблемой здесь является организация межмодульного взаимодействия внутри контроллера.
Локальная сеть внутри контроллера вместо параллельной шины
Сегодня локальные сети решают весь комплекс задач по объединению компьютерного и контроллерного оборудования в единую систему. Почему бы не использовать сетевые технологии для организации межмодульной коммуникации внутри контроллера?
Фактически контроллер с внутренней локальной сетью будет представлять собой кластер автономных интеллектуальных модулей, объединенных этой сетью. Важной предпосылкой для использования стандартной сети из семейства современных полевых сетей "Fieldbus" в качестве межмодульной среды передачи является существенное снижение интенсивности межмодульного взаимодействия. Проведенные нами исследования и оценки показывают, что интенсивность обмена информацией между интеллектуальными модулями может снизиться в сотни раз. Это достигается за счет реализации операций ввода/вывода УСО, обработки информации и управляющих программ внутри интеллектуального модуля. Межмодульное взаимодействие в этом случае требуется только для получения информации о значениях параметров, необходимых для функционирования собственных алгоритмов управления и заданий/рапортов извне. С другой стороны, объемы отдельных ФУ могут превосходить возможности отдельного модуля, поэтому сеть внутри контроллера должна быть достаточной для обеспечения более тесных и интенсивных связей, необходимых для решения задач внутри ФУ.
На "цеховом" уровне, где представлено несколько контроллеров, стоит задача их объединения в единую систему. Это означает, что сеть интеллектуальных модулей должна быть двухуровневой и включать сеть первого ранга, образующую контроллеры ФУ из интеллектуальных модулей и сеть второго ранга, объединяющую контроллеры (кластеры) в единую систему (рис 1).
Кластер модулей, объединенных сетью первого ранга, можно назвать контроллером функциональных узлов (далее КФУ).
Важной особенностью этой архитектуры является то, что сетевой шлюз в КФУ является абсолютно прозрачным для модулей. Таким образом, система выглядит для модулей как одноранговая сеть, т.е. для любого отправителя (модуля) не имеет значения, где физически находится получатель сообщения - в том же КФУ, или в другом. Это еще одно неоспоримое достоинство предлагаемой архитектуры.
Рис. 1. Сеть интеллектуальных модулей
Выбор стандартных локальных сетей для объединения интеллектуальных модулей внутри КФУ и полное исключение традиционных параллельных шин, как средства межмодульной коммуникации, позволяет без дополнительных затрат решить ряд проблем, неразрешимых для контроллеров с традиционной архитектурой. В этом состоит суть предлагаемого решения для организации архитектуры контроллера, адекватной предъявляемым требованиям.
Замена параллельной шины внутри контроллера на локальную сеть оптимально и без всяких оговорок решает ряд ключевых задач, определяющих основные системные свойства контроллеров:
Во-первых, обеспечение надежной среды передачи данных. В современных локальных сетях обеспечивается достоверность передаваемых по сети данных, которые защищаются циклическими контрольными суммами. Подобная защита данных от искажений отсутствует в большинстве параллельных шин.