Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Owen logic

  1. #1

    По умолчанию Owen logic

    Здравствуйте, в ходе реализации управления таймером через дискретные входы столкнулся с такой проблемой, что в случае арифметических операций сложения и вычитания не могу записать результат в одну переменную (среда разработки не позволяет это сделать) должно получится так в случае если пользователь нажимает кнопку увеличения на дискретный вход поступает единица и должно, что-то получится на подобии
    int x = int x + 1
    В случае вычитания
    int x = int x - 1
    Но среда разработки позволяет ссылатся только на один такой блок, подскажите пожалуйста как решить данную проблему, либо может у кого есть другая идея по реализации?
    Изображения Изображения

  2. #2

    По умолчанию

    Цитата Сообщение от Oceandivide Посмотреть сообщение
    Здравствуйте, в ходе реализации управления таймером через дискретные входы столкнулся с такой проблемой, что в случае арифметических операций сложения и вычитания не могу записать результат в одну переменную (среда разработки не позволяет это сделать) должно получится так в случае если пользователь нажимает кнопку увеличения на дискретный вход поступает единица и должно, что-то получится на подобии
    int x = int x + 1
    В случае вычитания
    int x = int x - 1
    Но среда разработки позволяет ссылатся только на один такой блок, подскажите пожалуйста как решить данную проблему, либо может у кого есть другая идея по реализации?
    Например так 1 Время печи.jpg

  3. #3

    По умолчанию

    На самом деле вариантов несколько, например так:
    изображение_2023-12-02_224930850.png

    Вот и подтверждение, что решений много
    Последний раз редактировалось 1exan; 02.12.2023 в 18:52.

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

    По умолчанию

    Цитата Сообщение от Oceandivide Посмотреть сообщение
    Здравствуйте, в ходе реализации управления таймером через дискретные входы столкнулся с такой проблемой, что в случае арифметических операций сложения и вычитания не могу записать результат в одну переменную (среда разработки не позволяет это сделать) должно получится так в случае если пользователь нажимает кнопку увеличения на дискретный вход поступает единица и должно, что-то получится на подобии
    int x = int x + 1
    В случае вычитания
    int x = int x - 1
    Но среда разработки позволяет ссылатся только на один такой блок, подскажите пожалуйста как решить данную проблему, либо может у кого есть другая идея по реализации?
    А если элементы последовательно поставить?
    В менеджере компонентов есть макрос универсального, реверсивного 32 битного счётчика, может его кишки посмотреть, там нечто подобное!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Если это не одновременный + и - к переменной их и надо просто одно за другим действие ставить.
    X add + y далее sub - y = newX

  6. #6

    По умолчанию

    Всем большое спасибо, оказывается всё было настолько просто

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

    По умолчанию

    На перспективу. Так как мы кнопочками что-то меняем, то как минимум, необходимо ограничить изменяемое значение. А, еще, можно сделать так, чтобы при удержании кнопки значение автоматом менялось.
    Безымянный.png

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

    По умолчанию

    Мой вариант в вещественном виде:

    Сумматор_3.PNG

    По R - запись числа со входа D_R, затем "убираем" R и входами + и - увеличиваем или уменьшаем записанное значение на величину на входах D+ D- cоответственно!
    Выходное значение можно сделать энергонезависимым, если сделать энергонезависимой внешнюю переменную Q, как в моём проекте, всё!

    Сумматор_3.owle

    И, желаю ТС хотя бы научиться формулировать свои хотелки, в смысле, ясно и понятно, пока такого даже близко нет, каждый может интерпретировать по своему усмотрению!
    Последний раз редактировалось Сергей0308; 03.12.2023 в 02:11.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #9

    По умолчанию

    Чем хорош ST, скопировал текст в ФБ и получил готовый блок с предустановкой, ограничением (0-100 можно изменить) и регулировкой при удержании 1 Регулировка печи.jpg
    А также возможностью переделки на Float, только изменением типа переменной в ФБ.
    Код:
    function_block fB //имя функционального блока.
         var_input //объявление входных переменных
            Plus : bool; //входная переменная с типом данных bool
            Minus : bool;   
            In : udint;
        end_var
        var_output //объявление выходных переменных
           Q : udint; //выходная переменная с типом данных udint
        end_var
        Q:=In;
        if Plus then Q :=Q+1; end_if
        if Minus then Q :=Q-1; end_if   
        if In<1 and Minus then Q :=0; end_if       
        if Q>=100 and Plus then Q :=100; end_if     
    end_function_block
    Последний раз редактировалось kondor3000; 03.12.2023 в 11:39.

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    ..
    Можете пальцем мс отмерять ? Например - 10 ))
    Завидую Вашей реакции.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Owen Logic 2.1 нет экспорта устройства в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 12.10.2022, 19:33
  2. Добавление аварийных ситуаций в Owen Logic на ПР200 для отображения в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 6
    Последнее сообщение: 07.07.2022, 11:09
  3. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  4. Owen Logic 1.12
    от Андрей Посохов в разделе Среда программирования OWEN Logic
    Ответов: 146
    Последнее сообщение: 05.02.2019, 12:03
  5. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46

Ваши права

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