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

Тема: AT command

  1. #1
    Пользователь Аватар для JoSaint
    Регистрация
    09.05.2010
    Адрес
    Украина Донецк
    Сообщений
    66

    По умолчанию AT command

    IF output1 THEN
    enable_to_send:=TRUE;
    END_IF;
    r_trig2(clk:=enable_to_send);
    IF enable_to_send THEN
    WHILE NOT(cmd_ok_ok) DO
    SendReceive(enable:=r_trig2.Q , port_num:=0 , cmd_str:='AT$R');
    IF (SendReceive.k_receive_byte>0) THEN
    answer_ok:=SendReceive.received_answer;
    col_symb_ok:= FIND( answer_ok, 'OK' );
    IF (col_symb_ok=6) THEN
    cmd_ok_ok:=TRUE;
    ELSE
    cmd_ok_ok:=FALSE;
    END_IF;
    END_IF;
    END_WHILE;
    enable_to_send:=FALSE;
    END_IF;

    Что тут военного почему ПЛК виснет???
    Последний раз редактировалось JoSaint; 06.04.2011 в 12:55.
    ООО "Акватехнологии" Донецк, Украина

  2. #2

    По умолчанию

    в сканирующих контроллерах нельзя ждать событие в цикле

  3. #3
    Пользователь Аватар для JoSaint
    Регистрация
    09.05.2010
    Адрес
    Украина Донецк
    Сообщений
    66

    По умолчанию

    просьба есть рассказать поподробнее или если есть ссылка где можно почитать об этом! заранее спасибо
    ООО "Акватехнологии" Донецк, Украина

  4. #4
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Контроллер понимает такое зацикливание, как зависание и перегружается.
    Иногда это применяют намеренно, для перезагрузки ПЛК.

  5. #5

    По умолчанию

    JoSaint у вас в цикле while do идет ожидание чего-то там, которое скорее всего просто затягивается на очень длительный срок и выхода из этого цикла в течении 1сек (по умолчанию) нет - зависание, перезагрузка

Ваши права

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