Как использовать формулы ?

Просмотр 12 сообщений - с 76 по 87 (из 87 всего)
  • Автор
    Сообщения
  • #18191
    vg
    Участник

    gel-dev_it

    По второму пункту

    Нужно создать канал управления для отправки почты.
    В зависимости от того что хочется (ручная отправка или автоматическая) нужно будет вбивать строку вручную или автоматизировать модулем автоматического управления.

    Видео урок можно посмотреть на youtube.

    #18197
    evg
    Участник

    По второму пункту
    Нужно создать канал управления для отправки почты.
    В зависимости от того что хочется (ручная отправка или автоматическая) нужно будет вбивать строку вручную или автоматизировать модулем автоматического управления.

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

    • Этот ответ был изменен 3 года, 1 месяц назад от evg.
    • Этот ответ был изменен 3 года, 1 месяц назад от evg.
    #18226
    evg
    Участник

    Всем привет. Нужна опять помощь по формуле. Нужно следующее.
    Допустим если я вношу в 101 канал значение 10 и если это значение меньше 12, то передать в 102 канал единицу.
    Затем если я опять вношу в 101 канал, значение 11 и если это значение меньше 12, то передать в 102 канал ещё одну единицу.
    Итого в 102-м канале будет значение 2 и так далее. Т.е. переданные единицы суммируются.
    Т.е. я так предполагаю формула должна реагировать на команду ТУ (Cmd) при вводе значения ниже 12, добавлять в 102 канал единицу.

    • Этот ответ был изменен 3 года, 1 месяц назад от evg.
    #18230
    evg
    Участник

    Так же очень интересно как установить статус входному каналу через Команду — Rapid SCADA? Если я прописываю формулу SetStat(101, 10) присваивается 10-й статус каналу 101, при добавлении Cmd вместо 10 сервер падает.
    Строка 3105, колонка 138: error CS1503: Argument 1: cannot convert from ‘double’ to ‘int’

    • Этот ответ был изменен 3 года, 1 месяц назад от evg.
    #18235
    manjey73
    Участник

    Видимо тип переменных статусов это int

    или (int)Cmd или Convert.Int(Cmd) ( не уверен что правильно по памяти, надо Студио запустить)
    Или Convert.Int32(Cmd)

    • Этот ответ был изменен 3 года, 1 месяц назад от manjey73.
    #18238
    manjey73
    Участник

    Convert.ToInt32(Cmd) по идее будет правильным

    #18242
    evg
    Участник

    Convert.ToInt32(Cmd) по идее будет правильным

    СПАСИБО! Помогло!

    #18250
    Mikhail
    Модератор

    (int)Cmd тоже должно сработать

    #18328
    evg
    Участник

    Приветствую. Есть такая задачка, сделать так чтобы если значение одного из входных каналов = 1, то три других канала должны быть = 0. Пробывал сделать по аналогии с той формулой которую давал мне «vg». Делал так

    public double _LogicFunc(double i, double k, double z)
    {
    double valueCh = 0;
    if(i == 1 | k == 1 | z == 1)
    {
    valueCh = 0;
    }
    return valueCh;
    }

    Не сработало. Т.е. по логике должно быть так, я ставлю во входной канал эту формулу. И если канал i ИЛИ k ИЛИ z равен = 1, то текущий входной канал должен быть равен 0. Во входном канале пишу _LogicFunc(Val(101), Val(102), Val(103)).

    #18329
    Mikhail
    Модератор

    Добрый день!
    Логическое или обозначается двумя символами: ||

    #18351
    evg
    Участник

    Протестировал с двумя || не получается Сервер останавливается, как будто ругается на формулу. В целом получилось решить этот вопрос через модуль автоуправления.

    #18354
    Mikhail
    Модератор

    Хорошо. Но если Сервер останавливается, то нужны конкретные ошибки из его лога.

Просмотр 12 сообщений - с 76 по 87 (из 87 всего)
  • Вы должны авторизироваться для ответа в этой теме.