Показано с 1 по 5 из 5

Тема: вопросы по событиям плк110

  1. #1
    Пользователь Аватар для Leonid
    Регистрация
    28.03.2009
    Адрес
    Москва
    Сообщений
    35

    По умолчанию вопросы по событиям плк110

    В программе открывается сокет, который закрывается по некоторым событиям. Реализовано это так:
    SysCallbackRegister( INDEXOF(CallbackCloseSocket), EVENT_BEFORE_RESET );
    SysCallbackRegister( INDEXOF(CallbackCloseSocket), EVENT_BEFORE_DOWNLOAD );
    SysCallbackRegister( INDEXOF(CallbackCloseSocket), EVENT_SHUTDOWN );
    На всякий случай еще добавил:
    SysCallbackRegister( INDEXOF(CallbackCloseSocket), EVENT_STOP );
    Ничего, кстати, не забыл?

    Теперь, собственно, основной вопрос:
    Хочется сделать что-то аналогичное вот с какой целью. При инициализации программы она загружает 50 байт из файла, который тут же закрывается. При наступлении указанных выше событий надо сохранить 50 байт в тот же файл. Но ПЛК не успеет это сделать (из-за остановки файлового кэша, может быть). Файл потом будет считаться не закрыт (и его даже потом не стереть). Как тут быть?

    Дополнительные вопросы:
    Когда случается событие EVENT_POWERFAIL?
    Когда случается событие EVENT_SHUTDOWN? Успеет ли файл записаться?
    Как поведет себя переменная "Time to backup power down, s" при наличии питания и при его отключении? (это могу и сам проверить, до кучи спросил)
    Как можно отследить в программе ПЛК подключение к CoDeSys и отключение от среды?

  2. #2

    По умолчанию

    EVENT_POWERFAIL - Из модуля статистики - успеет.
    EVENT_SHUTDOWN - уже успеет только retain.

    Как можно отследить в программе ПЛК подключение к CoDeSys и отключение от среды? - такого метода не предусмотрено. Можно только косвенно.

  3. #3
    Пользователь Аватар для Leonid
    Регистрация
    28.03.2009
    Адрес
    Москва
    Сообщений
    35

    По умолчанию

    EVENT_POWERFAIL аналогичен анализу булевой переменной из модуля статистики, как я понимаю? Ясно, спасибо.

    Владислав, а как отследить CoDeSys косвенно? Не могу сообразить...

  4. #4

    По умолчанию

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

  5. #5
    Пользователь Аватар для Leonid
    Регистрация
    28.03.2009
    Адрес
    Москва
    Сообщений
    35

    По умолчанию

    Это действительно довольно сложно, потому как само время цикла сильно меняется в зависимости от фактически исполняемого в данный момент кода и сетевой активности. Нужны какие-то исследования на полностью законченной и отлаженной программе, а в этом случае и сама задача теряет для меня смысл. А нельзя ли как-то ослеживать из программы ПЛК активность по 1200 порту? Она довольно значительна при подключении к CoDeSys.

Ваши права

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