1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Кодировка аналогового значения с помощью DI.

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Ответить

Автор темы
progplc
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2015, 17:13
Имя: Венев Алексей Александрович
Страна: Россия
город/регион: Кашира

Кодировка аналогового значения с помощью DI.

Сообщение progplc »

Всем привет! Столкнулся с небольшой засадой. Не могу никак понять как обработать дискретный сигнал, который несет в себе аналоговый.
Язык программирования только LD..контроллер AB Micrologix 1400.
Ниже картинка, получается надо, как-то контроллером собрать слово из 16 бит, положить в регистр, потом преобразовать в 10-тичную систему и разделить на 10, получится как раз нужное значение. :ext_book: :ges_help:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

Re: Кодировка аналогового значения с помощью DI.

Сообщение hell_boy »

Делаете таймер 250 мс. По таймеру проверяете состояние входа, если вход - 1, то увеличиваем переменную на 1. Предварительный итог - после 4-х сработок таймера:
переменная = 4 - пауза
переменная = 3 - старт
после полного цикла "пауза-старт" предварительный итог - после 3-х сработок таймера:
переменная = 2 - HI bit
переменная = 1 - LO bit

Окончательный итог - после 2*4+16*3=56 сработок таймера
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
Аватара пользователя

vodav
освоился
освоился
Сообщения: 277
Зарегистрирован: 28 авг 2014, 09:30
Имя: Воднев Александр Васильевич
Страна: РФ
город/регион: Томск
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Re: Кодировка аналогового значения с помощью DI.

Сообщение vodav »

Делаете таймер 250 мс
Думаю, что не все так просто. Необходима, как минимум, синхронизация таймера с последовательным кодом.

Автор темы
progplc
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2015, 17:13
Имя: Венев Алексей Александрович
Страна: Россия
город/регион: Кашира

Re: Кодировка аналогового значения с помощью DI.

Сообщение progplc »

hell_boy писал(а):Делаете таймер 250 мс. По таймеру проверяете состояние входа, если вход - 1, то увеличиваем переменную на 1. Предварительный итог - после 4-х сработок таймера:
переменная = 4 - пауза
переменная = 3 - старт
после полного цикла "пауза-старт" предварительный итог - после 3-х сработок таймера:
переменная = 2 - HI bit
переменная = 1 - LO bit

Окончательный итог - после 2*4+16*3=56 сработок таймера

Добрый день! Не поверите, тоже пока кроме этого способа ничего в голову не пришло. :ext_book:
Аватара пользователя

Looker
эксперт
эксперт
Сообщения: 1109
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 321 раз
Поблагодарили: 218 раз

Re: Кодировка аналогового значения с помощью DI.

Сообщение Looker »

progplc писал(а):Добрый день! Не поверите, тоже пока кроме этого способа ничего в голову не пришло. :ext_book:
Учите матчасть. :ext_book:
:ext_secret: STI будет эффективнее, про теорему Котельникова не забывать. Мой совет для STI установить время 50 мс.
ИзображениеИзображение
А, также см. EII - Event Input Interrupt.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу

Автор темы
progplc
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2015, 17:13
Имя: Венев Алексей Александрович
Страна: Россия
город/регион: Кашира

Re: Кодировка аналогового значения с помощью DI.

Сообщение progplc »

Looker писал(а):
progplc писал(а):Добрый день! Не поверите, тоже пока кроме этого способа ничего в голову не пришло. :ext_book:
Учите матчасть. :ext_book:
:ext_secret: STI будет эффективнее, про теорему Котельникова не забывать. Мой совет для STI установить время 50 мс.
ИзображениеИзображение
А, также см. EII - Event Input Interrupt.

Добрый день! На Step7 я знаю как делать))))
А вот как в RSLogix 500 пока не могу разобраться.
Я использовал вариант преложенный выше, но все равно спасибо за помощь! =)

Автор темы
progplc
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2015, 17:13
Имя: Венев Алексей Александрович
Страна: Россия
город/регион: Кашира

Re: Кодировка аналогового значения с помощью DI.

Сообщение progplc »

progplc писал(а):
Looker писал(а):
progplc писал(а):Добрый день! Не поверите, тоже пока кроме этого способа ничего в голову не пришло. :ext_book:
Учите матчасть. :ext_book:
:ext_secret: STI будет эффективнее, про теорему Котельникова не забывать. Мой совет для STI установить время 50 мс.
ИзображениеИзображение
А, также см. EII - Event Input Interrupt.

Добрый день! На Step7 я знаю как делать))))
А вот как в RSLogix 500 пока не могу разобраться.
Я использовал вариант преложенный выше, но все равно спасибо за помощь! =)

Все увидел, это и есть RSLogix! Спасибо, буду разбираться сам))))
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»