Объявление

Свернуть
Пока нет объявлений.

Простая задачка для ПЛК 40

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Простая задачка для ПЛК 40

    Здравствуйте, помогите, пожалуйста, решить, на первый взгляд, простую задачку: от датчика продукции сигнал поступает на вход ПЛК, выдерживается заданная задержка, и на выход ПЛК формируется импульс 20 мс. Проблема в том, что входные импульсы поступають очень быстро, быстрее чем задержка на выход.

  • #2
    В чем отличие использования функциональных блоков опроса входов и формирования выходов в программе и использования модуле вх/вых в дереве проекта?

    Комментарий


    • #3
      Сообщение от Антон Посмотреть сообщение
      В чем отличие использования функциональных блоков опроса входов и формирования выходов в программе и использования модуле вх/вых в дереве проекта?
      Если рассматривать библиотеку AgavaModules и самостоятельное определение нужных типов ФБ и их экземпляров из данной библиотеки, то отличие от корзины заключается в том, что программист сам должен организовать процесс опроса таких модулей, а именно создать отдельную задачу( хотя задача может использовать общая , если проект не большой ). Далее нужно определить место в программе где будет выполняться вызов экземпляров модулей опроса, данный подход более гибкий и позволяет создавать динамически модули в процессе работы ПО, если при этом использовать динамическое выделение памяти. Также программисту самому придется решать проблему с опросом модулей, если задача в проекте всего одна и в ней идет опрос модулей и основная логика работы ПО, то есть вероятность что обмен с модулями может замедлиться, в виду особенностей исполнения основной логи работы ПО.
      Использование конфигуратора(корзины) решает проблему с организацией обмена с модулями, опрос происходит отдельно от основной задачи тем самым исключает конфликты пользовательской программы и процессом опроса модулей. Подход удобен если в процессе работы ПО аппаратная конфигурация "жестко" определена и ее изменение не планируется в дальнейшем, благодаря конфигуратору, в проекте достаточно объявить нужные переменные и соотнести их входами модулей в корзине.

      Комментарий


      • #4
        Сообщение от Антон Посмотреть сообщение
        Здравствуйте, помогите, пожалуйста, решить, на первый взгляд, простую задачку: от датчика продукции сигнал поступает на вход ПЛК, выдерживается заданная задержка, и на выход ПЛК формируется импульс 20 мс. Проблема в том, что входные импульсы поступають очень быстро, быстрее чем задержка на выход.
        Добрый день, т.е используется DI вход, на него приходит импульс, далее после получения импульса нужно включать DO\R\SIM выход на 20ms. Проблема у Вас заключается в чем? В том что импульс на DI канал приходит быстрый и Вы его не успеваете читать?

        Комментарий


        • #5
          Проблема при использовании тамеров, что импульсы на входе следуют часто, до отработки импульса на выходе.
          Сделал при помощи ФИФО от Оскат библиотеки. Читаю метку времени в которую срабатывает вход di, прибавляю выдержку, и проверяю истекло ли заданное время. После формирую выход в течение 20 мс.

          Комментарий


          • #6
            С какой частотой идёт опрос входов и формирование выходов, при использовании корзины модулей?

            Комментарий


            • #7
              Сообщение от Антон Посмотреть сообщение
              С какой частотой идёт опрос входов и формирование выходов, при использовании корзины модулей?
              частота опроса настраивается в задаче PLCModulesTask которая добавляется автоматически при добавлении корзины, по умолчанию 20мс, значение меньше 10мс, устанавливать не рекомендуется, т.к субмодули имеют свой таймаут на не ответ 10мс, фактически обмен там быстрее этого значения, но иметь в виду его стоит.
              Последний раз редактировалось Пушкарев Андрей; 02-12-2024, 09:26 AM.

              Комментарий


              • #8
                Сообщение от Антон Посмотреть сообщение
                Проблема при использовании тамеров, что импульсы на входе следуют часто, до отработки импульса на выходе.
                Сделал при помощи ФИФО от Оскат библиотеки. Читаю метку времени в которую срабатывает вход di, прибавляю выдержку, и проверяю истекло ли заданное время. После формирую выход в течение 20 мс.
                Вероятно для вашей цели , нужно сделать доп.задачу с временем цикла от 1-5 мс, в ней обрабатывать нужный таймер и импульс, возможно Вы используете штатную задачу, обмен там 20 мс по умолчанию, в такой задаче таймер будет работать не корректно если импульсы будут идти быстрее этого времени. Импульсы в таком случае нужно считать счетным входом DI модуля.

                Комментарий


                • #9
                  Задача такая : по транспортёру едут банки, датчик считывает наличие банки, далее камера считывает код, если он корректный, то банка продолжает движение, если нет её выталкивает пневмоцилиндр. На входы ПЛК идут сигналы с датчика и камеры, выход ПЛК управляет чтением кода и работой пневмоцилиндра.

                  Комментарий

                  Обработка...
                  X