Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 40

Тема: Архив типа shift mode средствами SysLibFile

  1. #1

    По умолчанию Архив типа shift mode средствами SysLibFile

    Добрый день!
    Очень нужено организовать архив типа "shift mode" средствами SysLibFile, а опыта работы с этой библиотекой и с файлами очень мало.
    Прочитал почти все, что писалось об этом на форуме. Прочитав это:

    http://www.owen.ru/forum/showthread....ght=SysLibFile
    http://www.owen.ru/forum/showthread....ght=syslibfile

    Кое что стало понятно, а воплотить это в жизнь, без подробного примера, не получается
    Может кто-нибуть может поделится более менее подробным примером создания архива типа "shift mode" средствами SysLibFile с применением следующих приемов:
    читаете последнюю половину файла в буфер, создаете новый файл, записываете буфер (не забудьте заголовок добавить к нему), удаляете старый файл, переименовываете.
    лучше делить файл не побайтно, а по строкам.
    Buffer:Array [0..1024] of byte;
    Строки можно делать любой длинны, но работать с ними с помощью строковых функций - только до размера 256 байт.
    Рекомендую не писать 20 раз в файл, а накапливать данные в буфере и сбрасывать на диск большими блоками. Каждое обращение к функции записи неизбежно затирает 1 блок Flash. Да и быстрее будет.

    В программе архивации создаёте буфер на 1 (а лучше на 2-5) записей.
    Архивируете в буфер и считаете число свободных блоков в буфере. Когда буфер заполнится - записываете его весь на диск и сбрасываете счётчик свободных блоков.
    Архивировать нужно переменные типа REAL и WORD.
    Если кто может таким поделиться, буду очень благодарен.

  2. #2

    Smile привет земеля :-)

    и не жалко пэ-эл-ка-шку так мучить!?
    насчет архивирования лучше почитать про мсд100, уверен как раз то что нужно.
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  3. #3

    По умолчанию

    технология проста.
    пишем в ретайн. после накопления пары кбайт сбрасываем на диск.
    если размер на диске становится >критического, то:
    создаем новый файл. копируем в него последнюю половину старого, стираем старый, переименовываем.

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

    в ретайн храним состояния транзакции.

    если соблюдать "умеренность" в записях - ресурса хватит на века.

  4. #4

    По умолчанию

    Спасибо за ответы, с технологией все понятно, хотелось бы увидеть реализацию этих идей (пример именно с shift mode). В теме примеры программ и полезности уже есть примеры работы с SysLibFile, но с shift mode - нет. Этот пример был бы изюменкой.

  5. #5

    По умолчанию

    с нетерпением ждем поставок изюминок. нам просто некогда это делать.

  6. #6

    По умолчанию

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

  7. #7
    Пользователь
    Регистрация
    18.03.2007
    Адрес
    г. Краснодар
    Сообщений
    233

    По умолчанию

    Цитата Сообщение от филоненко владислав Посмотреть сообщение
    в ретайн храним состояния транзакции.

    если соблюдать "умеренность" в записях - ресурса хватит на века.
    ... и ретайн не сохранился. то-ли плк поймал глюка то-ли сдохла батарейка и ушло в небытие состояние транзакций.

    Ps страшная штука архив в плк. сам их делаю но в них всеравно теряются записи (те самые транзакции глючат наверно).

  8. #8

    По умолчанию

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

  9. #9

    По умолчанию

    Уважаемый Сергей71!
    Не могли бы Вы поделиться простым примерчиком создания архива с помощью SysLibFile в режиме shift mode? На сколько я понимаю, у Вас есть опыт создания таких архивов. У меня что-то до конца не клеится... За ранее благодарен.

  10. #10

    Exclamation Вариант архивации shift mode

    Здравствуйте Владислав!
    Попытался написать архивацию на SysLibFile в режиме shift mode, но где-то напутал - в результате есть проект - надеюсь кандидат в "примеры программ и полезности" но с ошибками. Сильно не ругайте, в этом деле я новичок , только учусь. Если поможите мне разобрать в моих ошибках и немного доработать, буду благодарен и обязательно выложу рабочий вариант на форум. Если есть и други желающие помочь разобраться - пожалуйста, буду рад.
    Проект прилогаю. ПЛК100-24 P-L прошивка 2.10.7 таргет 2.10

    Моему земеле Gans отдельный большуший привет Если есть возможность - присоединяйся.
    Вложения Вложения
    • Тип файла: rar ARC_Y.rar (7.5 Кб, Просмотров: 184)

Страница 1 из 4 123 ... ПоследняяПоследняя

Ваши права

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