Страница 43 из 1044 ПерваяПервая ... 33414243444553931435431043 ... ПоследняяПоследняя
Показано с 421 по 430 из 10436

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

  1. #421

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Считайте секунды
    Типа:
    Код:
    VAR_GLOBAL RETAIN
      TOTAL_HOURS: DWORD := 0;
    END_VAR
    
    VAR
      bl1: BLINK;
      ctu1: CTU;
    END_VAR
    
    bl1(ENABLE:=IS_START,TIMELOW:=T#500ms,TIMEHIGH:=T#500ms);
    ctu1(CU:=bl1.OUT,PV:=3600);
    IF ctu1.Q THEN
      TOTAL_HOURS:=TOTAL_HOURS+1;
    END_IF
    ?

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

    По умолчанию

    Счетчик не ретайн - будете терять остаток
    И сброс его где ?

  3. #423

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Счетчик не ретайн - будете терять остаток
    И сброса его где ?
    Остаток - еще хз, а нужен-ли он мне ))
    Счетчик при кратковременном выключении питания сохраняется?

    уже потестил, сброс дописал ))
    Код:
    bl1(ENABLE:=IS_START,TIMELOW:=T#500ms,TIMEHIGH:=T#500ms);
    ctu1(CU:=bl1.OUT,RESET:=FALSE,PV:=10);
    IF ctu1.Q THEN
    TOTAL_HOURS:=TOTAL_HOURS+1;
    ctu1(RESET:=TRUE);
    END_IF
    С другой стороны - DWORD секунд это 136 лет? Я правильно посчитал?
    Может тогда секунды и хранить в ретайн?
    Код:
    VAR
    	bl1: BLINK;
    	ft1: F_TRIG;
    END_VAR
    
    bl1(ENABLE:=IS_START,TIMELOW:=T#500ms,TIMEHIGH:=T#500ms);
    ft1(CLK:=bl1.OUT);
    IF ft1.Q THEN
    TOTAL_SECS:=TOTAL_SECS+1;
    END_IF
    UPD: А можно просто раз в секунду через конфигуратор задач вызывать
    IF IS_START THEN TOTAL_SECS:=TOTAL_SECS+1;
    ?

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

    По умолчанию

    Остаток - еще хз, а нужен-ли он мне ))
    30м + 1ч50м + 3ч40м - наработка 4 часа

    С другой стороны - DWORD секунд это 136 лет?
    Может тогда секунды и хранить в ретайн?
    Думаете праправнуки непростят ? Нормуль.

  5. #425

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    30м + 1ч50м + 3ч40м - наработка 4 часа
    Да, действительно... несколько раз по 55 минут потерять - уже существенно...
    Спасибо ) Буду секунды хранить...

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

    По умолчанию

    через конфигуратор задач вызывать
    Цель - достигается

  7. #427

    По умолчанию

    выскажу свое "фи" по поводу использования blink'a для счетчика часов - при его использовании за каждый период счета посчитанное время расходится с реальным на 2 цикла плк. к примеру если цикл плк у вас 5мс, то при счете секунд будет расхождение на 10мс за секунду. на дистанции использования нескольких лет итоговое расхождение будет уже внушительным. хотя кому-то не важно.
    я делал счетчик другим способом (исходя из того, что мой плк уж точно не проработает более 49 суток без выключения):
    Код:
    VAR
    	metronom: DWORD;
    	tmr_Ah: TON := (PT := t#49d);
    END_VAR
    VAR RETAIN
    counter : dword; (* секунды наработки *)
    END_VAR
    
    tmr_Ah(in := переменная_power_status_из_модуля_статистики);
    IF metronom < (TIME_TO_DWORD(tmr_Ah.ET) / 1000) THEN
    	metronom := (TIME_TO_DWORD(tmr_Ah.ET) / 1000);
    counter := counter + 1;
    end_if;

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

    По умолчанию

    использования blink'a для счетчика часов - при его использовании за каждый период счета посчитанное время расходится с реальным на 2 цикла плк.
    Ну может расхождение в 1% не так критично как десятки % в п#538 ?

    Мой обычный рабочий вариант

    t( in := true, pt := t#1s ); (*тон*)
    if t.q then
    t( in := false ); (*перезапуск в этом же цикле );
    t( in := true );
    sec := sec + 1; (*ретайн*)
    end_if

    Конечно же цикл кратен секунде (1,2,4 мs)

  9. #429

    По умолчанию

    опять же кому как нравится. мне хватило того, что за десять минут у меня расхождение таймера и блинка с периодом в секунду достигло 10 секунд. в моем понимании вопрос в том, зачем использовать неточный вариант при наличии точного, который не сложнее по реализации.

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

    По умолчанию

    Полностью согласен

Страница 43 из 1044 ПерваяПервая ... 33414243444553931435431043 ... ПоследняяПоследняя

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

Ваши права

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