Показано с 1 по 8 из 8

Тема: Некорректная работа таблицы отображения данных (хранилища)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Некорректная работа таблицы отображения данных (хранилища)

    Добрый день!

    Прошу помощи.
    Две одинаковые панели СП310-Р с одинаковым софтом.
    В программе реализовано циклическое хранилище и таблица отображения данных.
    Одна панель работает правильно.

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

    Существует еще одна странность.
    После нажатия кнопки очистки хранилище на неисправной панели не очищается и при записи на флешку записывается со всеми предыдущими значениями.

    Ранее этот софт был отлажен и на одной панели работает так, как и задумано.

    Кто-нибудь сталкивался с подобным поведением панели?

    Панель работала несколько месяцев, данные записывались каждые 15 секунд.
    Могли ли износиться ячейки флеш-памяти с указателями?
    Последний раз редактировалось zaurm; 30.04.2026 в 13:50.

  2. #2

    По умолчанию

    UPD.:

    Беглый расчет показывает, что количество циклов записи указателей превысил 100 тысяч раз, что для флеш-памяти может быть весьма критично.

    Сдвиг адреса хранилища на 4 байта вернул панель к жизни (PWF 4096 > 4100).

    Тогда возникает следующий вопрос — как можно преодолеть такой износ памяти, если такое, конечно, возможно.
    Последний раз редактировалось zaurm; 30.04.2026 в 14:06.

  3. #3

    По умолчанию

    Цитата Сообщение от zaurm Посмотреть сообщение
    UPD.:

    Беглый расчет показывает, что количество циклов записи указателей превысил 100 тысяч раз, что для флеш-памяти может быть весьма критично.

    Сдвиг адреса хранилища на 4 байта вернул панель к жизни (PWF 4096 > 4100).

    Тогда возникает следующий вопрос — как можно преодолеть такой износ памяти, если такое, конечно, возможно.
    Надо делать глубину записи как можно больше, например неделю, чтобы перезаписывалось реже. Тогда памяти хватит на 100 лет.
    Или уменьшать частоту записи.
    Последний раз редактировалось kondor3000; 30.04.2026 в 16:39.

  4. #4

    По умолчанию

    kondor3000, благодарю за ответ.

    В общих чертах это понятно.
    У меня данные появляются для сохранения каждые 7—8 секунд.
    Самое простое и рациональное — это замена «Архивации в панели» на «Архивацию на USB»
    Но мне при этом архив требуется отображать в «Таблице отображения данных».
    И тут начинаются костыли.

    Например.
    Небольшой журнал в оперативной памяти.
    Затем данные из него переписывать по адресам, по которым располагается журнал в долговременной памяти.
    Все зависит от того, как реализована функция «Архивация в панели».
    Если она на каждый регистр, данные из которого переносит, делает инкремент указателя,
    то не имеет значения, как часто или редко мы перегружаем данные из ОЗУ в ПЗУ.
    Указатель будет изнашиваться пропорционально переданному в журнал объему данных.

    Насколько помню, самостоятельно из скрипта записать данные в расположенную свыше 4096 байт долговременную память нельзя.

  5. #5
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,188

    По умолчанию

    Цитата Сообщение от zaurm Посмотреть сообщение
    kondor3000, благодарю за ответ.

    В общих чертах это понятно.
    У меня данные появляются для сохранения каждые 7—8 секунд.
    Самое простое и рациональное — это замена «Архивации в панели» на «Архивацию на USB»
    Но мне при этом архив требуется отображать в «Таблице отображения данных».
    И тут начинаются костыли.

    Например.
    Небольшой журнал в оперативной памяти.
    Затем данные из него переписывать по адресам, по которым располагается журнал в долговременной памяти.
    Все зависит от того, как реализована функция «Архивация в панели».
    Если она на каждый регистр, данные из которого переносит, делает инкремент указателя,
    то не имеет значения, как часто или редко мы перегружаем данные из ОЗУ в ПЗУ.
    Указатель будет изнашиваться пропорционально переданному в журнал объему данных.

    Насколько помню, самостоятельно из скрипта записать данные в расположенную свыше 4096 байт долговременную память нельзя.
    Во первых, пусть Вас не вводит в заблуждение название "Архивирование на USB"
    На самом деле архивирование происходит в панели в регистрах, выделенных под хранилище
    Захват-44.png
    И только когда заполнится хранилище, т.е. когда число выборок данных достигнет значения "Число строк для одной записи"
    Захват-55.png
    в этот момент все хранилище будет записано в файл на USB
    Если Вы вдруг решили сделать "Число строк для одной записи" равным 1, то учтите Ваша USB долго не протянет...
    Нужно накапливать некоторое достаточное количество данных в хранилище панели.
    Есть нюанс- если выбрать режим записи файла, например "Фиксированное имя" или "Название по дате", то каждый раз данные архива будут дописываться в конец одного и того же файла. Но в структуре элемента "Архивирования" есть ошибка, в нем есть флаг заполнения хранилища и когда он установлен, то происходит запись накопленного архива на USB, однако при этом флаг не сбрасывается и это вызывает появление повторных записей в архиве. Нужно ОБЯЗАТЕЛЬНО включить галку "Очистить регистры после экспорта"
    Захват-66.png
    Т.к. хранилище оперативного архива в месте с "указателями" можно располагать в области PSW, то никакого износа "указателя" не будет.
    Таблицу отображения данных, с включенным циклическим буфером, можно легко привязать к адресу оперативного хранилища "Архивирования на USB"
    Либо делать ф.кнопкой импорт файла/файлов с USB по адресу таблицы отображения данных, при этом циклический буфер у таблицы должен быть выключен.

    Как отобразить каталог файлов на USB, как выбрать имя файла из каталога, например для импорта архива в таблицу см. пример проекта тут https://owen.ru/forum/showthread.php...l=1#post479083
    Захват-11.png
    Путь сохранеия архивов на USB - Archives\TEST
    режим сохранения - Имя по умолчанию
    таким образом в папке Archives будут накапливаться файлы
    TEST0001.csv
    TEST0002.csv
    .......................
    TEST9999.csv
    Захват-33 (1).png
    Имеется возможность посмотреть список файлов на USB
    Захват-22 (1).png Захват-77.png



    Ссылка на видио https://disk.yandex.ru/i/eg8oA-8P5tz7og
    Ссылка на рутубе https://rutube.ru/video/dd691ad7f2ac...72866e487c539/
    ЮТУБ:
    Вложения Вложения
    Последний раз редактировалось petera; 30.04.2026 в 23:50.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6

    По умолчанию

    Всё делается проще, расширенный режим панели и смещайте адреса как хотите.
    У Petera спросите https://owen.ru/forum/showthread.php...l=1#post482344

  7. #7

    По умолчанию

    Буду разбираться, благодарю.

    Ссылка по данной теме:
    https://owen.ru/forum/showthread.php?t=25381

  8. #8

    По умолчанию

    petera, грандиозное спасибо. Как и в прошлом году с этим же проектом,
    так и сейчас — исчерпывающая помощь на профессиональном уровне.

Похожие темы

  1. Ответов: 9
    Последнее сообщение: 02.09.2024, 15:11
  2. как взять данные с таблицы отображения данных?
    от delta8 в разделе Панели оператора (HMI)
    Ответов: 0
    Последнее сообщение: 15.01.2024, 11:33
  3. Некорректная работа ПДУ-RS
    от alekstani в разделе Вопросы по эксплуатации датчиков
    Ответов: 8
    Последнее сообщение: 29.03.2023, 15:41
  4. ПДИ-180 некорректная работа
    от Дмитрий Валерьевич в разделе Вопросы по эксплуатации датчиков
    Ответов: 0
    Последнее сообщение: 05.05.2022, 08:11
  5. ТРМ251 некорректная работа ДТС
    от Dim0n в разделе Эксплуатация
    Ответов: 7
    Последнее сообщение: 20.03.2013, 21:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •