Показано с 1 по 9 из 9

Тема: Максимальное значение локальной и сетевой переменной

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Максимальное значение локальной и сетевой переменной

    Добрый день! Столкнулся с такой проблемой: есть локальная целочисленная переменная которая увеличивается от счетчика, затем она записывается в сетевую переменную и передается в OwenCloud, так вот проблема в том что переменная достигает значения 65535 примерно и сбрасывается, как сделать счет до большего значения?

  2. #2

    По умолчанию

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

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

    По умолчанию

    ОЛ оперирует 32-х битными беззнаковыми переменными. Чтобы ее кинуть в сеть, надо ее раздробить на две 16-ричные (примеры были) и кидать в сеть как 32-х битную (2 регистра)

    65535 даже не примерно, а точнее некуда

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

    По умолчанию

    1-й вариант
    Безымянный.png

    2-й вариант (макросы из менеджера компонентов)
    Безымянный.png

    Ну, и, третий вариант, до кучи
    Код:
    function_block CTN32_
        
        var_input
            U, D, R : bool;
            N : udint;
        end_var
        
        var_output 
            Lo, Hi : udint;
        end_var
        
        var 
            ctn : SYS.CTN;
        end_var
        
        ctn(U:=U, D:=D, R:=R, N:=N);
        Lo := ctn.Q mod 65536;
        Hi := ctn.Q / 65536;
    
    end_function_block
    З.Ы. Представленные варианты не запоминают значение при потери питания
    Последний раз редактировалось Dimensy; 02.03.2026 в 13:15.

  5. #5

    По умолчанию

    Спасибо, пытаюсь использовать второй вариант с макросом, получилось у меня младший и старший регистр, а как их оба указать в параметрах в owen cloud, создаю параметр формат данных указываю как uint32 но в адресе регистра только один могу указать, как мне там представить младший и старший регистр?

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

    По умолчанию

    Цитата Сообщение от Artemid Посмотреть сообщение
    Спасибо, пытаюсь использовать второй вариант с макросом, получилось у меня младший и старший регистр, а как их оба указать в параметрах в owen cloud, создаю параметр формат данных указываю как uint32 но в адресе регистра только один могу указать, как мне там представить младший и старший регистр?
    Формат uint32 уже подразумевает 2 регистра. Но, в настройках облака надо глянуть кто у нас первым должен идти - младший или старший регистр и, соответственно либо на ПРке сделать или в облаке настроить

  7. #7

    По умолчанию

    Но я макросом разбиваю udint на 2 регистра uint, получаю 2 сетевых переменных и отправляю их уже в сеть, а uint32 подразумевает 2 регистра, а как мне показать что эти 2 сетевых переменных мл. регистр и стар. регистр

  8. #8

    По умолчанию

    Цитата Сообщение от Artemid Посмотреть сообщение
    Но я макросом разбиваю udint на 2 регистра uint, получаю 2 сетевых переменных и отправляю их уже в сеть, а uint32 подразумевает 2 регистра, а как мне показать что эти 2 сетевых переменных мл. регистр и стар. регистр
    Для 32 разрядных данных указывается адрес меньшего (по номеру) регистра

  9. #9

    По умолчанию

    Спасибо попробую

Похожие темы

  1. Неверное значение сетевой переменной
    от brothernik в разделе Облачный сервис OwenCloud
    Ответов: 1
    Последнее сообщение: 08.09.2023, 11:08
  2. Как назначить сетевой переменной значение по умолчанию?
    от Ingwar в разделе Программируемые реле
    Ответов: 18
    Последнее сообщение: 10.08.2021, 11:21
  3. Как записать максимальное значение
    от Анатолий Рудак в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 12.11.2020, 19:14
  4. Максимальное значение переменной.
    от Vitamin в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 31.07.2020, 13:57
  5. Ответов: 5
    Последнее сообщение: 01.09.2014, 07:47

Ваши права

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