Показано с 1 по 7 из 7

Тема: ФБ "Запуск процесса"

  1. #1

    По умолчанию ФБ "Запуск процесса"

    Добрый день!

    Есть потребность использовать самописное приложение, как дополнение к скаде.
    Реализуется без проблем.

    Вопрос в следующем.
    ФБ "Запуск процесса" копирует запускаемый exe-файл в папку, куда установлена Скада.
    Дело в том, что мое exe приложение использует библиотеки, которые прописаны относительными адресами (т.е. библиотеки должны находиться в одной папке с exe файлом).
    В принципе, я могу установить свое приложение (с библиотеками) в папку с MS, но логично предположить, что структурно мастерскада и мое приложение должны быть расположены в разных папках.

    Хотелось бы узнать, чем обусловдена такая особенность этого ФБ?

  2. #2

    По умолчанию

    Мы не наблюдали такого поведения данного ФБ.
    Если указать полный путь к приложению, то оно никуда не копируется.
    Спасибо.

  3. #3

    По умолчанию

    Извиняюсь, что ввел в заблуждение. ФБ работает нормально.
    Тему можно удалить.

    Спасибо.

  4. #4

    По умолчанию

    Можно ли в ФБ "Запуск процесса" присвоить Имя команды из другой переменной (с выхода)?

  5. #5

    По умолчанию

    Для этого нужно использовать входы данного ФБ. Задаете в настройках количество параметров, а затем формируете маску в строке аргументов или команды.
    Вызовите справку к данному ФБ - там все описано.
    Спасибо.

  6. #6

    По умолчанию

    Имя команды: {0}
    Количество параметров: 1
    Показывать окно: Истина
    Строка аргументов:

    С Параметр0 установлена связь, в него передается адрес приложения D:\prog.exe

    При вызове ФБ в статусе ошибки выдается следующее:
    System.ComponentModel.Win32Exception: Не удается найти указанный файл
    в System.Diagnostics.Process.StartWithCreateProcess( ProcessStartInfo startInfo)
    в System.Diagnostics.Process.Start()
    в System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
    в InSAT.Library.ProcessHlp.StartProcessWithoutOutput (ProcessStartInfo startInfo, String& output, String& errors)
    В справке не удалось найти подробного описания на этой случай.
    Последний раз редактировалось Alexandr; 05.04.2012 в 10:34.

  7. #7

    По умолчанию

    Это ошибка. Мы ее устраним.
    Пока что можем предложить использовать модуль "Скрипт C#".
    Код пример такой (код запускается по переднему фронту входа "Параметр1"):
    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using System.Linq;
    using System.Diagnostics;

    public partial class ФБ : ScriptBase
    {
    bool? M=false;
    public override void Execute()
    {
    if (Параметр1==true && M==false)
    {
    ProcessStartInfo infoStartProcess = new ProcessStartInfo();
    infoStartProcess.WorkingDirectory = @"C:\";
    infoStartProcess.FileName = @"C:\Prog.exe";
    Process.Start(infoStartProcess);
    }
    M=Параметр1;
    }
    }
    Спасибо.

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 27.02.2013, 19:08
  2. Ответов: 8
    Последнее сообщение: 29.03.2011, 14:07
  3. Ответов: 3
    Последнее сообщение: 30.09.2010, 22:30
  4. как выбрать управление "прямое" или "обратное"
    от maxmore в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 18.01.2010, 10:13

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •