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

COM1 и COM4 ADAM-5510E/TCP

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


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: COM1 и COM4 ADAM-5510E/TCP
    Опубликовано: 15 Август 2005 15:07
Добрый день! Подскажите кому не лень почему не работает COM-4 на контроллере ADAM-5510E/TCP.
У контроллера 4 порта. Com1 - 232/485 (выбирается перемычкой), Com2 - 485,
Com3 (для программирования) и Com4 - 232/485 (выбирается перемычкой) .
Для работы с каждым портом предусмотрены свои функции в библиотеке которая идет с контроллером.
Нужно опрашивать устройства с RS-232. Одно устройство я подсоединил к COM-1, другое к COM-4. Устройство
описано классом, сокращенный исходный код которого приведен ниже. Так вот, устройство которое подключено к COM-1
работает, контроллер его опрашивает, связь идет все ок. И то же самое вроде сделано для связи по COM-4
но обмена нет. Все проверил нету. Перемычки все в RS-232. Класс используется примерно так:

Ustroistvo * dev1;
dev1=new ustroistvo(1); // сделали экземляр для COM-1

Ustroistvo * dev2
dev2=new ustroistvo(4); // сделали экземляр для COM-4

// Используемые переменные
unsigned char obuf[7] - буффер на передачу
unsigned char ibuf[20] - буффер на прием
int port - номер порта

Вот отрывок кода класса:
1-конструктор
2-опрос устройтсва

1.
-------------------------------------------------
// Инициализация (вход - int port)

if (port==1)     // Если порт COM1
{
int status;
status=com_install(1);
if (status==0) cout << "COM 1 Installed \n";
com_set_format(8,0,1);
com_set_speed((unsigned long)9600);
com_set_parity(0,1);
}
else
if (port==4)     // Если порт COM4
{
int status;
status=com_232_485_install();
if (status==0) cout << "COM 4 Installed \n";
com_232_485_set_format(8,0,1);
com_232_485_set_speed((unsigned long)9600);
com_232_485_set_parity(0,1);
}
else
cout << "INVALID COM Port!!!";
-------------------------------------------------

2.
-------------------------------------------------
// Работа с портами

obuf[0]=255;
obuf[1]=33;
obuf[2]=0x20;
obuf[3]=0x2E;
obuf[4]=4;
for (int i=1;i<5;i++) crc=crc^obuf[I];
obuf[5]=crc;
obuf[6]=3;

if (port==1) // если порт устройства COM-1
com_tx_string(obuf);
else
if (port==4) // если порт устройства COM-4
com_232_485_tx_string(obuf);

ADAMdelay(10);

int k=0;

if (port==1)
while (com_rx_empty()==0)
{
    ibuf[k]=com_rx();
    k++;
}
else
if (port==4)
while (com_232_485_rx_empty()==0)
{
    ibuf[k]=com_232_485_rx();
    k++;
}

ibuf[k+1]='\0';

printf("%d ",ibuf[0]);
printf("%d ",ibuf[1]);
printf("%d ",ibuf[2]);
printf("%d ",ibuf[3]);
printf("%d ",ibuf[4]);
printf("%d ",ibuf[5]);
printf("%d ",ibuf[6]);
printf("%d \n",ibuf[7]);
-------------------------------------------------

Если через COM-4 то ibuf[0]...[7] нули. А если через COM-1 то все ок.
Подскажите кто с этим сталкивался.

Также для связи с устройством используются Rx,Tx,Gnd,DTR. Без DTR не работает.
Может быть в COM1 есть управление DTR а в COM-4 нет?

Заранее огромное спасибо.
Наверх
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Август 2005 15:02
Смотрел на форуме, нашел 3 таких ситуации, но ответов нигде нет. Подскажите кто с этим сталкивался. Очень нужно.
Наверх
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Август 2005 09:03
Подскажите хотябы распиновку COM-4 для RS-232 и RS-485...
Наверх
 Ответить Ответить

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

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