PDA

Просмотр полной версии : Завершение работы Windows средствами MasterOPC



Nikoly@
06.08.2026, 08:34
Здравствуйте.
Предыстория: ПЛК + мини ПК с Windows (могу установить OPC-server) сидят на блоке питания с функцией UPS.
Можно ли реализовать завершение работы ПК средствами OPC-server (некий тег ПЛК, принимает значение TRUE, а ОРС прочитав его выполняет скрипт завершения).
Если подскажите иной способ завершения работы ПК, буду премного благодарен.

Александр Пинэко-Скворцов
06.08.2026, 10:15
Здравствуйте.
Предыстория: ПЛК + мини ПК с Windows (могу установить OPC-server) сидят на блоке питания с функцией UPS.
Можно ли реализовать завершение работы ПК средствами OPC-server (некий тег ПЛК, принимает значение TRUE, а ОРС прочитав его выполняет скрипт завершения).
Если подскажите иной способ завершения работы ПК, буду премного благодарен.

Добрый день.

Да, так можно сделать.
В свойствах тега, который планируете читать из ПЛК, установите свойство Разрешение выполнения скрипта после чтения в True.
В редакторе скрипта запишите следующее (пример, если значение тега = 1):



function OnRead()
TV,TQ,TS = server.ReadCurrentTag();
if (TV==1) then
os.execute("shutdown /s /t 0")
end
end

Nikoly@
06.08.2026, 11:39
В свойствах тега, который планируете читать из ПЛК, установите свойство Разрешение выполнения скрипта после чтения в True.
В редакторе скрипта запишите следующее (пример, если значение тега = 1):
-- Processing
function OnRead()
TV,TQ,TS = server.ReadCurrentTag();
if (TV==1) then
os.execute("shutdown /s /f /t 3") --принудительно завершить все открытые программы при выключении
end
end

Как раз то что нужно было, спасибо.

P.S. Параметр /f закрывает запущенный OPC-server