Сегодня я покажу вам как задающий тактовую частоту генератор. Я изображаю его, взяв палочку дирижёра и буду взмахами задавать ритм большого оркестра по названием Центральный процессор.
Процессор может быть быстрым, а затраты на логистические цепочки по доставке битов затратны. Двадцать лет для обхода проблемы "бутылочного горлышка", где процессор проводит длительное время в ожидании кода, добавляли кеш, сопроцессора и 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 — это сложный комплекс, его архитектура является прямым потомком идей фон Неймана. Вместо одного процессора и одной памяти, мы имеем распределенную сеть вычислителей (серверы, контроллеры, рабочие станции), каждый из которых внутри себя работает по классической схеме, а вместе они образуют «Большой компьютер» управления технологическим процессом.
Жаль, но на этом наш урок подошёл к окончанию.
Если у вас есть вопросы, уважаемые коллеги - задавайте.
До новых встреч.