Устройство и способ обнаружения несанкционированных манипуляций системным состоянием блока управления и регулирования ядерной установки
Иллюстрации
Показать всеИзобретение относится к устройству для обнаружения несанкционированных манипуляций системным состоянием блока управления и регулирования, в частности программируемого логического контроллера ядерной установки. Технический результат заключается в повышении надежности контроля работы установки в соответствии с заданной программой. Для этого устройство обеспечивает возможность надежным образом обнаруживать несанкционированные манипуляции. Предусмотрен модуль мониторинга, который контролирует рабочее состояние, и/или состояние расширения аппаратных средств, и/или состояние программы блока управления и регулирования и при изменениях этого состояния формирует сообщение. 2 н. и 9 з.п. ф-лы, 4 ил.
Реферат
Изобретение относится к устройству и способу обнаружения несанкционированных манипуляций системным состоянием блока управления и регулирования, в частности, программируемого логического контроллера ядерной установки. Оно также относится к программируемому логическому контроллеру, цифровой системе мониторинга для ядерной установки и соответствующей ядерной установке.
В ядерных установках, таких как установки для выработки энергии (атомные электростанции), параллельно работает множество взаимодействующих процессов, которые обычно включают в себя процессы управления и регулирования. Для соответствующих процессов используются оптимизированные для применения и соответственно конфигурированные блоки управления и регулирования.
За счет возрастающего информационно-технического объединения в сеть также ядерных установок, особенно установок для выработки энергии, и их привязки к внешним сетям вплоть до Интернета, эти системы уязвимы для атак посредством вирусов и другого вредоносного программного обеспечения. Известным случаем, когда такая установка была атакована вирусом программного обеспечения, был STUXNET. Такая атака может привести к потерям производства до полного отказа систем и обусловить человеческие жертвы и экономические потери. Кроме того, засылаемые подобным образом вредоносные программы используются для промышленного шпионажа. Кроме того, при начальной атаке вируса существует риск распространения вируса, так что он может атаковать дополнительные устройства управления той же ядерной установки или устройства управления установок, связанных через сеть. Из-за этих рисков использование систем управления, у которых конфигурация памяти может быть изменена в принципе к времени выполнения посредством вредоносного программного обеспечения, является высокой угрозой безопасности в сетевых средах. Такими системами управления являются программируемые логические контроллеры (SPS).
Поэтому в основе изобретения лежит задача обеспечить устройство, с которым несанкционированные манипуляции могут быть обнаружены надежным образом. Кроме того, должны быть обеспечены программируемый логический контроллер и цифровая система мониторинга для ядерной установки, ядерная установка, а также соответствующий способ.
В отношении устройства эта задача в соответствии с изобретением решается тем, что предусмотрен модуль мониторинга, который контролирует рабочее состояние, и/или состояние расширения аппаратных средств, и/или состояние программы блока управления и регулирования и при изменениях этого состояния формирует сообщение.
Предпочтительные варианты осуществления изобретения являются предметом зависимых пунктов формулы изобретения.
Изобретение основано на том соображении, что атаки посредством вирусов или подобного вредоносного программного обеспечения могут в том случае иметь успех, если вы можете влиять на системное состояние систем управления и/или регулирования таким образом, что их функциональность нежелательным образом изменяется, расширяется или разрушается. Это может осуществляться тем, что вредоносная программа и/или вредоносные данные загружаются и выполняются в перезаписываемой памяти во время работы. По этой причине кажется проблематичным использовать подобные системы управления и/или регулирования в критичных с точки зрения безопасности установках. В случае ядерных установок требуется выполнение наивысших стандартов безопасности, так как изменения в системах управления могут привести к шпионажу, отказу компонентов, неисправности и серьезным авариям.
При подобной атаке пытались бы, например, внедрить дополнительный программный код в блок управления и регулирования или заменить существующий программный код инфицированным кодом. Кроме того, могли бы пытаться изменить конфигурацию таким образом, что данные с датчиков больше не будут приниматься и/или исполнительные механизмы не смогут больше срабатывать или управляться.
Как теперь было обнаружено, необходимые высокие стандарты безопасности могут быть реализованы таким образом, что внутренние для системы процессы применяемого в подобной установке блока управления и регулирования, другими словами, рабочее состояние, и/или состояние расширения аппаратных средств, и/или состояние программы блока управления и регулирования контролируются, и об изменениях сообщается.
За счет формирования сообщения можно непосредственно исследовать, каков тип изменения и осуществлено ли оно, в соответствующем случае, несанкционированным образом. Кроме того, обеспечивается возможность непосредственно реагировать на это изменение. В рамках настоящей заявки, в качестве блока управления и регулирования обозначается каждый электронный блок, который может выполнять только процессы управления или процессы регулирования или оба вида процессов.
Предпочтительно, блок управления и регулирования имеет по меньшей мере одну перезаписываемую память с данными, хранящимися в ней, причем модуль мониторинга формирует сообщение при изменениях данных, хранящихся в памяти. Рабочее состояние, состояние расширения аппаратных средств и состояние программы блока управления и регулирования с перезаписываемой памятью как программируемого логического контроллера, по существу, определяется его содержимым памяти. Содержимое памяти, как правило, включает в себя программный код, конфигурацию аппаратных средств и программного обеспечения и динамически загружаемые поля данных, переменные и т.д. Атака противника извне посредством вредоносного программного обеспечения будет проявляться в изменениях в памяти, так что изменения содержимого памяти могут указывать на несанкционированные манипуляции.
Предпочтительно данные включают в себя программный код или формируемые из него программные параметры. Программный код, в частности загружаемая прикладная программа выполняется в течение работы во время выполнения и содержит инструкции, которые выполняются. Изменения в программном коде указывают на манипуляции. Для того чтобы обнаружить такие манипуляции, код должен, но не обязательно, контролироваться непосредственно на изменения. При этом более эффективным и экономичным является то, когда выведенные из него или полученные с помощью программного кода (кода пользователя, прошивки, операционной системы и т.д.), то есть в известной степени вторичные программные параметры контролируются на изменения, если при изменениях кода с достаточно высокой вероятностью возникают изменения в этих параметрах. Это, например, имеет место в случае формируемого из кода или разделов кода или компонентов кода контрольных сумм или длин. Процессор (CPU) предпочтительно имеет «логическую схему Исключающее-ИЛИ по контрольным суммам компонентов программного обеспечения или модулей» в качестве внутренней функциональности. Результаты (например, 32-битные значения) считываются тогда из модуля мониторинга и контролируются на наличие изменений. Программируемые логические контроллеры, такие как SIMATIC S7-300 и SIMATIC S7-400, автоматически вычисляют контрольные суммы, в частности суммы цифр чисел. Они должны только считываться модулем мониторинга и контролироваться на наличие изменений. Посредством сравнения старого и нового значений можно, таким образом, обнаружить любое изменение программы.
Данные предпочтительно содержат системные данные, особенно конфигурацию аппаратных средств и/или сформированные отсюда системные параметры. При этом конфигурация аппаратных средств включает в себя в модульных системах данные о применяемых модулях. Проектирование конфигурации аппаратных средств осуществляется, например, в SIMATIC через HWKonfig, содержащееся в программном обеспечении для программирования STEP7/PCS7. Каждый модуль, который должен вставляться в модульный S7-300 или S7-400, чтобы быть исполняемым, должен параметризироваться в HWKonfig, а затем загружаться в CPU целевой станции. В HWKonfig все установки, такие как адрес модуля, диагностические настройки, настройки измерительных диапазонов и т.д. каждого модуля, параметризируются. За счет этого может отпадать необходимость в настройках, например, через мостовой переключатель. В случае замены модуля никакие дополнительные настройки не нужны.
Упомянутое проектирование сохраняется в так называемых системных данных. Проверка на изменения этих системных данных позволяет обнаружить возможные атаки. Как описано выше, логические схемы Исключающее-ИЛИ по контрольным суммам предусмотрены в блоке управления и регулирования, считываются модулем мониторинга и контролируются путем сравнения старого и нового значений на наличие изменения.
В предпочтительной форме выполнения модуль мониторинга контролирует положение переключателя режимов работы CPU блока управления и регулирования. Такой переключатель режимов работы может иметь несколько установок. Они могут быть, например, следующими:
- MRES (сброс памяти переменных)
- STOP (отсутствие программной обработки, возможна только коммуникация)
- RUN (обработка программы с заблокированной возможностью изменения программы)
- RUN-P (программная обработка с возможностью изменения программы).
В случае многих современных CPU без ключевого переключателя существуют только положения переключателя "START" и "STOP", причем в положении "STOP" программная обработка невозможна, так что в этом случае программная оценка в CPU не дает никакого изменения.
Кроме того, может быть предусмотрено, что модуль мониторинга контролирует изменения уровня безопасности блока управления и регулирования. Уровень безопасности может иметь, например, установки «только считывание» или «считывание и запись», соответственно, в сочетании с защитой паролем.
Если во время контроля обнаружены изменения в рабочем состоянии, состоянии расширения аппаратных средств или программы, то формируется сообщение, что может быть сделано по-разному. Для того чтобы сообщение было доступно для оценки к более поздним моментам времени, оно предпочтительно записывается в память, в частности в буфер диагностики CPU блока управления и регулирования и/или буфер мониторинга модуля мониторинга. Буфер диагностики может быть выполнен, например, как интегрированный в область памяти CPU, которая в качестве кольцевого буфера может принимать диагностические записи. Эти записи предпочтительно снабжаются меткой даты/времени. Предпочтительно, модуль мониторинга имеет память мониторинга, в которую может записываться сообщение, предпочтительно с меткой даты и времени. Эта память мониторинга может быть выполнена, например, в виде кольцевого буфера. Запись сообщения может записываться только в одну из обеих памятей или, для обеспечения избыточности, в обе памяти, если они имеются.
В качестве альтернативы или предпочтительно в дополнение, сообщение выдается на конкретном, в частности, двоичном выходе устройства, особенно модуля мониторинга. Тем самым проектировщику обеспечивается зависящая от установки выдача сообщения. При этом предпочтительно предусмотрено несколько выходов, которые соотнесены с отдельными видами обнаруженных изменений (программной памяти, системной памяти, уровня безопасности и т.д.).
Предпочтительно предусмотрен модуль безопасности, который переключает уровень безопасности блока управления и регулирования по мере необходимости, в частности при приведении в действие ключевого переключателя. При этом уровень безопасности имеет, в частности, установки «считывание и запись» и «только считывание» и «защита от считывания и записи», причем эти установки могут быть альтернативно связаны с паролем легитимации. Ключевой переключатель, через который может осуществляться это переключение, встроен тогда в пульт управления. Так может гарантироваться, что изменения в программе могут осуществляться только авторизованными лицами. Без переключения или приведения в действие ключевого переключателя тогда изменения в программе в известной степени блокируются и, следовательно, исключаются. Ключевой переключатель монтируется на любом цифровом входе. В управляющей программе этот сигнал переключается на некоторый компонент (SecLev_2), который затем через системную функцию устанавливает уровень безопасности.
В предпочтительной форме выполнения устройства предусмотрен модуль контроля, который контролирует работу модуля мониторинга, причем также модуль мониторинга контролирует работу модуля контроля. Идея этой формы выполнения заключается в следующем. Чтобы злоумышленник мог незаметно выполнить изменения программы в блоке управления и регулирования, он должен сначала получить доступ к записи путем установки уровня безопасности на «считывание и запись». Кроме этого, он должен прекратить активность модуля мониторинга, то есть при реализации модуля мониторинга посредством модуля программного обеспечения или компонента программного обеспечения он должен прекратить его обработку или обработку его программных инструкций со стороны CPU. Чтобы это обнаружить или перехватить, предусмотрен модуль контроля.
Модуль мониторинга и модуль контроля взаимно контролируют работу друг друга. Однако это не является простым избыточным контролем блока управления и регулирования. В предпочтительном случае, если модуль мониторинга и модуль контроля реализованы в виде программных модулей, оба модуля взаимно контролируют их обработку. Это осуществляется предпочтительно за счет того, что проверяется, происходит ли в течение заданного временного интервала, например одной секунды, правильная обработка соответствующего контролируемого модуля. Если это не имеет места, то сообщается об отсутствии обработки, что может указывать на попытку или на уже произошедшую компрометацию.
Удаление программных компонентов извне посредством атаки возможно только по очереди. Иными словами, злоумышленник, если он вообще знал бы о существовании обоих модулей и их функциональностях, должен был бы их удалять или деактивировать один за другим. При удалении или деактивации одного из обоих модулей это обнаруживается соответствующим другим модулем и формируется соответствующее сообщение, так что выход из строя одного из двух модулей надежно обнаруживается.
В случае если модуль контроля обнаруживает нарушения в работе модуля мониторинга, он указывает на неисправность в работе или неисправную обработку модуля мониторинга на двоичном выходе. Модуль мониторинга отображает неисправности в работе модуля контроля по меньшей мере одним из способов, описанных выше: сообщение записывается в память или буфер CPU или модуля мониторинга, предпочтительно вместе с меткой даты/времени, или выдается на (двоичном) выходе для дальнейшей зависящей от системы выдачи сообщения. Предпочтительно исполняются все три способа.
По отношению к программируемому логическому контроллеру, вышеуказанная задача решается с помощью вышеописанного устройства, интегрированного посредством программных модулей. То есть упомянутые выше модули (модуль мониторинга, модуль контроля, модуль безопасности), соответственно, реализованы в виде программных модулей или программных компонентов и находятся в рабочем состоянии блока управления и регулирования в его памяти.
В отношении цифровой системы мониторинга для ядерной установки, вышеуказанная задача в соответствии с изобретением решается посредством вышеописанного программируемого логического контроллера.
В отношении ядерной установки, вышеуказанная задача в соответствии с изобретением решается посредством такой цифровой системы мониторинга.
В отношении способа, вышеуказанная задача решается тем, что контролируют рабочее состояние, и/или состояние расширения аппаратных средств, и/или состояние программы блока управления и регулирования и при изменениях этого состояния выдают сообщение. Предпочтительные варианты осуществления способа вытекают из функциональностей, описанных в связи с устройством.
Преимущества изобретения заключаются, в частности, в том, что посредством контроля рабочего состояния, состояния расширения аппаратных средств и состояния программы блока управления и регулирования незамеченные манипуляции в значительной степени предотвращаются и надежным образом уведомляются, так что меры для предотвращения повреждения установки могут быть приняты немедленно и целенаправленно. Использование программируемых логических контроллеров становится возможным только в средах, объединенных в сеть таким образом, критичных с точки зрения безопасности. Посредством взаимного контроля модуля мониторинга и модуля контроля достигается то, что манипуляции становятся невозможными путем отключения мониторинга.
Пример выполнения изобретения поясняется более подробно со ссылками на чертежи, на которых в схематичном представлении показано следующее:
Фиг. 1 - ядерная установка с цифровым блоком мониторинга с блоком управления и регулирования с интегрированным устройством с модулем мониторинга, модулем безопасности и модулем контроля в предпочтительной форме выполнения,
Фиг. 2 - блок-схема функциональных возможностей модуля безопасности устройства по Фиг. 1,
Фиг. 3 - блок-схема функциональных возможностей модуля мониторинга устройства по Фиг. 1, и
Фиг. 4 - блок-схема функциональных возможностей модуля контроля устройства по Фиг. 1.
Идентичные части обозначены на всех чертежах одинаковыми ссылочными позициями.
Показанная на Фиг. 1 ядерная установка 2 включает в себя цифровую систему 4 контроля с блоком 8 управления и регулирования, который выполнен в виде модульного программируемого логического контроллера (SPS) 10. При этом речь может идти, например, о SIMATIC S7-300 или S7-400 фирмы Siemens. Он включает в себя CPU 20 и память 26, которая включает в себя несколько областей памяти. В области 32 памяти программ хранятся программы, выполняемые во время работы SPS 10. Дополнительно к этому сохранены контрольные суммы кода и его длины, они пересчитываются посредством CPU 20 при передаче программы на CPU 20 и сразу актуализируются при изменениях. Точно так же вычисляются логические операции Исключающее-ИЛИ на этих контрольных суммах, сохраняются в памяти 38 системных данных и актуализируются при изменениях. Также может быть предусмотрено, что эти величины, полученные из программного кода, сохраняются в собственной области памяти.
В области 38 памяти системных данных также хранятся конфигурационные данные CPU, в частности, конфигурационные данные аппаратных средств. Для того чтобы в модульном SPS 10, как в этом случае, один компонент мог быть запущен, он должен быть параметризирован в конфигурации аппаратных средств, а затем загружен в CPU 20. В конфигурации аппаратных средств параметризируются все настройки, такие как адрес модуля, диагностические настройки, настройки диапазона измерения и т.п. соответствующего компонента. В случае замены компонента не требуются никакие дополнительные настройки. Память 26 включает в себя также дополнительные области 40 памяти.
SPS 10 с входной стороны соединен с группами 44 датчиков, которые включают в себя ряд датчиков, а с выходной стороны соединен с группами 50 исполнительных элементов, которые, в свою очередь, содержат ряд исполнительных элементов. Линия 56 данных ведет извне в ядерную установку и соединяет через интерфейс 62 SPS 10 с локальной сетью (LAN) или также с Интернетом. Ввиду этого соединения существует возможность, что потенциальные злоумышленники попытаются внедрить вирус в CPU 20 или установить другие типы вредоносных программ, чтобы либо получить информацию о данных, хранящихся в CPU 20 (промышленный шпионаж), либо функциональность SPS 10 изменить, отменить или разрушить. Такая успешная атака может привести к крупным человеческим жертвам и экономическому ущербу, если SPS 10 связаны с управлением критическими для безопасности процессами.
Чтобы предотвратить этот ущерб и иметь возможность надежно и быстро распознавать атаки и, тем самым, несанкционированные манипуляции рабочим состоянием, состоянием расширения аппаратных средств и состоянием программы SPS 10, в соответствии с изобретением предусмотрено устройство 70, интегрируемое в данном случае в SPS 10. Устройство 70 содержит три модуля 76, 82, 116, которые будут описаны ниже. Эти модули реализованы в виде компонентов программных средств и находится в области памяти программы.
Модуль 76 безопасности имеет, показано стрелкой 78, доступ к уровню безопасности CPU 20. Он выполнен так, чтобы переключать уровни безопасности между «считывание и запись», «только считывание» и «защита от считывания и записи» или наоборот. Эта функциональность связана с ключевым переключателем 80, который встроен в пульт управления (не показан). То есть в первом положении ключевого переключателя, модуль 76 безопасности активирует уровень безопасности «считывание и запись», а во втором положении ключевого переключателя модуль 76 безопасности активирует уровень безопасности «только считывание» или в качестве альтернативы «защита от считывания и записи». Во время работы, это второе положение является нормальным положением, так что неавторизованные лица не могут выполнять изменения программы или другие изменения в памяти 26. Только если ключевой переключатель находится в первом положении, возможны изменения. Злоумышленник, таким образом, должен был бы либо получить доступ к ключевому переключателю, таким образом, получить доступ к установке, что может предотвращаться в значительной степени общепринятыми мерами безопасности. При обстоятельствах, он мог бы также, если ключевой переключатель находится в первом положении, путем внедрения вредоносного программного обеспечения стереть или непосредственно изменить программно-техническими средствами уровень безопасности в CPU.
Для того чтобы надежно обнаруживать внедрение вредоносного программного обеспечения в любой форме или неавторизованные изменения рабочего состояния, состояния расширения аппаратных средств и состояния программы SPS 10, предусмотрен модуль 82 мониторинга. Как указано стрелкой 90, модуль 82 мониторинга контролирует изменения в области памяти программы в памяти 32. Это делается следующим образом: CPU 20 формирует из программного кода, хранящегося в области 32 памяти программы, на каждый компонент, контрольные суммы и длины программ. Посредством логических операций Исключающее-ИЛИ по этим отдельным контрольным суммам и длинам программ формируется общая контрольная сумма (32-битовое число) и сохраняется в памяти 38 системных данных. Результаты (общая контрольная сумма) этих логических операций контролируются на наличие изменений. Для этого в заданных временных интервалах выполняется сравнение старого и нового значений.
Как символизируется стрелкой 90, модуль 82 мониторинга контролирует также область 38 памяти программы на наличие изменений. Это выполняется вновь через проверку изменений сформированных и обеспеченных посредством CPU 20 логических операций Исключающее-ИЛИ по длинам и контрольным суммам системных данных. Модуль 82 мониторинга контролирует, кроме того, изменения уровня безопасности CPU 20, который также хранится в памяти системных данных.
В случае изменения контролируемых результатов, модуль 82 мониторинга формирует сообщения тремя различными способами. Во-первых, сообщение записывается в буфер 88 диагностики SPS 10. Он представляет собой выполненную в CPU 20 как кольцевой буфер интегрированную область памяти, которая может вместить до 500 диагностических записей. Даже после «общего сброса» (общий сброс является функцией, при которой вся память CPU, за исключением буфера 88 диагностики, то есть сброшенный в общем CPU (больше) не работает) или одновременного сбоя аккумулятора и сетевого питания, эта память является все еще считываемой. Посредством записи сообщения в буфер 88 диагностики, таким образом, обеспечивается, что сообщение даже после отказа питания не теряется. Содержимое буфера диагностики может, с одной стороны, считываться с помощью программного обеспечения программирования STEP7/PCS7 и индицироваться. С другой стороны, некоторые HMI устройства/системы программного обеспечения, такие как WinCC или PCS7 OS, могут индицировать эти записи буфера диагностики также в виде простого текста с меткой даты/времени.
Модуль 82 мониторинга записывает сообщение также в реализованный в модуле 82 мониторинга буфер 94 мониторинга, выполненный как кольцевой буфер, который в данном случае может вмещать 50 записей. Каждая запись состоит из метки даты/времени и бита на каждое произошедшее изменение. Буфер 94 мониторинга может считываться и оцениваться посредством STEP7/PCS7.
Сообщение по-прежнему выдается или индицируется, соответственно, на двоичном выходе 100, 102, 104 в модуле мониторинга и, таким образом, обеспечивается для дальнейшей обработки. После оповещения оператор может при необходимости через буфер диагностики или буфер мониторинга считать более детальную информацию. С каждой из трех вышеупомянутых процедур мониторинга (программного кода, системных данных, уровня безопасности) соотнесен отдельный двоичный выход 100, 102, 104, так что установки бита достаточно, чтобы реализовать сообщение. Сообщения при изменениях программного кода создаются на двоичном выходе 100, сообщения при изменениях в системных данных создаются на двоичном выходе 102, и сообщения при изменениях уровня безопасности создаются на двоичном выходе 104 посредством соответствующей установки бита.
Посредством описанного модуля 82 мониторинга на основе сформированных сообщений могут обнаруживаться попытки выполнения изменений на системных данных и/или программном коде, которые могут быть, например, эффектами вирусной атаки, с помощью которой должна нарушаться функциональность SPS 10. Формирование сообщений могло бы предотвращаться тем, что злоумышленник частично или полностью стирает или деактивирует модуль 82 мониторинга, прежде чем модуль 82 мониторинга заметит атаку и сможет сформировать сообщение. Чтобы предотвратить такие сценарии, предусмотрен модуль 116 контроля. Как показано двойной стрелкой 112, модуль 82 мониторинга и модуль 116 контролируют друг друга. Это происходит в данном случае так, что соответственно контролируется обработка программных инструкций. Для этого соответственно, проверяется, продолжалась ли обработка инструкций программного кода в заданном временном интервале, здесь 1 секунда (обычно программы управления процессом выполняются во временных интервалах от 10 до 100 миллисекунд). Если один из двух модулей 82, 106 обнаруживает, что в соответствующем другом модуле 82, 106 обработка не продолжается, то он формирует соответствующее сообщение, так что можно реагировать на потенциальную атаку.
Модуль 116 контроля указывает на ошибочную или отсутствующую обработку модуля 82 мониторинга на двоичном выходе 110. Ошибочная или отсутствующая обработка модуля 82 мониторинга, как описано выше в связи с мониторингом памяти 26, соответственно, с меткой даты/времени записывается в буфер 88 диагностики и в буфер 94 мониторинга, а также выдается на двоичном выходе 110 для дальнейшей зависящей от установки выдачи сообщения.
Этот механизм является очень надежным, так как злоумышленнику прежде всего потребовалось бы получить извне знание о наличии двух взаимно контролирующих или мониторинговых модулях 82, 116. Кроме того, для него будет невозможным одновременно удалить оба модуля 82 и 116, так что по меньшей мере один из обоих модулей 82 или 116 формирует сообщение, и атака, таким образом, может быть обнаружена. Но даже без атаки сбои или неисправности одного из обоих модулей 82, 116 могут быть обнаружены.
Блок-схема этапов способа, происходящих в рабочем состоянии модуля 76 безопасности, показана на Фиг. 2. Способ, реализованный в модуле 76 безопасности программным обеспечением, начинается запуском 120. В решающем блоке 126 проверяется, выводит ли ключевой переключатель 80 действительный сигнал, который разрешает доступ для считывания/записи, и является ли одновременно состояние этого сигнала действительным, или имеет место имитация. Если все эти условия выполняются, то способ переходит к блоку 132, в котором уровень безопасности CPU 20 переключается на доступ для записи/считывания, что соответствует уровню 1 безопасности.
В противном случае, способ переходит к решающему блоку 134, в котором проверяется, должен ли запрещаться доступ для записи и считывания без легитимации паролем. Если это так, то способ переходит к блоку 136, в котором уровень безопасности или ступень безопасности CPU 20 переключается на доступ для считывания/записи без легитимации паролем. В блоке 138, если оба приведенные выше решения 126, 134 были отрицательными, уровень безопасности устанавливается на защиту от записи с легитимацией паролем, что соответствует уровню 2 безопасности. В блоке 140 текущий уровень безопасности считывается и индицируется. Способ завершается в конце 142.
Способ, реализованный посредством программного обеспечения в модуле 82 мониторинга, представлен посредством блок-схемы на Фиг. 3 и начинается запуском 150. В блоке 152 считываются контрольные суммы, в данном случае суммы цифр чисел, для конфигурации аппаратных средств HWKonfig и программного кода, а также уровень безопасности. В решающем блоке 154 проверяется с помощью сравнения старого значения с новым значением, соответствует ли значение контрольной суммы HWKonfig значению из последнего опроса. Если это не так, то способ переходит к блоку 145. Там вводится или записывается запись сообщения «изменение HWKonfig» в буфер 94 мониторинга и в буфер 88 диагностики, соответственно, с меткой даты/времени, и двоичный выход 102 устанавливается для зависящей от установки дальнейшей обработки, то есть бит устанавливается на значение, соответствующее сообщению (например, 1 для сообщения, 0 для отсутствия сообщения). Если никакое изменение в контрольной сумме не установлено путем сравнения старого значения с новым значением, то в блоке 158 выход 102 сбрасывается, тем самым обеспечивая, что сообщение не индицируется ошибочным образом.
В решающем блоке 160 проверяется, изменилось ли значение считанной контрольной суммы программного кода по сравнению с предыдущим значением из последнего опроса. Если это произошло, то способ переходит к блоку 162. Там, запись сообщения «изменение программы» записывается в буфер 94 мониторинга и буфер 88 диагностики, включая метку даты/времени, и устанавливается выход 100. В противном случае, выход 100 в блоке 164 сбрасывается.
В решающем блоке 166 проверяется, изменился ли уровень безопасности CPU с момента последнего запроса. Если это так, то в блоке 168 запись сообщения «изменение уровня безопасности» вместе с меткой времени записывается в буфер 94 мониторинга и буфер 88 диагностики. Кроме того, устанавливается выход 104. В противном случае, в блоке 170 этот выход сбрасывается.
В решающем блоке 172 проверяется, является ли вызов описанных этапов более ранним, чем за 1 секунду. Если это так, то в блоке выдается ошибка параметризации (три описанных модуля 76, 82, 116 вместе с другими модулями в библиотеке предусмотрены для применения). Пользователь может посредством параметризации модулей при программировании или при вводе в эксплуатацию выбрать/установить различные режимы. Если пользователь параметризирует/выбирает недопустимый режим, он получает индикацию ошибки параметризации и может исправить свою параметризацию). В противном случае способ переходит к блоку 176, в котором ошибка параметризации сбрасывается.
Взаимная проверка модуля 82 мониторинга и модуля 116 контроля достигается в настоящем примере выполнения тем, что каждый модуль имеет соответствующий счетчик, который отсчитывается им самим, и счетчик, который отсчитывается соответствующим другим модулем. Если оба модуля 82 и 116 функционируют должным образом, счетчики имеют одинаковые значения. Если один модуль выходит из строя, то отсчитываемый им счетчик в другом модуле больше не получает приращения, так что может обнаруживаться выход из строя модуля.
Далее способ переходит к решающему блоку 178, в котором значение счетчика мониторинга, отсчитанное модулем 82 мониторинга, сравнивается с значением счетчика контроля, отсчитанным модулем 116 контроля. Если эти значения совпадают, то в блоке 180 счетчик мониторинга получает приращение. Если оба значения не совпадают, то в решающем блоке 182 проверяется, произошло ли последнее приращение счетчика контроля раньше, чем за 1 секунду, и еще не последовало записи в буфер 94 мониторинга и буфер 88 диагностики. Если это так, то это показывает, что модуль 106 контроля не работает должным образом. Поэтому затем в блоке 184 запись сообщения «ошибка мониторинга удаления» или «ошибка модуля контроля» записывается, соответственно, с меткой времени в буфер 94 мониторинга и буфер 88 диагностики, и на двоичном выходе 108, на котором индицируется ошибка модуля 116 контроля, устанавливается бит. Способ затем завершается в конце 186. В противном случае, в решающем блоке 188 проверяется, существует ли уже в буфере 88 диагностики CPU запись «модуль мониторинга снова работает», которая была записана в блоке 184. Если это так, то в блоке 190 выход 108 сбрасывается. В противном случае, в блоке 192 в буфер 94 мониторинга и буфер диагностики с отметкой времени осуществляется запись сообщения «модуль контроля работает нормально» или «мониторинг удаления в порядке».
Способ, реализованный посредством программного обеспечения в модуле 116 контроля, показан на блок-схеме на Фиг. 4 и начинается с запуска 194. В решающем блоке 196 проверяется, является ли соединение с модулем 82 мониторинга соответствующим или корректным. В этом примере выполнения пользователь при проектировании/программировании должен устанавливать соединение/линию в редакторе CFC (схемы непрерывного функционирования) между обоими модулями путем клика мышью. Через это соединение модуль 116 контроля может осуществлять считывание и запись в компонент экземпляра данных модуля 82 мониторинга. Модуль контроля не имеет собственной памяти данных. Если это не так, в блоке 198 выдается ошибка параметризации. В противном случае, в решающем блоке 200 проверяется, произошел ли последний вызов этой функции раньше, чем за 1 секунду. Если нет, в блоке 202 выдается ошибка параметризации. Если да, то способ переходит к блоку 204, в котором ошибка параметризации сбрасывается.
В модуле 116 контроля, когда отсчет счетчика, который отсчитывается модулем 82 мониторинга, больше, чем отсчет счетчика модуля 116 контроля, счетчик контроля получает приращение. В решающем блоке 206 счетчик мониторинга и счетчик контроля сравниваются друг с другом. Если отсчет счетчика мониторинга больше, чем отсчет счетчика контроля, то счетчик контроля получает приращение в блоке 208. Затем в решающем блоке 210 проверяется, записана ли запись «модуль мониторинга снова работает» в буфере 88 диагностики. Если нет, то это будет сделано в блоке 212. В блоке 214 соответствующий двоичный выход тогда сбрасывается.
Если имеется совпадение, то в решающем блоке 216 проверяется, старше ли последнее приращение счетчика мониторинга, чем 1 секунда, и еще не последовала запись в буфер 88 диагностики. Если запись еще не была сделана, в блоке 218 осуществляется запись «модуль мониторинга больше не работает» в буфер 88 диагностики. В блоке 220 затем устанавливается выход 110.
Если последнее приращение счетчика старше, чем 1 секунда, и запись не последовала, способ переходит от решающего блока 216 непосредственно к блоку 220. Способ завершается в конце 222.
Во всех трех модулях последовательность этапов способов может происходить в другом порядке или параллельно при условии, что описанная функциональность поддерживается. Последовательность этапов способа, охарактеризованных между началом и концом, повторяется в регулярных временных интервалах. Соответственно между началом и концом соответствующий модуль увеличивает отсчет своего актуализированного им счетчика на единицу.
СПИСОК ССЫЛОЧНЫХ ПОЗИЦИЙ
2 ядерная установка
4 цифровая система мониторинга
8 блок управления и регулирования
10 программируемый логический контроллер
20 CPU
26 память
32 область памяти программы
38 область памяти системных данных
40 другие области памяти
44 группы датчиков
50 группы исполните