Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22

Тема: определение направления движения механизма

  1. #1
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию определение направления движения механизма

    Добрый день товарищи такая проблема начал осваивать плк100 и CoDeSys
    пока что без плк в режиме эмуляции плк еще в пути
    Значит к сути есть механизм который может двигаться вперед и назад по прямой по этой прямой есть 10 точек с датчиками положения механизма (концевики) если механизм находиться в данный момент на точке №4 а ему надо попасть на точку №10 как определить направление движения механизма вперед или назад. Я тут подумал что наверно можно сделать сравнение по номеру больше меньше типа что то такое (просьба не пинать я киповец а программирование только осваиваю )
    если точка А это точка где находиться механизм(определяем по датчикам) в данный момент а точка Б это точка куда нужно попасть(выбираться кнопками) то из этого следует такое условие
    Если А<Б то механизм движется в перед
    Если А>Б то механизм движется назад
    Помогите из этого сделать что то путное на ST.
    Буду очень признателен за любую помощь ночевку

    Добавлено позже

    вот что я родил спустя несколько часов после чтения букваря по CoDeSys
    А1-А10 положение механизма (сигнал с датчиков)
    В1-В10 куда нужно переместить механизм (сигнал с кнопок)
    С1-выход движения механизма вперед
    С2- выход движения механизма назад
    Из этого получаться вот такой код на ST
    if B < A ТНЕN
    C1:=TRUE;
    elseif B > A ТНЕN
    C2:=TRUE;
    end_if
    Это вроде правильно вот теперь как сделать чтобы сигнал с нужной кнопки и нужного датчика принимал числовое значение чтобы эти значения присвоить переменным А и В а потом сравнивать. Голова идет кругом от всей этой информации усвоенной за сегодня помогите плиз
    Последний раз редактировалось alexval2006; 14.02.2010 в 21:13.

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

    По умолчанию

    Вы посмотрите как это устроено в релейной схеме управления лифтом.
    все датчики в исх положении -FALSE
    механизм в крайнем положении.
    Присвойте состояние 10 датчиков битам какого либо числа размером WORD.
    Например:
    D1:=pologenie.0;
    .
    .
    D10:=pologenie.9;

    При движении исп. мех-ма, по фронту срабатывания датчиков положения, записывайте их состояния в данную переменную и сравнивайте текущее положение с заданным для определения направления движения.
    Для того, что бы работало D-должны менять состояние после прохождения исп мех-ма, в зависимости от направления движения. К примеру вверх-TRUE, вниз-False.

  3. #3
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию

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

    я так понял мне нужно изобрести нечто такое
    Наиболее сложным и ответственным узлом схемы управления лифтовой установки является позиционно-согласующее устройство (ПСУ), которое служит для определения положения кабины в шахте и выдачи сигналов для движения кабины в нужном направлении и ее остановки. Конструктивно ПСУ выполняют в виде набора электромеханических переключателей, размещенных в шахте или смонтированных в специальных приборах — копираппарате или селекторе, которые находятся в машинном помещении и связаны с кабиной механической или электрической связью.
    Последний раз редактировалось alexval2006; 14.02.2010 в 19:10.

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

    По умолчанию

    Ну да. Именно. Копираппарат- ваша переменная. Как присвоить я написал. ПСУ - ваши датчики.
    Вы по переднему фронту срабатывания датчика при движении вверх или к примеру вправо(определите для себя как удобнее), устанавливайте бит, соответствующий датчику. при движении в противоположном направлении, по заднему фронту, сбрасывайте бит.
    Направление определяйте сравниванием<>. Остановка- когда=.
    Прочтите внимательно справку CoDeSys. Там все языки описаны.
    Прочтите краткий справочник по операторам и компонентам библиотек.

  5. #5
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию

    у меня опять неувязочка я планирую испльзовать датчики индуктивные а не концевики на три положения как быть ставить по два датчика на точку или можно по другому? идея вроде есть но там пока доконца неясно я думаю делать как написано во втором посте если дам ладу как
    Последний раз редактировалось alexval2006; 14.02.2010 в 22:50.

  6. #6
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,670

    По умолчанию

    У сигнала датчика (Не важно механический или индуктивный)есть фронт и срез ,надо анализировать фронты ,срезы, кнопку (вверх или вниз)(это для определения заданного направления движения и пошло-ли движение) и номер последующего (по срабатыванию) датчика.
    Актуальный датчик показывает позицию.Датчик подключен к дискретному входу.
    Пишете.
    IF In_1 THEN
    Position:=1;
    END_IF
    .
    .
    .
    IF In_10 THEN
    Position:=10;
    END_IF
    Естественно переменные надо предварительно обьявить и привязать.

  7. #7

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    Вы посмотрите как это устроено в релейной схеме управления лифтом.
    Где можно взять эту схему?

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

    По умолчанию

    как и все в нете, через поиск. я сам не лифтер. пример привел, для образного понимания принципа работы.

  9. #9

    По умолчанию

    такой вопрос, (только начал изучать CoDeSYS) как привязать сигнал с датчика к переменным. Т.е. к 4ем входам подключаются датчики -
    фотоэлементы в зависимости от их состояния 0 или 1 и последовательности этих состояний, будет определятся направление движения и размер обьекта, человек или машина например. т.е. как присвоить входу ПЛК переменную и дальше уже использовать ее в программе?

  10. #10
    Пользователь
    Регистрация
    23.01.2008
    Адрес
    Белгородская область, Валуйки
    Сообщений
    274

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    IF In_1 THEN
    Position:=1;
    END_IF
    .
    .
    .
    IF In_10 THEN
    Position:=10;
    END_IF
    а что за что отвечает? In_1 это переменная кнопки? Position:=1;
    это датчик или наоборот? Я склоняюсь к второму варианту тогда in_1 переменая от датчика 1 тогда условие
    если in_1(вкл)тогда
    Position:=1;
    end_if
    немного недогнал сути либо мысль незакончена?
    Я думаю так что это просто опрос сотояния всех датчиков поле опроса если механизм находитса на позиции 2 переменная Position:=2; а нужно переместитса на позицию 5тогда получитса условие
    Если нажата bytton_5<Position:=2 тогда
    движемся вперед
    elseif нажата bytton_5>Position:=2 тогда
    Движемся назад
    end_if
    Если нажата bytton_5=in_5 тогда
    механизм стоп
    end_if
    Ну както так может по другому поравти если нетак и как это окультурить по правильному

    схема лифта http://povny.info/main/stanki/obprom...-skhema-i.html
    Последний раз редактировалось alexval2006; 15.02.2010 в 13:05.

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

Ваши права

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