Имитация энкодера

ПЛК / Децентрализованная периферия
Ответить
Tatabaka
Дилетант
Сообщения: 12
Зарегистрирован: 03 авг 2016, 11:41

Имитация энкодера

Сообщение Tatabaka »

Задача имитировать 4 сигнала энкодера,а именно: A, B ,A-Инверсия, В-Инверсия.
Изображение

Вопрос : Не получается имитировать А инверсия и В инверсия. 4 синхронных сигнала выдать можно, если использовать 2 разных PTO и 2 разных Technology Object . Но вот как сдвинуть 2 сигнла дополнительно на период, найти не могу %) ( .
Буду признателен за любые идеи )

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Имитация энкодера

Сообщение Михайло »

Думаю что такое нереализуемо без некого аппаратного решения (инвертора)... Хотя может я что-то где-то упускаю?..

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 588
Зарегистрирован: 22 июл 2016, 20:38

Re: Имитация энкодера

Сообщение mr_Frodo »

Михайло, у топикстартера проблем с инсверсным сигналом нет. Он сдвиг на 90 группу организовать не может.
Хотя у меня так же как и у вас больше заботит вопрос инверсия сигнала. Я так понимаючто нужен отрицательный импульс?
Вот моя подпись...

Tatabaka
Дилетант
Сообщения: 12
Зарегистрирован: 03 авг 2016, 11:41

Re: Имитация энкодера

Сообщение Tatabaka »

mr_Frodo писал(а):Михайло, у топикстартера проблем с инсверсным сигналом нет. Он сдвиг на 90 группу организовать не может.
Хотя у меня так же как и у вас больше заботит вопрос инверсия сигнала. Я так понимаючто нужен отрицательный импульс?
Как раз таки и есть проблема с инверсным сигналом. Единовременно мне нужно получать 4 сигнала ,если с А и В проблем нет,то инверсный получить не знаю как(
Может я не так выразился, но инверсный А и В штрих отличаются от основных А и В на 1 период .

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Имитация энкодера

Сообщение Михайло »

Какая частота сигнала?

Tatabaka
Дилетант
Сообщения: 12
Зарегистрирован: 03 авг 2016, 11:41

Re: Имитация энкодера

Сообщение Tatabaka »

Михайло писал(а):Какая частота сигнала?
Около 760 Гц.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Имитация энкодера

Сообщение Михайло »

1) Извращение:
760 Гц - это 1,3 миллисекунды. Можно попробовать второй PTO запустить по прерыванию с задержкой по времени. Задержка должна быть T=k*1,3+0,65 (мс), где k - целое число, но не слишком большое (для точности). Время T тоже должно быть целое.
Если взять k=1, то очень точно сходится: T=1,97 мс.

Осталось только придумать как обеспечить выдержку. И сработает ли это? Мда... Сложновато... И все это будет работать только при частоте строго 760 Гц...

2) Практическое решение:
Твердотельное реле 24 В, NC-контакт. Правда я не нашел подходящего, не вижу реле с NC-контактом.

Tatabaka
Дилетант
Сообщения: 12
Зарегистрирован: 03 авг 2016, 11:41

Re: Имитация энкодера

Сообщение Tatabaka »

Михайло писал(а):1) Извращение:
760 Гц - это 1,3 миллисекунды. Можно попробовать второй PTO запустить по прерыванию с задержкой по времени. Задержка должна быть T=k*1,3+0,65 (мс), где k - целое число, но не слишком большое (для точности). Время T тоже должно быть целое.
Если взять k=1, то очень точно сходится: T=1,97 мс.

Осталось только придумать как обеспечить выдержку. И сработает ли это? Мда... Сложновато... И все это будет работать только при частоте строго 760 Гц...

2) Практическое решение:
Твердотельное реле 24 В, NC-контакт. Правда я не нашел подходящего, не вижу реле с NC-контактом.
А что за формула такая любопытная ? Откуда она взялась ?
пасибо за советы ,попробую поизвращаться :wall:

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Имитация энкодера

Сообщение Михайло »

Формула проста как гвоздь: нужно сдвинуть сигналы A и B на целое число периодов + еще полпериода, чтобы получить сигналы A* и B*.

Tatabaka
Дилетант
Сообщения: 12
Зарегистрирован: 03 авг 2016, 11:41

Re: Имитация энкодера

Сообщение Tatabaka »

РЕШЕНИЕ

Для получения инверсных А и В,я использовал такую хорошую штуку как CommandTable в которой в поле Wait задал смещение в пол периода. (кстати значение времени позволяется задать довольно точно )
Так что не пришлось мудрить с прерываниями :)

Ответить