Найти в Дзене
Кирилл Подласов

АРХИТЕКТУРА ФОН НЕЙМАНА

Сегодня я покажу вам как задающий тактовую частоту генератор. Я изображаю его, взяв палочку дирижёра и буду взмахами задавать ритм большого оркестра по названием Центральный процессор.
Процессор может быть быстрым, а затраты на логистические цепочки по доставке битов затратны. Двадцать лет для обхода проблемы "бутылочного горлышка", где процессор проводит длительное время в ожидании кода,

Сегодня я покажу вам как задающий тактовую частоту генератор. Я изображаю его, взяв палочку дирижёра и буду взмахами задавать ритм большого оркестра по названием Центральный процессор.

Стекляшка позади меня - кварцевый генератор первых моделей.
Стекляшка позади меня - кварцевый генератор первых моделей.

Процессор может быть быстрым, а затраты на логистические цепочки по доставке битов затратны. Двадцать лет для обхода проблемы "бутылочного горлышка", где процессор проводит длительное время в ожидании кода, добавляли кеш, сопроцессора и GPU - шки. Если станет интересно про это напишите в комментариях, что нужно простым языком рассказать о сложном. Я напишу. Ведь меня зовут мишка SCADA.

Вернусь к коллеге Фон Нейману.

Архитектура фон Неймана, предложенная в 1940-х годах, стала фундаментом практически всех вычислительных машин вплоть до сегодняшнего дня. Несмотря на то, что современные SCADA-системы — это распределенные программно-аппаратные комплексы, они построены на тех же базовых принципах, просто спроецированных на уровень целого предприятия.

Вот подробный разбор того, как принципы фон Неймана проявляются в архитектуре SCADA.

I. Краткое напоминание: Принципы фон Неймана

1. Принцип хранимой программы: Данные и команды хранятся в одной и той же памяти.

2. Линейность (однородность) памяти: Ячейки памяти адресуются последовательно.

3. Принцип последовательного выполнения: Команды выполняются процессором последовательно (одна за другой), пока это порядок не изменен командой перехода.

4. Двоичное кодирование.

5. Устройство управления (CU) + Арифметико-логическое устройство (ALU) = Процессор.

II. Следы архитектуры в SCADA-системах.

А. Модель «Центральный процессор — Память» на уровне сервера

В SCADA классическая диада «Процессор — Память» превращается в связку «Сервер сбора данных (ЦП) — База данных реального времени (Память)».

· Память (ОЗУ): В SCADA критически важна оперативная память серверов. В ней хранятся текущие теги (переменные) — это и есть «ячейки», где лежат данные о состоянии датчиков, положениях задвижек и текущих значениях.

· Процессор: Он выполняет «программу» — код диспетчера, который сканирует массив тегов в памяти, проверяет условия аварий, ведет историю и отдает команды.

Б. Цикл сканирования (Scan Cycle) как аналог тактового генератора

В фон-неймановской машине есть тактовый генератор, синхронизирующий работу узлов. В SCADA есть понятие цикла сканирования (scan cycle).

· Внутри контроллера (RTU/PLC) или сервера SCADA есть бесконечный цикл:

 1. Fetch (Выборка): Считать текущие значения с железа (из памяти контроллера или полевой шины).

 2. Decode/Execute (Исполнение): Проверить эти значения на условия аварий (алгоритмы), выполнить вычисления.

 3. Writeback (Запись): Обновить значения в базе данных реального времени (памяти) и отправить команды обратно (если нужно).

   Этот цикл — прямое отражение цикла выборки-исполнения фон-неймановской архитектуры.

В. Принцип хранимой программы (Stored Program Concept)

В SCADA этот принцип реализуется на нескольких уровнях:

1. Уровень контроллера (PLC): В ПЛК есть память, где хранится и программа (код логики, написанный инженером), и данные (значения тегов). Это чистая архитектура фон Неймана (или Гарвардская в современных ПЛК, но идея та же — программа не коммутируется проводами, а хранится в памяти).

2. Уровень диспетчерской: Проект SCADA (HMI-приложение) — это тоже «хранимая программа». Файлы проекта содержат и графику (данные для отображения), и скрипты (команды), и конфигурацию связи с устройствами. Они загружаются в оперативную память сервера и выполняются.

Г. Адресация (Линейность памяти)

Фон Нейман предложил нумеровать ячейки памяти. В SCADA это превратилось в систему тегов (тэгов).

· Каждый датчик, каждый параметр получает уникальный идентификатор — Имя тэга (например, TANK1_LEVEL или PV_1003A).

· Обращение к этому тэгу в программе (на мнемосхеме, в скрипте, в тренде) происходит по этому имени. По сути, это символический адрес, по которому процессор SCADA-сервера находит значение в своей таблице памяти (в базе реального времени).

Д. Устройство управления (Контроллеры)

В SCADA роль арифметико-логического устройства выполняют ПЛК (программируемые логические контроллеры).

· Это автономные компьютеры фон-неймановской архитектуры.

· Они живут «в поле» и выполняют ту самую логику управления, которую в классической машине выполнял бы процессор (сложение логических сигналов, запуск моторов, PID-регулирование).

3. Эволюция: От одиночной машины к распределенной системе

Главное отличие современных SCADA от классической машины фон Неймана в том, что SCADA — это распределенная система. Однако она строится по тому же принципу, просто узлы разнесены в пространстве:

· Ввод/Вывод (I/O): В классической машине был порт ввода-вывода. В SCADA это:

 · Удаленный ввод/вывод: Модули в шкафах, стоящие рядом с датчиками (превращают аналоговый сигнал 4-20 мА в цифру для контроллера).

 · Промышленные сети (Fieldbus): Profibus, Modbus, Ethernet/IP. Они служат той же «шиной», по которой данные идут из памяти датчика в память контроллера.

· Иерархия памяти:

 · L1 (Регистры) -> Память ПЛК.

 · L2 (Кэш) -> База реального времени сервера SCADA (быстрая, in-memory).

 · L3 (RAM/HDD) -> Архивная база данных (SQL) для долгосрочного хранения истории (медленная, но большая).

4. Итог: Следы в конкретных элементах SCADA

Принцип фон Неймана./ Проявление в SCADA-системе

Последовательное выполнение./ Цикл ПЛК (Scan Cycle), последовательный опрос устройств мастер-сканером.

Хранимая программа./ Прошивка ПЛК, файл конфигурации SCADA-сервера, визуальный проект HMI.

Память + Процессор./ Сервер SCADA (ОЗУ с тегами + ЦП для расчетов и логики).

Единое адресное пространство./База данных реального времени (система тегов), OPC-сервер как единая точка доступа к адресам (тегам).

Двоичный код./ Все сигналы в конечном итоге преобразуются в биты (0/1) внутри контроллера. Даже аналоговый сигнал (4-20 мА) оцифровывается АЦП в число (код).

Вывод: Хотя SCADA — это сложный комплекс, его архитектура является прямым потомком идей фон Неймана. Вместо одного процессора и одной памяти, мы имеем распределенную сеть вычислителей (серверы, контроллеры, рабочие станции), каждый из которых внутри себя работает по классической схеме, а вместе они образуют «Большой компьютер» управления технологическим процессом.

Жаль, но на этом наш урок подошёл к окончанию.

Если у вас есть вопросы, уважаемые коллеги - задавайте.

До новых встреч.