Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: Таймер RTC помогите разобраться

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

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

    По умолчанию

    И вообще... не мудрите:
    Код:
    PROGRAM PLC_PRG
    VAR
    	in: BOOL;			(* Ну вход, чо *)
    	ticktock, starter: R_TRIG;	(* Один срабатывает ежесекундно, другой при каждом запуске *)
    END_VAR
    VAR RETAIN
    	uptime, start_count: DWORD;	(* Тут храним время наработки в секундах и число запусков *)
    END_VAR
    
    ticktock(clk := TIME_TO_DWORD(TIME()) MOD 1000 > 500);
    starter(clk := in);
    uptime := uptime + BOOL_TO_DWORD(in AND ticktock.Q);
    start_count := start_count + BOOL_TO_DWORD(starter.Q);

  2. #2

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    И вообще... не мудрите:
    Код:
    PROGRAM PLC_PRG
    VAR
    	in: BOOL;			(* Ну вход, чо *)
    	ticktock, starter: R_TRIG;	(* Один срабатывает ежесекундно, другой при каждом запуске *)
    END_VAR
    VAR RETAIN
    	uptime, start_count: DWORD;	(* Тут храним время наработки в секундах и число запусков *)
    END_VAR
    
    ticktock(clk := TIME_TO_DWORD(TIME()) MOD 1000 > 500);
    starter(clk := in);
    uptime := uptime + BOOL_TO_DWORD(in AND ticktock.Q);
    start_count := start_count + BOOL_TO_DWORD(starter.Q);
    Не могу понять в чём подвох. Вроде отличный код, но почему http://www.owen.ru/forum/showthread....l=1#post136111 настолько замороченее?

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

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    Не могу понять в чём подвох. Вроде отличный код, но почему http://www.owen.ru/forum/showthread....l=1#post136111 настолько замороченее?
    Так разверните в этом варианте еще код двух используемых ФБ R_TRIG и добавьте вход для сброса времени наработки и будет не менее замороченее
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #4

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Так разверните в этом варианте еще код двух используемых ФБ R_TRIG и добавьте вход для сброса времени наработки и будет не менее замороченее
    Не знаю, по мне всё равно более читабельнее получается

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

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    Не знаю, по мне всё равно более читабельнее получается
    Так покажите, получавшийся читабельный код
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    И вообще... не мудрите:
    Код:
    PROGRAM PLC_PRG
    VAR
    	in: BOOL;			(* Ну вход, чо *)
    	ticktock, starter: R_TRIG;	(* Один срабатывает ежесекундно, другой при каждом запуске *)
    END_VAR
    VAR RETAIN
    	uptime, start_count: DWORD;	(* Тут храним время наработки в секундах и число запусков *)
    END_VAR
    
    ticktock(clk := TIME_TO_DWORD(TIME()) MOD 1000 > 500);
    starter(clk := in);
    uptime := uptime + BOOL_TO_DWORD(in AND ticktock.Q);
    start_count := start_count + BOOL_TO_DWORD(starter.Q);
    А объясните, пожалуйста, строчку ticktock(...) - что за МОD, и как это все там работает?

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

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    А объясните, пожалуйста, строчку ticktock(...) - что за МОD, и как это все там работает?
    Первый раз ticktock сработает когда time будет 501 мс, потом сработает при 1501 мс, 2501 мс и т.д.

  8. #8

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    А объясните, пожалуйста, строчку ticktock(...) - что за МОD, и как это все там работает?
    Что такое MOD, можно прочитать в справке по F1, выделив нужное мышью. Тогда станет понятно, почему срабатывает раз в секунду.

  9. #9

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Что такое MOD, можно прочитать в справке по F1, выделив нужное мышью. Тогда станет понятно, почему срабатывает раз в секунду.
    это ж в кодесис?

  10. #10

    По умолчанию

    Цитата Сообщение от TaPX Посмотреть сообщение
    это ж в кодесис?
    А вы код в уме рассматриваете? Скопируйте программу в Кодесис и смотрите как работает. Тоже самое касается и функции TIME(); и TIME_TO_DWORD,
    выделите мышью с нажмите F1.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Помогите разобраться...
    от kosmas в разделе ПЛК1хх
    Ответов: 85
    Последнее сообщение: 30.09.2014, 09:16
  2. помогите разобраться
    от Барон в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 17.11.2010, 08:30
  3. помогите разобраться
    от a_l_e_x в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 02.07.2010, 16:51
  4. Помогите разобраться...
    от xaker_tm в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 08.02.2010, 17:33
  5. Помогите разобраться !!
    от viking в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 21.11.2007, 14:31

Ваши права

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