Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 13 из 13

Тема: СПК107 не работает ФБ UNM_SerialRequest OwenCommunication

  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,929

    По умолчанию

    первый символ ответа приходит спустя 8 мкс после последнего символа запроса
    И на стороне slave-устройства нет никакой настраиваемой задержки перед ответом?

    Если переключить порт с записи на чтение можно только в цикле ПЛК
    Можете попробовать организовать работу с портом через библиотеку SysCom.
    Она работает синхронно, так что позволяет реализовать отправку запроса и получение ответа в пределах одного цикла.
    Возможно, в вашем случае этого окажется достаточно (но уверенности нет).

  2. #12

    По умолчанию

    И на стороне slave-устройства нет никакой настраиваемой задержки перед ответом?
    К сожалению нет, это электронная нагрузка АКИП (он же ITECH) с ПО от NI

    Можете попробовать организовать работу с портом через библиотеку SysCom.
    Она работает синхронно, так что позволяет реализовать отправку запроса и получение ответа в пределах одного цикла.
    Возможно, в вашем случае этого окажется достаточно (но уверенности нет).
    А вот это получилось с библиотекой CAA SerialCom! Сделал в пределах одного цикла ПЛК вызовы блока Write по циклу WHILE, пока не будет ошибки или выполнено, после чего вызывается блок Read

    Проблема теперь другая: блок Read выдаёт затроение ответа. То есть терминалом я вижу определённую последовательность символов ответа (она правильная), а блок Read помещает в буфер три такие же последовательности подряд (никаких дополнительных символов в промежутках и по краям нет). Блок Read вызываю без цикла WHILE по одному вызову в цикле ПЛК

  3. #13

    По умолчанию

    Проблема теперь другая: блок Read выдаёт затроение ответа. То есть терминалом я вижу определённую последовательность символов ответа (она правильная), а блок Read помещает в буфер три такие же последовательности подряд (никаких дополнительных символов в промежутках и по краям нет). Блок Read вызываю без цикла WHILE по одному вызову в цикле ПЛК
    Оказалось всё банально просто: я забыл оконечный нулевой байт при формировании строки из массива байтов, поэтому просто читал не только свою новую строку, но и старые данные, в которых оказались такие же ответы.

    В итоге опрос быстроотвечающего устройства получился такой: при помощи библиотеки CAA SerialCom в одном цикле ПЛК вызывается блок Write в цикле WHILE, пока не выполнится, после чего один раз вызывается блок Read, а уже следующим циклом ПЛК повторный вызов блока Read даёт ответ от устройства

    Спасибо!

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Библиотека OwenCommunication (релиз версии 3.5.11.7)
    от Евгений Кислов в разделе Библиотеки CODESYS
    Ответов: 5
    Последнее сообщение: 05.03.2024, 11:05
  2. Ответов: 2
    Последнее сообщение: 09.10.2019, 17:38
  3. Переход с СПК107 на СПК107 [М01]
    от eigor_vl в разделе СПК210, СПК1xx [М01]
    Ответов: 2
    Последнее сообщение: 18.04.2019, 12:15
  4. ПЛК 160. Не работает...
    от Scream в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 31.10.2013, 10:44
  5. Не работает ПД-100
    от Боднар Олег Миколайович в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 03.07.2008, 13:40

Ваши права

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