Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 25

Тема: Как программировать вложенные SFC

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

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

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Начнем с конца.

    2. Если Вы выставляете цикл ПЛК 1 мс, а реально Ваша программа настолько велика, что выполняется 4 мс, то происходит следующее - начинается цикл, он длится в 4 раза чем задано, после окончания цикла должны проходить операции обслуживания, в т.ч. и обмена с МВА и пр.
    Но, т.к. следующий цикл и так уже запоздал на 3 мс, ПЛК выделяет на обслуживание очень мало времени, несколько мкс, и за этот период операции обмена с входами/выходами, работа мастеров и пр. не успевает полностью произойти. Из-за этого и возникают проблемы с обменом.
    Придется либо оптимизировать программу, либо разбивать её на мелкие подпрограммы, к-е по отдельности выполняются меньше цикла ПЛК, либо увеличить цикл ПЛК, в Вашем случае рекомендую 6 мс, а лучше 10.
    Сделаю 10.
    Попробовал при 10 мс проект грузится 20 сек.
    При 0 мс грузится 13 сек.
    При 40 мс - 65 сек.
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    4. Про архивирование - чем больше файл, тем больше ресурсов времени он требует на обработку. Соответственно при каждой записи архиватор должен открыть файл, перейти в его конец, записать, синхронизировать кэш и пр. операции обслуживания. Время на эти операции растет пропорционально размеру файла. На некотором объеме это время становиться недопустимо большим. И размер файла был сознательно ограничен 32000 байт в бинарном режиме. В текстовом режиме такое ограничение наложить невозможно, т.к. размер записи может варьироваться в очень широких пределах.
    А если ограничить макс время цикла в 10 сек? Или это не из-за этого?
    У меня был архив с shift mode 100 записей, но почему-то файл стирался и каждый раз писался заново.
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Та же проблема с большими файлами в архиваторе приводит к щелканию реле. В ПЛК есть защита от зависания центрального процессора и если в течении 250 мс процессор не подтвердит свою работоспособность, послав посылку в нижний микропроцессор, он переведёт выхода в безопасное состояние. При работе с большими файлами возможны такие задержки.
    Но чем занят процессор 250 мс, если файл дописывается в конец?
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Поэтому рекомендую уменьшить размеры архивов до 20-30 кБайт и проблемы исчезнут.
    500 строк по 60 символов - это мало (одна строка через 1мин - 8 часов).
    Даже если разбить: один архив - одна переменная (что не совсем удобно) получится 1500 строк по 20 символов - сутки.
    Нужно хотя бы 3 суток.

    А если стирать файл и писать с нуля? Будет работать 300-500 кб архив?
    Хотя у меня ведь файл не достиг своего максимума а глюки были
    Последний раз редактировалось Антон; 01.02.2008 в 08:38.

  2. #2

    По умолчанию Ошибка при загрузке проекта

    Разбил один архив на несколько, теперь после загрузки проекта выдается сообщение об ошибке.
    Прилагаются вид экрана с ошибкой и проект.
    Вложения Вложения

  3. #3

    По умолчанию

    Цитата Сообщение от Антон Посмотреть сообщение
    Разбил один архив на несколько, теперь после загрузки проекта выдается сообщение об ошибке.
    Прилагаются вид экрана с ошибкой и проект.
    В ПЛК позволено создавать не более 3-х модулей архивации. Ресурсы не бесконечные

  4. #4

    По умолчанию Два вопроса

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    В ПЛК позволено создавать не более 3-х модулей архивации. Ресурсы не бесконечные
    1) Архиватор в режиме shift при переполнении стирает файл и пишет сначала, хотя должен сдвигать.
    2) Нужен пример записи лог файла с использованием библиотеки.

  5. #5

    По умолчанию

    Антон, у вас очень глобальная задача, под которую архиватор не затачивался, поэтому Вам лучше воспользоваться библиотекой SysLibFile и записывать информацию (а её много будет) самому из программы ПЛК.

  6. #6

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Антон, у вас очень глобальная задача, под которую архиватор не затачивался, поэтому Вам лучше воспользоваться библиотекой SysLibFile и записывать информацию (а её много будет) самому из программы ПЛК.
    Есть пример использования этой библиотеки для записи лог файлов?

  7. #7

    По умолчанию

    Пример для лога не имею, но процедура следующая.
    Открыть файл на запись.
    Переместить указатель в конец файла.
    Начать записывать данные в требуемом Вам формате в файл.
    Когда процедура архивации закончена - закрыть файл.

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

  8. #8

    По умолчанию Еще замечание по архиватору

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

    P.S. Хочется чтобы все замечания по архиватору в новой версии прошивки были устранены, а то это не архиватор а "писалка в файл".

  9. #9

    По умолчанию

    Чтобы добавлялась дата каждые сутки просто сделайте время включения архивации 00:00:06, а выключения 00:00:01. Тогда в 6 секунд первого каждые сутки будет писаться заголовок.

  10. #10

    По умолчанию Глюки достали

    Сделал как вы сказали. Архивы вообще перестали писаться.
    Проект.
    Вложения Вложения

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

Ваши права

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