Страница 4 из 15 ПерваяПервая ... 2345614 ... ПоследняяПоследняя
Показано с 31 по 40 из 155

Тема: ST функции OWEN Logic

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

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

    По умолчанию

    Asu$Nick можно, но код внешне будет геморройнее...

  2. #2

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Asu$Nick можно, но код внешне будет геморройнее...
    Да вот я и заходил с разных сторон, все время нужно быть затейником , чтобы эти мелкие ограничения обойти.
    В данном случае всего лишь надо разблокировать обычную возможность писать переменную многократно.
    Остальное ST поможет.
    Мне кажется ресурсов программы будет тратится намного меньше да и времени.
    У меня ПР103 был куплен, на тот момент в нем не было ST , так я даже вот эти Плюс 2 Минус 2 к счетчику из примера не смог сделать. Встроенные счетчики прибавляют по +1, произвольное число уже не задашь.

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,991

    По умолчанию

    Asu$Nick
    Встроенные счетчики прибавляют по +1, произвольное число уже не задашь.
    а делать умножение на свой шаг после штатного счетчика не пробовали?

  4. #4
    Пользователь
    Регистрация
    14.07.2021
    Адрес
    Орел
    Сообщений
    95

    По умолчанию

    Функции же можно в условия добавлять. Если я правильно понимаю, это и есть ветвление...
    Вот такой код прекрасно работает и по идее выполняется только одна ветвь???
    Код:
    function fSel: udint; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            IN1, IN2 : udint; //входная переменная с типом данных bool
            sel:bool;
        end_var
        var //объявление локальных переменных
            localVariable : real := 13.3; //локальная переменная с типом данных real и начальным значением 13.3
        end_var
       if sel then
       fSel:= function1(IN1);  
     else
        fSel:= function2(IN2);  
       end_if
     end_function
    ветвь.jpg

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,575

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Да выполняется только 1 функция внутри.
    это протестировано на реальном устройстве или логические рассуждения?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #6

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    это протестировано на реальном устройстве или логические рассуждения?
    Пока только логические, проверять не на чем.

  7. #7

    По умолчанию

    Цитата Сообщение от lagutin Посмотреть сообщение
    Функции же можно в условия добавлять. Если я правильно понимаю, это и есть ветвление...
    Вот такой код прекрасно работает и по идее выполняется только одна ветвь???
    Да должна выполняться только 1 функция внутри. Но это не точно)))
    Кстати кроме SEL, есть ещё макросы в Менеджере которые выбирают значение которое менялось последним, есть для целочисленных и флоат, SelChgI SelChgF
    Последний раз редактировалось kondor3000; 10.02.2023 в 14:28.

  8. #8
    Пользователь
    Регистрация
    14.07.2021
    Адрес
    Орел
    Сообщений
    95

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Да должна выполняться только 1 функция внутри. Но это не точно)))
    .....
    Ну как не точно? Выполняется код функции, которая внутри условия. Другая же ветвь не выполняется? Что там еще тестировать то? Все работает. Ну если только и правда в железе не заработает?

  9. #9

    По умолчанию

    Цитата Сообщение от lagutin Посмотреть сообщение
    Ну как не точно? Выполняется код функции, которая внутри условия. Другая же ветвь не выполняется? Что там еще тестировать то? Все работает. Ну если только и правда в железе не заработает?
    Разговор не про работоспособность кода, а про увеличение длительности цикла программы, в зависимости от того, обе функции выполняются внутри функции или только одна по условию.

  10. #10
    Пользователь
    Регистрация
    14.07.2021
    Адрес
    Орел
    Сообщений
    95

    По умолчанию

    А как это проверить то? Но как она может выполняться, если код в else, к примеру, не выполняется, если первое условие выполнилось? Это у же слишком сильные заморочки и подозрительность

Страница 4 из 15 ПерваяПервая ... 2345614 ... ПоследняяПоследняя

Похожие темы

  1. Групповые запросы в Owen Logic. Что хотите видеть в этой функции?
    от EvgenyR в разделе Программируемые реле
    Ответов: 37
    Последнее сообщение: 05.07.2023, 15:26
  2. Owen Logic 2.1 нет экспорта устройства в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 12.10.2022, 19:33
  3. Добавление аварийных ситуаций в Owen Logic на ПР200 для отображения в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 6
    Последнее сообщение: 07.07.2022, 11:09
  4. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  5. Тригонометрические функции OWEN Logic
    от POMAXA в разделе Среда программирования OWEN Logic
    Ответов: 36
    Последнее сообщение: 13.02.2016, 12:11

Ваши права

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