Страница 160 из 765 ПерваяПервая ... 60110150158159160161162170210260660 ... ПоследняяПоследняя
Показано с 1,591 по 1,600 из 7646

Тема: Вопросы начинающего

  1. #1591

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Вообще есть простой вариант.
    При помощи ФБ "Скрипт C#" можно сменить оператора на компьютере.
    Вы можете создать на компьютере оператора, например две категории операторов - "оператор" и "оператор с пониженными правами". Каждая категория настраивается индивидуально - у одной какие то действия разрешаете, у другой запрещаете. Создаете в каждой категории по оператору.
    В обычном режиме оператор входит в слой логин и работает, если мастеру нужно отключить у него какие то действия, он посылает команду, скрипт выполняется, и оператор переключается на пониженную категорию.
    Затем мастер можем вернуть оператора обратно, также используя скрипт.

    Код скрипта для смены оператора такой:
    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using System.Linq;

    public partial class ФБ : ScriptBase
    {
    bool? M=false;
    public override void Execute()
    {
    if (Параметр1==true && M==false)
    {
    HostFB.TreeItemHlp.Project.RTPermissions.ReLogon(" Оператор 1","1"); // Оператор 1 - имя оператора, 1 - пароль.
    }
    M=Параметр1;
    }
    }

    Версия MasterSCADA должна быть 3.5.

    Параметр1 - вход ФБ, типа "Логический"


    Наткнулся на такой скрипт, он работает но только на локальном компьютере. Подскажите как подправить его, чтобы можно было сменить оператора на другом компьютере сетевого проекта

  2. #1592

    По умолчанию

    Цитата Сообщение от Tagir Посмотреть сообщение
    а с помощью каких ФБ можно выполнить эти операции?
    отслеживать вхождение оператора можно с помощью ФБ "Служебная информация", а как сравнить с категорией локального оператора?
    Можно использовать ФБ "Сравнение строк" (Закладка "Вычисления"). Можно использовать Скрипт C#.
    Спасибо.

  3. #1593

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    То есть на уровне устройства идет опрос действующих значений, а на уровне подустройства - архивов? Тогда пусть на уровне устройства, когда начинается опрос выставляется флаг остановки чтения архивов. На уровне подустройства вызывая функцию проверяйте этот флаг, и прекращайте чтение архивов.
    Пока подустройство не закончило выполнение своего скрипта, другие устройства в том же узле не запускают свои скрипты, если я правильно понял

  4. #1594

    По умолчанию

    Цитата Сообщение от Tagir Посмотреть сообщение
    Наткнулся на такой скрипт, он работает но только на локальном компьютере. Подскажите как подправить его, чтобы можно было сменить оператора на другом компьютере сетевого проекта
    Так сделать нельзя.
    Пусть скрипт исполняется на нужном компьютера, на сигнал на вход поступает от удаленного. Зашел диспетчер, нажал на кнопку - сигнал ушел на скрипт, оператор сменился на другого.
    Спасибо.

  5. #1595

    По умолчанию

    Цитата Сообщение от SokolovS Посмотреть сообщение
    Пока подустройство не закончило выполнение своего скрипта, другие устройства в том же узле не запускают свои скрипты, если я правильно понял
    Да. Но как быть в вашем случае - когда устройство вызывает функцию подустройства?
    Спасибо.

  6. #1596

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Да. Но как быть в вашем случае - когда устройство вызывает функцию подустройства?
    ... не совсем понял.
    Мне кажется, этот вопрос задавал я.

  7. #1597

    По умолчанию

    Имеется ввиду, как вызов из устройства функции подустройства решит проблему:
    Цитата Сообщение от SokolovS Посмотреть сообщение
    Пока подустройство не закончило выполнение своего скрипта, другие устройства в том же узле не запускают свои скрипты, если я правильно понял
    Мы не понимаем архитектуру которую вы хотите построить.
    Последний раз редактировалось SCADAMaster; 29.08.2014 в 09:46.
    Спасибо.

  8. #1598

    По умолчанию

    Вы предложили такое решение:
    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    То есть на уровне устройства идет опрос действующих значений, а на уровне подустройства - архивов? Тогда пусть на уровне устройства, когда начинается опрос выставляется флаг остановки чтения архивов. На уровне подустройства вызывая функцию проверяйте этот флаг, и прекращайте чтение архивов.
    Я вам ответил, что его реализовать не получается из-за того, что скрипты узла выполняются по очереди, то есть скрипт из подустройства никогда не дождётся изменения флага в устройстве.
    А даже если и дождётся, после остановки обновления архива и опроса устройством нужно будет продолжить обновление, то есть опять же вызвать функцию из подустройства.

  9. #1599

    По умолчанию

    Это ясно.
    Но изначально вы просили возможность вызывать функции подустройства из устройства. Как вам это поможет?
    Функция server.RunFunctionFromDeviceByName( ) вас не устраивает только тем что нужно передавать в нее полное имя, что усложнит правку имен?
    Имя можно получить при помощи кода. Положите в подустройство тег, в функции OnInit определите полное и короткое имя. Используя эти значения можно получить путь к подустройству, который потом через функцию передать в устройство.
    Вот пример кода:
    function OnInit()
    local val={};
    err,val=server.GetAttributeCurrentTag( ); --получаем текущий тег
    local path=string.sub(val[2],1,string.len(val[2])-string.len(val[1])-1) -- выделяем из полного имени часть до имени тега.
    server.Message(path); --для примера выводим в лог
    end
    Спасибо.

  10. #1600

    По умолчанию

    Я надеялся, существует более простой, очевидный и прямой способ
    Спасибо

Страница 160 из 765 ПерваяПервая ... 60110150158159160161162170210260660 ... ПоследняяПоследняя

Похожие темы

  1. вопросы начинающего
    от Flomaster в разделе ПЛК1хх
    Ответов: 25
    Последнее сообщение: 11.03.2015, 20:50
  2. Ethernet - вопрос начинающего.
    от Продамщебень)) в разделе Сетевые технологии
    Ответов: 8
    Последнее сообщение: 20.06.2013, 16:35
  3. вопросы начинающего
    от Chifa в разделе Сетевые технологии
    Ответов: 1
    Последнее сообщение: 30.07.2010, 14:32
  4. вопрос начинающего
    от gladkiynikita в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 22.03.2010, 05:43
  5. Вопросы
    от Мурат в разделе Эксплуатация
    Ответов: 6
    Последнее сообщение: 27.01.2007, 03:24

Ваши права

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