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

Тема: Помогите понять суть программирования ПЛК

  1. #1

    По умолчанию Помогите понять суть программирования ПЛК

    Доброго времени суток!

    Начну с того, что я знаю. Цикл ПЛК заключается в том, чтобы считать входы --> выполнить программу --> записать выходы. Скажите, каким образом можно подсчитать количество оборотов с учетом того, что это ПЛК и как это будет выглядеть на ST? Т.е. на вход приходит сигнал с датчика и нужно отследить количество оборотов в минуту. Нужно отследить время с начала программы до прихода импульса и подсчитать это время таймером. Потом посчитать по формуле f=1/T, насколько я понимаю.

  2. #2
    Пользователь Аватар для Ryzhij
    Регистрация
    15.04.2013
    Адрес
    Рязань
    Сообщений
    918

    По умолчанию

    Начнём с того, что для импульсов разной частотой применяют разные способы измерения.
    Для редких импульсов применяют описанный Вами способ - считают число меток времени за период измеряемого сигнала.
    Для частых, напротив, подсчитывают входные импульсы за калиброванный период времени.

    Кроме того, никто не использует время цикла ПЛК для временных измерений. Функциональный блок таймера в ПЛК работает по прерываниям от внутренних "часов".

    В некоторых моделях ПЛК используются функциональные блоки "быстрых счётчиков", которые работают по прерываниям от некоторых "быстрых" входов, а не по сканированию как с остальными входами.

  3. #3

    По умолчанию

    Возможно, я неправильно выразился, я лишь имел ввиду, что именно так выглядит цикл ПЛК
    Цикл ПЛК заключается в том, чтобы считать входы --> выполнить программу --> записать выходы.
    . Но в то же время я не могу понять, как отследить срабатывание датчика. Например, может прийти несколько сигналов от датчика в то время, когда происходит цикл ПЛК. Будет ли работать такой код, например?
    Код:
    FUNCTION_BLOCK RTRIG_O
    VAR_INPUT
    	xVar: BOOL;
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    	timer: TON;
    	time_end: TIME;
    	spped_rotate: REAL;
    END_VAR
    Код:
    IF xVar THEN
    	time_end:=timer.ET;
    	spped_rotate:=60/TIME_TO_REAL(time_end);
    END_IF
    timer(IN:=NOT xVar, PT:=T#60s);

  4. #4

    По умолчанию

    Существуют 2 варианта:
    1. Самый распространенный. Цикл ПЛК много короче, чем период срабатывания датчика. Тогда различные триггера вам в помощь.
    2. Цикл ПЛК много длинее часты срабатывания датчика. Тогда быстрые входы со счетчиками и анализируйте число срабытаваний в каждом цикле.

  5. #5

    По умолчанию

    Спасибо за ответ, а скажите, код выше будет работать? Или не будет работать и почему?

  6. #6

    По умолчанию

    Нет, потому что надо считать интервал между фронтами импульсов.

  7. #7

    По умолчанию

    Цитата Сообщение от ASo Посмотреть сообщение
    Нет, потому что надо считать интервал между фронтами импульсов.
    Т.е. использовать R_TRIG?

    Код:
    RTR : R_TRIG;
    Код:
    RTR(CLK:=xVar);
    IF RTR.Q THEN
    	time_end:=timer.ET;
    	spped_rotate:=60/TIME_TO_REAL(time_end);
    END_IF
    timer(IN:=NOT RTR.Q, PT:=T#60s);
    Если неправильно, то подскажите как сделать, или может подскажете что почитать по этой теме?

  8. #8

    По умолчанию

    Нет. Вы теряете один цикл на сброс таймера. Надо работать напрямую с системным временем.
    А вообще - все давно придумано. http://www.oscat.de/ блок M_TX

  9. #9

    По умолчанию

    А можете подсказать, каким образом можно попрактиковаться? Где можно взять какие-нибудь задания, чтобы вникнуть в специфику ПЛК?

  10. #10

    По умолчанию

    У ПЛК нет специфики перед обычным программированием, кроме цикличности его работы.
    Последний раз редактировалось ASo; 02.01.2014 в 13:25.

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

Похожие темы

  1. УТ-24 не могу понять по инструкции как настроить
    от Вячеслав92 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 27.11.2013, 15:02
  2. примеры программирования
    от ilf в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 20.07.2010, 15:33
  3. Начала программирования
    от mishutka в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 12.11.2007, 14:31
  4. Ответов: 11
    Последнее сообщение: 27.07.2007, 12:53

Ваши права

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