ADAM-5510 или 5511? |
Ответить |
Автор | ||
Новичок Присоединился: 13 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 16 |
Опубликовано: 22 Январь 2004 11:39 |
|
скажите, пожалуйста, уважаемые специалисты, чем ПРИНЦИПИАЛЬНО отличается 5511 от 5510? поддержка ModBus-это понятно... проблема такая: кроме опроса состояния модулей серии 5000 у нас происходит опрос устройств через порт (RS-485). Связь с ПК осуществляется через СОМ-порт (RS-232). можно ли каким-нибудь образом повысить частоту опроса (при стабильности доставки и ответа)? |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||
Принципиально: 1. Наличием Flash-диска 512K (400K свободно для пользователя). 2. Более новым BIOS. Если я правильно понял, у Вас ADAM-5510 занимается опросом других модулей по RS-485, и при этом сам опрашивается по RS-232. Скажите, а чем Вы пользовались, когда писали программу для него? Штатными библиотеками для Borland C? Ваше рассуждение об однопоточности ДОС здесь не совсем уместно, хотя и верно: работа с портами ведется по прерываниям, и ДОС тут, вообще говоря, ни при чем. При обработке прерываний, COM2 имеет больший приоритет, чем COM1.
Не уверен насчет частоты опроса - она, в основном, определяется аппаратными характеристиками. А надежность повысить, конечно, можно, грамотно описав в своей программе работу с портами. |
||
Инженер-системотехник
+7 (916) 477 3925 |
||
Новичок Присоединился: 13 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 16 |
||
Если я правильно понял, у Вас ADAM-5510 занимается опросом других модулей по RS-485, и при этом сам опрашивается по RS-232. Скажите, а чем Вы пользовались, когда писали программу для него? Штатными библиотеками для Borland C? по RS-485 происходит опрос датчиков, по RS-232 через адам4520 организуется общая сеть RS-485 (2 и более ADAM-5510)- и потом к компьютеру через 4520. Да, этими библиотеками.. (они "кривые"?)
Ваше рассуждение об однопоточности ДОС здесь не совсем уместно, хотя и верно: работа с портами ведется по прерываниям, и ДОС тут, вообще говоря, ни при чем. При обработке прерываний, COM2 имеет больший приоритет, чем COM1. т.е. вы рекомендуете перейти на сом2?
Не уверен насчет частоты опроса - она, в основном, определяется аппаратными характеристиками. А надежность повысить, конечно, можно, грамотно описав в своей программе работу с портами. (что значит грамотно? программа в Си: 1 2 3 4 она "крутиться бесконечно". 1-команда устройству на опрос+небольшая пауза для формирования ответа 2-проверка входящего буфера+обработка 3-опрос модулей 5510 4-проверка буфера приема от РС, если пакет корректен-> ответ) [/QUOTE] в основном, по этому принципу все "крутиться"... |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||
Нет, не "кривые". Но они написаны слишком незатейливо. К примеру, задержка там выполняется с помощью пустого цикла.
Нет, я рекомендую переписать обмен с модулями вручную. 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 |
||
Новичок Присоединился: 24 Июнь 2003 Категория: Ukraine Online Status: Offline Публикации: 5 |
||
Вопрос к Максиму А.- если можно, чуть поподробнее о "достижении хорошей работы в системе UltraLogik по COM1 и COM2" вопрос задан в связи с задачей использования 5510 запрограммированного на Ultralogic c ведомым контроллером ADAM-5000, подключенного через СОМ1/2. Есть ли в Ultralogic "свои" функции опроса модулей ADAM-5000 подключенных таким образом? Или придется реализовывать обмен пользователю, с применением переписанных функций Ultralogic'a?
|
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||
К сожалению, встроенной возможности подключать модули ввода-вывода ADAM-4000/5000 в Ultralogik не предусмотрено. Таким образом, пользователю нужно написать свой собственный модуль на C/C++, который реализовывал бы эту функцию, и здесь открывается большой простор для творчества. К счастью, протокол обмена у ADAM'ов весьма простой, и существует столь же простой пример подобной программы, который мы можем выслать по электронной почте всем желающим. |
||
Инженер-системотехник
+7 (916) 477 3925 |
||
Новичок Присоединился: 07 Август 2003 Категория: Ukraine Online Status: Offline Публикации: 36 |
||
Если можете, то вышлите myrob@kipt.kharkov.ua
|
||
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |