PDA

Просмотр полной версии : СПК 107 + МВ110-224.16Д и короткий импульсный сигнал.



Дмитрий Александрович
06.08.2017, 21:21
Добрый день. Делаю первые шаги с СПК, сразу с решения задачи...

Имеется описанная в заголовке конфигурация оборудования.
Скорость связи 115200 настроил.

В системе - поворотный стол вращается шаговым двигателем.
Написана программка.

Переменные table_enable и table_disable - завязаны с экранными кнопками на визуализации.


32458

На первый канал модуля ввода подсоединен оптический датчик, срабатывающий на прорезь в столе. Сигнал довольно таки короткий.
Светодиод на модуле отрабатывает все прорези в столе, т.е. цепь - датчик - модуль ввода исправна.

Программа - не успевает.

Есть ли какой то способ увеличить скорость опроса или как то решить задачу останова стола более элегантно?

Уточнение: все установлено "из коробки", т.е кодесис и все таргеты установлены с дисков шедших в комплекте поставки.

Спасибо.
Извините за мелкое изображение.

Сергей0308
06.08.2017, 21:33
Добрый день. Делаю первые шаги с СПК, сразу с решения задачи...

Имеется описанная в заголовке конфигурация оборудования.
Скорость связи 115200 настроил.

В системе - поворотный стол вращается шаговым двигателем.
Написана программка.

Переменные table_enable и table_disable - завязаны с экранными кнопками на визуализации.


32458

На первый канал модуля ввода подсоединен оптический датчик, срабатывающий на прорезь в столе. Сигнал довольно таки короткий.
Светодиод на модуле отрабатывает все прорези в столе, т.е. цепь - датчик - модуль ввода исправна.

Программа - не успевает.

Есть ли какой то способ увеличить скорость опроса или как то решить задачу останова стола более элегантно?

Уточнение: все установлено "из коробки", т.е кодесис и все таргеты установлены с дисков шедших в комплекте поставки.

Спасибо.
Извините за мелкое изображение.

Там в модуле и счётчик есть для каждого входа, задержка будет, но хоть сработает!

Дмитрий Александрович
06.08.2017, 21:40
Проблема в том, что срабатывает не на каждую прорезь. Т.е. пропускает. Прорези физически все одинаковы - лазерная резка....

Сергей0308
06.08.2017, 21:49
Проблема в том, что срабатывает не на каждую прорезь. Т.е. пропускает. Прорези физически все одинаковы - лазерная резка....

Так у вас модуль не успевает воспринять сигнал или СПК опросить модуль пока присутствует сигнал?

Дмитрий Александрович
06.08.2017, 23:28
Похоже что СПК не успевает опросить...
А как проверить успевает ли модуль?

Сергей0308
07.08.2017, 00:23
Похоже что СПК не успевает опросить...
А как проверить успевает ли модуль?

Я же написал, опрашивать счётчик соответствующего входа! По изменению значения счётчика можно сформировать сигнал датчика! Если модуль воспринимает сигналы датчика, то значение счётчика меняется в пределах 0-65535! И по умолчанию фильтр дискретных входов отключен, посмотрите, отключите, если включен! Для проверки подайте известное количество импульсов и сравните с приращением значения счётчика!
Неужели у вас длительность менее 0,5 мс:

32461

Не проще на СПК1ХХ.Д сделать, там ничего опрашивать не нужно и модуль не нужен, хотя и минимальная продолжительность импульса побольше, но может Вам и этого хватит?

32462

Дмитрий Александрович
07.08.2017, 07:51
Я же написал, опрашивать счётчик соответствующего входа! По изменению значения счётчика можно сформировать сигнал датчика! Если модуль воспринимает сигналы датчика, то значение счётчика меняется в пределах 0-65535! И по умолчанию фильтр дискретных входов отключен, посмотрите, отключите, если включен! Для проверки подайте известное количество импульсов и сравните с приращением значения счётчика!
Неужели у вас длительность менее 0,5 мс:

32461

Не проще на СПК1ХХ.Д сделать, там ничего опрашивать не нужно и модуль не нужен, хотя и минимальная продолжительность импульса побольше, но может Вам и этого хватит?

32462

Делать приходится на том что есть. Если можно - пример бы кода отработки изменения счетчика....
Спасибо.

Сергей0308
07.08.2017, 20:08
Делать приходится на том что есть. Если можно - пример бы кода отработки изменения счетчика....
Спасибо.

У Вас, насколько смог понять, оптический датчик используется не как концевик, а даёт импульсы при перемещении стола, Вы так не конкретно всё описываете! Я написал по изменению для случая концевика, здесь подсчитываете приращение значения счётчика и сравниваете с константой(переменной) на большее значение! Короче, мне кажется здесь напрашивается энкодер + быстрые входа ПЛК110!

Дмитрий Александрович
07.08.2017, 21:30
Все сделал на жесткой логике. Без энкодеров и т.д. Сигнал от оптодатчика сбрасывает триггер, триггер одним выходом выключает цепь задающего генератора шагового двигателя, а вторым - включает RC цепочку формирующую длинный импульс который хорошо видит ПЛК. Ну и обвязка кое какая что бы все это дело обнулять для поворота на следующий шаг. Завтра может быть и вовсе платку с микроконтроллером поставлю. Сразу надо было так сделать, а я что то начал мудрить....

Сергей0308
07.08.2017, 22:44
Все сделал на жесткой логике. Без энкодеров и т.д. Сигнал от оптодатчика сбрасывает триггер, триггер одним выходом выключает цепь задающего генератора шагового двигателя, а вторым - включает RC цепочку формирующую длинный импульс который хорошо видит ПЛК. Ну и обвязка кое какая что бы все это дело обнулять для поворота на следующий шаг. Завтра может быть и вовсе платку с микроконтроллером поставлю. Сразу надо было так сделать, а я что то начал мудрить....

Ни чего не понял, оптический датчик используется как нулевая(референтная) метка? С шаговым двигателем проще, чтобы повернуть на заданный угол, достаточно подать энное количество импульсов, вроде, проблем не должно быть, если обвязка шагового двигателя поддерживает получение задания по сети(RS485)! Но, по-моему, всё равно энкодер нужен для контроля, вдруг чё не так пойдёт и ничего от себя городить не надо, тоже плюс, даже если Вы всё приемлемо сделаете, если сломается, кто там будет разбираться с вашими микроконтроллерами, я не говорю уже, что это вероятно и дороже обойдётся!