Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 20 из 20

Тема: Сохраняемые переменные

  1. #11

    По умолчанию

    Для начала, создайте проект с 1 переменной Retain,
    в самой программе только ";",
    залейте его в контроллер, не забудьте сделать Create boot Project,
    запустите,
    назначьте переменной значение (вручную),
    разлогиньтесь, выключите питание.
    подождите 10 мин, чтобы конроллер выкл. рез. питание.
    Включите, залогиньтесь, среда разработки не должна требовать залить новый проект (иначе что-то забыли сделать).
    И посмотрите на значение переменной.

  2. #12

    По умолчанию

    Свою ошибку я понял. При старте в входные переменные RETAIN записывались значения регистров Modbus, а после выключения питания регистры ИП320 обнулялись, соответственно обнулялось все. В переменные текущих значений записывались показания энкодеров, которые после отключения тоже обнулялись. Свходными параметрами проще-переписывать их из Modbus в RETAIN по нажатию кнопки на ИП320. Правда придется разбираться с битовыми пересылками-не понял в какой регистр эти биты пишутся. С текущими значениями сложнее-энкодеры не предполагают предустановку и восстановить их показания не удастся. А на панели,вероятно, проскакивали остатки RETAIN переменных, поскольку время ответа у мня заложено 150 мс и регистры input-output чередуются. В общем все было так как вы и сказали. Большое спасибо за помощь.

  3. #13

    По умолчанию

    Почему RETAIN переменные обнуляются по Reset-у?

  4. #14

    По умолчанию

    Они не обнуляются, а в них записывается последнее значение ретайн-области. Если у Вас новый проект и Вы ни разу не выключали питание (а только пользовались кнопкой Reset), то в области Retain нули.

    Если же речь о программном Reset из среды разработки - аналогично, считывается последнее сохранённое в энергонезависимой памяти значение.

    Наберите PERSISTENT в коде и вызовите справку - там всё подробно написано про поведение переменных при разл. событиях.

  5. #15

    По умолчанию

    Спасибо, Владислав Филоненко. С обычными RETAIN переменными разобрался-все работает. А содержимое энкодера можно каким либо оразом сделать RETAIN, или придется сохранять промежуточную переменную и затем переписывать в энкодер?

  6. #16

    По умолчанию

    Нельзя, только сохранять

  7. #17

    По умолчанию

    Понятно. Похоже, что энкодер организован на базе аппаратного счетчика-таймера микроконтроллера.Спасибо.

  8. #18

    Smile

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

  9. #19

    По умолчанию

    смотри выше.

  10. #20

    По умолчанию

    Заводите дополнительную переменную Retain и в программе значение с энкодера ей присваиваете.

Страница 2 из 2 ПерваяПервая 12

Ваши права

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