Boriss

Ответы в темах

Просмотр 15 сообщений - с 61 по 75 (из 87 всего)
  • Автор
    Сообщения
  • в ответ на: Запуск редактора Mimic #41835
    Boriss
    Участник

    Попробуйте заменить в строке адреса localhost на 127.0.0.1 Если откроется, то надо настроить приоритеты маршрутов ipV6.

    в ответ на: faceplate + панель = трабл? #41820
    Boriss
    Участник

    Аналогичная проблема. Если в фейсплейте присутствует панель и на этой панели есть компоненты, то всё, что на этой панели просто исчезает после вставки фейсплейта на мнемосхему. Никакие parent-children не работают.

    в ответ на: Mimic js-script Скользящая разница #41769
    Boriss
    Участник

    Скорее всего Вы найдёте ссылку на объект схемы, который в свою очередь имеет массив объектных моделей всех компонентов схемы.

    Не нашел. Только на текущий компонент.
    Возможно, Вы имели виду console.log(mimic.components);, что-бы увидеть полную картину.

    в ответ на: Отладка скриптов #41761
    Boriss
    Участник

    https://disk.yandex.ru/i/9gqjw1yTjmiJnA
    На этом все и закончилось.

    в ответ на: Отладка скриптов #41742
    Boriss
    Участник

    Скачано. Открыто. Дальше тупняк ))

    в ответ на: Отладка скриптов #41739
    Boriss
    Участник

    О_о Офигеть! Классно! Но как этим пользоваться? Установлен Visual Studio 2026. К проекту подключены dll ScadaCommon.dll и ScadaServerEngine.dll на которые он ругался. А дальше? Как протестировать скрипт?
    Наверное глупые вопросы… Если нет необходимых познаний, то здесь делать нечего…

    Boriss
    Участник

    Описание я изучил. Повторю вопрос: Как применить формулу MovAvg(5) с расчетным каналом? Например канал 100 входной, канал 101 расчетный и вычисляет MovAvg(5) в канале 100.
    На мнемосхеме нужно значение канала 100 и его среднее плавающее. Т.е. надо получить два значения. Если я применю формулу в канале 100, то потеряю его первоначальное значение.

    что значит передать в другой компонент? просто выведите его в динамический текст, формула то считает в какой-то расчетный канал.

    Это уже немного другая тема. Это не формула, а скрипт в мнемосхеме. И текст он выводит(props.text = customData.res.toFixed(6).slice(0,-4);) с обрезанием до двух знаков после запятой. Я попытался решить задачу js скриптом. Не удачно.
    Как передать результат (в скрипте customData.res) в другой компонент на схеме?

    Boriss
    Участник

    Добавил скрипт в таблицу. Сервер запустился без ошибок. Как проверить работает ли формула? А черт его знает. Полнейший тупняк…
    Как применить формулу MovAvg(5) с расчетным каналом? Например канал 100 входной, канал 101 расчетный и вычисляет MovAvg(5) в канале 100. не понятно… Не понимаю я #C…

    Скрипт на js за пол часа. Корявенько, но как-то работает. Здесь мне проще, но познания минимальны. Как передать результат в другой компонент на схеме? Передать результат в канал, как я понимаю, не возможно? Вообще это не правильно, городить городушки с js скриптами. Похоже надо осваивать С#…

    class extends ComponentScript {
    	domCreated(args) {
    		args.component.customData ??= {};
    		const customData = args.component.customData
    		customData.interval = 30;
    		customData.arr_int = new Array();
    		
    		console.log("DOM created for component " + args.component.id);
    	}
    	
    	domUpdated(args) {
    		
    		console.log("DOM updated for component " + args.component.id);
    	}
    	
    	dataUpdated(args) {
    		const customData = args.component.customData
    		const props = args.component.properties;
    		const cnlData = args.dataProvider.getCurData(props.inCnlNum);
    		customData.Cur_Data = cnlData.d.val;
    		
    		customData.arr_int.unshift(customData.Cur_Data);
    		if (customData.arr_int.length > customData.interval) {
    			customData.arr_int.pop();
    		}
    		customData.res = +customData.arr_int[0] - customData.arr_int[customData.arr_int.length - 1];
    				
    		props.text = customData.res.toFixed(6).slice(0,-4);
    		console.log(customData.arr_int);
    		console.log("Разница за " + customData.interval + " сек. : " + customData.res);
    		
    		args.propertyChanged = true
    	}
    }
    Boriss
    Участник

    Т.е. Ticks() не нужен в 6 версии? Попробую разобраться…

    Boriss
    Участник
    Boriss
    Участник

    Архивы пишутся секундные. Нужно видеть, на сколько быстро падает или растет температура.

    Boriss
    Участник

    Дайте хоть какую-нибудь подсказку, как это реализовать. Пожалуйста. Нужна скользящая разность за период 30 секунд.

    Если нужна скользящая разность, то потребуется разработать скрипты, которые будут «помнить» все полученные измерения за час (или другой период).

    в ответ на: Mimic — Элементы данных #41490
    Boriss
    Участник

    Спасибо за ответ. Этот вариант сработал. Значение канала отображается без размерности.
    Имя свойства: text
    Источник данных: номер канала
    Элемент данных: Отображаемое значение
    Формат:

    в ответ на: Mimic — Элементы данных #41478
    Boriss
    Участник

    Формат D установлен в настройках канала. Видно на скриншоте. Не понятно, откуда столько знаков после запятой. На втором скриншоте видно значение, которое отдает драйвер в канал 548,900
    А что тогда означает «Формат» в привязках?

    в ответ на: Mimic — Элементы данных #41475
    Boriss
    Участник

    Работает, но далеко не так, как хотелось…
    https://ibb.co/JwGQTKCx
    https://ibb.co/Zz9Xk2d5

Просмотр 15 сообщений - с 61 по 75 (из 87 всего)