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

Тема: Отображение данных с ПЛК210 на цифровом дисплее СП310-Р

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

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

    По умолчанию

    Цитата Сообщение от Mikhail_NNT Посмотреть сообщение
    В таблице, и соответственно в переменной wDownTimeS2Hх, вместо 509 отображается 37098 и 29851. Нужно чтобы было именно 509.
    Не понимаю, что тогда записывается в переменную wDownTimeS2Hх?
    Простои.png
    ну так если Вы замените wDownTimeS2H8:= wDownTimeS2H8 + wDowntime; на wDownTimeS2H8:= wDowntime; будет отображаться 509, но Вам же не это нужно?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #2

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ну так если Вы замените wDownTimeS2H8:= wDownTimeS2H8 + wDowntime; на wDownTimeS2H8:= wDowntime; будет отображаться 509, но Вам же не это нужно?
    Все верно, нужно, чтобы к старому значению wDownTimeS2H8 прибавлялось текущее значение wDowntime

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

    По умолчанию

    Цитата Сообщение от Mikhail_NNT Посмотреть сообщение
    Все верно, нужно, чтобы к старому значению wDownTimeS2H8 прибавлялось текущее значение wDowntime
    ну тогда значения 37098 и 29851 это результат сложения старого с текущим, что не так? Где тогда должно отображаться текущее?
    И главное чтоб не "выкатывать" такие "портянки" напишите функцию, например
    Код:
    function Solver: WORD;
        var_input
            OLD_TIK : WORD;
            tDowntime: TIME;
        end_var
        var_
            dwDowntime: DWORD;
        end_var
    
        dwDowntime:= TO_DWORD (tDowntime);
        dwDowntime:= dwDowntime / 1000; //Перевод миллисекунд в секунды
        Solver := OLD_TIK + TO_WORD (dwDowntime);
    end_function
    и тогда заметно код сократится, если в каждом кейсе написать wDownTimeSXHX:= Solver(wDownTimeSXHX,tDowntime);
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

Похожие темы

  1. Ответов: 25
    Последнее сообщение: 03.09.2020, 09:37
  2. Программируемое реле ПР200. Отображение информации на дисплее.
    от mchelarsky в разделе Программируемые реле
    Ответов: 2
    Последнее сообщение: 08.08.2019, 12:50
  3. Отображение float/int на дисплее ПР200
    от flicker581 в разделе Среда программирования OWEN Logic
    Ответов: 0
    Последнее сообщение: 17.02.2016, 19:12
  4. Ответов: 8
    Последнее сообщение: 05.06.2014, 21:33
  5. Ответов: 4
    Последнее сообщение: 21.02.2014, 09:24

Ваши права

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