ПЛК - это скорее про софт, чем про хард.
Внутри ПЛК вполне может скрываться и STM32, и Raspberry, и даже комп на винде, и никакого резервирования.
Вся соль - в разных специальных промышленных протоколах и надёжности программ.
Например на ПЛК в принципе нет ошибок связанных с памятью, ибо никто программисту не даёт доступа к памяти и указателям, а время выполнения строго контролируется, причём даже между несколькими узлами: на уровне протокола можно гарантировать, что условно 10 физически разнесённых узлов одновременно выполнят какое-то действие с точностью до микросекунд.
Так что если ошибка и будет - она будет в логике, а не в том как она реализована.
Ну и сверху это всё ещё обмазано маркетингом и всякими интерфейсами для совместимости с другим оборудованием.
И будет ли 2 микроконтроллера(один из которых в резерве и будет запускаться, при неисправности основного) более надежны, чем ПЛК siemens?
Если ты докажешь, что в программе нет багов, а электрическая схема будет достаточно адекватной, чтобы случайно 220 на логические входы не подать, то это будет даже надёжнее.