Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: Повышение/понижение температуры от количества дней.

  1. #1

    По умолчанию Повышение/понижение температуры от количества дней.

    Здравствуйте всем. Нужна помощь в создании или у кого то есть готовый макрос такого вида - есть допустим количество дней, пусть 35, и есть начальная температура первого дня допустим 32 градуса и конечная температура последнего дня, 23 градуса. Как с этими данными сделать макрос чтоб с каждым днем температура понижалась или повышалась на такой размер градуса, в зависимости какое количество дней задано. Может кто сталкивался? Спасибо.

  2. #2

    По умолчанию

    Как с этими данными сделать макрос
    ну для начала сформулировать внятно словесно описание работы макроса/программы со всеми входящими/выходящими и взять ОЛ, открыть и начать писать алгоритм
    потмоу что то, что вы называете "готовый макрос" - это и есть программа, которую надо сделать
    Последний раз редактировалось In_Da_Cher_A; 19.09.2025 в 06:00.

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

    По умолчанию

    Цитата Сообщение от EgorMasterov Посмотреть сообщение
    Нужна помощь в создании или у кого то есть готовый макрос такого вида - есть допустим количество дней, пусть 35, и есть начальная температура первого дня допустим 32 градуса и конечная температура последнего дня, 23 градуса. Как с этими данными сделать макрос чтоб с каждым днем температура понижалась или повышалась на такой размер градуса, в зависимости какое количество дней задано.
    алиса на это придумала такой подход к решению задачи
    Код:
    FUNCTION CalculateTemperature : REAL
    VAR_INPUT
        StartTemp : REAL;    // Начальная температура (например, 32°C)
        EndTemp : REAL;      // Конечная температура (например, 23°C)
        TotalDays : INT;     // Общее количество дней (например, 35)
        CurrentDay : INT;    // Текущий день для расчета
    END_VAR
    VAR
        TempDifference : REAL;    // Разница температур
        DailyChange : REAL;      // Ежедневное изменение
        Result : REAL;          // Результат расчета
    END_VAR
    
    // Проверка на корректность входных данных
    IF TotalDays <= 0 THEN
        Result := StartTemp;    // Если дней нет, возвращаем начальную температуру
    ELSE
        // Рассчитываем разницу температур
        TempDifference := EndTemp - StartTemp;
        
        // Вычисляем ежедневное изменение
        DailyChange := TempDifference / TotalDays;
        
        // Рассчитываем температуру для заданного дня
        Result := StartTemp + DailyChange * (CurrentDay - 1);
    END_IF;
    
    // Возвращаем результат
    CalculateTemperature := Result;
    END_FUNCTION
    Особенности реализации

    Функция работает как для понижения, так и для повышения температуры

    Корректно обрабатывает крайние значения (первый и последний день)

    Возвращает линейно изменяющееся значение

    Можно легко модифицировать для других единиц измерения

    Рекомендации по использованию

    Добавьте проверку на корректность входных данных

    При необходимости добавьте округление результата

    Можно модифицировать для работы с массивом температур

    Учтите особенности целочисленного деления при расчете DailyChange
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #4

    По умолчанию

    Алиса не подумала о том, как из пр брать время... И вроде не во всех пр есть время...

    PS А нет, во всех есть часы реального времени. Но думаю работа со временем будет основной сложностью. Из координат прямой нам температура 100% известна, а время надо во-первых выбирать как то, а там уже начнутся во-вторых...
    Последний раз редактировалось МихаилГл; 19.09.2025 в 07:49.

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

    По умолчанию

    Решал такую задачу на C# через шаблон дней. Причина проста, технолог должен изменить карту температур. И вторая причина, там не равномерное увеличение, уменьшение температуры если по курицы например смотреть. Макрос, который будет делать это равными кусками, только трата времени.

  6. #6

    По умолчанию

    Есть фото примерного описания. Да, это для выращивания птицы. Вот такой алгоритм. На нем и споткнулся. Имеется инструкция от другого контроллера, необходимо это как то реализовать в OL.IMG_0145.jpg

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

    По умолчанию

    Пока забудьте про контроллер. Определитесь с конечной целью.
    1. для разных птиц, разные уставки температуры по дням.
    2. Технолог должен иметь возможность корректировать эти уставки.
    3. Там не равномерные уставки Т и H по дням.
    4. Возможность задать 0 день (точку старта)

    если все это нужно, меняйте подход. Рецепты, массивы последовательных регистров (если на ПР), чтобы из scada или чего там записать сразу всем массивом новые уставки.
    могу по курице табличку температур скинуть, вроде на перепелку еще было.

  8. #8

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Пока забудьте про контроллер. Определитесь с конечной целью.
    1. для разных птиц, разные уставки температуры по дням.
    2. Технолог должен иметь возможность корректировать эти уставки.
    3. Там не равномерные уставки Т и H по дням.
    4. Возможность задать 0 день (точку старта)

    если все это нужно, меняйте подход. Рецепты, массивы последовательных регистров (если на ПР), чтобы из scada или чего там записать сразу всем массивом новые уставки.
    могу по курице табличку температур скинуть, вроде на перепелку еще было.
    Давайте, хоть от чего то начать разбираться. Я понимаю что не все так просто, птицы всегда разные, особых критериев там нет. Знаю что меняют дни и начальную и конечную температуру. Этот расчет и нужен чтоб создать алгоритм.

  9. #9

    По умолчанию

    Цитата Сообщение от EgorMasterov Посмотреть сообщение
    Давайте, хоть от чего то начать разбираться. Я понимаю что не все так просто, птицы всегда разные, особых критериев там нет. Знаю что меняют дни и начальную и конечную температуру. Этот расчет и нужен чтоб создать алгоритм.
    Может обычная рампа подойдет? Выкладывали где-то на форуме.
    Вложения Вложения
    • Тип файла: owle RAMP.owle (65.6 Кб, Просмотров: 6)

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

    По умолчанию

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

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Повышение цен на продукцию
    от ALFIX в разделе Трёп (Курилка)
    Ответов: 536
    Последнее сообщение: 15.10.2022, 20:28
  2. 20 дней...
    от Рашид в разделе Трёп (Курилка)
    Ответов: 18
    Последнее сообщение: 08.08.2018, 22:14
  3. Повышение напряжения
    от wecand0it в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 18.06.2015, 09:13
  4. Ответов: 5
    Последнее сообщение: 26.01.2009, 14:33
  5. ТРМ-151 Две уставки на повышение
    от незарегистрированный в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 26.11.2007, 14:25

Ваши права

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