Показано с 1 по 10 из 1270

Тема: ПР205

Комбинированный просмотр

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Это кто "квадратиками" рисует.
    Речь идёт про язык ST.
    В нём таких глупостей нет.
    Потому и нужно знать последовательность.
    А при чем здесь ST? - Он в основной программе выступает в роли квадратика, поэтому и выполняется по тем же правилам

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    А при чем здесь ST? - Он в основной программе выступает в роли квадратика, поэтому и выполняется по тем же правилам
    Вы сначала проверьте это.
    Я задался вопросом, когда не смог задать последовательность выполнения блоков на ST.

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Вы сначала проверьте это.
    Я задался вопросом, когда не смог задать последовательность выполнения блоков на ST.
    Хорошо, давайте посмотрим.
    Вот такой код на ST
    Код:
    function_block probe //имя функционального блока.
    
        var_input //объявление входных переменных
           inA, inB : bool; //
        end_var
    
        var_output //объявление выходных переменных
           outA, outB : bool; //
        end_var
    
        var //объявление локальных переменных
           K : bool := false; 
        end_var
    
        if inA and not (inB or K) then
            outA := true;
            K := true;
        end_if 
        if inB and not (inA or K) then
            outB := true;
            K := true;
        end_if
    
    end_function_block
    Он показывает какой из входов сработал раньше.
    Располагаем этот ФБ на холсте
    1.png
    По правилам (и по логике, тоже) сначала выполняются блоки А и Б, потом С. А может, нумерация играет роль? - тогда должен сначала выполниться блок Б, потом С и А последним. Запускаем
    1.5.png
    Нет, логика рулит.
    Ладно, следующий вопрос: а кто в цикле первым выполняется, А или Б? Делаем взаимоблокировку и, опа, Лоджик хочет обратную связь
    2.png
    Делаем как хочет Лоджик и получаем, что блок Б, как бы, выполняется раньше блока А. Логично
    3.png
    А если мы поменяем обратную связь, то первым, как бы, выполниться блок А, что тоже логично
    4.png
    Итак, 3:0 в пользу логики. На самом деле, пофигу в какой последовательности выполняются блоки - все дело в связях.
    Последний раз редактировалось Dimensy; 24.11.2023 в 09:08.

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Хорошо, давайте посмотрим.
    Вот такой код на ST

    Он показывает какой из входов сработал раньше.
    Располагаем этот ФБ на холсте
    Очень аргументированно! Спасибо.
    Это прописано в документации.

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Итак, 3:0 в пользу логики. На самом деле, пофигу в какой последовательности выполняются блоки - все дело в связях.
    "Порядок исполнения" - язык ST не нумеруется.

    Изначально вопрос был такой, а потом уводился в сторону разными аргументами.

    Как быть с этим:
    ST на форум 24-11-2023.png
    В какой момент времени Myx_DG1 поменяет последовательность выполнения с IO_a1,
    или с xxx, особенно, если IO_b1, IO_c1 и IO_d1 будут взаимосвязанные???

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Как быть с этим:
    ST на форум 24-11-2023.png
    В какой момент времени Myx_DG1 поменяет последовательность выполнения с IO_a1,
    или с xxx, особенно, если IO_b1, IO_c1 и IO_d1 будут взаимосвязанные???
    Что делает Myx_DG1, где здесь IO_a1, IO_b1, IO_c1 и IO_d1 и как они взаимосвязаны?
    А про момент времени - в любой момент цикла как только будут определены его входы
    Последний раз редактировалось Dimensy; 24.11.2023 в 12:11.

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Что делает Myx_DG1, где здесь IO_a1, IO_b1, IO_c1 и IO_d1 и как они взаимосвязаны?
    А про момент времени - в любой момент цикла как только будут определены его входы
    Цитата Сообщение от 1exan Посмотреть сообщение
    Соединение Myx_DG1 и IO_a1 таким образом должно было неизбежно вызвать превращение одной из циклических связей в линию задержки. Она и определит последовательность выполнения этих блоков.
    Поскольку линия задержки не подсвечивается, то до компиляции ещё дело не дошло (возможно есть неисправленная ошибка в ФБ, или эти ФБ не участвуют в формировании состояния выходов ПР/энергонезависимых переменных)
    Всё взаимосвязано через переменные, алгоритмы внутри блоков разные,
    обрабатывают разные входные переменные, и выдают в разные выходы.

    Этот уровень сложности вложений и зависимостей и отличает ST
    от остальных "простых квадратиков" - логики,
    на работу с которой и были рассчитаны реле изначально.

    Когда были ещё маленькими и слабенькими.

    Отсюда и вопрос - как быть уверенным, что в какой-то момент времени
    последовательность исполнения этой паутины не поменяется?

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

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Этот уровень сложности вложений и зависимостей и отличает ST
    от остальных "простых квадратиков" - логики,
    на работу с которой и были рассчитаны реле изначально.

    Когда были ещё маленькими и слабенькими.
    Да, ладно, здесь на форуме даже игрушку делали для ПР200. А что Сергей0308 c этими квадратиками делает - просто улет

    Цитата Сообщение от ПавелП Посмотреть сообщение
    Отсюда и вопрос - как быть уверенным, что в какой-то момент времени
    последовательность исполнения этой паутины не поменяется?
    Не забываем, что на холсте функции и ФБ на ST такие же квадратики, что и макросы, функции и ФБ на FBD. Так что паутина не поменяется, если вы что-то не поменяете

  8. #8

    По умолчанию

    Цитата Сообщение от ПавелП Посмотреть сообщение
    ...
    Как быть с этим:
    ST на форум 24-11-2023.png
    В какой момент времени Myx_DG1 поменяет последовательность выполнения с IO_a1,
    или с xxx, особенно, если IO_b1, IO_c1 и IO_d1 будут взаимосвязанные???
    Соединение Myx_DG1 и IO_a1 таким образом должно было неизбежно вызвать превращение одной из циклических связей в линию задержки. Она и определит последовательность выполнения этих блоков.
    Поскольку линия задержки не подсвечивается, то до компиляции ещё дело не дошло (возможно есть неисправленная ошибка в ФБ, или эти ФБ не участвуют в формировании состояния выходов ПР/энергонезависимых переменных)

Похожие темы

  1. Бета тест ПР205 в Owen Logic
    от Денисов Максим Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 66
    Последнее сообщение: 30.05.2023, 15:02
  2. Пр205 в новом каталоге
    от игорь68 в разделе Программируемые реле
    Ответов: 75
    Последнее сообщение: 10.04.2023, 12:48
  3. судьба пр205
    от Regedit в разделе Трёп (Курилка)
    Ответов: 3
    Последнее сообщение: 01.04.2022, 19:46

Ваши права

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