Всем привет! Столкнулся с небольшой засадой. Не могу никак понять как обработать дискретный сигнал, который несет в себе аналоговый.
Язык программирования только LD..контроллер AB Micrologix 1400.
Ниже картинка, получается надо, как-то контроллером собрать слово из 16 бит, положить в регистр, потом преобразовать в 10-тичную систему и разделить на 10, получится как раз нужное значение.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Кодировка аналогового значения с помощью DI.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 11 сен 2015, 17:13
- Имя: Венев Алексей Александрович
- Страна: Россия
- город/регион: Кашира
Кодировка аналогового значения с помощью DI.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
Re: Кодировка аналогового значения с помощью DI.
Делаете таймер 250 мс. По таймеру проверяете состояние входа, если вход - 1, то увеличиваем переменную на 1. Предварительный итог - после 4-х сработок таймера:
переменная = 4 - пауза
переменная = 3 - старт
после полного цикла "пауза-старт" предварительный итог - после 3-х сработок таймера:
переменная = 2 - HI bit
переменная = 1 - LO bit
Окончательный итог - после 2*4+16*3=56 сработок таймера
переменная = 4 - пауза
переменная = 3 - старт
после полного цикла "пауза-старт" предварительный итог - после 3-х сработок таймера:
переменная = 2 - HI bit
переменная = 1 - LO bit
Окончательный итог - после 2*4+16*3=56 сработок таймера
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- освоился
- Сообщения: 277
- Зарегистрирован: 28 авг 2014, 09:30
- Имя: Воднев Александр Васильевич
- Страна: РФ
- город/регион: Томск
- Благодарил (а): 22 раза
- Поблагодарили: 28 раз
Re: Кодировка аналогового значения с помощью DI.
Думаю, что не все так просто. Необходима, как минимум, синхронизация таймера с последовательным кодом.Делаете таймер 250 мс
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 11 сен 2015, 17:13
- Имя: Венев Алексей Александрович
- Страна: Россия
- город/регион: Кашира
Re: Кодировка аналогового значения с помощью DI.
hell_boy писал(а):Делаете таймер 250 мс. По таймеру проверяете состояние входа, если вход - 1, то увеличиваем переменную на 1. Предварительный итог - после 4-х сработок таймера:
переменная = 4 - пауза
переменная = 3 - старт
после полного цикла "пауза-старт" предварительный итог - после 3-х сработок таймера:
переменная = 2 - HI bit
переменная = 1 - LO bit
Окончательный итог - после 2*4+16*3=56 сработок таймера
Добрый день! Не поверите, тоже пока кроме этого способа ничего в голову не пришло.
-
- эксперт
- Сообщения: 1112
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 323 раза
- Поблагодарили: 218 раз
Re: Кодировка аналогового значения с помощью DI.
Учите матчасть.progplc писал(а):Добрый день! Не поверите, тоже пока кроме этого способа ничего в голову не пришло.
STI будет эффективнее, про теорему Котельникова не забывать. Мой совет для STI установить время 50 мс.
А, также см. EII - Event Input Interrupt.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 11 сен 2015, 17:13
- Имя: Венев Алексей Александрович
- Страна: Россия
- город/регион: Кашира
Re: Кодировка аналогового значения с помощью DI.
Добрый день! На Step7 я знаю как делать))))
А вот как в RSLogix 500 пока не могу разобраться.
Я использовал вариант преложенный выше, но все равно спасибо за помощь! =)
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 11 сен 2015, 17:13
- Имя: Венев Алексей Александрович
- Страна: Россия
- город/регион: Кашира
Re: Кодировка аналогового значения с помощью DI.
progplc писал(а):
Добрый день! На Step7 я знаю как делать))))
А вот как в RSLogix 500 пока не могу разобраться.
Я использовал вариант преложенный выше, но все равно спасибо за помощь! =)
Все увидел, это и есть RSLogix! Спасибо, буду разбираться сам))))