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

ADAM5511 & BackUp RAM

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


Присоединился: 22 Декабрь 2004
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - Zevaka Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: ADAM5511 & BackUp RAM
    Опубликовано: 17 Январь 2005 11:55

В документации на ADAM5511 написано, что у контроллера есть энергонезависимая память ~60К. Пробовал работать с библиотечнымифункциями read_bk_ram(), write_bk_ram():

1) читаем память;

2) печатаем на экране содержимое;

3) пишем в память;

4) читаем память;

5) печатаем на экране содержимое.

Однако после выполнения теста убеждаюсь, что память обнуляется после выхода из программы в командную строку.

Мне же необходимо, чтобы данные можно было считать даже после отключения/включения контроллера (иначе зачем эта память нужна ?).

Если кто-нибудь использовал эту память для хранения коэффициентов, стостояния регуляторов и т.д. для восстановления после перезагрузки или простоя, подскажите в чем дело и как работать с этой памятью.

 

С Уважением, Zevaka.

 

 

Наверх
KozlovKS Смотреть выпадающим
Prosoft.ru
Prosoft.ru


Присоединился: 21 Июнь 2003
Online Status: Offline
Публикации: 432
Свойства публикации Свойства публикации   Ответить, цитируя автора - KozlovKS Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Январь 2005 15:12

В описании ошибки. Энергонезависимую память пользуют другие функции:

Read_user_ram

Syntax:

unsigned char read_user_ram(unsigned int index)

Description:

Reads the value in backup RAM at index address, 12 KB total backup

RAM, index = 0 - 6143;

 

Write_user_RAM

Syntax:

void write_user_RAM(unsigned int index, BYTE data)

Description:

Writes a byte to battery backup memory.

Parameter Description

index An index for data in the battery backup

RAM, from 42001 to 48144; 12 KB battery

backup SRAM in total.

data A byte of data that the programmer wants

to write to battery-protected SRAM.

Return value:

None.

Мало того, firmware должно быть старше версии А2.4, а то были глюки со смещением адресов.

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


Присоединился: 22 Декабрь 2004
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - Zevaka Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Январь 2005 15:31

Спасибо за ответ, буду пробовать.

Я тут пытал функции read_ASCII_ram() и write_ASCII_ram(),

обнаружил, что через них можно тоже писать (куда ?), но

данные сохраняются только в количестве около 7К.

В документации об этих функциях ничего нет.

Короче, ребята, ADAM5511 - глючная машина.

 

С Уважением, Zevaka.

 

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


Присоединился: 23 Июнь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 128
Свойства публикации Свойства публикации   Ответить, цитируя автора - michaelb Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Январь 2005 15:44

Первоначально опубликовано Zevaka

Короче, ребята, ADAM5511 - глючная машина.

Ошибки в документации и глюки - это две большие разницы...

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

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Январь 2005 16:36

К контроллеру ADAM-5510 в составе досовской утилиты прилагается пример ex5.c, который описывает работу с этими функциями. ADAM-5511 в этом отношении ничем не должен отличаться. Ну а если функциями пользоваться не хочется, то в описании сказано, что Backup RAM расположена по адресам 30000H...3EFFFH.

Инженер-системотехник
+7 (916) 477 3925
Наверх
Zevaka Смотреть выпадающим
Новичок
Новичок


Присоединился: 22 Декабрь 2004
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - Zevaka Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Январь 2005 10:41

    Не ответит ли г-н Максим Ананских как специалист Prosoft, сколько же  все-таки Backup RAM реально можно использовать для своих нужд в ADAM-5511 ? В документации сказано, что 60К. Эксперименты показывают, что реально можно использовать около 7К. По поводу примера ex5.c. Пробовал, не работает. В примере используются функции read_backup_ram() и write_backup_ram(), о моих экспериментах с этими функциями см. сообщение 1.

    В заключение вопрос к Максиму Ананских. Исправляются ли ошибки в документации и где можно почитать эти исправления, чтобы не отнимать время у участников форума.

С уважением, Zevaka.

 

  

 

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


Присоединился: 25 Июнь 2004
Online Status: Offline
Публикации: 24
Свойства публикации Свойства публикации   Ответить, цитируя автора - Holo Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Январь 2005 12:17

Доброго времени суток!

 

Не знаю, насколько может быть полезна моя информация, но в свое время, столкнувшись с аналогичной проблемой, я обнаружил следующее:

1. Объявлений функций read_backup_ram и write_backup_ram в файле 5511drv.h просто нет, но в библиотеке utility.lib тела функций есть. Так что пришлось добавить объявления руками.

 

2. Функции read(write)_backup_ram работают, если указывать адреса в диапазоне 0x1000-0x2FFF, т.е. доступно 8KB.

 

Сильно сомневаюсь, что стоит использовать такой "доморощенный" метод работы с контроллером, но, к сожалению, попытки прояснить ситуацию с наличием корректного описания к ADAM-5511 ни к чему не привели.

 

С уважением.

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


Присоединился: 22 Декабрь 2004
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - Zevaka Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 20 Январь 2005 07:30

Спасибо, HOLO, попробую использовать Вашу информацию.

С уважением, Zevaka.

 

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

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 20 Январь 2005 11:32

В ADAM-5511 обе пары функций, read_backup_ram / write_backup_ram и read_user_ram / write_user_ram, работают с диапазоном физических адресов 3C000H...3EFFFH, то есть с их помощью можно обращаться к 12 кбайт статической памяти. Первая пара читает и записывает байты, в то время как вторая работает со словами. 

При отсутствии доступа к первым 4 кбайт этой памяти, по информации от Advantech, помогает обновление Firmware контроллера (программки adam5511.exe) до версии 1.10.

Адреса 30000H...33FFFH, по-видимому, тоже можно использовать для хранения данных. Однако через библиотечные функции они не доступны. Это наводит на мысль, что они зарезервированы для нужд системы. Адреса 34000H...3BFFFH и 3F000H...3FFFFH используются системой.

В заключение хотелось бы отметить, что сейчас имеется более современная линейка контроллеров, в которую входят ADAM-5510M, ADAM-5510E, ADAM-5510/TCP и т.д.

Инженер-системотехник
+7 (916) 477 3925
Наверх
Kamsky Paul Смотреть выпадающим
Новичок
Новичок


Присоединился: 03 Ноябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 13
Свойства публикации Свойства публикации   Ответить, цитируя автора - Kamsky Paul Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 20 Декабрь 2005 18:04
Проблема в том, что мне досталась программа, написанная 5 лет назад, и столько же лет работающая на нескольких Adam 5511. Она считывает с портов модуля ADAM-5090 и перекладывает их в регистры Modbus для дальнейшей передачи. Исходники от программы есть не все (кмпиляция не возможна). Но есть кусок, в котором эти данные просто перекладываются в регистры при помощи write_user_ram (хотя, конечно, может быть, исходники у меня не рабочие). Может, была версия Adam5511.exe, позволяющая писать в регистры при помощи этой функции?   
Наверх
 Ответить Ответить

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

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