From OpenSCADAWiki
Архітектурно, OpenSCADA складається з підсистем:
- Безпека — містить списки користувачів та груп користувачів, забезпечує перевірку прав для доступу до елементів програми та таке інше.
- Диспетчер модулів — забезпечує контроль за модулями.
- Бази даних (модульна) — забезпечує доступ до баз даних.
- Транспорти (модульна) — забезпечує комунікацію із зовнішнім середовищем за допомогою різноманітних комунікаційних інтерфейсів.
- Транспортні протоколи (модульна) — тісно пов'язана з підсистемою транспортів та забезпечує підтримку різноманітних протоколів обміну з зовнішніми системами.
- Збір даних (модульна). — забезпечує збір даних із зовнішніх джерел: контролерів (ПЛК), давачів та інше. Окрім цього, підсистема може надавати середовище для створення генераторів даних: моделей, регуляторів, ... .
- Архіви-Історія (модульна) — містить архіви-історію двох типів: архіви повідомлень та архіви значень. Метод архівації визначається алгоритмом, який закладено у модулі архівації.
- Інтерфейси користувача (модульна) — містить функції інтерфейсів користувача.
- Спеціальні (модульна) — містить функції, які не увійшли до інших підсистем. На цей час до цих функцій належать й функції тестування та бібліотеки статичних функцій користувацького API.