SysProcessCreate

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Запуск процессов >

SysProcessCreate

Функциональный блок SysProcessCreate служит для запуска различных процессов и выполнения команд операционной системы из проекта, работающего в среде исполнения. Например: копирования файлов, печати сохраненных отчетов и других задач.

Важно! Для возможности работы c ФБ SysProcessCreate в исполнительную систему должна входить опция MSRT4D-ProcessCreate. Данная опция включена в базовый функционал лицензий Professional и Enterprise.

Этот функциональный блок может использоваться как самостоятельно, вне программ, так и в составе любой программы.

Находится в библиотеке BaseObjects.

Вид в дереве

Вид в редакторе FBD

Вид в редакторе ST

SysProcessCreate

SysProcessCreate_1

SysProcessCreate_1(Command:="chrome.exe", Args:="http://127.0.0.1:8043",Run:=Запустить); //(где: Запустить - это логический параметр, связанный с кнопкой без фиксации в окне).

Входы и выходы ФБ:

Название

Тип

Назначение

Входы

Command

STRING

Задается имя исполняемого файла (может включать полный путь) или команды. Например, если вход принимает значение iexplore.exe, то в результате работы функционального блока откроется Internet Explorer. Если процесс запускается через bat-файл, то вход может принимать значение  D:\print.bat.

Args

STRING

Аргументы, которые могут быть использованы для запуска процесса или команды.

Run

BOOL

По переднему фронту изменения значения на этом входе среда исполнения попытается запустить процесс, указанный на входе Command, используя строку аргументов, заданной на входе Args.

Выходы

Code

DINT

Выдается код ошибки (код ошибки зависит от выполняемой команды).

Error

STRING

Выдается ошибка.

Следует учитывать, что при использовании данного функционального блока могут возникнуть неисправности, не связанные с работой MasterSCADA 4D. Разработчик проекта берет на себя ответственность за возможные сбои в работе сторонних процессов.

Важно! Для непрерывных операций необходимо использовать ФБ SysProcessCreateAsync. В противном случае, пока выполняется команда, указанная в ФБ, другие задачи исполнятся не будут.

Особенности работы функционального блока в исполнительной системе для Linux

Для запуска GUI-приложений (например, Firefox) требуется указывать имя пользователя ОС, который работает в текущий момент.  Для этого необходимо использовать команду su.

В этом случае на вход Command необходимо подать su -u [имя пользователя] [имя приложения], либо на вход Command подать su -u [имя пользователя], а на вход Args  - [имя приложения].

Пример записи в ST: SysProcessCreate_1(Command:="su -u user firefox", Args:="http://127.0.0.1:8043",Run:=Запустить); //(где Запустить это логический параметр связанный с кнопкой без фиксации в окне.)