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

Тема: Как реализовать энергонезависимый счетчик?

  1. #1

    По умолчанию Как реализовать энергонезависимый счетчик?

    Добрый день, у меня вопрос, на СПК207 реализована автоматика упаковки пакетов муки в термопленку.Тоько не получается сделать энергонезависимый счетчик количества пакетов. Счетчик обнуляется при каждом выключении. Буду благодарен за подсказку!!!!!
    Последний раз редактировалось Екатерина Аладышева; 03.07.2018 в 16:00. Причина: сообщения перемещены в соответствующую тему

  2. #2

    По умолчанию

    Цитата Сообщение от Aleksey.KIP Посмотреть сообщение
    Добрый день, у меня вопрос, на СПК207 реализована автоматика упаковки пакетов муки в термопленку.Тоько не получается сделать энергонезависимый счетчик количества пакетов. Счетчик обнуляется при каждом выключении. Буду благодарен за подсказку!!!!!
    Добрый день!

    Вы используете энергонезависимую переменную для значения наработки счетчика, но при следующем запуске СПК значение начинает наполняться с нуля?
    Если да, то вероятно переменная затирается самим счетчиком.

    Чтобы этого избежать, необходимо переменную наработки (энергонезависимую) суммировать с переменной-выходом счетчика.

    Покажу на примере счетчика CTU (Standart.lib):

    Объявление переменных:
    Код:
    VAR
      // Функциональный блок счетчика
      m_fbPackageCounter     : CTU;
      // Переменная наработки счетчика
      m_wCounterValue         : WORD; 
      // Переменная с предыдущим значением количества пакетов
      m_wPrevPackageCount  : WORD;
      // Признак первого запуска устройства
      m_xInitialized               : BOOL    := FALSE;      
    END_VAR
    Объявление энергонезависимой переменной значения количества пакетов:
    Код:
    VAR RETAIN
      // Переменная количества пакетов
      m_wPackageCount      : WORD;
    END_VAR
    Обработка в программе:
    Код:
    ...
      {Первые строки программы}
       // Проверка на первый запуск после подачи питания
      IF NOT xInitialized THEN
         // Запоминаем предыдущее значение количества отсчитанных пакетов 
         m_wPrevPackageCount := m_wPackageCount;
         // Устанавливаем признак удачного первого запуска
         m_xInitialized := TRUE;
      END_IF
    
      {Где-то здесь вызов счетчика}
      m_wCounterValue := m_fbPackageCounter.CV;
    
      // Сохранение значения количества пакетов
      m_wPackageCount := m_wPrevPackageCount + m_dwCounterValue;
    ...
    Последний раз редактировалось Зинько Владислав; 05.07.2018 в 09:50.

Похожие темы

  1. Как это реализовать??
    от Вова13 в разделе ПЛК1хх
    Ответов: 51
    Последнее сообщение: 10.09.2018, 23:24
  2. энергонезависимый счетчик импульсов
    от mitri4 в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 16.02.2018, 09:04
  3. Энергонезависимый таймер
    от skinnbatter в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 26.01.2018, 18:55
  4. Как реализовать?
    от spinogryz57 в разделе Трёп (Курилка)
    Ответов: 42
    Последнее сообщение: 04.03.2015, 13:07
  5. Как реализовать ?!!
    от Vukkub в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 23.08.2011, 09:46

Ваши права

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