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

Тема: Проблема задания выхода скрипта C# из task

  1. #1

    По умолчанию Проблема задания выхода скрипта C# из task

    Возникла проблема при работе со скриптом: была написана функция, которая идет в task. Однако, при вызове
    в task
    var elem=HostFB.OutputGroup.GetPin("Параметр2").TreePi nHlp;
    if(elem!=null)
    {
    elem.AddAssignValueTask(5,null);
    }
    task всегда остается в состоянии "Running" и виснет на task.wait();


    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using FB.FBAttributes;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Threading;

    [FBRetain]
    public partial class ФБ : ScriptBase
    {

    public override void Start()
    {
    Task task = Task.Factory.StartNew(() => LinePerform());
    Thread.Sleep(3000);
    task.Wait();
    Параметр1=Convert.ToString(task.Status);
    }

    public void LinePerform()
    {
    var elem=HostFB.OutputGroup.GetPin("Параметр2").TreePi nHlp;
    if(elem!=null)
    {
    elem.AddAssignValueTask(5,null);
    }
    }

    Тоже самое и касается использования thread, если использовать join() и конструкцию через HostFB то поток намертво встает. Если напрямую внутри задавать как например Параметр2=54 то все нормально.
    Последний раз редактировалось Igor V; 19.09.2017 в 11:54.

Похожие темы

  1. Обращение к базе данных из скрипта C#
    от Vinsen в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 23.01.2019, 13:02
  2. Ответов: 10
    Последнее сообщение: 22.03.2017, 08:57
  3. Ответов: 1
    Последнее сообщение: 13.02.2017, 13:10
  4. обращение к журналу из скрипта
    от Михаил Ч. в разделе Master SCADA 3
    Ответов: 5
    Последнее сообщение: 12.07.2010, 15:22

Ваши права

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