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

ADAM-5510 или 5511?

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


Присоединился: 13 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 16
Свойства публикации Свойства публикации   Ответить, цитируя автора - SeVa Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: ADAM-5510 или 5511?
    Опубликовано: 22 Январь 2004 11:39

скажите, пожалуйста, уважаемые специалисты, чем ПРИНЦИПИАЛЬНО отличается 5511 от 5510? поддержка ModBus-это понятно...

проблема такая: кроме опроса состояния модулей серии 5000 у нас происходит опрос устройств через порт (RS-485). Связь с ПК осуществляется через СОМ-порт (RS-232).
 опрос всех устройств через порт(RS-485) иногда занимает более 1сек.
 В общей линии находятся более 2шт. ADAM-5510.
 В связи с этим при связи ПК с ADAM`и-5510  (с частотой менее 1 сек) связь неустойчивая. (получается ситуация: когда приходит пакет, ADAM-5510 не может ответить, так как "занят")
  ( исходя из того, что DOS-"однопоточная", т.е. одновременно
    выполняется только один процесс ADAM-5510 не может инициировать
    "прерывание" и обработать принимаемый пакет? Что-то вроде этого?
  )
 
 ВОПРОС:
 Реализовано ли что-то, чтобы этого избегать в ADAM-5511?
 (Слышал где-то или читал, что у ADAM-5511 нужно просто назначать
 переменные, значения которых нужно передавать и их порядок. +
 назначить нужный порт как "Modbus slave"...)

можно ли каким-нибудь образом повысить частоту опроса (при стабильности доставки и ответа)?

Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Январь 2004 13:33
Первоначально опубликовано SeVa

скажите, пожалуйста, уважаемые специалисты, чем ПРИНЦИПИАЛЬНО отличается 5511 от 5510? поддержка ModBus-это понятно...

Принципиально:

1. Наличием Flash-диска 512K (400K свободно для пользователя).

2. Более новым BIOS.

Если я правильно понял, у Вас ADAM-5510 занимается опросом других модулей по RS-485, и при этом сам опрашивается по RS-232. Скажите, а  чем Вы пользовались, когда писали программу для него? Штатными библиотеками для Borland C?

Ваше рассуждение об однопоточности ДОС здесь не совсем уместно, хотя и верно: работа с портами ведется по прерываниям, и ДОС тут, вообще говоря, ни при чем. При обработке прерываний, COM2 имеет больший приоритет, чем COM1.

Первоначально опубликовано SeVa

можно ли каким-нибудь образом повысить частоту опроса (при стабильности доставки и ответа)?

Не уверен насчет частоты опроса - она, в основном, определяется аппаратными характеристиками. А надежность повысить, конечно, можно, грамотно описав в своей программе работу с портами.

Инженер-системотехник
+7 (916) 477 3925
Наверх
SeVa Смотреть выпадающим
Новичок
Новичок


Присоединился: 13 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 16
Свойства публикации Свойства публикации   Ответить, цитируя автора - SeVa Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Январь 2004 11:02

Если я правильно понял, у Вас ADAM-5510 занимается опросом других модулей по RS-485, и при этом сам опрашивается по RS-232. Скажите, а  чем Вы пользовались, когда писали программу для него? Штатными библиотеками для Borland C?

по RS-485 происходит опрос датчиков, по RS-232 через адам4520 организуется общая сеть RS-485 (2 и более ADAM-5510)- и потом к компьютеру через 4520.   

Да, этими библиотеками.. (они "кривые"?)

 

Ваше рассуждение об однопоточности ДОС здесь не совсем уместно, хотя и верно: работа с портами ведется по прерываниям, и ДОС тут, вообще говоря, ни при чем. При обработке прерываний, COM2 имеет больший приоритет, чем COM1.

т.е. вы рекомендуете перейти на сом2?

 

Первоначально опубликовано SeVa

можно ли каким-нибудь образом повысить частоту опроса (при стабильности доставки и ответа)?

Не уверен насчет частоты опроса - она, в основном, определяется аппаратными характеристиками. А надежность повысить, конечно, можно, грамотно описав в своей программе работу с портами.

(что значит грамотно?

программа в Си:

1

2

3

4

она "крутиться бесконечно".

1-команда устройству на опрос+небольшая пауза для формирования ответа 2-проверка входящего буфера+обработка

3-опрос модулей 5510

4-проверка буфера приема от РС, если пакет корректен-> ответ)

[/QUOTE]

в основном, по этому принципу все "крутиться"...

Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 28 Январь 2004 14:04
Первоначально опубликовано SeVa

Штатными библиотеками для Borland C? Да, этими библиотеками.. (они "кривые"?)

Нет, не "кривые". Но они написаны слишком незатейливо. К примеру, задержка там выполняется с помощью пустого цикла.

Первоначально опубликовано SeVa

т.е. вы рекомендуете перейти на сом2?

Нет, я рекомендую переписать обмен с модулями вручную. COM1 и COM2 - это обычные UART (но не COM3!), и обращаться с ними нужно соответственно. Написать обработчик прерываний для каждого порта, который бы занимался приемом и передачей данных из буферов. А анализировать содержимое буферов можно и в теле основной программы. Тогда сообщение с верхнего уровня у Вас будет храниться в буфере до тех пор, пока программа его не обработает, а максимальная задержка будет равна максимальному времени цикла программы.

Немножко поменяем порядок для экономии времени:

1-команда устройству на опрос

3-опрос модулей 5510

2-проверка входящего буфера+обработка

4-проверка буфера приема от РС, если пакет корректен-> ответ

Будут некоторые тонкости при программировании, связанные с тем, что ADAM-5510 построен на однокристаллке Am188EM. В первую очередь это иной, чем у PC, контроллер прерываний и таймер. Существенно поможет документация на этот процессор, вот список:

http://www.amd.com/epd/processors/2.16bitcont/2.am186exfa/4.am186em/index.html

Обмен данными по двум портам достижим и хорошо работает, это было реализовано в системе UltraLogik. Разумеется, UltraLogik не использует штатные библиотеки от Advantech, там все реализовано напрямую.

Если будут вопросы, можете задать их на info@prosoft.ru

Инженер-системотехник
+7 (916) 477 3925
Наверх
Evgeniy_MK Смотреть выпадающим
Новичок
Новичок


Присоединился: 24 Июнь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - Evgeniy_MK Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 29 Январь 2004 17:49

Вопрос к Максиму А.-

если можно, чуть поподробнее о "достижении хорошей работы в системе UltraLogik по COM1 и COM2"

вопрос задан в связи с задачей использования 5510 запрограммированного на Ultralogic c ведомым контроллером ADAM-5000, подключенного через СОМ1/2. Есть ли в Ultralogic "свои"  функции опроса модулей ADAM-5000 подключенных таким образом? Или  придется реализовывать обмен пользователю, с применением переписанных функций Ultralogic'a?

 

 

Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 29 Январь 2004 19:03
Первоначально опубликовано Evgeniy_MK

Есть ли в Ultralogic "свои"  функции опроса модулей ADAM-5000 подключенных таким образом? Или  придется реализовывать обмен пользователю, с применением переписанных функций Ultralogic'a?

К сожалению, встроенной возможности подключать модули ввода-вывода ADAM-4000/5000 в Ultralogik не предусмотрено. Таким образом, пользователю нужно написать свой собственный модуль на C/C++, который реализовывал бы эту функцию, и здесь открывается большой простор для творчества. К счастью, протокол обмена у ADAM'ов весьма простой, и существует столь же простой пример подобной программы, который мы можем выслать по электронной почте всем желающим.

Инженер-системотехник
+7 (916) 477 3925
Наверх
myrob Смотреть выпадающим
Новичок
Новичок


Присоединился: 07 Август 2003
Категория: Ukraine
Online Status: Offline
Публикации: 36
Свойства публикации Свойства публикации   Ответить, цитируя автора - myrob Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Март 2004 13:56
Если можете, то вышлите myrob@kipt.kharkov.ua
Наверх
 Ответить Ответить

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

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