Показано с 1 по 10 из 36

Тема: плк63-пм01 потеря байт

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

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

    По умолчанию

    1. писав этот кусок я и предполагал, что я принимаю 1 байт, но в цикле - т.е. до посинения (или столько, сколько придёт). я же заранее не знаю длину ответа. в принципе, работает похоже. а Concat - чтобы собрать всё полученное сообщение в одну строку (в один буфер), который потом анализировать, что именно это было.
    т.е. идея следующая:
    а) даём команду прочесть сообщение (пока затычка в виде At&v)
    б) получаем сообщение (ответ на At&v)
    в) анализируем, что пришло: команда или опрос состояния (до сюда пока не дошли)
    г) выполняем и направляем смс с ответом (до сюда тоже)
    при этом понимаем, что смс может не дойти, задержаться на сутки в пути и т.д. т.е. применение исключительно бытовое и ни в коем случае не промышленное.
    2. по второму замечанию совершенно согласен, завтра вечером опробую. только строковый Concat появился недавно (в каком-то примере подсмотрел), раньше было сделано как раз через побайтное копирование буфера. всё было также. но для чистоты эксперимента завтра обязательно перепроверю.

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

    По умолчанию

    Попробовал код:
    i:=0;
    (* функцию STRCOPY не нашёл в библиотеках и компилятор её тоже сам не опознал
    STRCOPY(rcvBUFfull,"",1);
    пока оставил старый вариант
    *)
    rcvBUFstr:='';
    END_IF
    ELSE
    (* здесь чуть не так
    cr:=SysComRead(com_num,ADR(rcvBUFfull+i),1,0);
    если я правильно понял идею...*)
    cr:=SysComRead(com_num,ADR(rcvBUFfull)+i,1,0);
    IF cr>0 THEN
    i:=i+1;
    END_IF
    END_IF

    К сожалению - не изменилось ровным счётом ничего!
    Исправленный проект цепляю.
    Вложения Вложения

Ваши права

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