![]() |
Работа с портами RS-232 в GeniDAQ |
Ответить ![]() |
Автор | |
![]() Новичок ![]() Присоединился: 19 Май 2004 Категория: Belarus Online Status: Offline Публикации: 4 |
![]() ![]() ![]() ![]() Опубликовано: 19 Май 2004 17:02 |
Моя проблема. Я управляю через СОМ-порт с ADAM4520 двумя
самодельными контроллерами на процессорах 18F6720 (ADAM4521), ADAM4018, ADAM4021. Всё работает, но иногда возникают конфликты т.к. обращения к порту не cнхронизированы. А применение ОРС було не целесообразно, т.к. он не поддерживает произвольный обмен по порту RS-232. Я решил разнести всю систему на три порта, по порту на контроллеры, и всё остальное на третий. Поскольку контроллеры могут работать чисто на RS-232, то я их так и подключил. А на третий порт оставил ADAM4520. И вот начались фокусы. Я могу или снимать данные с ADAM4018 или управлять контроллерами. Если я в задаче указываю и то и другое, то GeniDAQ (да и AdamView) глухо вешается и снять их можно только через окно диспетчера задач, да и то с большим трудом. Вы не можете сказать в чем дело? Может GeniDAQ не поддерживает одновременную работу с несколькими СОМ портами? Пробовал ставить ОРС - не помогает. Как быть? Нужен совет. |
|
![]() |
|
![]() Prosoft.ru ![]() Присоединился: 21 Июнь 2003 Online Status: Offline Публикации: 432 |
![]() ![]() ![]() ![]() |
Попробуйте разнести опрос портов в разные задачи (TASK). Тогда модно задать разное время опроса или приоритеты. Возможно сейчас идет конфликт, так как в задаче блоки опрашиваются последовательно и опрос одного порта не успевает закончится до начала следующего или уже начианется опрос данной задачи по новой.
|
|
![]() |
|
![]() Новичок ![]() Присоединился: 19 Май 2004 Категория: Belarus Online Status: Offline Публикации: 4 |
![]() ![]() ![]() ![]() |
Опрос портов и так разнесен в разные задачи. Конфликт заключается в том, что иногда вместо сообщений контроллера, я принимаю данные с термопар. А это сбивает программу. Это когда все устройства на одном порту. А когда на разных, то задача не вывдает ни какой информации, ни какие кнопки не нажимаются, индикаторы ничего не отражают. Попытка остановить задачу средствани GeniDAQ не дает результата. Снять задачу можно только средствами Windows. У меня Windows 98 SE. Может дело в операционке?
|
|
![]() |
|
![]() Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член ![]() ![]() Присоединился: 23 Июнь 2003 Категория: Russian Federation Online Status: Offline Публикации: 172 |
![]() ![]() ![]() ![]() |
Не совсем понятно. Вы используете стандартные драйверы ADAM или функциональные блоки RS-232 и пишете команды скриптом?
Под W98 всегда работало безотказно, там все примитивно. Ответы могут путаться по временным параметрам (в ответах нет маркера-идентификатора).
Пробовали в терминале опросить?
|
|
С наилучшими пожеланиями,
Сергей Покорный |
|
![]() |
|
![]() Новичок ![]() Присоединился: 19 Май 2004 Категория: Belarus Online Status: Offline Публикации: 4 |
![]() ![]() ![]() ![]() |
..."Ответы могут путаться по временным параметрам (в ответах нет маркера-идентификатора)." так и есть. Использую стандартные драйверы ADAM. C проблемой разобрался. Правда ушло много времени и нервов. У меня был панельный компьютер с 4 СОМ портами. и прерывания были выставлены следующие СОМ 1 - 4, СОМ 2 - 3, СОМ 3 - 4, СОМ 4 - 3. Windows 98 это воспринимает спокойно. Ни каких сообщений о конфликтах. И оказалось, что когда ты внешние устройства распологаешь на СОМ1 - СОМ 3 или СОМ 2 - СОМ 4, то GeniDAQ вешается, наступает конфликт устройств. Это я обнаружил, когда с горя начал ставить Win 2000. После того, как я изменил прерывания на 4/3/10/5 - всё заработало. Нигде в документации я такой особенности не встречал. Век живи - век учись!!!
|
|
![]() |
Ответить ![]() |
Переход на форум | Права доступа на форуме ![]() Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |