|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
13.02.2017, 15:28 | #1 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Массив датчиков
Добрый день.
Есть задача: создать сканирующую линейку из десяти фотодатчиков. Вопрос: возможно ли реализовать обработку датчиков в SMLogix без задействования памяти контроллера (SMH2010)? Или для этой задачи потребуется другой контроллер? |
13.02.2017, 15:33 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
Откуда эти сигналы идут, контроллеру в частности и в АСУ в целом, поверьте, всё равно. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
13.02.2017, 16:09 | #3 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Нужно выдавать "карту" сканирования через последовательность импульсов (двоичный код) на одном выходе. Вопрос, как формировать эту "карту", не уничтожая память контроллера?
Сигнал дискретный. Последний раз редактировалось Arsie, 13.02.2017 в 16:24 |
13.02.2017, 16:14 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Правильно ли я понимаю, что вам нужно представить состояния датчиков в последовательность импульсов вкл/выкл и циклично её повторять?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
13.02.2017, 16:25 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
Блок Shift(16) вам в помощь. Сдвиговые регистры с загрузкой как раз для этого предназначены. Можно ещё сделать на мультиплексоре и D-триггерах, это позволит построить массив до 255 датчиков __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
13.02.2017, 17:36 | #6 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Спасибо! Буду пробовать..)
|
15.02.2017, 13:06 | #7 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Добрый день.
Задача усложнилась. Нужно вычислять координаты угловых точек. Если использовать Pixel, можно ли для вычислений пользоваться памятью внешнего модуля памяти? |
15.02.2017, 13:10 | #8 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Если вам не нужно хранить результаты вычисления после отключения питания - то нет никакой необходимости использовать память eeprom, какой бы она ни была.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
15.02.2017, 13:13 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
В вычислении есть только промежуточные результаты, хранить которые имеет смысл только если вычисление выполняется за долгое время, в течении которого контроллер может быть штатно выключен. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.02.2017, 13:42 | #10 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Добрый день.
С вычислением координат разобрался. Координаты нужно хранить некоторое время, до тех пор, пока их не запросит другая система. Ещё вопрос: как из линейки датчиков (входов контроллера), допустим, из десяти, выбрать именно тот, на котором появился сигнал, и определить его адрес? Чтобы не создавать под каждый вход отдельный блок записи, а в один записывать адреса сработавших входов. |
22.02.2017, 14:09 | #11 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Ваш вопрос не полон. Выбрать для чего? Как выбрать? Что с ним сделать? Что делать с остальными? Зачем это всё?
Вы же знаете, к каким входам подключен какой датчик. Соответственно, сразу знаете, какой сработал.. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
28.02.2017, 15:08 | #12 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Я-то знаю, а вот как программе объяснить, что сработал именно второй вход, а не пятый? Или другой случай - из пяти сработавших подряд выбрать только крайние. Нужен именно порядковый номер датчика (входа).
|
28.02.2017, 15:55 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Программа тоже знает, что у неё сработал второй вход, а не пятый. Я уже потерялся, в чём вопрос, если честно.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.02.2017, 15:59 | #14 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Опишите, как программа должна показать своё знание? что должно произойти? нужно вывести на экран номер сработавшего входа?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
28.02.2017, 19:45 | #15 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Добрый вечер. Спасибо за участие.
Ещё раз о задаче: Нужно сделать сканер поверхности. Есть передвигающаяся линейка из десяти фотодатчиков с дискретным сигналом и энкодер. Задача: определять координаты угловых точек объектов(прямоугольных) которые лежат на поверхности, сохранять эти координаты в память до того момента, когда их запросит другая система. Объектов может быть несколько как по оси Х так и по оси Y. Решил записывать координаты точек в виде 4-значного числа: первые две цифры - номер строки (по энкодеру), две последние - порядковый номер датчика. С номером строки всё просто, а вот "выдернуть" нужный номер датчика (входа) - вот проблема (на данный момент). |
28.02.2017, 20:31 | #16 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
Все объекты сканируются за один проход? Сколько проходов может быть выполнено до запроса данных? Другими словами, насколько глубок стек хранения должен быть? Должны ли отбрасываться повторы - сканированные в прошлом объекты? Определять нужно только координаты, без связи их в "объекты"? В каком виде нужно отдавать координаты внешней системе? Как она поймёт, какие координаты принадлежат одному объекту, а какие другому? Вопросов к вам очень много. Чем меньше вы говорите, тем меньше вероятность, что вам возможно будет помочь. Что за техпроцесс-то? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
28.02.2017, 20:55 | #17 | |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
Ответ: Массив датчиков
Цитата:
Сколько импульсов и за какое время выдаст энкодер при перемещении линейки в следующее положение? Какой сигнал выдают фотодатчики (5Вольт, 24Вольт, контакты реле)? |
|
28.02.2017, 23:46 | #18 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 794
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Массив датчиков
Цитата:
Цитата:
|
||
01.03.2017, 13:19 | #19 | ||
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Добрый день.
Пока до 10-ти Все за один проход До запроса 12 проходов Повторов быть не должно Думаю, нумеровать все детали (в пределах одного прохода), и привязывать к номеру координаты. Как вариант, можно сохранять координаты только двух диагональных точек, т.к. все объекты прямоугольные (но это в идеале). Цитата:
Цитата:
И ещё, на самом деле датчиков 20. 10 - это для отработки алгоритма. Разрешение: 40х40мм. Последний раз редактировалось dp38, 01.03.2017 в 13:33 Причина: Дополнение |
||
01.03.2017, 14:07 | #20 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Правильно ли я понимаю:
1. Конвейер, по которому движутся прямоугольные детали. Их расположение параллельно конвейеру (грани деталей с направлением движения образуют параллельные и перпендикулярные линии). (либо коретка, которая несёт датчики над лежащими прямоугольными деталями с теми же условиями). 2. Между деталями всегда есть разрыв, минимум на 1 датчик. 3. Датчик срабатывает, если под ним есть деталь. 4. Энкодер даёт нам первую координату (пусть Х). 5. При прохождении датчика над деталью в момент срабатывания надо определить количество сработавших датчиков. 6. Координатами У для начала и конца детали являются порядковые номера датчиков, сработавших без пробелов. Например, цепочка датчиков имеет вид 01110110000 - значит первая деталь находится в координатах 2-4, а вторая 6-7. Значением координаты Х является число с энкодера. Всё так? __________________ В сегнетиксе не работаю с самого начала 2019 года. |
01.03.2017, 14:15 | #21 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
"Повторов быть не должно" - это повторов выкладываемых деталей или повторов сосканированных координат? Как техпроцесс выглядит? Начиная с выкладки деталей, заканчивая окраской и убиранием деталей. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
01.03.2017, 14:24 | #22 | |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Массив датчиков
Цитата:
Как всегда вангуем... to dp38 dp38, если есть вопросы - то надо выкладывать МАКСИМУМ информации. Чертежи, диаграммы работы, скоростные\временные данные, типы и количество датчиков и элементов управления. Тогда и будет конкретный разговор. А так,... пока только трёп в курилке ... __________________ Всё, что нельзя выразить в цифрах — это не наука, это — мнение. |
|
01.03.2017, 16:26 | #23 | |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Цитата:
|
|
01.03.2017, 16:44 | #24 | |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Цитата:
Процесс выглядит следующим образом: по конвейеру двигаются 15 одинаковых поддонов (800х5000мм). Каждый поддон сканируется подвижной линейкой вдоль длинной стороны. Система распознаёт количество деталей и координаты углов, и сохраняет в память. Затем поддон едет далее по конвейеру до манипулятора с краскопультом. Расстояние до манипулятора - 12 поддонов. Когда поддон доезжает до манипулятора, его (манипулятора) система запрашивает информацию по данному поддону, получает координаты угловых точек деталей, расположенных на поддоне и управляет манипулятором, в соответствии с полученными данными. Пока происходит покраска, идёт сканирование другого поддона. |
|
01.03.2017, 16:55 | #25 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
Зачем знать количество деталей, если достаточно узнать их габариты? Насколько я понимаю, в любом случае создаётся очередь из 12 поддонов, а "роботу" отправляются данные о самом раннем поддоне из 12, которые затем автоматом можно стирать. Сколько поддонов проходит за час, какой режим работы конвейера? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
01.03.2017, 17:01 | #26 | |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Цитата:
Количество нужно для привязки координат к конкретной детали (но это по моему замыслу). Чтобы не получился просто набор абстрактных точек. Детали могут иметь разные размеры, и располагаться на поддоне произвольно (в смысле неравномерно). |
|
01.03.2017, 17:17 | #27 | ||
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Цитата:
Цитата:
Такой информации пока нет. Вероятно, скорость зависит от времени покраски того или иного поддона. В любом случае, процесс сканирования проходит быстрее покраски. |
||
01.03.2017, 17:21 | #28 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Тут правильнее сказать должен происходить быстрее покраски... Вы будете создавать программу и компилировать на Си?
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
01.03.2017, 17:21 | #29 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Массив датчиков
Цитата:
Цитата:
Нужны конкретные ответы, без всяких "по моему" и так далее. Вы думаете одно, программист манипулятора - другое. В итоге - нерабочая система. Количество шагов тоже важно, как же двумерную матрицу составлять, не зная одного из измерений? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
01.03.2017, 17:32 | #30 | |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Массив датчиков
Цитата:
Всё, что мне доступно на данном этапе - это FBD. Потому и вопрошаю о помощи, ибо мозги уже наизнанку.. |
|