Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 29 из 29

Тема: СП-310Р: не могу сделать экспорт обычной исторической таблицы на USB

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

    По умолчанию

    Цитата Сообщение от StF Посмотреть сообщение
    Вроде бы удалось написать задуманное, реализовав с нуля табличку с данными, кольцевым буфером, листанием, экспортом итд, однако меня не покидает ощущение что это можно было всё решить как то гораздо проще. Или я заблуждаюсь?
    Жалко, что я чайник в языке Си (Читаю и перевожу со словарем ).
    Но я бы оставил стандартную историческую таблицу, а на Си сделал экспорт в файл. Мне кажется было бы проще. Ведь в архиве исторической таблицы, каждая запись - 5 регистров штамп времени, далее один регистр индекс сообщения в массиве сообщений, остальные шесть регистров игнорируем.
    Адреса каждой записи в архиве известны, печатаем каждую запись в буфер функцией snprintf() в нужном формате (дату-время + "," + сообщение из массива по индексу + 0x0D + 0x0A). После перебора всех записей в архиве - записать содержимое буфера в конец файла "CE.csv"
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #22

    По умолчанию

    Нашел вашу тему ( https://owen.ru/forum/showthread.php?t=25381 ) и в принципе она меня надоумила кое-что (многое) упростить: предложенное вами решение элегантней и проще.
    в итоге кода на С стало на пару десятков строчек от силы, и обусловлено это тем что на множество сообщений об ошибках функциональные области рисовать не хватит места.

    Однако есть проблемы:
    1)Таблица не хочет стираться, хотя казалось бы стандартная кнопка интерфейса как листание.
    2)Таблица таки не хочет в нормальном виде (аналогичном виду таблицы на экране) экспортироваться на USB тогда когда мне нужно, по нажатию кнопки.

    Если будет возможность - посмотрите пожалуйста.
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от StF Посмотреть сообщение
    Нашел вашу тему ( https://owen.ru/forum/showthread.php?t=25381 ) и в принципе она меня надоумила кое-что (многое) упростить: предложенное вами решение элегантней и проще.
    в итоге кода на С стало на пару десятков строчек от силы, и обусловлено это тем что на множество сообщений об ошибках функциональные области рисовать не хватит места.

    Однако есть проблемы:
    1)Таблица не хочет стираться, хотя казалось бы стандартная кнопка интерфейса как листание.
    2)Таблица таки не хочет в нормальном виде (аналогичном виду таблицы на экране) экспортироваться на USB тогда когда мне нужно, по нажатию кнопки.

    Если будет возможность - посмотрите пожалуйста.
    Чтобы очистить таблицу нужна "обнулить" адреса циклического буфера - адрес головы и адрес хвоста установить на начальные значения. Если базовый адрес таблицы PFW1000, то функциональной кнопкой сделать PFW1000 = 1004 и PFW1002 = 1004.

    Дальше проект пока не изучал.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от StF Посмотреть сообщение
    Нашел вашу тему ( https://owen.ru/forum/showthread.php?t=25381 ) и в принципе она меня надоумила кое-что (многое) упростить: предложенное вами решение элегантней и проще.
    в итоге кода на С стало на пару десятков строчек от силы, и обусловлено это тем что на множество сообщений об ошибках функциональные области рисовать не хватит места.

    Однако есть проблемы:
    1)Таблица не хочет стираться, хотя казалось бы стандартная кнопка интерфейса как листание.
    2)Таблица таки не хочет в нормальном виде (аналогичном виду таблицы на экране) экспортироваться на USB тогда когда мне нужно, по нажатию кнопки.

    Если будет возможность - посмотрите пожалуйста.
    Разбор полетов
    1. Самое простое - очистка таблицы
    убираем эту кнопку управления событием
    Захват-02.png

    вместо неё используем обычную ф.кнопку, в ней сбрасываем адреса циклического буфера в исходное состояние
    Захват-03.png

    Теперь если нажать на эту кнопку таблица будет отображаться пустой.

    2. Вы невнимательно изучили мой пример по ссылке. Элемент Архивирование на USB служит там исключительно для формирования записей в архиве. Для физического экспорта он не не должен использоваться, совместить две функции не получится хотя бы по тому, что
    а) пока весь архив (15 записей) не заполнится ничего физически экспортироваться не будет, даже если включит бит разрешения экспорта, т.е. по заполнении архива запись всех 15 записей на USB происходит автоматом. По команде - ни как!
    б) во внутренней структуре элемента Архивирование на USB есть ошибка - после заполнения архива и соответственно установки указателей циклического буфера в конечное положение запись последующих событий происходит всегда в конец очереди и т.к. очередь заполнена, то с каждым ОДНИМ новым событием ВЕСЬ архив сбрасывается(добавляется в конец) в файл. И в файл будет забит повторением уже ранее записанных строк.
    Победить это можно если вкл. галку "Очистить регистры после экспорта". А это не что иное как сброс адресов циклического буфера в исходное состояние. И соответственно очистка таблицы на экране.
    По этому экспорт нужно вообще запретить, как в моем исходном примере
    Это убираем
    Захват-04.png

    А это добавляем
    Захват-05.png

    3. Экспортом займется функция Экспорт в CSV
    в ф.кнопке вместо этого
    Захват-01.png

    делаем так
    Захват-10.png

    И здесь уже и делаем настройки экспорта

    Захват-11.png Захват-12.png

    Захват-13.png Захват-14.png

    Захват-15.png

    Вот пример экспорта в файл
    Захват-06.png

    В заключении про экран 2
    1. Сказали А, говорите и Б
    Т.е. для индексной адресации используйте коэффициент 11
    Захват-16.png Захват-17.png

    Ну и вишенка на торте - поиграйтесь с полной клавиатурой моего дизайна.
    Захват-07.png Захват-08.png
    ВНИМАНИЕ.
    Если поменять тип панели, клавиатура пропадет, по этому прилагают тот же файл но для СП310

    ЗЫ.
    Если Вы хотите в файле видеть один столбец с датой временем, то поменяйте порядок столбцов в таблице на
    Событие, статус, дата время.
    Тогда в функции экспорта можно вместо первых 6 отдельных столбцов задействовать вкладку Дата время
    Захват-15.png
    Вложения Вложения
    Последний раз редактировалось petera; 20.09.2023 в 21:29.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    В данном примере тексты сообщений можно не только редактировать с экрана, но и загрузить из внешнего файла
    Захват-01.png Захват-02.png

    Захват-03.png

    Анимация:
    Последний раз редактировалось petera; 21.09.2023 в 11:16.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #26
    Пользователь
    Регистрация
    15.03.2018
    Адрес
    Ижевск
    Сообщений
    833

    По умолчанию

    Небольшие разочарования от архивирования на USB:

    1. Не понимает флешки, форматированные в NTFS - файл ограничен размером FAT32.
    2. Если сделать разбивку записей по дате (тогда каждый день создается новый файл, а не пишется все в один) - будьте добры получить названия заголовков после каждой записи в файле.

    Или я что то упустил в конфигурировании?

  7. #27

    По умолчанию

    Цитата Сообщение от Ollema Посмотреть сообщение
    Небольшие разочарования от архивирования на USB:

    1. Не понимает флешки, форматированные в NTFS - файл ограничен размером FAT32.
    2. Если сделать разбивку записей по дате (тогда каждый день создается новый файл, а не пишется все в один) - будьте добры получить названия заголовков после каждой записи в файле.

    Или я что то упустил в конфигурировании?
    Можно писать в один файл, можно по дате ( самое удобное), можно каждый раз новый.
    И главное не писать часто (раз в сек), лучше собирать инфу за 1-5 мин, и потом писать
    Последний раз редактировалось kondor3000; 04.10.2023 в 10:28.

  8. #28
    Пользователь
    Регистрация
    15.03.2018
    Адрес
    Ижевск
    Сообщений
    833

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Можно писать в один файл, можно по дате ( самое удобное), можно каждый раз новый.
    И главное не писать часто (раз в сек), лучше собирать инфу за 1-5 мин, и потом писать
    Шикарно, но я не об этом спрашивал))
    Если писать по дате, то заголовки данных пишутся при каждой новой записи! Этого нельзя исключить?

  9. #29

    По умолчанию

    Цитата Сообщение от Ollema Посмотреть сообщение
    Шикарно, но я не об этом спрашивал))
    Если писать по дате, то заголовки данных пишутся при каждой новой записи! Этого нельзя исключить?
    По моему нет.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Ответов: 5
    Последнее сообщение: 12.10.2021, 16:25
  2. Редактирование заголовка таблицы.
    от Yuri_Iv в разделе Облачный сервис OwenCloud
    Ответов: 5
    Последнее сообщение: 11.06.2020, 12:43
  3. Заполнение таблицы
    от dmitriyv в разделе СПК2хх
    Ответов: 8
    Последнее сообщение: 23.05.2016, 00:20
  4. Не могу подключиться к плк чтобы сделать видимыми переменные.
    от Андрей Ангерчик в разделе Сетевые технологии
    Ответов: 15
    Последнее сообщение: 06.12.2012, 15:49
  5. Графики и таблицы !
    от Maxidancer в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 17.06.2008, 14:04

Ваши права

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