Страница 49 из 52 ПерваяПервая ... 394748495051 ... ПоследняяПоследняя
Показано с 481 по 490 из 511

Тема: Функциональные блоки на языке ST

  1. #481

    По умолчанию

    Тогда это косяк в программе. Если не задумано щёлкать этим реле, то оно и не должно так делать. Возможно где то надо поменять местами строки. Может ещё что. Возможно в ОЛ это связано с фишкой обратной связи с задержкой на цикл, чего в кодесисе нет.

  2. #482

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Тогда это косяк в программе. Если не задумано щёлкать этим реле, то оно и не должно так делать. Возможно где то надо поменять местами строки. Может ещё что. Возможно в ОЛ это связано с фишкой обратной связи с задержкой на цикл, чего в кодесисе нет.
    Фишка линия "обратная связь" - выделяется только в ФБД OL, а как явление - присутствует везде

  3. #483

    По умолчанию

    1exan Такс... Пишу мысли:
    1. Так как мне ща надо сдать проект, то я всё же перепишу на FBD простой блок управления и заставлю его работать.
    2. Потом установлю свежий OWL в отдельную папку и буду разбираться.
    3. Ага. У меня первой была мысль про разное время цикла. Но...:
    а) В ПЛК эти задачи вообще вызываются раз в 100 мсек
    б) В одном из проектов ПЛК вообще очень нагружен: загрузка процессора 80%.
    И ни фига - работает нормально. Так что грешу на вычисления.
    4. После опытов выложу сюда всё. И Максу Денисову напишу

    МихаилГл Нейросеть, спасибо. Конечно, если не должно щёлкать, то не должно щёлкать.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  4. #484

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    1exan Такс... Пишу мысли:
    1. Так как мне ща надо сдать проект, то я всё же перепишу на FBD простой блок управления и заставлю его работать.
    2. Потом установлю свежий OWL в отдельную папку и буду разбираться.
    3. Ага. У меня первой была мысль про разное время цикла. Но...:
    а) В ПЛК эти задачи вообще вызываются раз в 100 мсек
    б) В одном из проектов ПЛК вообще очень нагружен: загрузка процессора 80%.
    И ни фига - работает нормально. Так что грешу на вычисления.
    4. После опытов выложу сюда всё. И Максу Денисову напишу

    МихаилГл Нейросеть, спасибо. Конечно, если не должно щёлкать, то не должно щёлкать.
    Если напишешь, какие значения должны быть на входах и в какой момент ждать косяк - могу проверить ещё раз

  5. #485

    По умолчанию

    В общем, у меня мистика. В другом FB, который отлично работал на заказе в CodeSys 2.3 ПОЧЕМУ-ТО пришлось заменить F_TRIG на R_TRIG, и он заработал ВДРУГ в Owen Logic. Я НЕ понимаю, почему так. Чувствую себя сыном Индуса и Туземца, который перепутал камень с айфоном, что-то там нажал и оно вдруг заработало.
    Прям вот всё. С CodeSys я был уверен, а тут - ни в чём не уверен и даже не понимаю, как что работает, почему и зачем.

    Цитата Сообщение от 1exan Посмотреть сообщение
    Если напишешь, какие значения должны быть на входах и в какой момент ждать косяк - могу проверить ещё раз
    Окей! Значится, CSDrvPwrDir - это крутой FB, который нужен для управления какими-либо механизмами, которые управляются сигналами "Питание" и "Направление": Шторы, РольСтавни, Краны воды для защиты от протечек и так далее.
    Суть такая:
    * Есть команды моментального управления по значению: пока команда TRUE - привод работает, пока FALSE - не работает.
    Это можно использовать для кнопок: пока держишь - штора открывается или закрывается.
    * Есть команды управления по времени: ткнул импульс в TRUE, и привод работает заданное время. Например, подал импульс "Закрыть" - и штора закрывается в течение минуты.

    Основная заморочка - с сигналами Pwr/Dir: Dir должен включаться раньше Pwr, а выключаться позже. Но только тогда, когда он задействован (Dir = TRUE - открытие).
    Дополнительно там есть выдержка между противоположными командами: если подать Open и сразу Close - то все сигналы выключатся, пройдёт выдержка времени, и потом они включатся в другом положении.
    Обе этих заморочки спасают коммутационные реле в щите, если пользователь начинает тыркать кнопки Открыть-Закрыть.
    И вот на CodeSys 3.5 всё ОК, а тут - косяк. Без отладки я не могу понять НИЧЕГО.

    ДОПОЛНЮ. Полный исходник его я из форума убрал. Не хочу прям вот сильно распространять код.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  6. #486

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    ...
    Основная заморочка - с сигналами Pwr/Dir: Dir должен включаться раньше Pwr, а выключаться позже. Но только тогда, когда он задействован (Dir = TRUE - открытие).
    Дополнительно там есть выдержка между противоположными командами: если подать Open и сразу Close - то все сигналы выключатся, пройдёт выдержка времени, и потом они включатся в другом положении.
    Обе этих заморочки спасают коммутационные реле в щите, если пользователь начинает тыркать кнопки Открыть-Закрыть.
    ...
    Ну так оно вроде и выглядит в работе:
    Вложения Вложения

  7. #487

    По умолчанию

    Тоже использую автоматы похожего вида и думаю перенести что-то с ПЛК, например на ПР103

  8. #488

    По умолчанию

    1exan Ой! Мои комменты по параметрам:
    * Выстави UseStopByFullSame и UseStopByFullRev в 1 - это чтобы в момент полных операций нажатия на ту же или противположную кнопку вырубали этот режим.
    * Выстави TimeDelayITL в 500 (мсек)
    * Выстави TimeDelayDIR в 250 (мсек)
    (эти два времени должны быть небольшими, в диапазоне 100-250 мсек, поэтому они в мсек и задаются)
    * Выведи для теста RelayPower тоже на выход Q1. Вдруг отдельно RelayDir работает, а вместе с RelayPower - нет.
    Ожидаемое поведение: после подачи команды CmdOpenFull у нас врубается RelayDir, потом RelayPower. Если мы нажимаем CmdStop, то олжно вырубиться RelayPower, а потом RelayDir с задержкой.

    ДА!!! ТЫ КЛАССНО оформляешь конечные автоматы и переменные!! Я ОЧЕНЬ рад, так как у нас на форуме дофига народа, которые переменные называют криво, и код не кооментируют.
    Если писать на ПЛК, то я там ещё и номера шагов константами делаю, типа StateStop, StateWait и так далее. И эти константы прокатывают в качестве элементов CASE влёгкую! В ПРке констант нет (и в этом портированном FB пришлось цифрами их заменять)!

    Дополню. Так вот на видео как раз же глюк и виден. Там RelayDir кратковременно вырубается. А должно работать без этого импульса, зараза. Я уж думаю, не мой баг ли это вообще в принципе.
    Последний раз редактировалось Cs-Cs; 10.05.2024 в 19:12.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  9. #489

    По умолчанию

    Cs-Cs, если вы не видите ошибку в коде, это не значит, что её нет. Тем более это функциональный блок, и из кодесиса вы его в st вызываете? А в ОЛ скорее всего из FBD.
    Да-да, я та нейросеть, которая 6 лет назад Вам показала, что в софт комфорте тоже можно сделать управление светом, чего вы так и не смогли.

  10. #490

    По умолчанию

    МихаилГл 1. Чёёё? Я же всё писал. Стоит внимательно читать. В OWL это исполняется так же на ST.
    2. Не помню ничего. У меня 6 или 7 статей про Logo. Всё делал, всё работает.
    Сейчас на этом форуме все твои ответы ужасные, невпопад и выглядят как сборник ключевых слов без смысла в режиме "каждый бочке затычка". Был бы я тут администратором - забанил бы.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

Страница 49 из 52 ПерваяПервая ... 394748495051 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК73 (Функциональные кнопки)
    от necro в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 18.05.2022, 10:03
  2. Функциональные блоки
    от ribamuka в разделе СПК2хх
    Ответов: 4
    Последнее сообщение: 08.04.2018, 15:01
  3. Функциональные блоки насосов в CoDeSys
    от Алексей Ермолаев в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 28.03.2017, 13:50
  4. Функциональные блоки- где искать?
    от Xops в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 01.03.2016, 11:07
  5. СПК функциональные клавиши
    от Lyohin в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 30.03.2015, 15:10

Ваши права

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