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

Тема: Работа с энкодером в ПЛК110

  1. #1

    По умолчанию Работа с энкодером в ПЛК110

    Здравствуйте.
    Для начала хочу сказать что в программировании ПЛК я не большой специалист, и поэтому прошу прощения за возможно глупые вопросы....
    В общем есть обновлённый ПЛК110 и нужно реализовать на нём решение нескольких задач. Одна из них меня ставит в тупик....
    Подключил энкодер, он работает у меня в диапазоне от 0 до 65535 дискрет.
    Нужно определять направление хода вала, и крайние его значения, и подсчитывать исходя из этих значений всякие величины....

    Первое о чём хочу спросить: как нужно решать такую задачу...? И можно ли решить её на языках LD и CFC?

    Второе о чём хочу спросить: как установить стартовое значение энкодера не равное нулю при запуске ПЛК. для меня это важно потому, что у меня есть кое какая идея, но она рушиться в том случае когда в одном проходе значения энкодера переваливаются за ноль... ну например старт движения вала начался при 1000...значения начали уменьшаться...и перед сменой направления движения значения энкодера вывалились за ноль и стали 65533...все расчёты просто рушатся.... то есть нужна установка стартового значения энкодера где то в середине диапазона, например 35000 дискрет.... можно ли это сделать....?

    Спасибо...

  2. #2

    По умолчанию

    при использовании переменной типа int 65535 эквивалентно -1 65534 - -2 итд в чем проблема вычислений? а энкодер можно инициализировать значением при помощи указателя

  3. #3
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    запись константы 110 в энкодер z
    VAR
    xc: WORD;
    pt:POINTER TO WORD;
    END_VAR

    xc:=110;
    pt:=ADR(z);
    pt^:=xc;

    Но есть способ проще:
    Суммирование значения счетчика из регистра счета:
    C:dword;
    оттуда, M:word;

    C:=C + ((оттуда - M) and 65535);
    M:=оттуда;

    Расширяем диапазон счета до 4 байт и делаем с С все что угодно,без всяких указателей.
    Мне в свое время уважаемый И.Петров, очень не рекомендовал указатели вообще использовать при обращении к областям ввод-вывода.

  4. #4

    По умолчанию

    Спасибо за ответы...
    Решил вопрос с первоначальной установкой энкодера(в момент старта это 0) путём присвоения его значения другой переменной, а потом другую переменную сложил с третьей равной 35000 и тем самым поучил переменную которая в момент установки равна 35000 и меняет своё значение в зависимости от изменения значения энкодера... и с этой переменной уже и работал....

  5. #5
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от Velldio Посмотреть сообщение
    Спасибо за ответы...
    Решил вопрос с первоначальной установкой энкодера(в момент старта это 0) путём присвоения его значения другой переменной, а потом другую переменную сложил с третьей равной 35000 и тем самым поучил переменную которая в момент установки равна 35000 и меняет своё значение в зависимости от изменения значения энкодера... и с этой переменной уже и работал....
    ИМХО "Трений лишний..."
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Похожие темы

  1. Ответов: 24
    Последнее сообщение: 27.08.2021, 15:34
  2. Ответов: 7
    Последнее сообщение: 22.01.2013, 09:58
  3. Возможности СИ30 или ПЛК160 работа с энкодером
    от shemyakov в разделе Подбор Оборудования
    Ответов: 54
    Последнее сообщение: 09.02.2012, 18:11
  4. ПЛК110 - Отмер длины энкодером.
    от olc в разделе ПЛК1хх
    Ответов: 56
    Последнее сообщение: 04.12.2011, 01:33
  5. нестабильная работа плк110-32
    от Валерий Бурик в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 11.02.2011, 07:03

Ваши права

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