Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Как архивировать таблицу и потом её считать на визуализации???

  1. #1

    По умолчанию Как архивировать таблицу и потом её считать на визуализации???

    Добрый день,не могу решить одну задачу. Есть таблица в которую при получении сигнала вводятся четыре переменных типа INT с меткой времени (5 столбцов) , как данные с этой таблицы архивировать на SD карту , а потом в нужный момент (например нажатием кнопки после пропадания электроэнергии ) восстановить эти значения в таблице на визуализации ,строк может быть до 400т например. Прошу объяснить по понятней так как я начинающий ,а ещё лучше с примером.
    Или если я буду сохранять массив для этой таблицы как RETAIN хватит ли мне памяти (30Кб) если будет около 400т строк в массиве?
    Последний раз редактировалось kukindoctor; 06.11.2019 в 17:22.

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,062

    По умолчанию

    Добрый день.
    В вашем случае каждая строка таблица занимает 12 байт (4*2 + 1*4), то есть 400 строк = 4800 байт.
    Это меньше 10% энергонезависимой памяти СПК (ее размер - 64 Кб).

    С другой стороны, отображение данных в таблице в виде DT и INT может быть не очень удобно - потому что "пустые" строки будут заполнены нулевыми значениями
    (примерно так: DT#1970-01-01-00:00:00 | 0 | 0 | 0 | 0). Поэтому обычно сначала переменные приводят к строковому виду и уже после этого их отображают в таблице (тогда пустые строки будут отображаться именно как пустые) - но и места строковые переменные занимают значительно больше.

    Принцип работы с файлами (чтение/запись) описан здесь:
    https://ftp.owen.ru/CoDeSys3/11_Docu...hives_v2.0.pdf

  3. #3

    По умолчанию

    Если я правильно посчитал то после перевода переменных к строковому виду то это займёт приблизительно 8000 Байт ?

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,062

    По умолчанию

    Цитата Сообщение от kukindoctor Посмотреть сообщение
    Если я правильно посчитал то после перевода переменных к строковому виду то это займёт приблизительно 8000 Байт ?
    Зависит от возможного числа символов в INT переменных и метки времени (какой для нее будет требоваться формат - например, нужны ли секунды и т.д.).

  5. #5

    По умолчанию

    Понял, спасибо!

  6. #6
    Пользователь
    Регистрация
    15.09.2016
    Адрес
    Уфа
    Сообщений
    23

    По умолчанию

    Евгений, приветствую!

    Столкнулся с похожей задачей!
    Есть станция по проведению испытаний тормозной системы вагона. В исходных данных мы указываем ФИО и №вагона. После проведения испытания все необходимые параметры архивируются и записываются в sd-карту СПК107.

    Задача состоит в том, чтобы по двум параметрам ФИО и №вагона подгружать в Табличку с результатами испытаний из sd-карты.
    Вопрос - есть ли в codesys 3.5 инструменты для поиска в отчетах?

  7. #7
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,062

    По умолчанию

    Цитата Сообщение от Mr_Andrson Посмотреть сообщение
    Евгений, приветствую!

    Столкнулся с похожей задачей!
    Есть станция по проведению испытаний тормозной системы вагона. В исходных данных мы указываем ФИО и №вагона. После проведения испытания все необходимые параметры архивируются и записываются в sd-карту СПК107.

    Задача состоит в том, чтобы по двум параметрам ФИО и №вагона подгружать в Табличку с результатами испытаний из sd-карты.
    Вопрос - есть ли в codesys 3.5 инструменты для поиска в отчетах?
    Добрый день.
    Функции для работы со строками есть в библиотеках OwenStringUtils и StringUtils.

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

  8. #8
    Пользователь
    Регистрация
    15.09.2016
    Адрес
    Уфа
    Сообщений
    23

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Функции для работы со строками есть в библиотеках OwenStringUtils и StringUtils.

    В вашем случае, на мой взгляд, удобнее каждый отчет сохранять в виде отдельного файла - тогда не придется производить какой-то поиск.
    Окей, если мы сохраняем отдельный отчет в отдельный файл, то нам ведь все равно потребуется поиск по файлу с нужной ФИО и №вагона, так ведь?

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,062

    По умолчанию

    Цитата Сообщение от Mr_Andrson Посмотреть сообщение
    Окей, если мы сохраняем отдельный отчет в отдельный файл, то нам ведь все равно потребуется поиск по файлу с нужной ФИО и №вагона, так ведь?
    Можно сохранять ФИО и номер в имени файла:

    AAA_666.txt (Андрей Андреевич Андреев, вагон 666)

    Сформировать в программе имя файла, который нужно будет прочитать, по известному ФИО и номеру - не составит труда.

  10. #10
    Пользователь
    Регистрация
    15.09.2016
    Адрес
    Уфа
    Сообщений
    23

    По умолчанию

    Точно! Спасибо большое за помощь!)

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Как лучше архивировать? Работа с файлами.
    от RollForRepair в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 11.10.2016, 10:27
  2. Ввод данных в таблицу
    от Ganiball в разделе СПК2хх
    Ответов: 1
    Последнее сообщение: 06.08.2014, 13:14
  3. показания прибора не записываются в таблицу
    от Balans-soft в разделе OWEN Proces Manager
    Ответов: 4
    Последнее сообщение: 01.10.2013, 12:45
  4. демо режим на 30 дней, потом пароль.
    от Artem в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 29.04.2010, 21:25
  5. Как архивировать?
    от Евгений Б. в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 23.07.2008, 16:28

Ваши права

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