Показать сообщение отдельно
Старый 10.06.2021, 12:26   #10
PKO
Новичок
 
Регистрация: Jun 2021
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Как сделать чтобы при перезагрузке ПЛК счетчик не увеличивался (ПО SMLogix, ПЛ

Совсем забыл про архиватор
Что удалось извлечь из справки.
Инициализация
При старте программы после включения питания или окончания загрузки все блоки сохранения проходят инициализацию.
· Блок EEPROM() читает последнее записанное значение
· Блок ARRAY() с единичной длиной также читает читает последнее записанное значение
То есть тут они идентичны. хотя что значит с единичной длиной (чего?) не совсем понятно.
Ожидание
После фазы инициализации блоки сохранения находятся в состоянии ожидании команды за запись или чтение.
Тут блоки из описания ARRAY и EEPROM тоже идентичны.
Запись
Операция записи нового значения начинается после получения фронта на входе start_wr.
Очевидно что на этом этапе происходит косяк, поскольку он получает передний фронт. Тут блоки из описания ARRAY и EEPROM тоже идентичны.
Описание EEPROM
Блок организует в памяти стек по принципу FIFO ("первый вошел, первый вышел").
Запись возможна только в ячейку с адресом 0. При записи все ранее записанные значения сдвигаются на одну ячейку как показано на рисунке. Значение, которое было записано раньше всех (ячейка N) теряется. Данный блок сделан для облегчения реализации журнала событий.
На входе deep устанавливается количество записей, которые могут быть сохранены в этом блоке:
· Если deep = 1, то записанное число сразу же передается на выход блока
Я считал, до сего моента, что этот блок в целом подходит для меня, поскольку параметр deep я настроил на 1, и он сразу выдает переменную на выход

]В описании блока ARRAY непонятен для меня два момент:
wr_addr - адрес элемента, в который будет осуществлена запись
rd_addr - адрес элемента, из которого будет осуществлена чтение
1.)Могу ли я не трогать их адреса и оставить их по умолчанию (например просто 0 или 1)?
2.) Могут ли срабатывать по одному триггеру start_wr и start_rd блока ARRAY. Будет ли в этом случае значение попадать на выход или нужна временная задержка на start_rd?
PKO вне форума   Ответить с цитированием