На C# можно написать программу для Scada, которая будет выполняться как будто в ПЛК. Панель на Linux, например что-то из IXHUB. Scada в WEB браузере в киоске. Панель и "ПЛК" в одном флаконе.

Как вариант, писать не на C# а установить openPlc и сделать там на ST. Но тоже окажется в одном флаконе.
Ну либо СПК с CodeSys и тоже в одном флаконе.