Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Twido - запись переменных в Eeprom в ПЛК
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
DennisSV
Доброго времени суток, мучаюсь с проблемой на ПЛК TWIDO - необходимо сохранять значения переменных (%mw) в память ЕЕПРОМ автоматически (через программу) в конце цикла и считывать их в начале цикла.

Через твидософт (backup\restore) файл с переменными создается.

Может я просто не правильно понимаю манул, и сохранять значения нельзя?!..
san
А зачем Вам это надо делать, какая задача?
Переменные там хранятся для возможности при отключении сохранять значения. Это, на сколько я помню, делается автоматически, а вот когда - не помню.
DennisSV
Идея такова: есть некоторые значения импульсов, которые оператор периодически (в режиме настройки) должен изменять по своему желанию. При это при включении питания ПЛК они должны хранится в памяти, чтобы в случае выключения не было необходимости проводить настройку устатовок заново.
san
Вырезка из хелпа твидосьют (в твидософте будет тоже самое)
-----------------------------------------
Introduction
The following information details backup and restore memory functions in modular and compact controllers using a 32K backup cartridge.
This section does not apply to the Twido Extreme TWDLEDCK1 PLC which has no backup cartridge. This is described in Twido Extreme User Memory.

--------------------------------------------------------------------------------

At a Glance
The backup cartridge is used to save a program and transfer that program to other Twido controllers. It should be removed from a controller and set aside once the program has been installed or saved. Only program and configuration data can be saved to the cartridge (%MWs cannot be saved to the 32K backup cartridge). Dynamic data can be stored in memory words then backed up to the EEPROM. When program installation is complete any %MWs that were backed up to the internal EEPROM prior to installation will be lost.

--------------------------------------------------------------------------------

Memory Structure
Here is a diagram of a controller’s memory structure with the backup cartridge attached. The arrows show what can be backed up to the EEPROM and cartridge from RAM:


--------------------------------------------------------------------------------

Program Backup
Here are the steps for backing up your program into the backup cartridge:
Step Action
1 Power down the controller.
2 Plug in the backup cartridge.
3 Powerup the controller.
4 From the TwidoSuite window, select Memory Cartridge Commands from Program ® Debug, select a connection and click Backup.
5 Power down the controller.
6 Remove backup cartridge from controller.


--------------------------------------------------------------------------------

Program Restore
To load a program saved on a backup cartridge into a controller do the following:
Step Action
1 Power down the controller.
2 Plug in the backup cartridge.
3 Powerup the controller.
(If Auto Start is configured you must power cycle again to get to run mode.)
4 Power down the controller.
5 Remove backup cartridge from controller.


--------------------------------------------------------------------------------

Data (%MWs) Backup
Here are the steps for backing up data (memory words) into the EEPROM:
Step Action
1 For this to work the following must be true:
A valid program in RAM.
The same valid program already backed up into the EEPROM.
Memory words configured in the program.
2 Set %SW97 to the length of the memory words to be saved.
Note Length cannot exceed the configured memory word length, and it must be greater than 0 but not greater than 512.
3 Set %SW96:X0 to 1.


--------------------------------------------------------------------------------

Data (%MWs) Restore
Restore %MWs manually by setting system bit %S95 to 1.
For this to work the following must be true:
A valid backup application is present in the EEPROM
The application in RAM matches the backup application in EEPROM
The backup memory words are valid

DennisSV
да, хелп читал... делал вроде так же как прописано, единственно не совсем ясно, как прописать какие именно %MW мне надо записать... может в этом косяк?!, позвонил в Тех.Поддержку - сказли что записывать можно, но не сказали как именно - обещали прислать описание, пока нету.

Нажмите для просмотра прикрепленного файла

Нажмите для просмотра прикрепленного файла
san
Может тут подскажут http://forum.se-automation.in.ua/index.php
san
Цитата(DennisSV @ 25.4.2012, 11:10) *
да, хелп читал... делал вроде так же как прописано, единственно не совсем ясно, как прописать какие именно %MW мне надо записать... может в этом косяк?!, позвонил в Тех.Поддержку - сказли что записывать можно, но не сказали как именно - обещали прислать описание, пока нету.

Я так понял что начиная с 0.
А что именно не работает? Я так понимаю, что эти куски запускаются только по какому-то условию (чтение бекапа и запись бекапа), иначе у Вас получается: вечно читать с бекапа и когда все Ок - вечно писать в бекап.
DennisSV
Цитата(san @ 25.4.2012, 13:28) *
Я так понял что начиная с 0.
А что именно не работает? Я так понимаю, что эти куски запускаются только по какому-то условию (чтение бекапа и запись бекапа), иначе у Вас получается: вечно читать с бекапа и когда все Ок - вечно писать в бекап.

Может и с 0 ... Просто когда в оболочке делаешь БЕКАП переменных - там указываешь с какого по какой... Ну это даже не суть. В любом случае в %SW97 указывает кол-во слов для записи - я беру с запасом.
Да именно - читать всегда из памяти, а периодически необходимо перезаписывать значения в ЕЕПРОМе (для этого создана отдельная ветка).
Собственно похоже, что не происходит записи в память.
DennisSV
Получил письмо от Шнейдера, немного подправил прогу, ну суть не изменилась, все равно не пишет, по крайней мере сейчас видно почему, но не знаю решения: не хватает %SW96:X1 = 1, у меня равно 0
как видно из 3 рис. EEPROM = RAM helpsmilie.gif

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
san
Попробуйте руцями записать. То есть с таблицы анимаций изменняя нужные системные переменные. Так будет быстрее отловить причину, так как блохи могут быть в логике программы.
DennisSV
Вроде разобрался, проблема была в том что программа постоянно пыталась писать в ЕЕПРОМ, поэтому не было статуса "ОК". Сделал запись по условию - вроде нормально, щас обкатываю.
eznamos
Не забывайте, что EEPROM - это по сути флеш-память с ограниченным числом циклов записи. Если писать в нее на каждом цикле она выйдет из строя. По опыту: хватает на 2-3 дня при цикле 15-20 мс.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.