Страница 963 из 1044 ПерваяПервая ... 4638639139539619629639649659731013 ... ПоследняяПоследняя
Показано с 9,621 по 9,630 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #9621
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,138

    По умолчанию

    Цитата Сообщение от medvedits Посмотреть сообщение
    Добрый день!
    Подскажите,есть ли вариант на ST реализовать работу по уставке с дельтой, при достижении температурой значения меньше t_Set-d_delta нагрев включается, а при достижении температуры уставки t_Set выключается? как ни крутил, по алгоритму вроде верно пишу,а физически выход отключается при величине больше t_Set-d_delta
    Функция написана в таком виде Вложение 67924
    Так это функция - она не хранит информацию, поэтому в таких сравнениях работать не будет. Используйте функциональный блок, либо RS-триггер

  2. #9622

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Так это функция - она не хранит информацию, поэтому в таких сравнениях работать не будет. Используйте функциональный блок, либо RS-триггер
    Хранить данные нужно чтобы на следущий цикл было предыдущее значение? А как внутри PLS_PRG использовать функциональный блок, можно простенький пример с объявлением и в самой программе?не сочтите за хамство,справку читать умею, но даже простеньких примеров на ST категорически не хватает...
    P.S. А есть RS триггер на ST? думал его функционал так и реализуется, одно условие на 1,второе на 0, чем важнее приоритет, тем "выше" условие в цикле.

  3. #9623

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Всё у вас нормально отключается, только условий многовато
    Это из-за экспериментов с проверкой работы на физическом устройстве, понял уже когда отправил.

  4. #9624

    По умолчанию

    Цитата Сообщение от medvedits Посмотреть сообщение
    Хранить данные нужно чтобы на следущий цикл было предыдущее значение? А как внутри PLS_PRG использовать функциональный блок, можно простенький пример с объявлением и в самой программе?не сочтите за хамство,справку читать умею, но даже простеньких примеров на ST категорически не хватает...
    P.S. А есть RS триггер на ST? думал его функционал так и реализуется, одно условие на 1,второе на 0, чем важнее приоритет, тем "выше" условие в цикле.
    Так же как и функцию, только ФБ надо объявить вверху (можно с номером 1, 2, 3, если блоков несколько) и вызвать в программе. Скрин 1 Вызов блока.jpg
    Вызвать любой блок в ST, можно нажав F2 и выбрав его. Свой блок будет в Пользовательских ФБ, а библиотечный в Стандартных ФБ
    Все входы надо поместить в INPUT, а выходы в OUTPUT, если они нужны.
    А триггеры на ST, будут например такие
    Код:
    IF Res THEN    (*  RS   триггер, приоритет сброса *)
    Q:=FALSE;
    ELSIF Set THEN
    Q:=TRUE;
    END_IF
    (*
    IF Set THEN      (*  SR  триггер, приоритет установки *)
    Q:=TRUE;
    ELSIF Res THEN
    Q:=FALSE;
    END_IF   *)
    Или ещё проще
    Код:
    RS1: RS;  (* Объявление *)
    
    RS1(SET:=Set1 , RESET1:=Res1 , Q1=>Q1 );   (* В программе  *)
    Последний раз редактировалось kondor3000; 22.05.2023 в 15:25.

  5. #9625

    По умолчанию Polling time умножить на количество регистров?

    Здравствуйте. Хотел уточнить вопрос по параметру Polling Time. Если в Universal module задать этот параметр 100 мс и в этом универсале модуле добавить 20 регистров, то 20*100 и получаем на самом деле 2000 ms Polling time?
    Снимок2.PNG

  6. #9626

    По умолчанию

    Цитата Сообщение от vitalij Посмотреть сообщение
    Здравствуйте. Хотел уточнить вопрос по параметру Polling Time. Если в Universal module задать этот параметр 100 мс и в этом универсале модуле добавить 20 регистров, то 20*100 и получаем на самом деле 2000 ms Polling time?
    Снимок2.PNG
    Поэтому и надо делать обмен групповыми запросами, до 40 регистров за одну передачу, с помощью String https://owen.ru/forum/showthread.php...l=1#post244022
    А Polling Time можно спокойно уменьшить до 10 ms, и того меньше чем за секунду возможно передать больше 4000 регистров
    Последний раз редактировалось kondor3000; 23.05.2023 в 09:31.

  7. #9627

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Поэтому и надо делать обмен групповыми запросами, до 40 регистров за одну передачу, с помощью String https://owen.ru/forum/showthread.php...l=1#post244022
    это понятно. а есть ли разница в скорости либо в одном унивресале добавить 20 регистров либо сделать 20 универсалов с одним регистром?

  8. #9628

    По умолчанию

    Цитата Сообщение от vitalij Посмотреть сообщение
    это понятно. а есть ли разница в скорости либо в одном унивресале добавить 20 регистров либо сделать 20 универсалов с одним регистром?
    Вы же сами посчитали, 20*100=2000, если 10 UMD, либо с 1 UMD 20 регистров подряд -100ms

  9. #9629

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Не совсем.
    Poll time это не через сколько опрашивать после каждого, а стремление опросить все за 100.
    На пальцах:
    5 отдельных регистров. Poll = 100мс
    Транзакция займет условно 10мс.
    Тогда в течении 50мс (5x10) опросится всё. И будет пауза 50мс, т.к. чаще - не надо, сами сказали

    20 отдельных регистров. Poll = 100мс
    Транзакция те же 10мс.
    Т.к. общее время 20x10 больше 100мс, общий цикл займет 200мс, т.к. 100 хочется, но не получается физически

    Все остальное (про групповые) - в силе
    Разговор был про 20 разных UMD по 1 регистру (100 ms в каждом). Сколько в итоге займёт опрос?
    Я так думаю, что открытие 20 портов не меньше секунды + опрос 20 устройств ещё пусть 200 ms, в итоге где то 1,2 секунды минимум, а по факту будет все 2000 ms
    Про 1 UMD и 20 регистров понятно, займёт 200 ms
    Последний раз редактировалось kondor3000; 23.05.2023 в 14:46.

  10. #9630
    Пользователь
    Регистрация
    01.11.2022
    Адрес
    <7924127@mail.ru> Минск
    Сообщений
    489

    По умолчанию Только клавиатурный ввод.

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

    Переменных много, и их можно выбрать мышкой.

    Как вводить ОДНУ переменную, без выбора мышкой?
    Только одну переменную с клавиатуры, и нажимать ввод?

Страница 963 из 1044 ПерваяПервая ... 4638639139539619629639649659731013 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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