Стартовая страница › Форумы › Вопросы по установке › Дополнительные компоненты схем v.6
- В этой теме 78 ответов, 7 участников, последнее обновление 11 месяцев, 4 недели назад сделано
Mikhail.
-
АвторСообщения
-
21.11.2024 в 02:28 #35651
sakhalin_Cat
УчастникОтчёты формируются нормально.
Если html ссылкой то тоже работает.
В принципе разберусь, просто то, что было раньше надо переделывать… 🙁21.11.2024 в 08:40 #35655
manjey73Участникhttp://localhost:10008/ElasticReport/Print/PrintReport2?reportID=1&unit=Day&period=-1&archive=Day&format=HtmlВот пример дневного отчета в Представлении — поле Аргументы
Office\DiffMonth.xml@ElasticRepполе ПутьТип представления — Web page
17.06.2025 в 18:03 #38977RomanPertsev
УчастникХотел задать вопрос, но уже сам разобрался
-
Ответ изменён 12 месяцев назад пользователем
RomanPertsev.
17.06.2025 в 18:05 #38978RomanPertsev
УчастникИ что-за пробный ключ, чем отличается и сколько времени действует?
17.06.2025 в 18:05 #38979
manjey73УчастникВ логе Гибкого отчета должна быть ошибка.
Вероятно он не имеет файлов настройки и не запускается, а не запустившись не формирует код ПК.Вроде так, если не ошибаюсь. Сделайте ему минимальные настройки.
17.06.2025 в 18:32 #38981RomanPertsev
УчастникВозможно ли активировать команду на управление выходным каналом через скрипты или через формулы (без модуля автоматического управления)? Чтоб канал передал значение которое у него записано в выходной формуле по команде от скрипта или от другого канала?
17.06.2025 в 18:47 #38982
manjey73УчастникНет, это не предусмотрено базовым ядром. Только при помощи модулей, МАУ или самописным
17.06.2025 в 19:02 #38983RomanPertsev
УчастникЯ так и подумал, но чтоб это понять не мало время ушло.
18.06.2025 в 13:44 #39020RomanPertsev
УчастникЯ подключил доп модул «Автоматическое управления» и настроил его «триггер по двум каналам 1000 и 1061». Триггер не срабатывает потому что у канала 1000 на входе всегда пусто, кнопка лишь активирует команду на отправку выходной формулы, но не присваивает ему значение Val. Я пробовал на входе ему ставить формулу — «1», но так триггер всегда сработанный и это не работает. Триггер на команду канала мне не подходит так как в условиях сработки должны участвовать два канала, а не один. Навернека с этой проблемой сталкивались многие, как же решить эту проблему?
Может кто пришлет скрипт для примера. Мне на моем уровне пока не хватает опыта чтоб это придумать.18.06.2025 в 14:05 #39021
manjey73УчастникЕсли на несколько каналов, то надо делать дополнительную формулу в третий канал, и уже на него настраивать.
Давно правда не игрался, может что добавилось в модуле, но раньше было так.
К тому же модуль не срабатывает, если не было изменения.
То есть вам нужна сработка по значению 1, но когда вы запускаете, там уже значение 1, нужен переход из 0 в 1 чтобы сработало.18.06.2025 в 14:37 #39022RomanPertsev
УчастникЯ пытался написать скрипт чтоб при нажатии кнопки (активации канала 1000) в канал писалось значение -2, а через пару циклов сбрасывалось и по умолчанию писалась -1, но у меня нет пока понимания как через макрос читать и отправлять значения Val в канал 1000, особенно при поступлении управления.
-
Ответ изменён 12 месяцев назад пользователем
RomanPertsev.
-
Ответ изменён 12 месяцев назад пользователем
RomanPertsev.
18.06.2025 в 14:56 #39025RomanPertsev
УчастникПока думаю
-
Ответ изменён 12 месяцев назад пользователем
RomanPertsev.
18.06.2025 в 15:05 #39027RomanPertsev
УчастникЕсли в выходную формулу канала 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;
}
}
}18.06.2025 в 15:13 #39028RomanPertsev
УчастникВходная формула канала 1000 PulseSetVal.InPulse()
Выходная формула канала 1000 PulseSetVal.OutPulse()18.06.2025 в 15:24 #39029RomanPertsev
УчастникВроде простой скрипт, но не работает, ошибка компеляции.
-
Ответ изменён 12 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.