Страница 1132 из 1177 ПерваяПервая ... 132632103210821122113011311132113311341142 ... ПоследняяПоследняя
Показано с 11,311 по 11,320 из 11762

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

  1. #11311

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Нужна внутренняя переменная, чтобы выделять фронт на входе. По входному фронту инвертируйте значение выхода
    Спасибо за наводку!
    Пошло!

    Front_R(CLK:=IN);
    IF Front_R.Q THEN
    OUT := NOT OUT;
    END_IF

    Не додумался до NOT

  2. #11312

    По умолчанию

    vsa Тебе нужен R_TRIG, который ты поставишь на вход импульсов, чтобы он отрабатывал ОДИН раз, когда на входе TRUE.
    А потом пишешь банально так: OUT := NOT OUT;

    (всё-таки накидал код)

    Код:
    FUNCTION_BLOCK T_TRIG
    (* Copyright © 2024 Cs-Cs.Net Laboratory & Studio https://cs-cs.net *)
    VAR_INPUT
    	Trig	: BOOL := FALSE;
    END_VAR
    VAR_OUTPUT
    	Out		: BOOL := FALSE;
    END_VAR
    VAR
    	fbRTrig	: R_TRIG;
    END_VAR
    
    fbRTrig(CLK:= Trig);
    IF (fbRTrig.Q) THEN
    	Out := NOT Out;
    END_IF
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  3. #11313

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Спасибо за наводку!
    Пошло!
    Не додумался до NOT
    Это делается вообще без R_Trig
    Код:
    if In and not M then Q:=not Q; end_if  //  Где M промежуточная переменная
    M:=In;
    Последний раз редактировалось kondor3000; 18.02.2025 в 10:36.

  4. #11314

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Спасибо за наводку!
    Пошло!

    Front_R(CLK:=IN);
    IF Front_R.Q THEN
    OUT := NOT OUT;
    END_IF

    Не додумался до NOT
    Я вообще не говорил про R_TRIG - kondor уже написал

  5. #11315

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Это делается вообще без R_Trig
    Код:
    if In and not M then Q:=not Q; end_if  //  Где M промежуточная переменная
    M:=In;
    "О сколько нам открытий чудных ..."
    А это проще. Спасибо!

  6. #11316
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,050

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Это делается вообще без R_Trig
    и даже без IF
    Q := Q xor (IN and not M)
    M := IN

  7. #11317

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    и даже без IF
    Q := Q xor (IN and not M)
    M := IN
    А я ожидал Ваш ответ. Это, наверное, и есть Булева модель Т- триггера. Возможно и ошибаюсь. Спасибо.

  8. #11318

    По умолчанию

    Проблема с ПЛК 73. Почему-то modbus возвращает функцию на чтение регистра сам в себя. На картинке normal_receive нормальный ответ от устройства, а на картинке это фукнция modbus, которая идет от ПЛК к устройству. Из-за этого данные скачут, вне зависимости от проверок. Вложение 82077Вложение 82078test_read_UPS.pro

  9. #11319
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,050

    По умолчанию

    Цитата Сообщение от ELVO Посмотреть сообщение
    Проблема с ПЛК 73...
    С кодом.
    Попробуйте самостоятельно выяснить назначение флага "Complete"

  10. #11320

    По умолчанию

    Писал код по примеру от разработчиков к библиотеке Modbus. Сам заметил что флаг complete не устанавливается. Но, к сожалению, не могу понять почему. Можете, пожалуйста, подсказать как он работает или указать на какой-либо пример?
    С кодом.

Страница 1132 из 1177 ПерваяПервая ... 132632103210821122113011311132113311341142 ... ПоследняяПоследняя

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

Ваши права

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