[go: up one dir, main page]

EA034974B1 - Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants) - Google Patents

Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants) Download PDF

Info

Publication number
EA034974B1
EA034974B1 EA201700479A EA201700479A EA034974B1 EA 034974 B1 EA034974 B1 EA 034974B1 EA 201700479 A EA201700479 A EA 201700479A EA 201700479 A EA201700479 A EA 201700479A EA 034974 B1 EA034974 B1 EA 034974B1
Authority
EA
Eurasian Patent Office
Prior art keywords
microprocessor
central
microcontroller
additional
data
Prior art date
Application number
EA201700479A
Other languages
Russian (ru)
Other versions
EA201700479A1 (en
Original Assignee
Акционерное общество "ТеконГруп"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Акционерное общество "ТеконГруп" filed Critical Акционерное общество "ТеконГруп"
Priority to EA201700479A priority Critical patent/EA034974B1/en
Publication of EA201700479A1 publication Critical patent/EA201700479A1/en
Publication of EA034974B1 publication Critical patent/EA034974B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention relates to the architecture of a central processor module (hereinafter referred to as CPU module) of an industrial programmable logic controller and a method aiming at safe operation of such CPU module. The method focuses on the fact that the CPU module (2) uses a microprocessor system consisting of a central microprocessor (8) (hereinafter referred to as CM), an additional microprocessor (9) (hereinafter referred to as AM) and a safety microcontroller (10) (hereinafter referred to as SM). CM and AM perform the same tasks with the same input from sensors and transmit the results of processing these input data to the SM, which compares these results. The SM decides whether to permit the transfer of output data from CPU module to actuators, depending on the result of comparing the processed data from the CM and the AM, the result of monitoring of the task execution time in the CM and the AM performed by the SM, or the result of the SM software or hardware self-diagnostics. Hardware self-diagnostics of the SM is carried out using hardware mechanisms implemented on its chip.

Description

Изобретение относится к архитектуре модуля центрального процессора (модуль ЦП) промышленного контроллера с программируемой логикой и способу, ориентированному на безопасную работу модуля ЦП. Промышленный контроллер (далее контроллер) является вычислительной и управляющей единицей в автоматизированных системах управления технологическими процессами (АСУ ТП).The invention relates to the architecture of a central processor module (CPU module) of an industrial controller with programmable logic and a method focused on the safe operation of the CPU module. Industrial controller (hereinafter controller) is a computing and control unit in automated process control systems (ACS TP).

Быстрый рост систем управления, используемых в областях (промышленность, медицина, автомобильный и железнодорожный транспорт), где их выход из строя может привести к опасным ситуациям, которые приводят к травмированию или смерти людей, причинению вреда окружающей среде, порче оборудования или нарушению производственного процесса, привёл к развитию серии стандартов ГОСТ Р МЭК 61508 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью.The rapid growth of control systems used in areas (industry, medicine, automobile and railway transport), where their failure can lead to dangerous situations that lead to personal injury or death, damage to the environment, damage to equipment or disruption to the production process, led to the development of a series of standards GOST R IEC 61508 Functional safety of electrical, electronic, programmable electronic safety-related systems.

С появлением микропроцессорных систем они стали применяться для осуществления функций обеспечения функциональной безопасности. Идея этих микропроцессорных систем обеспечения безопасности основывается на аппаратной избыточности, заключающейся в использовании параллельно нескольких вычислительных средств (например, процессоров) и в осуществлении сравнения их результатов обработки данных (вычислений) с помощью аппаратных элементов или программного обеспечения.With the advent of microprocessor systems, they began to be used to implement functional safety functions. The idea of these microprocessor-based security systems is based on hardware redundancy, which consists in using several computing tools (for example, processors) in parallel and in comparing their data processing (computing) results using hardware elements or software.

Так, известен модуль центрального процессора программируемого логического контроллера с расширенными функциями безопасности серии Quantum (Руководство на ПЛК безопасности Quantum №33003879 от 06/2007, стр.33-38 раздел Модуль ЦП безопасности, компания Schneider Electric, http://schneider.nt-rt.ru/images/manuals/33003879RU.pdf ), в состав которого входят два различных процессора - модель Intel Pentium и прикладной процессор. Каждый из этих процессоров независимо друг от друга выполняет расчёты, и по завершению каждого цикла каждый из процессоров сравнивает свой результат с результатом другого процессора. При обнаружении ошибки или при несоответствии результатов любой из процессоров может отключить систему, т.е. перевести её в безопасное состояние. Работа такой микропроцессорной системы, состоящей из двух разных процессоров, для которых независимо друг от друга разрабатывается два исполняемых кода, позволяет выявить систематические отказы из-за ошибок в исходных текстах программ и случайные отказы, возникающие при работе модуля ЦП.For example, the central processor module of a programmable logic controller with advanced Quantum series security functions is known (Manual on Quantum Security PLC No. 33003879 dated 06/2007, pp. 33-38, section Security CPU Module, Schneider Electric, http: //schneider.nt- rt.ru/images/manuals/33003879RU.pdf), which includes two different processors - the Intel Pentium model and the application processor. Each of these processors independently performs calculations, and at the end of each cycle, each processor compares its result with the result of another processor. If an error is detected or if the results do not match, any of the processors can turn off the system, i.e. put it in a safe state. The operation of such a microprocessor system, consisting of two different processors, for which two executable codes are developed independently, allows us to identify systematic failures due to errors in the source code of programs and random failures that occur during the operation of the CPU module.

Аналогичные решения наличия избыточного процессора, взаимодействующего с основным процессором с целью взаимного контроля, известны из следующих патентных источников:Similar solutions for having a redundant processor interacting with the main processor for mutual control are known from the following patent sources:

US 9,244,454 В2 под названием Система управления для контроля критически безопасных и критически небезопасных процессов, компания ABB AG;US 9,244,454 B2, entitled Control System for Monitoring Critically Safe and Critically Insecure Processes, ABB AG;

US 7,715,932 В2 под названием Способ и устройство для управления критичным для безопасности процессом, компания Pilz GmbH&Co;US 7,715,932 B2 entitled Method and apparatus for controlling a safety critical process, Pilz GmbH &Co;

US 6,832,343 В2 под названием Устройство для контроля критично важного процесса, компания Pilz GmbH&Co;US 6,832,343 B2 called Critical Process Control Device, Pilz GmbH &Co;

WO 2015/113994 А1 под названием Способ и устройство для безопасного отключения электрической нагрузки, компания Pilz GmbH&Co. KG;WO 2015/113994 A1, entitled Pilz GmbH & Co. Method and device for safely disconnecting an electrical load. KG;

US 9,098,074 B2 под названием Система управления, связанная с безопасностью, и способ для управления автоматизированной системой, компания Pilz GmbH&Co. KG, Moosmann Peter.US 9,098,074 B2, entitled Security Related Management System and Method for Managing an Automated System, Pilz GmbH & Co. KG, Moosmann Peter.

Известны решения микропроцессорных систем для осуществления функций обеспечения безопасности, содержащие центральный процессор, избыточный процессор и третий процессор, предназначенный для сравнения и выявления несоответствия в результатах первых двух процессоров.Known solutions of microprocessor systems for implementing security functions, comprising a central processor, a redundant processor and a third processor, designed to compare and identify inconsistencies in the results of the first two processors.

Так, известна Микропроцессорная система обеспечения безопасности, применимая, в частности, в области железнодорожного транспорта (заявка на изобретение RU 94013455 А1), принятая в качестве ближайшего аналога для заявляемых микропроцессорных систем. Известная микропроцессорная система содержит по меньшей мере два работающих параллельно микропроцессора, выполняющих одну и ту же прикладную программу. Одни и те же входные данные от датчиков подают на входы этих микропроцессоров. Каждый из них ведёт обработку входных данных по прикладной программе с некоторым временным смещением по отношению к другому для предотвращения отказов из-за синфазных помех. Результаты обработки каждый из процессоров направляет в третий процессор сравнения. Процессор сравнения сравнивает результаты. Если это сравнение корректно, процессор сравнения формирует сигнатуру, которую подаёт на динамический контроллер. При получении сигнатуры, являющейся признаком нормальной работы процессора сравнения, динамический контроллер санкционирует общую передачу выходных данных микропроцессорами. Реально используются только выходные данные одного из микропроцессоров. Кроме этого каждый из микропроцессоров выполняет самодиагностику, результаты которой направляет в процессор сравнения. Возможны разные варианты исполнения микропроцессорной системы, например, от использования одинаковых программных средств, размещённых на двух одинаковых аппаратных средствах, до использования двух разных программных средств, размещённых на двух разных аппаратных средствах.Thus, the Microprocessor safety system is known, applicable, in particular, in the field of railway transport (patent application RU 94013455 A1), adopted as the closest analogue for the claimed microprocessor systems. Known microprocessor system contains at least two parallel microprocessors that run the same application program. The same input from the sensors is fed to the inputs of these microprocessors. Each of them processes the input data according to the application program with a certain time offset in relation to the other to prevent failures due to common mode interference. Each of the processors sends the processing results to the third comparison processor. The comparison processor compares the results. If this comparison is correct, the comparison processor generates a signature that feeds to the dynamic controller. Upon receipt of the signature, which is a sign of normal operation of the comparison processor, the dynamic controller authorizes the general transfer of output data by microprocessors. Only the output of one of the microprocessors is actually used. In addition, each of the microprocessors performs a self-test, the results of which are sent to the comparison processor. There are various versions of the microprocessor system, for example, from using the same software located on two identical hardware to using two different software located on two different hardware.

Решения аппаратной избыточности, описанные выше, используются для обеспечения безопасности так же в процессорных технологиях, поскольку современные процессоры или микроконтроллеры могут включать в себя множество ядер на одном кристалле (двухъядерные, четырёхъядерные, многоядерные варианты исполнения). Такие решения описаны в ЕР 1,973,017 А2 под названием ПрограммируемыйThe hardware redundancy solutions described above are also used to ensure security in processor technologies, since modern processors or microcontrollers can include many cores on a single chip (dual-core, four-core, multi-core versions). Such solutions are described in EP 1,973,017 A2 called Programmable

- 1 034974 логический контроллер, ориентированный на безопасность, компания ABB AG; ЕР 2,237,118 А1 Система безопасности для обеспечения безошибочного управления электрическими устройствами и предохранительным устройством, группа компаний Robert Bosch GMBH.- 1,034,974 security-oriented logic controller, ABB AG; EP 2,237,118 A1 Security system to ensure error-free control of electrical devices and safety devices, Robert Bosch GMBH group of companies.

В последнее время появились микроконтроллеры, предназначенные для использования в системах с требованиями к обеспечению безопасности. Например, микроконтроллеры Hercules , (Карл Глеб, Дев Прадхан, Микроконтроллеры Hercules : микроконтроллеры реального времени для техники с особыми требованиями к обеспечению безопасности // Бюллетень научно-технической информации Компоненты. Полный спектр применений, выпуск 3(35) 2012. - С.1-8, https://www.ti.com/graphics/reserved/eugraphics/ 35_ALL.pdf).Recently, microcontrollers have appeared that are intended for use in systems with safety requirements. For example, Hercules microcontrollers, (Karl Gleb, Dev Pradhan, Hercules microcontrollers: real-time microcontrollers for equipment with special safety requirements // Bulletin of scientific and technical information Components. Full range of applications, issue 3 (35) 2012. - С.1 -8, https://www.ti.com/graphics/reserved/eugraphics/ 35_ALL.pdf).

Кардинальное отличие такого микроконтроллера от ранее известных микроконтроллеров заключается в том, что для диагностирования отказов помимо программной самодиагностики в нём реализованы ещё и аппаратные механизмы самодиагностики, реализованные на кристалле микроконтроллера.The fundamental difference between such a microcontroller and previously known microcontrollers is that in addition to software self-diagnosis, it also implements hardware self-diagnosis mechanisms implemented on a microcontroller chip for diagnosing failures.

В микроконтроллерах Hercules™, разработанных корпорацией Texas Instrument, используется концепция архитектуры безопасности, которая называется островок безопасности. Она заключается в том, что для ряда ключевых элементов выделяются непрерывно работающие аппаратно реализованные механизмы обеспечения безопасности. Этот набор ключевых элементов включает в себя устройство питания / тактирования / сброса, ЦПУ, flash-память, ОЗУ и соответствующие цепи взаимосвязи. Реализация аппаратного тестирования этих элементов даёт уверенность в том, что эти элементы работают правильно. В этом случае можно использовать программное обеспечение, исполняемое на этих элементах, для обеспечения программно-реализованной диагностики других элементов, таких как периферийные устройства.Hercules ™ microcontrollers developed by Texas Instrument Corporation use a security architecture concept called a security island. It lies in the fact that for a number of key elements, continuously working hardware-implemented security mechanisms are distinguished. This set of key elements includes a power / clock / reset device, CPU, flash memory, RAM, and associated interconnections. Implementation of hardware testing of these elements gives confidence that these elements work correctly. In this case, software running on these elements can be used to provide software-based diagnostics of other elements, such as peripherals.

Для диагностирования отказов по общей причине в микроконтроллерах Hercules™ применены следующие аппаратные реализованные механизмы:To diagnose common failures, the following hardware implemented mechanisms are used in Hercules ™ microcontrollers:

для контроля питания использовано реализованное на кристалле устройство контроля напряжения; для контроля тактирования использован реализованный на кристалле маломощный генератор; обнаружение ошибок в формируемых и распространяемых тактовых сигналах диагностируются с помощью оконного сторожевого таймера;for power control, a voltage control device implemented on a chip was used; To control the timing, a low-power generator implemented on a chip was used; error detection in generated and distributed clock signals is diagnosed using a window watchdog timer;

для контроля ядер микроконтроллера применена система параллельных ядер, которая подразумевает наличие функционального ядра и контрольного ядра. При этом одни и те же входные данные подаются как на функциональное ядро, так и на контрольное ядро. Модуль сравнения контролирует выходы двух ядер, выполненных с одной и той же логикой, и сигнализирует о любых ошибках в системе. Реализовано разнесение двух ядер по времени, так что ядра работают не в фазе, а с отличием в 1,5 или 2 такта, для того чтобы уменьшить вероятность отказа по общей причине, связанной с тактированием. Кристалл контрольного ядра физически расположен зеркально и развёрнут относительно функционального ядра. Реализована встроенная самопроверка логики, которая обеспечивает охват диагностикой ядер на уровне транзисторов при включении питания или в ходе периодических интервалов проверки во время штатной работы.To control the cores of the microcontroller, a system of parallel cores is used, which implies the presence of a functional core and a control core. At the same time, the same input data is supplied both to the functional core and to the control core. The comparison module monitors the outputs of two cores made with the same logic and signals any errors in the system. The separation of the two cores in time is implemented, so that the cores do not work in phase, but with a difference of 1.5 or 2 cycles, in order to reduce the likelihood of failure for a common reason related to clocking. The crystal of the control core is physically mirrored and deployed relative to the functional core. A built-in logic self-test has been implemented, which provides coverage by core diagnostics at the transistor level when the power is turned on or during periodic inspection intervals during normal operation.

ЕСС-контроллер для flash-памяти и статического ОЗУ расположен внутри ядра для гарантированного обнаружения повреждения данных в памяти и возможности исправления одиночных битовых ошибок.The ECC controller for flash memory and static RAM is located inside the kernel for guaranteed detection of data corruption in memory and the ability to fix single bit errors.

Микроконтроллеры Hercules™ не ограничиваются логикой островка безопасности, которая обеспечивает для ключевых элементов аппаратно реализованные механизмы обеспечения безопасности. Имеются аппаратно реализованные механизмы обеспечения безопасности для периферийных устройств, служащие для контроля случайных ошибок, которые нелегко выявить с помощью программного обеспечения.Hercules ™ microcontrollers are not limited to security island logic, which provides hardware-based security mechanisms for key elements. There are hardware-based security mechanisms for peripheral devices that serve to control random errors that are not easily detected using software.

Перечисленные выше средства аппаратной диагностики в микроконтроллерах Hercules™ позволили сократить объём программного обеспечения, связанного с диагностикой на 30%.The hardware diagnostics listed above in Hercules ™ microcontrollers reduced the amount of diagnostic software by 30%.

Производители такого микроконтроллера гарантируют, что он работает безопасно и отвечает требованиям, установленным ГОСТ Р МЭК 61508 к функциональной безопасности.The manufacturers of such a microcontroller guarantee that it works safely and meets the requirements established by GOST R IEC 61508 for functional safety.

Использование такого микроконтроллера для целей обеспечения безопасности позволяет уйти от аппаратной избыточности.The use of such a microcontroller for security purposes allows you to get away from hardware redundancy.

Однако такие микроконтроллеры безопасности, т.е. микроконтроллеры, в которых помимо программной диагностики использованы средства аппаратного тестирования, на сегодняшний день имеют низкую производительность, что не позволяет использовать их в промышленных контроллерах, предназначенных для управления большим количеством оборудования.However, such safety microcontrollers, i.e. microcontrollers, which in addition to software diagnostics use hardware testing tools, today have low performance, which does not allow their use in industrial controllers designed to control a large amount of equipment.

Так, разрабатываемый нами МФК5000 (Многофункциональный Контроллер 5000) должен обеспечивать управление объектом, где количеством сигналов может достигать пяти тысяч. При этом необходимо обеспечить быстродействие и требования функциональной безопасности.So, the MFK5000 (Multifunctional Controller 5000) developed by us should provide control of an object where the number of signals can reach five thousand. At the same time, it is necessary to ensure speed and functional safety requirements.

Конкретно в данной заявке рассмотрен модуль центрального процессора CPU850, в котором должны обеспечиваться перечисленные требования.Specifically, in this application, the CPU850 central processor module is considered, in which the listed requirements must be provided.

Решению проблемы безопасности в системе управления промышленной автоматизации посвящен патент US 9,696,692 В2, компания ROCKWELL AUTOMATION TECHNOLOGIES, INC. В этом же патенте описан способ работы системы управления, который принят в качестве наиболее близкого аналогаThe US Pat. No. 9,696,692 B2, ROCKWELL AUTOMATION TECHNOLOGIES, INC. Is dedicated to solving the security problem in an industrial automation control system. The same patent describes the method of operation of the control system, which is adopted as the closest analogue

- 2 034974 для заявляемых способов. Система управления в программируемом логическом контроллере управляет промышленным оборудованием. Промышленное оборудование может представлять опасность для людей в случае возникновения отказа в системе управления. Поэтому необходимо обеспечить быстрое обнаружения ошибки в системе управления и исправление данной ошибки. Система управления включает в себя первичный процесс управления, вторичный процесс управления и процесс вывода. Способ заключается в том, что первичный процесс управления и вторичный процесс управления сконфигурированы для обработки одних и тех же входных данных в одной или нескольких программах управления. Программы в первичном процессе управления и вторичном процессе управления запускаются одновременно. Во время нормальной работы процесс вывода сконфигурирован для управления промышленным оборудованием посредством использования сигналов управления и данных, принятых из первичного процесса управления, которые затем передаются в сеть и далее к промышленному оборудованию. Вторичный процесс управления периодически генерирует вторичное значение контроля данных, в то время как первичный процесс управления периодически генерирует первичное значение контроля данных. Это могут быть значения циклического избыточного кода (CRC). Главное, чтобы эти значения проверки данных были компактны (с точки зрения количества бит и байтов), которые можно быстро сравнить, чтобы определить состояние процессов управления. Процесс вывода сравнивает эти два значения для обнаружения отказа в первичном процессе управления. Если значения CRC не совпадают, вероятно, произошёл отказ в первичном процессе управления, и процесс вывода может переключить управление промышленным оборудованием на вторичный процесс управления или предпринять меры, направленные на аварийное выключение промышленного оборудования. Сведения о диагностике при описании работы системы управления по патенту US 9,696,692 В2 не использованы. Известно, что значительное преимущество в достижении функциональной безопасности электрической / электронной / программируемой электронной системы (Э/Э/ПЭ системы), связанной с безопасностью, может обеспечить диагностическое тестирование. Охват диагностикой каждого элемента в Э/Э/ПЭ системе, связанной с безопасностью, должен учитываться при оценке достигаемой меры отказов для функций безопасности (ГОСТ Р МЭК 61508-2-2012 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 2. Требования к системам. Приложение С (обязательное). Охват диагностикой и доля безопасных отказов).- 2 034974 for the claimed methods. A control system in a programmable logic controller controls industrial equipment. Industrial equipment can be dangerous to people in the event of a failure in the control system. Therefore, it is necessary to ensure the rapid detection of errors in the control system and the correction of this error. The control system includes a primary control process, a secondary control process and an output process. The method consists in the fact that the primary control process and the secondary control process are configured to process the same input data in one or more control programs. Programs in the primary control process and the secondary control process run simultaneously. During normal operation, the output process is configured to control industrial equipment by using control signals and data received from the primary control process, which are then transmitted to the network and further to the industrial equipment. The secondary control process periodically generates a secondary data control value, while the primary control process periodically generates a primary data control value. These may be cyclic redundancy code (CRC) values. The main thing is that these data verification values are compact (in terms of the number of bits and bytes), which can be quickly compared to determine the status of control processes. The output process compares these two values to detect failure in the primary control process. If the CRC values do not match, it is likely that the primary control process has failed, and the output process may switch the control of industrial equipment to a secondary control process or take measures to shut down the industrial equipment. Information about the diagnosis in the description of the control system of the patent US 9,696,692 B2 not used. It is known that a significant advantage in achieving the functional safety of an electrical / electronic / programmable electronic system (E / E / PE system) related to safety can be provided by diagnostic testing. The diagnostic coverage of each element in the E / E / PE safety-related system should be taken into account when evaluating the achieved failure measure for safety functions (GOST R IEC 61508-2-2012 Functional safety of electrical, electronic, programmable electronic safety-related systems. Part 2. System Requirements Appendix C (Mandatory) Diagnostic Coverage and Safe Failure Rate).

Задача изобретений - обеспечение функциональной безопасности модуля центрального процессора промышленного контроллера.The objective of the invention is to ensure the functional safety of the module of the central processor of the industrial controller.

Технический результат в предлагаемых изобретениях достигается тем, что при осуществлении необходимых мероприятий, от которых зависит безопасная работа модуля ЦП, применена избыточная микропроцессорная система, в которой контрольными проверками (проверка целостности передаваемых и обрабатываемых данных, времени выполнения прикладной программы или её частей) и высоким уровнем охвата диагностикой, происходит обнаружение отказа любого из устройств системы, и предпринимаются меры по прекращению выдачи выходных данных из модуля ЦП.The technical result in the proposed inventions is achieved by the fact that in the implementation of the necessary measures on which the safe operation of the CPU module depends, an excess microprocessor system is used, in which control checks (checking the integrity of the transmitted and processed data, the runtime of the application program or its parts) and a high level diagnostic coverage, failure of any of the devices in the system is detected, and measures are taken to stop the output of output from the CPU module.

Для этого способ обеспечения функциональной безопасности модуля центрального процессора промышленного контроллера заключается в том, что используют микропроцессорную систему, расположенную в модуле центрального процессора и состоящую из центрального микропроцессора, дополнительного микропроцессора, с архитектурой ядра, отличной от архитектуры ядра центрального микропроцессора, и микроконтроллера безопасности, при этом центральный микропроцессор и дополнительный микропроцессор выполняют одинаковые задачи с одними и теми же входными данными от датчиков и затем передают результаты обработки входных данных в микроконтроллер безопасности, который сравнивает эти результаты, при этом микроконтроллер безопасности принимает решение о разрешении передачи выходных данных из модуля центрального процессора в исполнительные механизмы в зависимости от результата сравнения результатов из центрального и дополнительного микропроцессоров или в зависимости от результатов осуществляемого микроконтроллером безопасности контроля времени выполнения задачи центральным и дополнительным микропроцессорами или в зависимости от результатов программной или аппаратной самодиагностики, при этом аппаратная самодиагностика микроконтроллера безопасности осуществляется с помощью реализованных на его кристалле аппаратных механизмов.To this end, a way to ensure the functional safety of the central processor module of an industrial controller is to use a microprocessor system located in the central processor module and consisting of a central microprocessor, an additional microprocessor, with a kernel architecture different from the core architecture of the central microprocessor, and a safety microcontroller, with In this case, the central microprocessor and the additional microprocessor perform the same tasks with the same input data from the sensors and then transmit the results of processing the input data to the safety microcontroller, which compares these results, while the security microcontroller decides whether to allow the output data from the central processor module to actuators depending on the result of comparing the results from the central and additional microprocessors or depending on the results carried out by the microcontroller security of monitoring the execution time of the task by the central and additional microprocessors or depending on the results of software or hardware self-diagnosis, while the hardware self-diagnosis of the safety microcontroller is carried out using hardware mechanisms implemented on its chip.

При сравнении результатов, полученных в центральном и в дополнительном микропроцессорах, микроконтроллер безопасности может сравнивать значения выходных данных или значения проверки выходных данных, например циклические избыточные коды. В центральном микропроцессоре и в дополнительном микропроцессоре для решения одинаковых задач могут быть использованы разные исходные тексты прикладной программы.When comparing the results obtained in the central and additional microprocessors, the security microcontroller can compare the values of the output data or the values of the verification of the output data, for example, cyclic redundancy codes. In the central microprocessor and in the additional microprocessor, different source codes of the application program can be used to solve the same problems.

Для осуществления способа предложена микропроцессорная система, содержащая центральный микропроцессор, дополнительный микропроцессор, выполненный с архитектурой ядра, отличной от архитектуры ядра центрального микропроцессора, и предназначенный для выполнения такой же задачи с теми же входными данными от датчиков, что и центральный микропроцессор, и микроконтроллер безопасности, имеющий на кристалле аппаратные механизмы для самодиагностики, предназначенный для сравнения результатов выполненной центральным и дополнительным микропроцессорами задачи и предназначенный для принятия решения о разрешении передачи выходных данных, полученных в цен- 3 034974 тральном микропроцессоре, в исполнительные механизмы в зависимости от результата сравнения результатов выполненной центральным и дополнительным микропроцессорами задачи или в зависимости от результатов выполняемой им функции контроля времени выполнения задачи в центральном и дополнительном микропроцессорах или в зависимости от результатов его аппаратной или программной самодиагностики. Микроконтроллер безопасности может содержать два ядра, одно из которых является функциональным, а другое контрольным и модуль сравнения, который выполнен с возможностью контроля выходов двух ядер и имеет возможностью сигнализировать о любых ошибках.To implement the method, a microprocessor system is proposed comprising a central microprocessor, an additional microprocessor made with a core architecture different from the core microprocessor architecture, and designed to perform the same task with the same input data from sensors as the central microprocessor and the security microcontroller, having on-chip hardware mechanisms for self-diagnosis, designed to compare the results of the task performed by the central and additional microprocessors and designed to decide on the resolution of the transfer of output data received in the central microprocessor to executive mechanisms, depending on the result of comparing the results of the central and additional microprocessors of the task or depending on the results of the function it performs to control the execution time of the task in the central and additional microprocessors or depending on the results of it about hardware or software self-diagnosis. The security microcontroller may contain two cores, one of which is functional, and the other control and a comparison module, which is configured to control the outputs of two cores and has the ability to signal any errors.

Вместо микроконтроллера безопасности для осуществления способа и для изготовления микропроцессорной системы может быть использован микропроцессор.Instead of a safety microcontroller, a microprocessor can be used to implement the method and to manufacture a microprocessor system.

Для последующего описания возможности осуществления заявленного устройства и способа приведены следующие чертежи:For the following description of the feasibility of the claimed device and method, the following drawings:

фиг. 1 - структурная схема контроллера, датчика, контактора и двигателя;FIG. 1 is a block diagram of a controller, sensor, contactor and motor;

фиг. 2 - первый вариант структурной схемы микропроцессорной системы модуля ЦП; фиг. 3 - второй вариант структурной схемы микропроцессорной системы модуля ЦП.FIG. 2 - the first version of the structural diagram of the microprocessor system of the CPU module; FIG. 3 - the second variant of the structural diagram of the microprocessor system of the CPU module.

Прилагаемые чертежи, показывающие предпочтительные варианты осуществления настоящих изобретений, приведены в качестве иллюстрации, а не ограничения раскрытия информации, и могут быть изменены в объёме прилагаемой формулы изобретения вместе с её полным объёмом эквивалентов. Например, фраза выходные данные переданы из центрального микропроцессора в исполнительные механизмы не ограничивается прямой связью, но включает в себя связь через другие конструктивные элементы (контроллер шины, шину, модуль вывода и т.п.), что понятно специалистам в области радиоэлектроники.The accompanying drawings, showing preferred embodiments of the present invention, are provided as an illustration and not limitation of information disclosure, and may be changed in the scope of the attached claims along with its full scope of equivalents. For example, the phrase output is transferred from the central microprocessor to the actuators is not limited to direct communication, but includes communication through other structural elements (bus controller, bus, output module, etc.), which is understood by specialists in the field of electronics.

При описании работы микропроцессорной системы модуля ЦП следует оговорить следующие понятия и условия, используемые в данной заявке.When describing the operation of the microprocessor system of the CPU module, the following concepts and conditions used in this application should be stipulated.

Под функциональной безопасностью устройства (модуля ЦП) в данной заявке понимается безопасность, которая зависит от правильности функционирования устройства, основанного на электрической и/или электронной, и/или программируемой электронной технологии.The functional safety of a device (CPU module) in this application is understood to mean security, which depends on the correct functioning of a device based on electrical and / or electronic and / or programmable electronic technology.

В АСУ ТП под безопасным состоянием понимается такое состояние выходов контроллера, при котором подключенные к ним исполнительные механизмы находятся в состоянии, наиболее безопасном для объекта управления, а именно состоянии, не приводящем к поломке объекта управления.In ACS TP, a safe state is understood to mean a state of controller outputs in which the actuators connected to them are in the state that is most secure for the control object, namely, the state that does not lead to a breakdown of the control object.

В данной заявке описана работа нерезервированного модуля ЦП, неисправность в работе которого приведёт к исчезновению (отключению) управляющего сигнала на выходе контроллера. Это приведёт к тому, что контакты контактора будут приведены в безопасное состояние, т.е. контакты будут разомкнуты, при этом регулирующие и отсечные клапаны займут безопасное для технологического процесса положение в соответствии с требованиями технологического регламента, а двигатели будут остановлены. Для пояснения приведена фиг. 1, где контроллер 1 (на чертеже PLC) содержит нерезервированный модуль ЦП 2 (на чертеже CPU). Модули 3 ввода-вывода (на чертеже I/O) осуществляют общение с модулем ЦП 2 по последовательной шине 4. Датчик 5 подключён к модулю ввода. Управление двигателем 6 осуществляется через контактор 7. При возникновении неисправности в работе модуля ЦП 2 выходы модуля вывода примут состояние, как при отключенном питании. Это приведёт к размыканию контактов контактора 7, прекращению подачи питания на двигатель 6 и его остановке.This application describes the operation of an unreserved CPU module, a malfunction of which will lead to the disappearance (shutdown) of the control signal at the controller output. This will lead to the contactor contacts being brought into a safe state, i.e. the contacts will be open, while the control and shut-off valves will occupy a safe position for the process in accordance with the requirements of the technological regulations, and the engines will be stopped. For explanation, FIG. 1, where controller 1 (in the PLC drawing) contains an unreserved CPU module 2 (in the CPU drawing). The input / output modules 3 (in the I / O drawing) communicate with the CPU module 2 via the serial bus 4. Sensor 5 is connected to the input module. The motor 6 is controlled through the contactor 7. If a malfunction occurs in the operation of the CPU module 2, the outputs of the output module will assume the state as if the power was off. This will lead to the opening of the contacts of the contactor 7, the cessation of power supply to the motor 6 and its stop.

В заявке рассматриваются нерезервированные модули ввода/вывода.The application deals with non-redundant I / O modules.

Контроллер предназначен для сбора и обработки больших массивов данных, получаемых от контрольно-измерительных приборов (датчиков), включая прием информации от других подсистем автоматизированного управления, а также выработке управляющих воздействий согласно запрограммированным алгоритмам управления и передаче этих воздействий на исполнительные механизмы. Блоки алгоритмов прикладного программного обеспечения контроллера включают в себя блоки обработки аналоговых, дискретных и цифровых сигналов, блоки управления арматурой и механизмами, блоки автоматического регулирования, блоки технологической защиты и сигнализации, блоки логического управления. Поэтому прикладная программа реализована в виде множества независимых задач. Работа микропроцессорной системы в данной заявке описана в рамках решения одной из множества независимых задач, в которой обрабатываются данные, относящиеся к технологической защите. Микропроцессорная система модуля ЦП (фиг. 2 и фиг. 3) состоит из центрального микропроцессора 8 (на чертеже MPU1), дополнительного микропроцессора 9 (на чертеже MPU2) и микроконтроллера 10 безопасности (на чертеже MCU). Связь между центральным микропроцессором 8, дополнительным микропроцессором 9 и микроконтроллером 10 безопасности может происходить посредством FPGA 11, внутри которой организованы области двухпортовой памяти DPRAM. В этой же FPGA 11 может быть организован контроллер 12, поддерживающий обмен данными между модулем ЦП 2 и модулями ввода-вывода 3 (далее контроллер шины). Контроллер 12 шины может быть встроен и в микроконтроллер 10 безопасности. На границе модуля ЦП 2 и шины 4 показан физический (аппаратный) уровень интерфейса 13. Микроконтроллер 10 безопасности содержит оконный сторожевой таймер 14. Сторожевой таймер 14 требует, чтобы реакция ядра микроконтроллера была в пределах заданного временного интервала, что указывает на то, что микроконтроллер остаётся в работоспособном состоянии и работает с правильными значениями временных параThe controller is designed to collect and process large amounts of data received from instrumentation (sensors), including receiving information from other subsystems of automated control, as well as generating control actions according to programmed control algorithms and transferring these actions to actuators. Algorithm blocks of the controller application software include analog, discrete, and digital signal processing blocks, valve and valve control blocks, automatic control blocks, technological protection and signaling blocks, and logic control blocks. Therefore, the application program is implemented in the form of many independent tasks. The operation of the microprocessor system in this application is described as part of the solution to one of the many independent tasks in which data related to technological protection is processed. The microprocessor system of the CPU module (Fig. 2 and Fig. 3) consists of a central microprocessor 8 (in the drawing MPU1), an additional microprocessor 9 (in the drawing MPU2) and a safety microcontroller 10 (in the MCU drawing). The connection between the central microprocessor 8, the additional microprocessor 9 and the security microcontroller 10 can occur through the FPGA 11, in which areas of the dual-port DPRAM memory are organized. In the same FPGA 11, a controller 12 can be organized that supports the exchange of data between the CPU module 2 and the input-output modules 3 (hereinafter, the bus controller). The bus controller 12 may also be integrated in the safety microcontroller 10. The physical (hardware) level of the interface 13 is shown at the border of the CPU module 2 and bus 4. The microcontroller 10 contains a watchdog timer 14. The watchdog timer 14 requires the response of the microcontroller core to be within the specified time interval, which indicates that the microcontroller remains in working condition and works with the correct values of time pairs

- 4 034974 метров.- 4,034,974 meters.

Центральный микропроцессор 8 предназначен для выполнения прикладной (технологической) программы контроллера. Для описания работы заявляемой микропроцессорной системы работа центрального микропроцессора определена в рамках решения им одной независимой задачи. В рамках этой задачи обрабатываются входные данные от датчика (датчиков), а результатом обработки являются выходные данные для управления исполнительным механизмом (механизмами).The central microprocessor 8 is designed to execute the application (technological) program of the controller. To describe the operation of the inventive microprocessor system, the operation of the central microprocessor is defined as part of its solution to one independent problem. As part of this task, input from the sensor (s) is processed, and the output is output for controlling the actuator (s).

Дополнительный микропроцессор 9 предназначен для выполнения прикладной (технологической) программы контроллера с целью проверки правильности работы центрального микропроцессора 8. Дополнительный микропроцессор 9 выполнен с архитектурой ядра (ядер), отличной от архитектуры ядра (ядер) центрального микропроцессора 8.The additional microprocessor 9 is designed to execute the application (technological) program of the controller in order to verify the correct operation of the central microprocessor 8. The additional microprocessor 9 is made with a core architecture (s) different from the core architecture (s) of the central microprocessor 8.

Для описания работы заявляемой микропроцессорной системы работа дополнительного микропроцессора определена как решение им точно такой же задачи, какую решает и центральный микропроцессор с такими же входными данными.To describe the operation of the inventive microprocessor system, the operation of an additional microprocessor is defined as solving it exactly the same problem as the central microprocessor solves with the same input data.

В центральном микропроцессоре и дополнительном микропроцессоре для решения одинаковых задач могут быть использованы разные исходные тексты прикладной программы (разные машинные коды).In the central microprocessor and additional microprocessor, different source codes of the application program (different machine codes) can be used to solve the same problems.

Прикладная программа в центральном микропроцессоре и прикладная программа в дополнительном микропроцессоре могут работать под управлением одинаковых или разных операционных систем, или вообще без операционных систем.The application program in the central microprocessor and the application program in the additional microprocessor can operate under the same or different operating systems, or without operating systems at all.

Использование в микропроцессорной системе двух разных микропроцессоров, работающих с разными текстами прикладной программы в разных операционных системах или без операционных систем, применено для снижения количества общих систематических отказов.The use of two different microprocessors in a microprocessor system working with different texts of an application program in different operating systems or without operating systems is used to reduce the number of general systematic failures.

Микроконтроллер 10 безопасности предназначен для контроля работы центрального микропроцессора 8 и дополнительного микропроцессора 9. Вместо микроконтроллера безопасности может быть использован микропроцессор, конструктивные и программные возможности которого позволяют ему выполнить перечисленные далее функции. Далее по тексту описания будет использован термин микроконтроллер безопасности. Микроконтроллер 10 безопасности имеет реализованные на кристалле аппаратные механизмы самодиагностики. Так, например, в микроконтроллере 10 безопасности применена система параллельных ядер, которая подразумевает наличие функционального ядра и контрольного ядра. При этом одни и те же входные данные подаются как на функциональное ядро, так и на контрольное ядро. Модуль сравнения контролирует выходы двух ядер, выполненных с одной и той же логикой, и сигнализирует о любых ошибках в системе.The safety microcontroller 10 is designed to control the operation of the central microprocessor 8 and the additional microprocessor 9. Instead of the safety microcontroller, a microprocessor can be used, the design and software capabilities of which allow it to perform the functions listed below. Hereinafter, the term security microcontroller will be used. The microcontroller 10 security has implemented on a chip hardware self-diagnosis mechanisms. So, for example, in the security microcontroller 10, a parallel core system is used, which implies the presence of a functional core and a control core. At the same time, the same input data is supplied both to the functional core and to the control core. The comparison module monitors the outputs of two cores made with the same logic and signals any errors in the system.

Микроконтроллер безопасности осуществляет следующие мероприятия:The safety microcontroller carries out the following activities:

микроконтроллер безопасности сравнивает результаты, полученные в результате решения задач в центральном микропроцессоре и в дополнительном микропроцессоре и в зависимости от результата этого сравнения принимает решение о разрешении передачи выходных данных из модуля ЦП в исполнительные механизмы, в предпочтительном варианте микроконтроллер безопасности сравнивает значения проверки выходных данных (например, CRC);the security microcontroller compares the results obtained by solving problems in the central microprocessor and in the additional microprocessor and, depending on the result of this comparison, decides whether to allow the transfer of output data from the CPU module to the actuators, in the preferred embodiment, the security microcontroller compares the values of the output data verification (for example , CRC);

микроконтроллер безопасности контролирует время выполнения задачи центральным и дополнительным микропроцессорами и в результате этого контроля принимает решение о разрешении передачи выходных данных из модуля ЦП в исполнительные механизмы;the security microcontroller controls the execution time of the task by the central and additional microprocessors and, as a result of this control, makes a decision on the permission to transfer output data from the CPU module to the actuators;

микроконтроллер безопасности принимает результаты периодически исполняемых программных диагностик из центрального микропроцессора и дополнительного микропроцессора и в зависимости от полученных результатов принимает решение о разрешении передачи выходных данных из модуля ЦП в исполнительные механизмы;the security microcontroller receives the results of periodically executed software diagnostics from the central microprocessor and the additional microprocessor and, depending on the results, makes a decision on the permission to transfer output data from the CPU module to the actuators;

микроконтроллер безопасности проводит периодически исполняемую программную и аппаратную самодиагностику.The microcontroller of safety carries out periodically executed software and hardware self-diagnostics.

Микроконтроллер безопасности принимает решение о прекращении передачи выходных данных из модуля ЦП в исполнительные механизмы при выявлении отказа в любом из перечисленных выше мероприятий (при выявлении отказа в любой из контрольных проверок и при выявлении отказа любой из диагностик).The security microcontroller decides to stop the transfer of output from the CPU module to the actuators when a failure is detected in any of the above measures (if a failure is detected in any of the control checks and if a failure is detected in any of the diagnostics).

Более подробно перечисленные мероприятия будут раскрыты далее.More detailed listed activities will be disclosed below.

Работа микропроцессорной системы осуществляется следующим образом.The microprocessor system is as follows.

Последовательность осуществления действий показана на фиг. 2 буквенными обозначениями от а до n:The sequence of actions is shown in FIG. 2 letters from a to n:

Входные данные с шины 4 передают в контроллер 12 шины (действие а). Далее входные данные из контроллера 12 шины передают в центральный микропроцессор 8 (действие b). В центральном микропроцессоре 8 входные данные фиксируются. Затем этот зафиксированный массив входных данных передаётся из центрального микропроцессора 8 в дополнительный микропроцессор 9 (действие с). После поступления массива входных данных в дополнительный микропроцессор 9 в обоих микропроцессорах 8 и 9 начинается выполнение одной из множества независимых задач прикладной программы. В рамках этой задачи происходит обработка входных данных. Результаты обработки (это могут быть, как и выходные данные, так и только значения проверки выходных данных, например циклические избыточные кодыInput data from the bus 4 is transmitted to the bus controller 12 (action a). Next, the input from the bus controller 12 is transmitted to the central microprocessor 8 (step b). In the central microprocessor 8, the input data is fixed. Then this fixed array of input data is transferred from the central microprocessor 8 to the additional microprocessor 9 (action c). After the input data array arrives at the additional microprocessor 9 in both microprocessors 8 and 9, one of the many independent tasks of the application program begins to be executed. As part of this task, input data is processed. Processing results (this can be, like the output data, and only the values of the verification of the output data, for example, cyclic redundant codes

- 5 034974- 5,034,974

CRC) из центрального микропроцессора 8 и из дополнительного микропроцессора 9 передаются в микроконтроллер 10 безопасности (действие d и действие е). Микроконтроллер 10 безопасности программно сравнивает эти результаты, и, в зависимости от результата этого сравнения, разрешает или запрещает передачу выходных данных центральным микропроцессором 8 в шину 4. Предпочтительно, если микроконтроллер 10 безопасности будет сравнивать циклические избыточные коды CRC. Главное, чтобы эти значения, предназначенные для проверки выходных данных, были компактны (с точки зрения количества бит и байтов), которые можно сравнить быстро. Если циклические избыточные коды результатов центрального и дополнительного микропроцессоров равны, то микроконтроллер 10 безопасности санкционирует (разрешает) (действие F) передачу выходных данных центральным микропроцессором 8 в контроллер 12 шины (действие h) и далее в шину 4 (действие k). Если значения циклических избыточных кодов (CRC) не равны, значит, произошёл отказ в одном из микропроцессоров (центральном или дополнительном). В этом случае микроконтроллер 10 безопасности инициирует прекращение передачи выходных данных из модуля ЦП 2. Для этого микроконтроллер 10 безопасности формирует сигнал RESET, который направляет (действие G) в центральный микропроцессор 8, который прекращает выполнение инструкций, и/или направляет в контроллер 12 шины (действие т), который прекращает обмен данными по шине 4, и/или формирует запрещающий сигнал на физический уровень интерфейса 13 (действие п), где размыкается канал передачи выходных данных в шину 4.CRC) from the central microprocessor 8 and from the additional microprocessor 9 are transmitted to the safety microcontroller 10 (action d and action e). The security microcontroller 10 programmatically compares these results, and, depending on the result of this comparison, enables or disables the output of the central microprocessor 8 to the bus 4. Preferably, the security microcontroller 10 compares the cyclic redundant CRC codes. The main thing is that these values, designed to verify the output, are compact (in terms of the number of bits and bytes) that can be compared quickly. If the cyclic redundancy codes of the results of the central and additional microprocessors are equal, then the security microcontroller 10 authorizes (permits) (step F) the output data from the central microprocessor 8 to the bus controller 12 (step h) and then to bus 4 (step k). If the values of cyclic redundancy codes (CRC) are not equal, then a failure has occurred in one of the microprocessors (central or secondary). In this case, the security microcontroller 10 initiates the termination of the output from the CPU module 2. For this, the security microcontroller 10 generates a RESET signal, which directs (action G) to the central microprocessor 8, which stops the execution of instructions, and / or sends it to the bus controller 12 ( action t), which stops the data exchange on bus 4, and / or generates a prohibiting signal to the physical layer of interface 13 (action p), where the channel for transmitting output data to bus 4 is opened.

Дополнительно микроконтроллер 10 безопасности принимает результаты периодически исполняемых программных диагностик (диагностика работоспособности сервисов, сетевых интерфейсов и т.п.) из центрального микропроцессора 8 и дополнительного микропроцессора 9. При отказе любого из микропроцессоров действия микроконтроллера 10 безопасности будут направлены на прекращение передачи выходных данных из модуля ЦП 2 в шину 4, а именно действие G и/или действие m и/или действие n.Additionally, the security microcontroller 10 receives the results of periodically executed software diagnostics (diagnostics of the serviceability of services, network interfaces, etc.) from the central microprocessor 8 and the additional microprocessor 9. If any of the microprocessors fails, the actions of the security microcontroller 10 will be aimed at stopping the output from the module CPU 2 to bus 4, namely, action G and / or action m and / or action n.

Дополнительно микроконтроллер 10 безопасности программно контролирует время выполнения задачи каждым из микропроцессоров 8 и 9. Время выполнения задачи должно находиться в заданном интервале (временном окне), определяемой для каждой задачи исходя из объёма обрабатываемых/пересылаемых данных. Если время выполнения задачи одним из микропроцессоров находится вне такого интервала, это воспринимается как отказ. В этом случае действия микроконтроллера 10 безопасности будут направлены на прекращение передачи выходных данных из модуля ЦП 2 в шину 4, а именно действие G и/или действие m и/или действие n.Additionally, the security microcontroller 10 programmatically monitors the task execution time by each of the microprocessors 8 and 9. The task execution time should be in a specified interval (time window), determined for each task based on the amount of processed / transmitted data. If the execution time of a task by one of the microprocessors is outside such an interval, this is perceived as a failure. In this case, the actions of the safety microcontroller 10 will be aimed at stopping the transfer of output data from the CPU module 2 to the bus 4, namely, the action G and / or the action m and / or the action n.

Микроконтроллер безопасности 10 проводит периодически исполняемую программную и аппаратную самодиагностику. При опасном отказе сторожевой таймер 14 не получит вовремя сигнал перезапуска таймера 14. В этом случае таймер 14 выдаст сигнал RESET микроконтроллеру безопасности. По этому сигналу все выводы микроконтроллера 10 безопасности автоматически переводятся в состояние сброса. Такое состояние выводов микроконтроллера 10 безопасности является активным состоянием сигнала сброса для центрального микропроцессора 8, а также такое состояние выводов микроконтроллера 10 безопасности является запрещающим для передачи данных контроллером 12 шины и аппаратными средствами интерфейса 13.The security microcontroller 10 conducts periodically executed software and hardware self-diagnostics. In the event of a dangerous failure, the watchdog timer 14 does not receive the reset signal of the timer 14 in time. In this case, the timer 14 will issue a RESET signal to the safety microcontroller. According to this signal, all the conclusions of the microcontroller 10 security are automatically transferred to the reset state. This state of the terminals of the safety microcontroller 10 is the active state of the reset signal for the central microprocessor 8, and such a state of the conclusions of the safety microcontroller 10 is prohibiting the bus controller 12 and the hardware of the interface 13 from transmitting data.

Использование в микропроцессорной системе третьего устройства (микроконтроллера), который с помощью программного обеспечения контролирует первое и второе устройства (микропроцессоры), в отличие от использования для контрольных проверок простых логических элементов, позволяет предусмотреть различные варианты поведения микропроцессорной системы. Так, действия микроконтроллера 10 безопасности, направленные на прекращение передачи выходных данных из модуля ЦП 2, не всегда должны приводить к остановке работы микропроцессорной системы. Можно предусмотреть любые другие дальнейшие действия, например, перезагрузку микропроцессоров и микроконтроллера, их дальнейшую диагностику, выдачу данных диагностики на монитор оператора, и принятие решения оператором о прекращении работы микропроцессорной системы.The use of a third device (microcontroller) in a microprocessor system, which, using software, controls the first and second devices (microprocessors), in contrast to the use of simple logic elements for control checks, allows one to provide various behaviors of the microprocessor system. So, the actions of the safety microcontroller 10, aimed at stopping the transfer of output data from the CPU module 2, do not always have to stop the operation of the microprocessor system. It is possible to envisage any other further actions, for example, resetting the microprocessors and the microcontroller, their further diagnostics, issuing the diagnostic data to the operator’s monitor, and the decision by the operator to terminate the microprocessor system.

Для реализации описанной микропроцессорной системы могут быть использованы следующие устройства.The following devices may be used to implement the described microprocessor system.

В качестве центрального микропроцессора может быть использован четырёхъядерный процессор Т1040 серии QorIQ®, производимый NXP SEMICONDUCTORS, с архитектурой ядра Power Architecture e5500, с тактовой частотой 1200 МГц и DMIPS 3600 на одно ядро.As a central microprocessor, the four-core T1040 QorIQ® processor manufactured by NXP SEMICONDUCTORS, with the core architecture Power Architecture e5500, with a clock frequency of 1200 MHz and DMIPS 3600 per core can be used.

В качестве дополнительного микропроцессора может быть использован двухъядерный процессор LS1020 серии QorIQ®, производимый NXP SEMICONDUCTORS, с архитектурой ядра ARM Cortex™-A7, с тактовой частотой 1000 МГц и DMIPS 2500 на одно ядро.As an additional microprocessor, a dual-core QorIQ® LS1020 processor, manufactured by NXP SEMICONDUCTORS, with an ARM Cortex ™ -A7 core architecture, with a clock frequency of 1000 MHz and DMIPS 2500 per core can be used.

В качестве микроконтроллера безопасности может быть использован микроконтроллер Hercules , TMS570 с архитектурой ядра ARM® Cortex-R5F, разработанный для транспорта (автомобильного, железнодорожного и аэрокосмического). К такому микроконтроллеру не предъявляются требования высокой производительности, которые необходимы для работы контроллера в больших АСУ ТП, но зато такой микроконтроллер обладает высоким уровнем диагностики, что делает его высоконадёжным устройством. Так, микроконтроллер Hercules , TMS570 ARM® Cortex-R5F , имеет тактовую частоту до 300 МГц и DMIPS 500. К тому же в микроконтроллер Hercules , TMS570 ARM® Cortex-R5F встроен контроллер протокола FlexRay , который может быть использован для обмена данными по шине между моAs a safety microcontroller, the Hercules microcontroller, TMS570 with the ARM® Cortex-R5F core architecture, designed for transportation (automobile, rail and aerospace), can be used. Such a microcontroller does not have high performance requirements that are necessary for the controller to work in large process control systems, but such a microcontroller has a high level of diagnostics, which makes it a highly reliable device. So, the Hercules microcontroller, TMS570 ARM® Cortex-R5F, has a clock frequency of up to 300 MHz and DMIPS 500. In addition, the Hercules microcontroller, TMS570 ARM® Cortex-R5F has a FlexRay protocol controller that can be used to exchange data between the bus my

- 6 034974 дулем ЦП и модулями ввода-вывода.- 6,034,974 by the CPU muzzle and I / O modules.

Следует отметить, что описанная выше последовательность действий в микропроцессорной системе может быть осуществлена иначе. Так, например, входные данные от датчиков могут поступать в центральный микропроцессор через микроконтроллер безопасности. И выходные данные из центрального микропроцессора могут передаваться на исполнительные механизмы через микроконтроллер безопасности. Такая последовательность действий описана в ближайшем аналоге (US 9,696,692 В2). Для более подробного описания такого варианта исполнения микропроцессорной системы представлена фиг. 3. Входные данные с шины 4 передаются в контроллер 12 шины (действие а), который в данном варианте показан встроенным в микроконтроллер 10 безопасности. Затем, входные данные из микроконтроллера 10 безопасности передаются в центральный микропроцессор 8 (действие р). В центральном микропроцессоре 8 входные данные фиксируются. Затем этот зафиксированный массив входных данных передаётся из центрального микропроцессора 8 в дополнительный микропроцессор 9 (действие с). После поступления массива входных данных в дополнительный микропроцессор 9 в обоих микропроцессорах 8 и 9 начинается выполнение одной из множества независимых задач прикладной программы. В рамках этой задачи происходит обработка входных данных. Результаты обработки из центрального микропроцессора 8 и из дополнительного микропроцессора 9 передаются в микроконтроллер 10 безопасности (действие х и действие у). Предпочтительно, чтобы из центрального микропроцессора в микроконтроллер 10 безопасности передавались выходные данные с циклическими избыточными кодами (CRC), а из дополнительного микропроцессора в микроконтроллер 10 безопасности передавались только циклические избыточные коды (CRC). Затем микроконтроллер 10 безопасности программно сравнивает CRC выходных данных из центрального 8 микропроцессора с CRC выходных данных из дополнительного микропроцессора 9. Если циклические избыточные коды равны, то микроконтроллер 10 безопасности разрешает передачу выходных данных, поступивших в микроконтроллер 10 безопасности из центрального микропроцессора 8, в шину 4 (действие k). Если значения циклических избыточных кодов (CRC) не равны, значит, произошёл отказ в одном из микропроцессоров (центральном или дополнительном). В этом случае микроконтроллер 10 безопасности прекращает передачу выходных данных из модуля ЦП 2. Для этого микроконтроллер 10 безопасности прекращает работу контроллера 12 шины и/или формирует запрещающий сигнал (действие п) на физический уровень интерфейса 13, где размыкается канал передачи выходных данных в шину 4. В таком варианте исполнения микропроцессорной системы в случае отказа микроконтроллера 10 безопасности выходные данные гарантированно не передаются в шину 4.It should be noted that the above sequence of actions in a microprocessor system can be implemented differently. So, for example, the input from the sensors can enter the central microprocessor through the safety microcontroller. And the output from the central microprocessor can be transmitted to the actuators via the safety microcontroller. Such a sequence of actions is described in the closest analogue (US 9,696,692 B2). For a more detailed description of such an embodiment of the microprocessor system, FIG. 3. Input data from the bus 4 is transmitted to the bus controller 12 (action a), which in this embodiment is shown as integrated into the safety microcontroller 10. Then, the input from the safety microcontroller 10 is transmitted to the central microprocessor 8 (action p). In the central microprocessor 8, the input data is fixed. Then this fixed array of input data is transferred from the central microprocessor 8 to the additional microprocessor 9 (action c). After the input data array arrives at the additional microprocessor 9 in both microprocessors 8 and 9, one of the many independent tasks of the application program begins to be executed. As part of this task, input data is processed. The processing results from the central microprocessor 8 and from the additional microprocessor 9 are transmitted to the safety microcontroller 10 (action x and action y). Preferably, cyclic redundancy code (CRC) output is transmitted from the central microprocessor to the safety microcontroller 10, and only cyclic redundancy codes (CRC) are transmitted from the secondary microprocessor to the safety microcontroller 10. Then, the security microcontroller 10 programmatically compares the CRC of the output from the central microprocessor 8 with the CRC of the output from the additional microprocessor 9. If the cyclic redundancy codes are equal, then the security microcontroller 10 allows the output of the data received in the security microcontroller 10 from the central microprocessor 8 to the bus 4 (action k). If the values of cyclic redundancy codes (CRC) are not equal, then a failure has occurred in one of the microprocessors (central or secondary). In this case, the security microcontroller 10 stops transmitting output data from the CPU module 2. For this, the security microcontroller 10 stops the bus controller 12 and / or generates a inhibit signal (action p) to the physical layer of interface 13, where the channel for transmitting output data to the bus 4 is opened In this embodiment of the microprocessor system in case of failure of the microcontroller 10 security, the output is not guaranteed to be transmitted to the bus 4.

Claims (4)

ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Способ обеспечения функциональной безопасности модуля центрального процессора промышленного контроллера, заключающийся в том, что в модуле центрального процессора используют микропроцессорную систему, предназначенную для обработки входных данных от датчиков и для принятия решения о разрешении передачи выходных данных, предназначенных для управления исполнительными механизмами, из модуля центрального процессора или о прекращении передачи выходных данных из модуля центрального процессора, отличающийся тем, что для этого используют микропроцессорную систему, состоящую из центрального микропроцессора, дополнительного микропроцессора с архитектурой ядра, отличной от архитектуры ядра центрального микропроцессора, и микроконтроллера безопасности, выполненного с возможностью аппаратной самодиагностики, для чего он содержит два параллельных ядра, выполненных с одной и той же логикой, на которые подаются одни и те же входные данные, и модуль сравнения, предназначенный для контроля выходов двух ядер и для сигнализации об ошибках в их работе, при этом одни и те же вхрдные данные от датчиков подают в центральный микропроцессор и в дополнительный микропроцессор, в которых выполняют одинаковые задачи для обработки входных данных, результаты которых передают в микроконтроллер безопасности, в котором сравнивают результаты из центрального микропроцессора и из дополнительного микропроцессора и производят контроль времени выполнения задачи в каждом из микропроцессоров, которое должно находится в заданном интервале времени, который определяют исходя из объёма обрабатываемых данных, после чего в микроконтроллере безопасности принимается решение о разрешении передачи выходных данных из модуля центрального процессора в случае, если отсутствуют ошибки в работе ядер микроконтроллера безопасности, и соблюдено равенство результатов из центрального и из дополнительного микропроцессоров, и время выполнения задачи в каждом из микропроцессоров находилось в заданном интервале времени.1. A method of ensuring functional safety of a central processor module of an industrial controller, namely, that a microprocessor system is used in the central processor module for processing input from sensors and for deciding whether to allow output to be transmitted to control actuators from the module the central processor or the termination of the transfer of output data from the central processor module, characterized in that they use a microprocessor system consisting of a central microprocessor, an additional microprocessor with a kernel architecture different from the core architecture of the central microprocessor, and a safety microcontroller configured for hardware self-diagnosis for which it contains two parallel cores made with the same logic, to which the same input data is supplied, and a comparison module designed to control the outputs of two x cores and for signaling errors in their operation, while the same hard data from the sensors is fed to the central microprocessor and to an additional microprocessor, in which they perform the same tasks for processing the input data, the results of which are transmitted to the safety microcontroller, which compares the results from the central microprocessor and from the additional microprocessor and control the execution time of the task in each of the microprocessors, which should be in a predetermined time interval, which is determined based on the amount of data being processed, after which a decision is made in the security microcontroller on allowing the output of data from the central module processor in case there are no errors in the operation of the cores of the microcontroller of safety, and the equality of results from the central and from additional microprocessors is observed, and the execution time of the task in each of the microprocessors was in a given time interval. 2. Способ по п.1, отличающийся тем, что в микроконтроллере безопасности сравнивают результаты обработки входных данных из центрального и из дополнительного микропроцессоров, в качестве которых могут быть использованы как значения выходных данных, так и значения проверки выходных данных, например значения циклического избыточного кода.2. The method according to claim 1, characterized in that the security microcontroller compares the results of processing the input data from the central and additional microprocessors, which can be used as the values of the output data and the values of the output data, for example, the value of the cyclic redundant code . 3. Способ, по п.1, отличающийся тем, что, в центральном микропроцессоре и в дополнительном микропроцессоре для решения одинаковых задач используют разные исходные тексты прикладной программы.3. The method according to claim 1, characterized in that, in the central microprocessor and in the additional microprocessor, different source codes of the application program are used to solve the same problems. - 7 034974- 7 034974 4. Микропроцессорная система модуля центрального процессора промышленного контроллера для осуществления способа по п.1, содержащая центральный микропроцессор, предназначенный для выполнения задачи, в результате которой обрабатываются входные данные от датчиков, дополнительный микропроцессор, выполненный с архитектурой ядра, отличной от архитектуры ядра центрального микропроцессора, и предназначенный для выполнения такой же задачи с теми же входными данными от датчиков, что и центральный микропроцессор, и микроконтроллер безопасности, имеющий для аппаратной самодиагностики два параллельных ядра, выполненных с одной и той же логикой, на которые подаются одни и те же входные данные, и модуль сравнения, предназначенный для контроля выходов двух ядер и для сигнализации об ошибках в их работе, и предназначенный для сравнения результатов обработки из центрального микропроцессора и из дополнительного микропроцессора и для контроля времени выполнения задач в каждом из микропроцессоров, которое должно находится в заданном интервале времени, который определяют исходя из объёма обрабатываемых данных, и имеющий возможность разрешать передачу выходных данных, предназначенных для управления исполнительными механизмами, из центрального микропроцессора в случае, если отсутствуют ошибки в работе ядер микроконтроллера безопасности, и соблюдено равенство результатов обработки в центральном и в дополнительном микропроцессорах, и время выполнения задачи в каждом из микропроцессоров находится в заданном интервале времени.4. The microprocessor system of a central processor module of an industrial controller for implementing the method according to claim 1, comprising a central microprocessor designed to perform a task that processes input data from sensors, an additional microprocessor configured with a kernel architecture different from the core architecture of the central microprocessor, and designed to perform the same task with the same input data from the sensors as the central microprocessor, and a security microcontroller that has two parallel cores for the hardware self-diagnosis, made with the same logic, to which the same input data is supplied, and a comparison module, designed to control the outputs of two cores and to signal errors in their operation, and intended to compare the processing results from the central microprocessor and from the additional microprocessor and to control the execution time of tasks in each of the microprocessors, which must be in a predetermined time interval, which is determined based on the volume of data being processed, and capable of allowing the transfer of output data intended for controlling actuators from the central microprocessor if there are no errors in the operation of the cores of the safety microcontroller, and the equality of processing results in central and in additional microprocessors, and the task execution time in each of the microprocessors is in a given time interval.
EA201700479A 2017-10-24 2017-10-24 Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants) EA034974B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EA201700479A EA034974B1 (en) 2017-10-24 2017-10-24 Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EA201700479A EA034974B1 (en) 2017-10-24 2017-10-24 Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants)

Publications (2)

Publication Number Publication Date
EA201700479A1 EA201700479A1 (en) 2019-04-30
EA034974B1 true EA034974B1 (en) 2020-04-13

Family

ID=66436904

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201700479A EA034974B1 (en) 2017-10-24 2017-10-24 Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants)

