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

ADAM5510 и HMI520T (обмен)

 Ответить Ответить Страница  <12
Автор
Сообщение
DubAlex Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 28 Февраль 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 212
Свойства публикации Свойства публикации   Ответить, цитируя автора - DubAlex Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: ADAM5510 и HMI520T (обмен)
    Опубликовано: 07 Март 2007 10:32

Согласен, но при такой распайке должен работать и RS-232. В ADAM 5510 COM1 действительно RS-232 и у сенсорной панели тоже разъем - RS-232.

Как можно модифицировать кусок кода, который я представил выше, чтобы можно было сканировать COM1 (по всем адресам) и в случае поступления в него данных зажигать индикаторы (своеобразная тестовая программа, которая позволяет определить приходят ли данные вообще или нет)?

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


Присоединился: 09 Октябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 187
Свойства публикации Свойства публикации   Ответить, цитируя автора - Leonid Uretsky Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 07 Март 2007 11:13

Не знаю насчте кабеля, так как его распиновка не написана (номера контактов только с одной стороны). Если и для другой они совпадают, то он работать не будет.

Прохождение данных вы увидите только в случае, если панель пишет туда данные (она обычно их читает).

Строчка

while(1)
  {
    adv_printf("data is %X\n",Share_Mem[0]);
  }

выводит у вас 1й регистр, так что этого для диагностики достаточно

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

Присоединился: 28 Февраль 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 212
Свойства публикации Свойства публикации   Ответить, цитируя автора - DubAlex Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Март 2007 14:03

У меня нужно, чтобы панель писала. Сейчас попробывал следующий код:

 result=Modbus_COM_Init(COM1,Slave,(unsigned long)9600,NO_PARITY, DATA8, STOP2);
  if (result==0)
    adv_printf("init OK\n");
  else if (result==1)
    adv_printf("com already installed\n");
  else if (result==2)
    adv_printf("error access com\n");
  getch();
  Set5056(&dov,1,15,ABit); //slot 1

 while(1)
 {
  if(!ADAMRTU_ReadHoldingRegs(COM1,0x01,0x65,0x01,&DataByteCount,HostData))
    adv_printf("err code is %d\n", Error_Code());
  else
  {
   adv_printf("status: ");
   for(tmpcnt=0;tmpcnt<DataByteCount;tmpcnt++)
     adv_printf("%02X", HostData[tmpcnt]);
   adv_printf("\n");
   Set5056(&dov,1,0,ABit); //slot 1
   Set5056(&dov,1,1,ABit); //slot 1
  }
 }

Результатом выполнения функции Modbus_COM_Init является "Init_OK", а вот функция ADAMRTU_ReadHoldingRegs возвращает "err_code 92". В документации написано, что ошибка с таким номером означает "COM Port Initial or Mode Error".

Не подскажите, с чем это может быть связано?

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


Присоединился: 09 Октябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 187
Свойства публикации Свойства публикации   Ответить, цитируя автора - Leonid Uretsky Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Март 2007 14:32

Это связано, как я уже писал выше, с непониманием концепции "Мастер" и "Слэйв".

Modbus_COM_Init(COM1,Slave,(unsigned long)9600,NO_PARITY, DATA8, STOP2) - инициализация слэйва.

ADAMRTU_ReadHoldingRegs - функция, которую выполняет мастер. Такую функцию не Адам должен выполнять, а панель ваша

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

Присоединился: 28 Февраль 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 212
Свойства публикации Свойства публикации   Ответить, цитируя автора - DubAlex Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 15 Март 2007 16:11
Первоначально опубликовано Leonid Uretsky

Это связано, как я уже писал выше, с непониманием концепции "Мастер" и "Слэйв".

Modbus_COM_Init(COM1,Slave,(unsigned long)9600,NO_PARITY, DATA8, STOP2) - инициализация слэйва.

ADAMRTU_ReadHoldingRegs - функция, которую выполняет мастер. Такую функцию не Адам должен выполнять, а панель ваша

Сейчас добился, чтобы панель опрашивала контроллер. От контроллера пока ответа нет.

Распайка кабеля и настройки панели вроде бы верные.

Есть ли функция, которая посылает ответ на запрос или кусок кода, который я показал ранее (с использованием функции adam_modserver_create) должен автоматически отправлять ответ на запрос?

С уважением,

Алексей Дубаев

e-mail: dubaev@mail15.com

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


Присоединился: 09 Октябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 187
Свойства публикации Свойства публикации   Ответить, цитируя автора - Leonid Uretsky Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Март 2007 08:07
Первоначально опубликовано DubAlex

Есть ли функция, которая посылает ответ на запрос или кусок кода, который я показал ранее (с использованием функции adam_modserver_create) должен автоматически отправлять ответ на запрос?

Да, ответ на запрос автоматически посылается резидентной программой, проинициализированной функцией adam_modserver_create.

Попробуйте сделать как вам рекомендовали в другой ветке - запустить эмулятор Мастера на компьютере, проверить связь с Адамом. Запустить эмулятор Слэйва на компьютере и проверить связь с панелью.

Наверх
 Ответить Ответить Страница  <12

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

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