Страница 12 из 13 ПерваяПервая ... 210111213 ПоследняяПоследняя
Показано с 111 по 120 из 138

Тема: IntraSCADA

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,153

    По умолчанию

    Вот и вопрос о замысле разработчика.
    За собой заметил, что начало напрягать вводить значение/10, значение/100 и при командах обратное.
    Мое мнение, что эта базовая вещь должна быть прописана в шаблоне устройства, которое мы настраиваем (простой пример модули Овен)
    . И при использования таких же модулей в других проектах мы просто подгружает шаблон, где все уже прописано и не надо на каналах снова писать /10 или /100.
    Ну и плюс скрипты уже для изменений других настроек, как раз для "программистов"

    Собственно всему виной отсутствие времени и день.

  2. #2

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Вот и вопрос о замысле разработчика.
    За собой заметил, что начало напрягать вводить значение/10, значение/100 и при командах обратное.
    Мое мнение, что эта базовая вещь должна быть прописана в шаблоне устройства, которое мы настраиваем (простой пример модули Овен)
    . И при использования таких же модулей в других проектах мы просто подгружает шаблон, где все уже прописано и не надо на каналах снова писать /10 или /100.
    Ну и плюс скрипты уже для изменений других настроек, как раз для "программистов"

    Собственно всему виной отсутствие времени и день.
    А кто сказал, что в IntraSCADA этого нет?

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,620

    По умолчанию

    на javasript написаны милиарды строк кода, там вкуривать уже не надо, достаточно задать вопрос ИИ и вот ответ
    Для решения задачи расчета средней температуры с учетом возможного отсутствия данных с некоторых датчиков, можно использовать следующий подход:
    Код:
    // Создаем массив с данными датчиков
    // null означает, что датчик не работает
    const sensors = [22.5, null, 24.3, 23.1];
    
    // Функция для расчета средней температуры
    function calculateAverageTemperature(sensors) {
        // Фильтруем массив, оставляя только валидные значения
        const validTemperatures = sensors.filter(temp => temp !== null && temp !== undefined);
        
        // Проверяем, есть ли хотя бы один работающий датчик
        if (validTemperatures.length === 0) {
            throw new Error('Нет работающих датчиков');
        }
        
        // Считаем сумму всех валидных температур
        const sum = validTemperatures.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
        
        // Вычисляем среднее значение
        const average = sum / validTemperatures.length;
        
        return average;
    }
    
    try {
        const averageTemperature = calculateAverageTemperature(sensors);
        console.log(`Средняя температура: ${averageTemperature.toFixed(2)}°C`);
    } catch (error) {
        console.error(error.message);
    }
    Как это работает:

    Массив датчиков содержит значения температур, где null означает нерабочий датчик.

    Метод filter удаляет все null и undefined значения, оставляя только валидные температуры.

    Метод reduce суммирует все валидные значения.

    Деление происходит на количество валидных значений, которое автоматически определяется.

    Преимущества такого подхода:

    Гибкость: количество датчиков может меняться

    Надежность: автоматически игнорирует нерабочие датчики

    Ошибка обработки: выбрасывает ошибку, если все датчики не работают

    Точность: результат округляется до двух знаков после запятой

    Вы можете легко модифицировать этот код, добавив дополнительные проверки или изменяя способ обработки ошибок в зависимости от ваших требований.
    для пользователя остается только адаптировать предложенный вариант и отладить на предмет ошибок
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4

    По умолчанию

    Вы совершенно правы. Наши интеграторы используют ИИ для написания нетривиальных скриптов, конечно при наличии базовых знаний js. А некоторые наши разработчики используют ИИ для решения сложных задач по развитию системы. Особенно в этом плане интересен grok.

  5. #5

    По умолчанию

    Спасибо capzap за знакомство с умным "пареньком" ))
    ИИ, это сила!!!
    ...но и melky тогда прав в плане "готового продукта" за полтора ляма и последующего времени на "допилы" в купе с ИИ
    Согласитесь, если сказано что "уневерсальный" и я его купил, то там должно быть всё, как в МастерСкада или Кодесюс...
    И это еще повезёт если есть Ведущий типа Владимера который может послать в нужном направлении, на которое к стати тоже нужно время, а вот с ним всегда на производстве туговато увы!

    Спасибо всем парни! Не сердитесь и давайте жить дружно!!!

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,153

    По умолчанию

    VladimirIS, это отлично. Осталось решить глобальную проблему по части интегратора или фрилансера. Но вы по данный вопрос просто проигнорировали.

    Любое программирование это время, время это деньги. Не вижу интереса тратить свое время, а деньги платить другим. По этому очень интересует вариант раздельного лицензирования, вариант представления каналов как внутренних из собственного кода.

  7. #7

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    VladimirIS, это отлично. Осталось решить глобальную проблему по части интегратора или фрилансера. Но вы по данный вопрос просто проигнорировали.

    Любое программирование это время, время это деньги. Не вижу интереса тратить свое время, а деньги платить другим. По этому очень интересует вариант раздельного лицензирования, вариант представления каналов как внутренних из собственного кода.
    Проблем "по части интегратора или фрилансера" у нас нет.
    Что предлагаете? Конкретнее, пока не совсем понятно.

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,153

    По умолчанию

    VladimirIS. На уровне ядра механизмы изменения внешних тегов на внутренние. В общем я не специалист по части объяснений. Суть - интегратор написал драйвер, и использует его экземпляры бесплатно. А не доплачивает ещё за каналы, которые займут эти экземпляры.

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

    Решать не мне и не пользователям такое, а только вам.
    Сейчас у вас все заточено на конечного пользователя, который чаще выбирает систему по существующему набору поддерживаемых устройств, а не по наличию возможности запрограммировать...

  9. #9

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Сейчас у вас все заточено на конечного пользователя, который чаще выбирает систему по существующему набору поддерживаемых устройств, а не по наличию возможности запрограммировать...
    Опять двадцать пять. Вы не посмотрели и не попробовали систему. У вас "нет времени", понятно. В первую очередь мы работаем с интеграторами, которые, кстати, достаточно часто пишут свои плагины для нестандартных протоколов.

    Цитата Сообщение от melky Посмотреть сообщение
    Суть - интегратор написал драйвер, и использует его экземпляры бесплатно. А не доплачивает ещё за каналы, которые займут эти экземпляры.
    Теперь понятна суть ваших хотелок. Хочу написать свой плагин и продавать его конечным заказчикам, естественно в комплекте с системой. Но платить разработчикам системы не хочу.
    Кстати, хочу напомнить, все плагины у IntraSCADA бесплатные.

    Цитата Сообщение от melky Посмотреть сообщение
    1. Такой механизм интересен интегратора , так как позволит делать скидки за счёт стоимости своего продукта
    2. Такой механизм должен быть интересен разработчикам, так как продукт сможет развиваться не только руками разработчиков.
    И где здесь наш интерес?

  10. #10
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,153

    По умолчанию

    Ну поставьте себя на место интегратора, где здесь их интерес, постоянно выбивать скидки на вашу систему это раз.
    И два, а почему затраченное время однажды, должно стать в последующем бесплатным?

    Все же достаточно просто

    Вполне может быть реализован механизм, при котором простое использование драйвера будет ограничено 2-3 устройствами без лицензирования самого драйвера, и тогда участвуют в расчете каналы.
    И ещё момент, в сфере ЖКХ поканальное лицензирование не прокатывает, слишком дорого выходит для УК например.
    Последний раз редактировалось melky; 23.09.2025 в 10:51.

Страница 12 из 13 ПерваяПервая ... 210111213 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •