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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Александр Приходько Посмотреть сообщение
    При таком алгоритме вы делаете постоянный обмен, но помните, желательно между запросами ответами делать паузы, чтобы не перегружать линию интерфейса.
    как понять что линия перегружена и чем это чревато?
    у меня на шине rs485 сидит 6 устройств, у каждого в настройках задержка ответа 5мс, в программе плк интервал между запросом и приемом ответа 1 цикл, время ожидания ответа 150мс, пауза между запросами на разные модули 2 цикла.
    и еще вопрос - в вашем примере по нестандартным протоколам все время выделена красным цветом ошибка invalid handle: 0, хотя связь есть, данные приходят без ошибок. в чем смысл этого?

  2. #2

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    как понять что линия перегружена и чем это чревато?
    у меня на шине rs485 сидит 6 устройств, у каждого в настройках задержка ответа 5мс, в программе плк интервал между запросом и приемом ответа 1 цикл, время ожидания ответа 150мс, пауза между запросами на разные модули 2 цикла.
    и еще вопрос - в вашем примере по нестандартным протоколам все время выделена красным цветом ошибка invalid handle: 0, хотя связь есть, данные приходят без ошибок. в чем смысл этого?
    Увидите сразу пойдут ошибки, прибор не будет отвечать и все в таком духе. Как правило такой эффект наблюдается, если в устройство слать огромное число запросов, а оно не будет успевать на все отвечать. Очень плохое качество обмена будет. Т.к. у вас весы, то можно обмен делать одн раз в 300-500 мс, думаю вполне достаточно.

    То что красным подсвечивает, как написал Валенок, внимание просто не обращайте. В самом Codesys значение 0 в данной переменной вроде как не корректно, но для наших устройств RS-485 это именно порт 0.


    Валенок, я может немного не корректно выразился. Тут не совсем проблема в SysLibCom, а совокупность времени работы и сетевого обмена.

    Как мне показалось библиотека UNM сильно меньше на цикл влияет.

  3. #3

    По умолчанию

    Мне не совсем понятно почему работает программа, которую я выкладывал. В качестве прототипа для разработки я брал пример, расположенные в разделе "ПЛК - примеры программ и полезности".
    В описании библиотеки "SysLibCom.lib" сказано, что функции "SysComClose", "SysComSetSettings", "SysComWrite", "SysComRead" работают по дискриптору порта, возвращаемому функцией "SysComOpen", а фактически в программе используется значение перечисления PORTS. Не является ли это ошибкой и не может ли быть причиной некоторых некоректностей при выполнении?
    Последний раз редактировалось lpp; 03.08.2011 в 13:34.

Ваши права

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