Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Программное обеспечение
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Взаимодействие с ADAM-4000 по RS-232 проблемы опроса

 Ответить Ответить
Автор
Сообщение
Dismay Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464
Свойства публикации Свойства публикации   Ответить, цитируя автора - Dismay Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Взаимодействие с ADAM-4000 по RS-232 проблемы опроса
    Опубликовано: 01 Июнь 2006 09:47
При написании программы взаимодействия с модулями распределенного УСО Advantech ADAM-4000 из CoDeSys RTE через COM-порт RS-232 (конвертор RS-232/RS-485) возникла следующая проблема:
При опросе одного модуля даже при наличии нескольких в сети RS-485 все отлично работает. Как только пытаюсь обращаться к нескольким модулям возникает проблема выраженная в смещении данных на один модуль, то есть первый опрашиваемый модуль вообще не отвечает (функция SysComRead возвращает 0 байт по завершении таймаута) второй модуль получает данные первого модуля. Возможны различные вариации ситуации, результат один нарушение обмена при попытке отклонения обмена point-to-point. Пробывал устанавливать задержки между обращениями к модулям но эффекта это не возымело. Предпологаю что проблема в RS-485 (служебные команды или что то в этом роде). Опрос модуля реализован в виде FB на ST .
Буду признателен за подсказки. С уважением Dismay!
Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Июнь 2006 17:22
Что за конвертер? С автоматическим или ручным (по сигналам RTS или DTR) переключением прием/передача? Если передача закончена, но передатчик еще не отключился, то могут пропадать фрагменты или целые сообщения. Подключите еще один конвертер к другому компьютеру или Com порту, включите его жестко на прием и посмотрите любой терминальной программой, что реально происходит в сети.
Igor Petrov
Наверх
Dismay Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464
Свойства публикации Свойства публикации   Ответить, цитируя автора - Dismay Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 02 Июнь 2006 11:02
Конвертор ADVANTECH ADAM-4520 использую библиотеку CoDeSys SysLibCom.lib в общем то подробностей ее реализации я незнаю конечно. Насчет второго конвертора это мысль попробую обязательно пока есть правда только один но думаю что найду... Анализировал команды OPC серверов терминалом через нуль модемный кабель ничего крименального не увидел теже наборы команд ничего лишнего, расстроило что для аналоговых модулей используеться поканальный режим доступа и запросы OPC-клиентов напрямую транслируються модулям, что просто не может не приводить к провалам производительности в многопользовательской среде, это неправилльно.
Наверх
Dismay Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464
Свойства публикации Свойства публикации   Ответить, цитируя автора - Dismay Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 02 Июнь 2006 12:50
Подключил таки второй конвертор, в общем то все очень красиво выглядит, получаеться что функция SysComRead
по какой то причине принимает смещенный массив данных в терминале все как и должно быть играю задержками сейчас поставил 35мс на запись и столько же на чтение вроде работает но затыкаеться иногда и начинает читать ерунду
#01 пишем запрос
>>+000.63+000.42+000.46+000.46+000.46+000.67-000.02+000.46 получаем ответ
#02
>>+250.02+032.31+041.33+001.70+017.07+000.84+000.31+000.29
#01
>>+000.63+000.42+000.46+000.46+000.46+000.67+000.04+000.46
Наверх
Dismay Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464
Свойства публикации Свойства публикации   Ответить, цитируя автора - Dismay Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Июнь 2006 12:46
Все таки дело похоже было в таймингах подобрал рабочий вариант и немного загрубил вроде работает все попробую нарастить численность, что то до второго конвертора сам не дошел так что примного благодарен
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz