Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 28 из 28

Тема: ПР100 Retain не работает

  1. #21

    По умолчанию

    Вариант без макроса:
    Конечный_автомат.owle

    Вариант с макросом:
    Конечный_автомат2.owle

    Язык ST применять бессмысленно, если быстродействие не требуется (???).

    Макрос Transition может иметь варианты с увеличенным количеством входов I1, I2, I3, ... и T_concur1, T_concur2, T_concur3, ...
    Ix - это входы условия переходов
    T_concurx - это входы для блокировки текущего перехода конкурирующими переходами. Может пригодиться для сильно разветвленных конечных автоматов (как у меня).

    И конечно же обязательно должен быть на свободном месте текстовый комментарий типа:
    State:
    0 - всё отключено
    1 - насос запускается
    2 - насос работает
    3 - насос заблокирован
    NB: пока практикой не отработано, но примерно так.

  2. #22
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,246

    По умолчанию

    Цитата Сообщение от Mikhailo Посмотреть сообщение
    Вариант без макроса:
    Конечный_автомат.owle

    Вариант с макросом:
    Конечный_автомат2.owle

    Язык ST применять бессмысленно, если быстродействие не требуется (???).

    Макрос Transition может иметь варианты с увеличенным количеством входов I1, I2, I3, ... и T_concur1, T_concur2, T_concur3, ...
    Ix - это входы условия переходов
    T_concurx - это входы для блокировки текущего перехода конкурирующими переходами. Может пригодиться для сильно разветвленных конечных автоматов (как у меня).

    И конечно же обязательно должен быть на свободном месте текстовый комментарий типа:


    NB: пока практикой не отработано, но примерно так.
    Не очень давно в одной из тем кажется "capzap" сравнивал аналогичные варианты не сложных алгоритмов и вариант на FBD оказался самый быстрый!
    Короче, мне кажется всё правильно, только наоборот и многое зависит от "художника"!
    Последний раз редактировалось Сергей0308; 07.04.2024 в 20:36.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #23

    По умолчанию

    Цитата Сообщение от Mikhailo Посмотреть сообщение
    ...
    T_concurx - это входы для блокировки текущего перехода конкурирующими переходами. Может пригодиться для сильно разветвленных конечных автоматов (как у меня).
    ...
    Возможно этот вход не всегда нужен, т.к. приоритетность одновременно сработавших переходов автоматически определяется по относительным положениям SEL переходов (кто ближе к выходу - тот и запишет номер следующего шага)

  4. #24

    По умолчанию

    1exan
    Все верно.

  5. #25

    По умолчанию

    Цитата Сообщение от Mikhailo Посмотреть сообщение
    Вариант без макроса:
    Конечный_автомат.owle

    Вариант с макросом:
    Конечный_автомат2.owle

    Язык ST применять бессмысленно, если быстродействие не требуется (???).
    .
    Что это за шляпа на 1.5 экрана вниз, я же вам давал ссылку на шаговые автоматы на ST с разными вариантами, ещё на 1 странице.
    Простой автомат - 1 ФБ ( от 2 до нескольких десятков шагов), а не целая страница макросов. При чём ещё и с паузой и выходом времени.
    Если выкинуть таймер, то будут просто шаги по нажатию кнопки. Если надо, то и от разных кнопок.
    Про быстродействие это всё сказки, что FBD типа быстрее.
    Последний раз редактировалось kondor3000; 08.04.2024 в 23:03.

  6. #26

    По умолчанию

    kondor3000
    Вы посягаете на святое!

    Надо на ST тоже разработать инфраструктуру. Погодите, чуть попозже оформлю.

  7. #27

    По умолчанию

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

  8. #28

    По умолчанию

    До этого я скидывал два варианта конечных автоматов. Первый вариант без макросов, второй - с макросами.

    Усовершенствовал второй вариант с макросами, вместо тряхомудии со входами Tconcur я смоделировал шаг (step) - это основной элемент конечного автомата. Три варианта шага: с одним исходящим переходом Step1T, с двумя исходящими переходами Step2T и с пятью Step5T. В Step2T и Step5T приоритетом переходов можно управлять как путем прямого назначения приоритета (чем больше целое число, тем выше приоритет исходящего перехода), либо пользоваться тем фактом, что при равных приоритетах первый переход приоритетнее второго и т.д. Ну и как обычно, можно приоритет изменять также искусственно через входы COND, это в любом конечном автомате можно делать. Кому не нужны эти входы Priority может поудалять их в макросах.

    Конечный_автомат2.1.owle

    Третий вариант. Тут я реализовал параллельные дивергенцию и конвергенцию по МЭК 61131 (язык SFC) - за это отвечают специальные шаги Step1T2DT и Step2CT1T. Это позволяет распараллеливать выполнение конечного автомата. В названиях макросов зашифровано количество переходов: 1T - один исходящий переход, 2T - два исходящих перехода, 5T - пять переходов, 2DT - 2 исходящих перехода (дивергенция), 2CT - два входящих перехода (конвергенция). Можно даже увидеть, что этот FBD-код очень смахивает на SFC.

    Конечный_автомат3.0.owle

    Если честно, FBD неудобен, слишком громадные блоки получаются. Поэтому чуть позже я позанимаюсь ST.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. ПР100
    от maintenancekbk24@gmail.com в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 19.03.2024, 07:45
  2. Подключение ПР100
    от Signet в разделе Облачный сервис OwenCloud
    Ответов: 8
    Последнее сообщение: 18.06.2023, 10:55
  3. Не работает RS485 на ПР100
    от altSobor в разделе Программируемые реле
    Ответов: 6
    Последнее сообщение: 21.12.2022, 16:38
  4. ПР100 + Weintek
    от darkmS в разделе Программируемые реле
    Ответов: 10
    Последнее сообщение: 02.09.2022, 21:15
  5. ПЛК150-220.А-М (master) СП307Б (slave): работает write, но не работает read
    от программист_с_паяльником в разделе ПЛК1хх
    Ответов: 19
    Последнее сообщение: 24.01.2022, 09:38

Ваши права

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