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

Тема: SysLibCom.lib помощ

  1. #11

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    первое - буфер всего 1, размер толи 512 толи 1024 байта.
    второе - перед выполнением функции syscomwrite необходимо выполнять syscomread до тех пор, пока возвращаемое значение считанных байт не станет = 0 и только после этого syscomwrite. в противном случае будут возникать ошибки приема либо зависание плк с последующей перезагрузкой.
    если ничего не напутано, то вопросы про работу приемника сами отпадают - он просто принимает то что приходит, а анализ буфера выполняется программой.
    syscomread и syscomwrite работают с тем портом (номер), который указывается при вызове этой функции.
    Уважаемый swerder, вы ответили на мой вопрос про принципы работы порта хотя я, разобравшись, удалил их из своего сообщения. Ниже приведены ссылки на примеры работы с портом. Вместе с одним из примеров дано неплохое описание этих самых принципов.

    Инициализация порта
    примеры работы с нестандартными протоколами обмена

    Все равно спасибо.
    С уважением.

  2. #12

    По умолчанию

    Столкнулся с проблемой при реализации нестандартного протокола с уровнемерами. Делаю на ПЛК100 через rs-485 и SysComLib.

    Протокол аскишный. Сделал проект на основе примера №2 по ссылке из прошлого сообщения. Проблема в том, что после чтения в буферной строке оказывается мусор, не смотря на то что датчик отвечает правильной длиной (количество реально принятых байт соответствует). Может кто-нибудь что-то посоветует?
    Прочитал несколько тем, в том числе и эту. В примерах работа с портом разбита не на 3 цикла а на 2 (чтение и запись, без очистки чтением). Может ли это как-то влиять? Хотя с чтением перед записью я тоже пробовал.
    Еще такой вопрос, корректно ли передавать в функцию чтения указатель на строку, а не на массив байтов, как в примере? Не происходит ли тут каких-то сдвигов?
    Последний раз редактировалось Скрипник Александр; 22.06.2012 в 15:35.

  3. #13

    По умолчанию

    Отвечу сам себе. С SysComLib у меня так и не получилось. Переделал программу на UNM и заработало сразу. Немного пришлось повозиться с адаптацией примеров для SysComLib под UNM. Покопался, но адекватного примера UNM под ST не нашел. Может плохо искал.

    Выкладываю блок записи/чтения, который у меня получился. Может кто-то найдет чего в нем можно улучшить.
    Вложения Вложения

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

Ваши права

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