Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 40

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

  1. #11

    По умолчанию

    1. Не надо совершать 100500 операций с файлами в 1 цикле. Хотя ФС жестоко закеширована, но размеры кэшей ограничены. И если выйти за их пределы - начнется торможение, т.к. операция будет ждать реальной записи на Flash, а не помещения в кэш.
    2. Вы используете текстовый тип архива, разделяя записи переводом строки. Поэтому при поиске 2/3 нужно не только математически рассчитать 1/3 от конца, но и найти начало след. записи, чтобы архив не был порезан посреди значения.
    3. Желательно иметь для записей время (ну это на будущее)
    4 . А так идея верна. Единственно не надо каждое значение класть во Flash сразу. Накапливайте несколько.

  2. #12

    По умолчанию

    Посмотрел пример - прикольно, но я сторониик архивирования на компах.
    Возникло пара коментариев. Почему таймер t персонально объявлен в глобальных переменных!? По тексту нет комментариев :-(
    Из предложений вот что:
    1) может быть для архивирования брать массив real (вот он должен быть глобальным) где первый элемент массива содержит количество чисел. Этот массив содержит текущие значения переменных (температуры давления и тд.)
    2) символ разделения столбцов вынести в отдельную переменную (комуто двоетичие, а другим точка с запятой или символ табуляции).
    3) на мой взгляд генерация события архивации должна производится примерно так
    ton_Save(in:= not ton_Save.q, PT:=tmSave); где tmSave это периодичность записи в архив. Далее по условию if tmSave.q then …. Должно выполнятся архивирование и тд. Конечно можно и task к этому пристроить (см. Task configuration).
    4) в архиве первым столбцом должно быть время .. наверное

    К большому сожалению исправлять код и выкладывать пока не буду это получится совершенно другая программа, каждый пишет программы по-своему - это как отпечатки пальцев:-)
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  3. #13

    Lightbulb

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    1. Не надо совершать 100500 операций с файлами в 1 цикле. Хотя ФС жестоко закеширована, но размеры кэшей ограничены. И если выйти за их пределы - начнется торможение, т.к. операция будет ждать реальной записи на Flash, а не помещения в кэш.
    ...да, я уже думал об этом, буду разносить по циклам, наверное с помощью типа такого: IF SysFileClose(f1) THEN ...
    2. Вы используете текстовый тип архива, разделяя записи переводом строки. Поэтому при поиске 2/3 нужно не только математически рассчитать 1/3 от конца, но и найти начало след. записи, чтобы архив не был порезан посреди значения.
    ... тоже согласен. Только как это делается? Как найти найти начало след. записи в файле?
    3. Желательно иметь для записей время (ну это на будущее)
    ... это я вставлю обязательно, когда архиватор правильно заработает .
    4 . А так идея верна. Единственно не надо каждое значение класть во Flash сразу. Накапливайте несколько.
    ... я так понимаю надо в RETAIN писать массив и по его заполнению сбрасывать его содержимое на диск (в фаил).

    Цитата Сообщение от Gans
    Посмотрел пример - прикольно, но я сторониик архивирования на компах.
    Да я не против бы, но стоит задача архивирования на объекте со съемом архива через GSM модем! Обязательно через модем... Фишка с МСД100 не проходит по причине невозможности снятия архивов с него через модем . По замечаниям 1,2,3,4 - учту.
    К большому сожалению исправлять код и выкладывать пока не буду это получится совершенно другая программа, каждый пишет программы по-своему - это как отпечатки пальцев:-)
    ...ЁЛКИ-ИГОЛКИ, а я думал увижу как умные и опытные люди пишут программы. Исправляйте мою, я не обижусь. Может чему нибуть и научусь глядучи на примеры .

  4. #14

    По умолчанию

    2. по кодам конца строки.

  5. #15

    По умолчанию

    Постараюсь на выходных начеркать свои мысли в кодесис ..... своим-то людям :-) правда с библиотекой SysLibFile я не работал может заодно и научусь. Хотя в целях наладки подумываю всё-таки приобрести МСД100.
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  6. #16

    По умолчанию моё видение.

    вот что смог накрапать, правда там вообще нет записи на флеш зато все предварительное похоже сделано.
    Вложения Вложения
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  7. #17

    Thumbs up

    2. по кодам конца строки.
    ... а каким образом? Нужно наверное прочитать 2/3 файла в строковую переменную (или в массив?) и спомощью FIND искать код конца строки в конце считанного куска и посчитать длину строки до этого символа. Так узнаем куда ставить указать в файле (SysFilePos). Где я ошибаюсь?

    Постараюсь на выходных начеркать свои мысли...
    ...Das ist fantastisch!!! Sehr gut!
    ...подумываю всё-таки приобрести МСД100
    ...У нас уже есть такая штука. Лично мне нравится. Работает не плохо, если не замучаешь со сменой скорости обмена по порту с ПК. У некоторых бывает пролетает глюк (смотри http://www.owen.ru/forum/showthread.php?p=39085#post39085) и все... allas kaput прямая дорога в тех.центр. Жду новых версий с исправлениями и нововведениями.

  8. #18

    По умолчанию помоему даже красиво получается

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

  9. #19

    Thumbs up мне то же нравится. счастьемет, прям какой-то :-)

    ...обкатывать придется самому
    Не вопрос! Для этой цели у меня есть все. В понедельник на работе запущу проект в работу. Результат обязательно сообщю. А вот SysLibFile без "железа" не работает! Проверенно. Спасиб за советы в коментах, очень помогает. Нравится мне твой ход мыслей. Все, до понедельника!

    P.S. Смотрю, народ интересуется нашей темой. Только почемуто ни кто не высказывается и свои идеи не предлагает...

  10. #20

    Exclamation начались проблемы, елки-иголки...

    Всем привет!
    Долго я мучил проект ARC_Y_10_04_17 и результаты странные:
    Хороший результат:
    1. Проект работает нормально - время и строки формируются
    Плохохие результаты:
    1. Фаил на запись не открывается (дискриптор всегда равен 0) и на диск не пишется
    2. Размер файла полученный с помощью SysFileGetSize принимает странные значения (541212688, 537416024, 536991940) и раза два принял реальные значения (типа 128, 256) и файла естественно на диске нет...
    Вечные вопросы: что делать? В чем причина?
    Может нам Филоненко Владислав подскажет?
    Использую ПЛК100-24 P-L прошивка 2.10.7 таргет 2.10

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

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