Дополнительные компоненты схем v.6

Стартовая страница Форумы Вопросы по установке Дополнительные компоненты схем v.6

Просмотр 15 сообщений - с 46 по 60 (из 79 всего)
  • Автор
    Сообщения
  • #35651
    sakhalin_Cat
    Участник

    Отчёты формируются нормально.
    Если html ссылкой то тоже работает.
    В принципе разберусь, просто то, что было раньше надо переделывать… 🙁

    #35655
    manjey73
    Участник

    Гибкий отчет дока

    http://localhost:10008/ElasticReport/Print/PrintReport2?reportID=1&unit=Day&period=-1&archive=Day&format=Html

    Вот пример дневного отчета в Представлении — поле Аргументы
    Office\DiffMonth.xml@ElasticRep поле Путь

    Тип представления — Web page

    #38977
    RomanPertsev
    Участник

    Хотел задать вопрос, но уже сам разобрался

    • Ответ изменён 12 месяцев назад пользователем RomanPertsev.
    #38978
    RomanPertsev
    Участник

    И что-за пробный ключ, чем отличается и сколько времени действует?

    #38979
    manjey73
    Участник

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

    Вроде так, если не ошибаюсь. Сделайте ему минимальные настройки.

    #38981
    RomanPertsev
    Участник

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

    #38982
    manjey73
    Участник

    Нет, это не предусмотрено базовым ядром. Только при помощи модулей, МАУ или самописным

    #38983
    RomanPertsev
    Участник

    Я так и подумал, но чтоб это понять не мало время ушло.

    #39020
    RomanPertsev
    Участник

    Я подключил доп модул «Автоматическое управления» и настроил его «триггер по двум каналам 1000 и 1061». Триггер не срабатывает потому что у канала 1000 на входе всегда пусто, кнопка лишь активирует команду на отправку выходной формулы, но не присваивает ему значение Val. Я пробовал на входе ему ставить формулу — «1», но так триггер всегда сработанный и это не работает. Триггер на команду канала мне не подходит так как в условиях сработки должны участвовать два канала, а не один. Навернека с этой проблемой сталкивались многие, как же решить эту проблему?
    Может кто пришлет скрипт для примера. Мне на моем уровне пока не хватает опыта чтоб это придумать.

    #39021
    manjey73
    Участник

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

    #39022
    RomanPertsev
    Участник

    Я пытался написать скрипт чтоб при нажатии кнопки (активации канала 1000) в канал писалось значение -2, а через пару циклов сбрасывалось и по умолчанию писалась -1, но у меня нет пока понимания как через макрос читать и отправлять значения Val в канал 1000, особенно при поступлении управления.

    • Ответ изменён 12 месяцев назад пользователем RomanPertsev.
    • Ответ изменён 12 месяцев назад пользователем RomanPertsev.
    #39025
    RomanPertsev
    Участник

    Пока думаю

    • Ответ изменён 12 месяцев назад пользователем RomanPertsev.
    #39027
    RomanPertsev
    Участник

    Если в выходную формулу канала 1000 вписать вызов этоко скрипта, то при нажатии кнопки должен отработать этот код, который будет менять 1 на 2 и обратно.
    Так же должно получится?

    using System;

    public static class PulseSetVal
    {
    // сколько проходов держим 2 (измените при необходимости)
    private const int HoldCycles = 3;
    private static int cnt = 0;

    /* ———- ВЫХОДНАЯ формула канала 1000 ———- */
    public static double OutPulse()
    {
    // любая пришедшая команда запускает импульс
    cnt = HoldCycles;

    // пишем двойку в канал 1000, статус сохраняем
    SetVal(1000, 2);

    // вернуть 2 – это и будет Val канала в данный момент
    return 2;
    }

    /* ———- ВХОДНАЯ (расчётная) формула канала 1000 ———- */
    public static double InPulse()
    {
    if (cnt > 0) // ещё держим 2?
    {
    cnt—;
    return 2; // Val остаётся 2
    }
    else
    {
    // импульс закончился – вернуть 1
    // и сразу записать 1 в «текущие данные»,
    // передав при этом прежний статус
    SetVal(1000, 1);
    return 1;
    }
    }
    }

    #39028
    RomanPertsev
    Участник

    Входная формула канала 1000 PulseSetVal.InPulse()
    Выходная формула канала 1000 PulseSetVal.OutPulse()

    #39029
    RomanPertsev
    Участник

    Вроде простой скрипт, но не работает, ошибка компеляции.

Просмотр 15 сообщений - с 46 по 60 (из 79 всего)
  • Для ответа в этой теме необходимо авторизоваться.