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

Вопрос по ADAM-5510

 Ответить Ответить
Автор
Сообщение
edcome Смотреть выпадающим
Новичок
Новичок


Присоединился: 10 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 3
Свойства публикации Свойства публикации   Ответить, цитируя автора - edcome Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Вопрос по ADAM-5510
    Опубликовано: 20 Март 2008 09:41
Использую COM4 контроллера ADAM-5510 для управления частотниками Danfoss по RS485 (COM2 занят под другую сеть RS485). Сеть работает в тяжелых условиях. Посылка сообщения состоит из 16 байт (FC телеграмма), последний байт - контрольная сумма. При обмене иногда происходит изменение какого-либо бита в сообщении и соответственно - затем это обнаруживается в несовпадении контрольной суммы. Испульзую библиотечные функции Advantech для работы с COM4. Но никакой реакции на прием ошибочного байта нет, и в библиотеке нет функций контроля статуса порта. Ведь в этом случае должна возникать ошибка паритета (9600,even,1stop) и в UART устанавливаться соответствующий бит регистра состояния. Дело, конечно,
в помехе и с этим еще нужно работать. Но ведь ПО должно
это отлавливать.
Коллеги, посоветуйте что-нибудь дельное.
Заранее большое спасибо.
Наверх
Vald Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 02 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 427
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vald Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 20 Март 2008 15:09
По собственному опыту знаю, что анализ контрольной суммы зачастую не делается.  Да, она расписывается в документации, но, на приеме ее устройство не смотрит.  Кстати, то же и с паритетом.  А под win анализ паритета вообще отдельная радость. И в некоторых сочетаниях наличия паритета у передатчика и приемника спокойненько все пропускается при несовпадении. Совет один - смотреть принятые данные на достоверность : число принятых символов должно быть в вилке правильного ответа.  Плавающие числа должны быть плавающими.  Поля ответов должны иметь приемлемую длину и в них не должно быть лишних (не ожидаемых) символов.  Это все для символьных протоколов и когда есть возможность самому после приема посмотреть что же там пришло.
При экспериментах ни один чайник не пострадал

-----------
Плохому системному интегратору всегда OPC сервер мешает.
______________
Пишу на C++ за еду
Наверх
edcome Смотреть выпадающим
Новичок
Новичок


Присоединился: 10 Апрель 2006
Категория: Ukraine
Online Status: Offline
Публикации: 3
Свойства публикации Свойства публикации   Ответить, цитируя автора - edcome Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 20 Март 2008 16:11
Vald, спасибо за ответ. Может кто встречал более полное
описание архитектуры ADAM-5510? В стандартной доке есть
только базовые адреса СОМ1 и СОМ2, а СОМ4? Здесь http://forum.cta.ru/forum_posts.asp?TID=2360&PN=0&TPN=2 видел в листинге адрес DIP-пеключателя (138h). Значит где-то же
такая информация есть. То, что искаженный байт функция com_232_485_rx() возвращает без какого-либо уведомления, этого конечно быть не должно. Хотя-бы она его игнорировала.
Наверх
Semelenov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Октябрь 2003
Категория: Belarus
Online Status: Offline
Публикации: 141
Свойства публикации Свойства публикации   Ответить, цитируя автора - Semelenov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Сентябрь 2011 10:52
Я тоже хотел бы узнать адреса для СОМ4...
Буду очень благодарен, если у кого есть такая информация
Наверх
poison Смотреть выпадающим
Участник
Участник
Аватар

Присоединился: 02 Декабрь 2010
Online Status: Offline
Публикации: 68
Свойства публикации Свойства публикации   Ответить, цитируя автора - poison Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Сентябрь 2011 09:19

Доброе время суток!

Адреса Com портов контроллера Адам 5510

COM1 -  0x03F8

COM2 -  0x02F8

COM_PGM -    0xFF80 

COM4 -  0x03E8  

Микросхемы приемопередатчиков для Com1, Com2 и Com4 одинаковые эта UART 16550

А порт  COM_PGM (Com3) является частью центрального контроллера  R8800.

В свае время мне надоел гавно код стандартной библиотеки, и я разработал сваю библиотеку, которая работает с com портами контроллера Адам 5510.

Наверх
4e6yPaTuHo Смотреть выпадающим
Новичок
Новичок


Присоединился: 06 Сентябрь 2011
Online Status: Offline
Публикации: 2
Свойства публикации Свойства публикации   Ответить, цитируя автора - 4e6yPaTuHo Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Сентябрь 2011 15:25
  Добрый день! Может кто сталкивался с подобным или что-нибудь подскажет. Имеется блок ADAM-5050, 8 выходов которого (с 0 по 7й) сконфигурированы как входные, а другие 8 - на выход. Проблема в том, что последние продолжают работать только на вход. При подаче на них сигнала принимают значение 1цы, но напряжения на выходе не коммутируется. Если подключить к какому либо выходному каналу внешнюю нагрузку, то он также принимает значение 1цы... Что скажете, товарищи спецы? Блок "умер"?Cry 
Наверх
Semelenov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 15 Октябрь 2003
Категория: Belarus
Online Status: Offline
Публикации: 141
Свойства публикации Свойства публикации   Ответить, цитируя автора - Semelenov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Сентябрь 2011 10:59
Poison !!!
Большое спасибо за информацию !!!
Наверх
Kanzi Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 27 Сентябрь 2006
Online Status: Offline
Публикации: 125
Свойства публикации Свойства публикации   Ответить, цитируя автора - Kanzi Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Сентябрь 2011 23:23
Первоначально опубликовано edcome

Использую COM4 контроллера ADAM-5510 для управления частотниками Danfoss по RS485 (COM2 занят под другую сеть RS485). Сеть работает в тяжелых условиях. Посылка сообщения состоит из 16 байт (FC телеграмма), последний байт - контрольная сумма. При обмене иногда происходит изменение какого-либо бита в сообщении и соответственно - затем это обнаруживается в несовпадении контрольной суммы. Испульзую библиотечные функции Advantech для работы с COM4. Но никакой реакции на прием ошибочного байта нет, и в библиотеке нет функций контроля статуса порта. Ведь в этом случае должна возникать ошибка паритета (9600,even,1stop) и в UART устанавливаться соответствующий бит регистра состояния. Дело, конечно,
в помехе и с этим еще нужно работать. Но ведь ПО должно
это отлавливать.
Коллеги, посоветуйте что-нибудь дельное.
Заранее большое спасибо.

Есть возможность использовать CAN? Там аппаратная реализация проверки ошибок.
Наверх
 Ответить Ответить

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

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