Страница 52 из 1043 ПерваяПервая ... 242505152535462102152552 ... ПоследняяПоследняя
Показано с 511 по 520 из 10426

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #511

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    Трейс Моуд не демо? Попробуй сначала ModBus тестером, например таким: Terring ModBus Tools 3.1.0. Или проект в студию.
    P.S. Формат адреса значения не имеет.
    Спасибо за ответ, все сделал, проблема оказалась в железе контроллера, пониженное напряжение +5 в, было 4,4в, исправил, все пошло по маслу.

  2. #512

    По умолчанию

    Yegor, можете привести пример с использованием функции Time? т.к. требуется источник точного времени.

  3. #513
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    TIME() выдаёт не календарное время, а время с момента запуска. Насколько я понимаю, это не то. Как бы там ни было, вот пример:
    Код:
    VAR
    	uptime: TIME;
    END_VAR
    
    uptime := TIME();
    Совмещением TIME() и CurTimeEx можно добиться равномерности также и календарного времени, но точности всё равно не будет, т.к. часы безнадёжно отстают и забегают во время простоя. Остаётся надеяться, что «овны» займутся этой проблемой.

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

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    TIME() выдаёт не календарное время, а время с момента запуска. Насколько я понимаю, это не то. Как бы там ни было, вот пример:
    Код:
    VAR
    	uptime: TIME;
    END_VAR
    
    uptime := TIME();
    Совмещением TIME() и CurTimeEx можно добиться равномерности также и календарного времени, но точности всё равно не будет, т.к. часы безнадёжно отстают и забегают во время простоя. Остаётся надеяться, что «овны» займутся этой проблемой.
    Вот мне интересно у Вас такие проблемы и в пустом проекте и сколько стоит максимальное время цикла, а еще пробовали Вы воспользоваться многозадачностью и считать время в отдельной задаче с фиксированным периодом?

  5. #515
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    и в пустом проекте
    Да.
    максимальное время цикла
    1000.
    пробовали Вы воспользоваться многозадачностью и считать время в отдельной задаче с фиксированным периодом?
    Попробовал 200, 500 и 1000. Сначала выглядит будто ок, но потом всё равно перепрыгивает. В общем, та же фигня.

    Да и какое значение имеют условия исполнения, если при отключенном питании часы всё равно тупят? Я выключаю контроллер в 17:00 с синхронизированными по компу часами, а на утро к 8:00 обнаруживаю 30-секундное отставание. По праздникам и выходным больше минуты выходит. И в течение дня значительное отклонение набирается.

  6. #516

    По умолчанию

    При использовании функц.блока CurTimeEx, обращение к времени происходит один раз, потом значения времени не меняются, в документации ничего вразумительного найти не нашел...

    Если использовать
    PHP код:
    VAR
        
    timedateSystemTimeDate;
        
    systimeSysTime64;
        
    GetTimeCurTimeEx;
    END_VAR

    (* Предварительно обнуляем структурыкак того требует CurTimeEx *)
    SysMemSet(ADR(systime), 0SIZEOF(systime));
    SysMemSet(ADR(timedate), 0SIZEOF(timedate));

    GetTime(SystemTime := systimeTimeDate := timedate); 
    то при компиляции выдает "вызвать можно только экземпляр функционального блока" ошибка 4267

  7. #517
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    При использовании функц.блока CurTimeEx, обращение к времени происходит один раз, потом значения времени не меняются, в документации ничего вразумительного найти не нашел.
    Структуры надо обнулять прежде чем передавать их в CurTimeEx. Иначе вы не запрашиваете время, а устанавливаете его.
    при компиляции выдает "вызвать можно только экземпляр функционального блока" ошибка 4267
    Специально скопировал и вставил прямо этот код — он компилируется и работает. Возможно, у вас там какой-то конфликт имён, например, уже существует функция GetTime. Можете показать свой проект, и мы разберёмся, в чём дело.

  8. #518

    По умолчанию

    Yegor
    вот проект Вложение 5795
    в программе "vremi"
    Спасибо заранее!

  9. #519
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Добавьте в проект SysLibMem.lib, о которой я говорил ранее, и уберите вот это:
    Код:
    SysMemSet: DATE;

  10. #520

    По умолчанию

    SysLibMem.lib добавлена

    Код:
    SysMemSet: DATE;
    убрал,
    при компиляции все равно надо указать индентификатор SysMemSet.
    не получилось

Страница 52 из 1043 ПерваяПервая ... 242505152535462102152552 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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