Страница 76 из 78 ПерваяПервая ... 26667475767778 ПоследняяПоследняя
Показано с 751 по 760 из 771

Тема: Обсуждение макросов для OWEN Logic

  1. #751
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,999

    По умолчанию

    Цитата Сообщение от Gena72 Посмотреть сообщение
    UNIX_TIME + ПР100

    Проблема: в симуляторе и фактически не совпадают значение регистра (в примере 575-й).
    Ожидаемое значение: 47024
    Фактическое: -17786

    Вложение 79297
    Так -17786 со знаком есть BA86 в hex формате, что соответствует без знаковому 47024. Можешь проверить в калькуляторе
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #752

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Так -17786 со знаком есть BA86 в hex формате, что соответствует без знаковому 47024. Можешь проверить в калькуляторе
    Вопрос закрыт.

    Добавлю, из мануала Modbus Poll:

    The 16-bit Modbus registers can be displayed in 4 different modes.
    Signed
    Unsigned
    Hex
    ASCII - Hex
    Binary
    Последний раз редактировалось Gena72; 10.10.2024 в 12:29.

  3. #753

    По умолчанию

    Цитата Сообщение от Gena72 Посмотреть сообщение
    Вопрос закрыт.

    Добавлю, из мануала Modbus Poll:

    The 16-bit Modbus registers can be displayed in 4 different modes.
    Signed
    Unsigned
    Hex
    ASCII - Hex
    Binary
    Выше уже написал про типы, в данном случае вы использовали Signed (знаковое целое), а надо было Unsigned (целое без знака).
    Типы переменных надо выучить, есть в Лоджике и в Codesys справка по F1.

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Так -17786 со знаком есть BA86 в hex формате, что соответствует без знаковому 47024. Можешь проверить в калькуляторе
    Не понял, у меня по калькулятору ВА86 = 47750
    Безымянный.png

  5. #755

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Не понял, у меня по калькулятору ВА86 = 47750
    Безымянный.png
    Скрины сделаны с разницей 12 минут примерно, либо в симуляции Лоджика, время отстаёт как обычно.
    Последний раз редактировалось kondor3000; 10.10.2024 в 21:17.

  6. #756

    По умолчанию

    Здравствуйте. Не могу найти для OL макросы как в FBD на максимум минимум. Сам сделать уже всю голову сломал. Мне нужно принять до 8 входных значений с точкой и выхода максимума и минимума (в идеале конечно с возможностью вычисления разницы между ними). Может кто подсказать? Я в программировании не силён, сам электрик поступил на АСУ ТП на заочку и ковыряюсь по-маленьку, изучаю.
    2024-10-13_14-43-34.png

  7. #757

    По умолчанию

    Функции сможете добавить?
    Код:
    function fMin: real;
        var_input
            x1, x2 : real;
        end_var
        fMin := x1; if x2 < fMin then fMin := x2; end_if
    end_function
    Код:
    function fMax: real;
        var_input
            x1, x2 : real;
        end_var
        fMax := x1; if x2 > fMax then fMax := x2; end_if
    end_function
    Или ФБ?
    Код:
    function_block f8MinMax
    
        var_input
            x1, x2, x3, x4, x5, x6, x7, x8 : real;
        end_var
    
        var_output
           Min, Max, Delta : real;
        end_var
    
        Min := x1;
        if x2 < Min then Min := x2; end_if
        if x3 < Min then Min := x3; end_if
        if x4 < Min then Min := x4; end_if
        if x5 < Min then Min := x5; end_if
        if x6 < Min then Min := x6; end_if
        if x7 < Min then Min := x7; end_if
        if x8 < Min then Min := x8; end_if
    
        Max := x1;
        if x2 > Max then Max := x2; end_if
        if x3 > Max then Max := x3; end_if
        if x4 > Max then Max := x4; end_if
        if x5 > Max then Max := x5; end_if
        if x6 > Max then Max := x6; end_if
        if x7 > Max then Max := x7; end_if
        if x8 > Max then Max := x8; end_if
        
        Delta := Max - Min;
    
    end_function_block
    Последний раз редактировалось EFrol; 13.10.2024 в 11:56.

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

    По умолчанию

    Цитата Сообщение от MooRFooX Посмотреть сообщение
    Здравствуйте. Не могу найти для OL макросы как в FBD на максимум минимум. Сам сделать уже всю голову сломал. Мне нужно принять до 8 входных значений с точкой и выхода максимума и минимума (в идеале конечно с возможностью вычисления разницы между ними). Может кто подсказать? Я в программировании не силён, сам электрик поступил на АСУ ТП на заочку и ковыряюсь по-маленьку, изучаю.
    2024-10-13_14-43-34.png
    Так можно следить за сообщениями на форуме, это займёт не более 30 минут в день, в смысле, будете в курсе, а подобное уже делали:

    MAX_6_2.PNG

    MAX_2.PNG

    https://owen.ru/forum/showthread.php?t=25067&page=70
    Последний раз редактировалось Сергей0308; 13.10.2024 в 17:06.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #759

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Функции сможете добавить?
    Код:
    function fMin: real;
        var_input
            x1, x2 : real;
        end_var
        fMin := x1; if x2 < fMin then fMin := x2; end_if
    end_function
    Код:
    function fMax: real;
        var_input
            x1, x2 : real;
        end_var
        fMax := x1; if x2 > fMax then fMax := x2; end_if
    end_function
    Или ФБ?
    Код:
    function_block f8MinMax
    
        var_input
            x1, x2, x3, x4, x5, x6, x7, x8 : real;
        end_var
    
        var_output
           Min, Max, Delta : real;
        end_var
    
        Min := x1;
        if x2 < Min then Min := x2; end_if
        if x3 < Min then Min := x3; end_if
        if x4 < Min then Min := x4; end_if
        if x5 < Min then Min := x5; end_if
        if x6 < Min then Min := x6; end_if
        if x7 < Min then Min := x7; end_if
        if x8 < Min then Min := x8; end_if
    
        Max := x1;
        if x2 > Max then Max := x2; end_if
        if x3 > Max then Max := x3; end_if
        if x4 > Max then Max := x4; end_if
        if x5 > Max then Max := x5; end_if
        if x6 > Max then Max := x6; end_if
        if x7 > Max then Max := x7; end_if
        if x8 > Max then Max := x8; end_if
        
        Delta := Max - Min;
    
    end_function_block
    Добавил, спасибо. Печально что ФБ на st нельзя помещать в макрос.

  10. #760

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Так можно следить за сообщениями на форуме, это займёт не более 30 минут в день, в смысле, будете в курсе, а подобное уже делали:

    MAX_6_2.PNG

    MAX_2.PNG
    Спасибо. Согласен. Но, даже в освоении Owen Logic и ПР перерывы у меня бывают очень долгими по несколько месяцев, а про мониторинг форума я вообще молчу.

Страница 76 из 78 ПерваяПервая ... 26667475767778 ПоследняяПоследняя

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 15:33
  4. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  5. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

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