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

Тема: MasterSCADA

  1. #1

    По умолчанию MasterSCADA

    добрый день
    мва8 + ас4
    вопрос такого плана представим, что у меня есть датчик выдающий значения от 0 до 100 процентов к этому датчику в мнемосхеме прикреплен стрелочный прибор необходимо ,что бы стрелочный прибор на экране отображал: "на датчике 0-75%"-->"на стрелочном приборе 0-50%","на датчике 75-100%"-->"на стрелочном приборе 50-100%"

    заранее спасибо
    Последний раз редактировалось TiO2; 25.10.2009 в 22:52.

  2. #2

    По умолчанию

    Итак получается. При значении меньше 75 на выходе будет в полтора раза меньше. При значении больше 75 на выходе будет: 50+(показания датчика - 75)*2.
    Проще всего это реализовать в модуле Скрипт (версия не ниже 3.0). Создаете модуль скрипт, задаете один вход - "Датчик" и один выход "Выход).
    Далее нужно прописать такой код (даю полный код скрипта):
    using System;
    using MasterSCADA.Script.FB;
    using MasterSCADA.Hlp;
    using FB;
    using System.Linq;

    public partial class ФБ : ScriptBase
    {
    public override void Execute()
    {
    if (Датчик<=75) Выход=Датчик/1.5;
    else Выход=(Датчик-75)*2+50;
    }
    }


    Еще можно использовать "Расчет". Прилагаю такой код
    ЕСЛИ( Датчик<=75, Датчик/1.5, 50+(Датчик-75)*2 )
    Обращаю внимание, опять таки нужна версия 3.0 и старше, так как в ранних "Если" не реализована.
    Последний раз редактировалось Sniper007; 26.10.2009 в 14:27. Причина: можно еще так
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  3. #3

    По умолчанию

    огромное вам спасибо,
    версия у меня 3.2 ,
    оба варианта очень интересны.

  4. #4

    По умолчанию

    пожалуйста. обращайтесь если что...
    а что уже версия 3.2 вышла???

    P.s. если у вас будет много таких нелинейных приборов то лучше использовать второй вариант (с модулем расчет) - это дешевле (экономит внешние тэги).
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  5. #5

    По умолчанию

    Цитата Сообщение от Sniper007 Посмотреть сообщение
    пожалуйста. обращайтесь если что...
    а что уже версия 3.2 вышла???

    .

    опечалси 3.1.133.29740 )

  6. #6

    По умолчанию

    Цитата Сообщение от Sniper007 Посмотреть сообщение
    пожалуйста. обращайтесь если что...
    а что уже версия 3.2 вышла???

    P.s. если у вас будет много таких нелинейных приборов то лучше использовать второй вариант (с модулем расчет) - это дешевле (экономит внешние тэги).
    Скажите, а возможно ли при испольщовании этого метода сделать так , что бы например ЕСЛИ( Датчик<=75, Датчик/1.5, Else - переход в другое условие ЕСЛИ )


    заранее спасибо

  7. #7

    По умолчанию

    Да, можно.
    Только else не надо. Вот примерно так надо:
    ЕСЛИ( Датчик<=75,Датчик/1.5,
    ЕСЛИ(Датчик>100,Датчик*2,Датчик*3 ) )
    Если значение будет меньше 75, то будет деление на 1,5. Если значение больше 100 будет умножение на 2, а если больше 75 и меньше 100 умножение на 3.
    Я знаю то, что я ничего не знаю. Но другие не знают и этого. (Сократ).

  8. #8

    По умолчанию

    Принял, большое спасибо -буду пробовать

Ваши права

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