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

Работа с портами RS-232 в GeniDAQ

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


Присоединился: 19 Май 2004
Категория: Belarus
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - Joss Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Работа с портами RS-232 в GeniDAQ
    Опубликовано: 19 Май 2004 17:02
Моя проблема. Я управляю через СОМ-порт с ADAM4520 двумя
самодельными контроллерами на процессорах 18F6720 (ADAM4521), ADAM4018, ADAM4021. Всё работает, но иногда возникают конфликты т.к. обращения к порту не cнхронизированы. А применение ОРС було не целесообразно, т.к. он не поддерживает произвольный обмен по порту RS-232. Я решил разнести всю систему на три порта, по порту на контроллеры, и всё остальное на третий. Поскольку контроллеры могут работать чисто на RS-232, то я их так и подключил. А на третий порт оставил ADAM4520. И вот начались фокусы. Я могу или снимать данные с ADAM4018 или управлять контроллерами. Если я в задаче указываю и то и другое, то GeniDAQ (да и AdamView) глухо вешается и снять их можно только через окно диспетчера задач, да и то с большим трудом. Вы не можете сказать в чем дело? Может GeniDAQ не поддерживает одновременную
работу с несколькими СОМ портами? Пробовал ставить ОРС - не помогает. Как быть? Нужен совет.
Наверх
KozlovKS Смотреть выпадающим
Prosoft.ru
Prosoft.ru


Присоединился: 21 Июнь 2003
Online Status: Offline
Публикации: 432
Свойства публикации Свойства публикации   Ответить, цитируя автора - KozlovKS Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Май 2004 17:26
Попробуйте разнести опрос портов в разные задачи (TASK). Тогда модно задать разное время опроса или приоритеты. Возможно сейчас идет конфликт, так как в задаче блоки опрашиваются последовательно и опрос одного порта не успевает закончится до начала следующего или уже начианется опрос данной задачи по новой.
Наверх
Joss Смотреть выпадающим
Новичок
Новичок


Присоединился: 19 Май 2004
Категория: Belarus
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - Joss Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Май 2004 18:01
Опрос портов и так разнесен в разные задачи. Конфликт заключается в том, что иногда вместо сообщений контроллера, я принимаю данные с термопар. А это сбивает программу. Это когда все устройства на одном порту. А когда на разных, то задача не вывдает ни какой информации, ни какие кнопки не нажимаются, индикаторы ничего не отражают. Попытка остановить задачу средствани GeniDAQ не дает результата. Снять задачу можно только средствами Windows. У меня Windows 98 SE. Может дело в операционке?
Наверх
Serge Pocorny Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 23 Июнь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 172
Свойства публикации Свойства публикации   Ответить, цитируя автора - Serge Pocorny Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 20 Май 2004 18:38
Не совсем понятно. Вы используете стандартные драйверы ADAM или функциональные блоки RS-232 и пишете команды скриптом?
Под W98 всегда работало безотказно, там все примитивно. Ответы могут путаться по временным параметрам (в ответах нет маркера-идентификатора).
Пробовали в терминале опросить?
 
С наилучшими пожеланиями,
Сергей Покорный

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


Присоединился: 19 Май 2004
Категория: Belarus
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - Joss Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Май 2004 10:04

..."Ответы могут путаться по временным параметрам (в ответах нет маркера-идентификатора)."

так и есть. Использую стандартные драйверы ADAM. C проблемой разобрался. Правда ушло много времени и нервов. У меня был панельный компьютер с 4 СОМ портами. и прерывания были выставлены следующие СОМ 1 - 4, СОМ 2 - 3, СОМ 3 - 4, СОМ 4 - 3. Windows 98 это воспринимает спокойно. Ни каких сообщений о конфликтах. И оказалось, что когда ты внешние устройства распологаешь на СОМ1 - СОМ 3 или СОМ 2 - СОМ 4, то GeniDAQ вешается, наступает конфликт устройств. Это я обнаружил, когда с горя начал ставить Win 2000. После того, как я изменил прерывания на 4/3/10/5 - всё заработало. Нигде в документации я такой особенности не встречал. Век живи - век учись!!! 

 

Наверх
 Ответить Ответить

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

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