Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 24 из 24

Тема: Управление движением механизма.

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Проверка проскоков есть там ? (Типа поехали из 2 в 8. Отвалился 4й)
    Что отвалился 4 нет.
    Но то, что отвалился 8 можно легко сделать.
    У меня было специально предусмотрены два "параноидальных" условия "<=" и ">=" останова движения тележки для случая если тележка продолжит движение при не исправном датчике заданного адреса.
    Легко можно добавить по фронту с выхода каждого условия "<=" и ">=" компаратор равенства адреса и текущего положения. Если не равны, то отвалился 8 или 8 и 9 или 8, 9 и 10 и т.д. Смотря на каком остановилась тележка.

    ЗЫ. Ведь едем по 8 адресу, 4 датчик не важен. Вот когда нужен будет 4 тогда и определим, что он неисправен.
    Последний раз редактировалось petera; 07.10.2013 в 17:06.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #22
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Когда нужно будет - будет позно ))
    С кейсом кажется жестковато. Все-таки 32 значения. Может в цикле перебрать ?
    Последний раз редактировалось Валенок; 08.10.2013 в 16:30.

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Когда нужно будет - будет позно ))
    С кейсом кажется жестковато. Все-таки 32 значения. Может в цикле перебрать ?

    PS.
    Жаль у реала мантисса 23 бита (датчиков > 23). Можно было бы:
    if положение <> 0 then
    alarm := expt(2, log(положение)/log(2)) <> положение;
    end_if
    У OSCATA есть нужная функция
    1.png
    Код:
    FUNCTION BIT_COUNT : INT
    VAR_INPUT
        IN : DWORD;
    END_VAR
    Тело функции
    WHILE in > 0 DO
        IF in.0 THEN Bit_Count := Bit_Count + 1; END_IF;
        in := SHR(in,1);
    END_WHILE;
    Добавить проверку Если BIT_COUNT( POLOGENIE) >1, то аларм
    Последний раз редактировалось petera; 07.10.2013 в 17:26.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Сколько народа вовлёк в дискуссию Ну я думаю это наверно уже лишнее разве что просто из спортивного интереса. Загрузил программу на плк тестирую на механизмах пока работает нормально.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Управление ТЭНами
    от Admiral в разделе Подбор Оборудования
    Ответов: 8
    Последнее сообщение: 06.02.2013, 14:04
  2. Тахометр ТХ01 для контроля скорости механизма
    от alexval2006 в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 08.06.2012, 13:41
  3. управление печью
    от pgomberg в разделе Подбор Оборудования
    Ответов: 33
    Последнее сообщение: 04.08.2010, 13:55
  4. Ответов: 21
    Последнее сообщение: 11.03.2010, 11:19
  5. управление 3-х клапанами
    от Дмитрий в разделе Разработки
    Ответов: 4
    Последнее сообщение: 26.08.2009, 04:46

Ваши права

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