Здравствуйте.
Собственно проблема в блокировке вмешательства в некоторый процесс во время его выполнения, в Вашем случае - загрузка ПЛК. Варианты:
1. Загрузка без вмешательства оператора ("кнопку нажал и мешок на спине"), процесс завершится через некоторое время. Достаточно ввести флаг загрузки для запрета вмешательства на время загрузки.
В прилагаемом примере (стр. "Загрузка по времени") в качестве флага использовано свойство видимости кнопки "Загрузка ПЛК". При нажатии кнопки устанавливается в False, по завершении загрузки в True.
2. Оператор может вмешиваться в процесс загрузки. У него отображается активный экран, отличающийся от остальных минимально наличием элементов управления.
Признаком активного экрана (и соответственно способа построения) может быть уникальное имя клиента или имя оператора. Аналогично предыдущему случаю есть и флаг загрузки (= имя активного клиента, пример стр. "Загрузка под контролем оператора"), однако для него возникают проблемы сброса флага:
- активный оператор "уснул";
- активный оператор вышел из проекта не сбросив флаг (не завершив загрузку).
И если для первого случая можно ввести временной контроль активности оператора, то для второго нужен выход по кнопке с запретом выхода по комбинации клавиш из Simple-Scada и по alt/F4. Но простое пропадание питания ПК активного клиента (с сохранением на ПК сервера) прервет загрузку и не сбросит флаг.
Для двух мониторов, равно как для двух клиентов с одинаковыми именами, повторного начала загрузки не будет, но управление возможно от обоих.
Появление в Simple-Scada процедуры "Получить список клиентов данного проекта" сделало бы возможным отслеживание "отпавших" клиентов (активных).