Evgen

Созданные ответы форума

Просмотр 15 сообщений - с 151 по 165 (из 177 всего)
  • Автор
    Сообщения
  • Evgen
    Участник

    public int RepairTime(int dependOnCnl, int cnlNum)
    {
    if (Val(dependOnCnl) >= Val(cnlNum))
    {
    return 0;
    }
    return 1;
    }
    эта функция сравнивает 2 канала.
    как сюда добавить обнуление канала (Val(dependOnCnl))»или вернуть значение 0″
    если ввели команду в определенном канале управления.

    Evgen
    Участник

    Спасибо работает!

    такой вопрос
    что означает:
    в канале управления: тип команды
    и какая разница между Часов ТИ и часовой ТС
    дорасчетный ТИ дорасчетный ТС?

    Evgen
    Участник

    Вот я возвращаю каналу значение другого канала,
    public double InputChannels(int dependOnCnl)
    {
    return Val(dependOnCnl);
    }

    как задать похожую функцию что бы возвращать входному каналу значение канала управления

    Evgen
    Участник

    Как из канала управления присвоить значение входному каналу?
    (не передавая его в плк или другое устройство)

    Evgen
    Участник

    Есть оборудование которое передает данные в ПК через ком порт по протоколу Modbus, оборудование старое и нет возможности его подключить иначе. и такое оборудование в разных местах.
    Мы хотим собирать данные и выводить их в скаде.
    Поэтому надо собирать их на тех ПК и передавать их в Сервер.
    А можно по подробнее о настройках SCADA для такого обмена?

    в ответ на: Расширенная поддержка #1494
    Evgen
    Участник

    а если заказать курс по обучению к примеру на 6 часов, по 1 часу в день?
    ну и что бы обучение было не из пустого в порожнее, все по полочкам. Такой вариант рассматривается?

    Evgen
    Участник

    в разработке формул будут объяснения?
    просто если Вы все сделаете и не будет ни одного комментария то разбираться все равно будет не просто, и нужно будет сидеть анализировать все действия и разбираться в их очередности.

    Evgen
    Участник

    я перепробовал записать в столбце формула разными способами

    Evgen
    Участник

    Здравствуйте!
    я хочу входные каналы присвоить массиву
    и затем после обработки вывести данные в скаде.
    // присвоение массиву значение каналов
    public double[] VremayRab()
    {
    double[] VremayRab = new double [30];
    foreach (int i in VremayRab)
    {
    VremayRab[CnlNum + i] = Val(274 + i);

    }
    return VremayRab;
    }
    // далее я создал дорасчётный ТИ
    и как этому каналу присвоить значение из массива?
    и как часто будут обновятся данные?(так же как и с ПЛК или будет временная задержка?)

    Evgen
    Участник

    и какой тип канала необходимо создать?

    Evgen
    Участник

    Val(701 + i) = VremayRab[i]; будет верно?

    Evgen
    Участник

    Спасибо за совет!
    я создал массив и записал
    public double[] VremayRabE()
    {
    double[] VremayRab = new double [30];
    for (int i = 0; i <= 29; i++)
    {
    VremayRab[i] = Val(701 + i);

    }
    return VremayRab;
    }
    ошибок не выдает.

    вопрос как присвоить к каналу связи значение элемента массива?

    Evgen
    Участник

    Здравствуйте!
    Я хочу данные с канала заносить в массив данных.
    если я сделаю следующее это будет правильно?
    в редакторе формул создать следующие
    исходный код
    public int[] N = new int[10000]; // создаем массив
    int i = 0;
    for([ i+=1 ] [i = 8])
    {
    N(i) = Val(100 + i);
    }
    c точки зрения синтаксиса все верно?

    Evgen
    Участник

    это не разработка. просто как данную программу написанную на csharp записать в rapid scada.

    Evgen
    Участник

    Здравствуйте!

    class Program
    {
    static void Main(string[] args)

    {

    // Типы ППР
    string Trs = «»; string Tpr = «»; string Tkr = «»;
    int TrsInt = 0; int TprInt = 0; int TkrInt = 0;

    // Какой ППР необходимо провести
    int[] N = new int[2500];
    // массив для сброса данных по времени работы
    bool[] Flags = new bool[2500];

    // массив учета времени работы эл-проводов
    int[] VremayRab = new int[2500];
    string[] VremayStr = new string[2500];
    string[] Nstr = new string[2500];
    Console.Write(«Введите через какое время работы необходимо проводить плановый ремонт: «);
    Trs = Console.ReadLine();
    Console.WriteLine(«»);

    Console.Write(«Введите через какое время работы необходимо провести текущий ремонт: «);
    Tpr = Console.ReadLine();
    Console.WriteLine(«»);

    Console.Write(«Введите через какое время работы необходимо проводить капитальный ремонт: «);
    Tkr = Console.ReadLine();
    Console.WriteLine(«»);

    // переводим текстовые значения что ввели в целые числа
    int.TryParse(Trs, out TrsInt);
    int.TryParse(Tpr, out TprInt);
    int.TryParse(Tkr, out TkrInt);

    // подстет времени работы для эл привода

    Console.Write(«Введите сколько часов отработал 1 эл-привод: «);
    VremayStr[0] = Console.ReadLine();
    int.TryParse(VremayStr[0], out VremayRab[0]);

    Console.Write(«Введите номер ППР от (0 до 4) «);
    Nstr[0] = Console.ReadLine();
    int.TryParse(Nstr[0], out N[0]);
    Console.WriteLine(«»);
    // какой ППР необходим
    if (VremayRab[0] >= TrsInt && N[0] == 0)
    {
    Console.WriteLine(«необходимо провести плановый ремонт эл-привода «, VremayRab[0]);
    }

    if (VremayRab[0] >= TprInt && N[0] == 0 && Flags[0] == true)
    {
    N[0] += 1;
    Flags[0] = false;
    VremayRab[0] = 0;
    }

    if (VremayRab[0] >= TprInt && N[0] == 1)
    {
    Console.WriteLine(«необходимо провести текущий ремонт эл-привода «, VremayRab[0]);
    }

    if (VremayRab[0] >= TprInt && N[0] == 1 && Flags[0] == true)
    {
    N[0] += 1;
    Flags[0] = false;
    VremayRab[0] = 0;
    }

    if (VremayRab[0] >= TrsInt && N[0] == 2)
    {
    Console.WriteLine(«необходимо провести плановый ремонт эл-привода «, VremayRab[0]);
    }

    if (VremayRab[0] >= TprInt && N[0] == 2 && Flags[0] == true)
    {
    N[0] += 1;
    Flags[0] = false;
    VremayRab[0] = 0;
    }

    if (VremayRab[0] >= TprInt && N[0] == 3)
    {
    Console.WriteLine(«необходимо провести текущий ремонт эл-привода «, VremayRab[0]);
    }

    if (VremayRab[0] >= TprInt && N[0] == 3 && Flags[0] == true)
    {
    N[0] += 1;
    Flags[0] = false;
    VremayRab[0] = 0;
    }

    if (VremayRab[0] >= TprInt && N[0] == 4)
    {
    Console.WriteLine(«необходимо провести капитальный ремонт эл-привода «, VremayRab[0]);
    }

    if (VremayRab[0] >= TkrInt && N[0] == 4 && Flags[0] == true)
    {
    N[0] = 0;
    Flags[0] = false;
    VremayRab[0] = 0;
    Console.WriteLine(«Все ремонты в этом году выполнены для «, VremayRab[0]);
    }
    Console.ReadKey();

    }

    }
    }
    Вот код написан на c sharp
    Как его правильно записать в rapid scada
    при условии что в
    bool[] Flags = new bool[2500];
    данные задаются пользователем!
    int[] VremayRab = new int[2500];
    в этот массив данные должны вносится из этой формулы Val(0)>1?Cnl+1:Cnl
    где 0 это ячейка массива соответствующая реальному эл-приводу.

    За ранее благодарю.
    И буду признателен если ответ будет с максимум пояснений!!!
    (из Ваших ответов создаю описание, когда соберу страниц 20 могу Вам выслать)

Просмотр 15 сообщений - с 151 по 165 (из 177 всего)