Country Status (1)

Country Link
EA (1) EA034974B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2110834C1 (en) * 1996-02-20 1998-05-10 Научно-исследовательский институт системных исследований РАН System controller
US20050060605A1 (en) * 2003-09-16 2005-03-17 Gibart Anthony Gerard High speed synchronization in dual-processor safety controller
US20160216704A1 (en) * 2015-01-23 2016-07-28 Rockwell Automation Asia Pacific Business Ctr. Pte., Ltd. Redundant watchdog method and system utilizing safety partner controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2110834C1 (en) * 1996-02-20 1998-05-10 Научно-исследовательский институт системных исследований РАН System controller
US20050060605A1 (en) * 2003-09-16 2005-03-17 Gibart Anthony Gerard High speed synchronization in dual-processor safety controller
US20160216704A1 (en) * 2015-01-23 2016-07-28 Rockwell Automation Asia Pacific Business Ctr. Pte., Ltd. Redundant watchdog method and system utilizing safety partner controller

Also Published As

Publication number Publication date
EA201700479A1 (en) 2019-04-30

Similar Documents

Publication Publication Date Title
US11846923B2 (en) Automation system for monitoring a safety-critical process
US11105845B2 (en) Apparatus having signal chain lock step for high integrity functional safety applications
US9964937B2 (en) Redundant watchdog method and system utilizing safety partner controller
CN102841828B (en) Fault detect in logical circuit and alleviating
RU2703681C1 (en) Industrial controller cpu
KR20020000632A (en) Process control system with integrated safety control system
EP4009173B1 (en) Debug trace streams for core synchronization
CN104281217A (en) Microcomputer
CN117425881A (en) Control devices and assistance systems for vehicles
US20230259095A1 (en) Control System Method for Controlling an Apparatus or Installation
US8375256B2 (en) System with configurable functional units and method
JP2013175118A (en) Control device, memory failure detection method thereof and self-diagnostic method thereof
EP3249532B1 (en) Power supply controller system and semiconductor device
EA034974B1 (en) Method of providing functional safety of central processor module of industrial controller and microprocessor system for carrying out this method (variants)
US11982984B2 (en) Automation system for monitoring a safety-critical process
KR20120137841A (en) Failure detection and mitigation in logic circuits
Großmann et al. Efficient application of multi-core processors as substitute of the E-Gas (Etc) monitoring concept
JP4102814B2 (en) I/O CONTROL DEVICE, INFORMATION CONTROL DEVICE, AND INFORMATION CONTROL METHOD
US20250217252A1 (en) Time-triggered computer system with a high level of diagnostic coverage
JP5337661B2 (en) Memory control device and control method of memory control device
JP5352815B2 (en) Control apparatus and control method
Rentschler et al. System self diagnosis for industrial devices
Baumeister Using Decoupled Parallel Mode for Safety Applications
WO2022224897A1 (en) Digital output apparatus and method for generating digital output
Rahmani et al. CAN open safety on safety-related system-on-chip

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG TJ TM