Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2017, 11:49   #61
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от dp38 Посмотреть сообщение
Вот чего удалось добиться на данный момент: я ловлю фронты на входах, сравниваю с состоянием соседних входов (слева и справа), и определяю точку (левая верхняя, правая верхняя, и т.д.)
А если деталь лежит по диагонали и в текущем шаге засвечен всего один датчик?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 02.03.2017, 14:23   #62
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от Arsie Посмотреть сообщение
А если деталь лежит по диагонали и в текущем шаге засвечен всего один датчик?
Не, ну я же не Златая Рыбка! Пущай кладуть ровнее! Чай, не облезьяны какие - человеки же ж!
dp38 вне форума   Ответить с цитированием
Старый 02.03.2017, 14:30   #63
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от dp38 Посмотреть сообщение
Чай, не облезьяны какие - человеки же ж!
Если детали укладываются манипуляторами биороботов с голосовым интерфейсом на нейросетевом управлении (гастарбайтерами), то на диагональное расположение деталей нужно рассчитывать.... Не смогут они параллельно укладывать детали, особенно если те весят более 5кг. Либо нужна какая-то дополнительная матрица.

Этот технологический процесс сейчас работает или линия только в проекте? Аналоги есть?

Когда-то я собирал промышленный робот-перемотчик для стретч-плёнки, и чтобы полностью сформировать тз - я смотрел китайские аналоги(ютуб помог). Конечно, конструкцию и ПО пришлось изобретать, но общую концепцию я увидел. Рекомендую сделать так же - подсмотреть уже готовые "заводские" решения.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 02.03.2017, 15:24   #64
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от Gromov Посмотреть сообщение
Если детали укладываются манипуляторами биороботов с голосовым интерфейсом на нейросетевом управлении (гастарбайтерами), то на диагональное расположение деталей нужно рассчитывать.... Не смогут они параллельно укладывать детали, особенно если те весят более 5кг. Либо нужна какая-то дополнительная матрица.

Этот технологический процесс сейчас работает или линия только в проекте? Аналоги есть?

Когда-то я собирал промышленный робот-перемотчик для стретч-плёнки, и чтобы полностью сформировать тз - я смотрел китайские аналоги(ютуб помог). Конечно, конструкцию и ПО пришлось изобретать, но общую концепцию я увидел. Рекомендую сделать так же - подсмотреть уже готовые "заводские" решения.
Думаю, до пяти килограмм дело не дойдёт - это мебельные фасады. Да и дискретность в 40мм должна "скушать" некоторую "криворукость".

Линия, как я понял, когда-то где-то работала, но вместо робота там была каретка с краскопультами. А теперь её решили усовершенствовать манипулятором. Какие-то там завышенные требования к какчеству покраски. От камеры наотрез отказались - вынь им, да положь сканер на фотодатчиках! Причём, сама линейка с датчиками от той же линии. В общем, такая "маленькая" доработка.
dp38 вне форума   Ответить с цитированием
Старый 03.03.2017, 12:13   #65
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Добрый день.
Будьте добры - дайте подсказку: как сохранять данные без использования блоков памяти (раз уж эти блоки нужны только на случай отключения питания)?
dp38 вне форума   Ответить с цитированием
Старый 03.03.2017, 12:16   #66
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от dp38 Посмотреть сообщение
Добрый день.
Будьте добры - дайте подсказку: как сохранять данные без использования блоков памяти (раз уж эти блоки нужны только на случай отключения питания)?
В моём примере, например, уже есть хранение данных в пределах одного цикла измерения.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 03.03.2017, 13:40   #67
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Спасибо. Пытаюсь разобраться.
На выходах блоков задержки будут появляться единички при срабатывании датчика. Номер выхода - это номер строки(шага), верно? То есть, в данном блоке получится массив 2х10 - два датчика по 10 строк(шагов), правильно? При следующем цикле сканирования значения на выходах станут обновляться поочерёдно, верно? А если нужно сохранить эти значения в течение 12 циклов, тогда как? И при этом, продолжать "запись" новых шагов.
dp38 вне форума   Ответить с цитированием
Старый 03.03.2017, 13:50   #68
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от dp38 Посмотреть сообщение
Спасибо. Пытаюсь разобраться.
На выходах блоков задержки будут появляться единички при срабатывании датчика. Номер выхода - это номер строки(шага), верно? То есть, в данном блоке получится массив 2х10 - два датчика по 10 строк(шагов), правильно? При следующем цикле сканирования значения на выходах станут обновляться поочерёдно, верно? А если нужно сохранить эти значения в течение 12 циклов, тогда как? И при этом, продолжать "запись" новых шагов.
Ваши вопросы не имеют ответа без проработки алгоритмов.

Если отвечать, что называется "в тупую", то вы просто можете эти блоки развернуть на 120 выходов, будет вам хранение 2х10х12.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 03.03.2017, 14:21   #69
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Что, если выходы блока задержки завести в блок bool-int, где на выходе получим некое число, в котором будут зашифрованы состояния выходов. Затем, по сигналу на возврат каретки сохраняем это число в демультиплексоре по адресу, соответствующем номеру поддона.
Изображения
Тип файла: jpg Рисунок1.jpg (338.4 Кбайт, 39 просмотров)
dp38 вне форума   Ответить с цитированием
Старый 03.03.2017, 14:33   #70
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от dp38 Посмотреть сообщение
Что, если выходы блока задержки завести в блок bool-int, где на выходе получим некое число, в котором будут зашифрованы состояния выходов. Затем, по сигналу на возврат каретки сохраняем это число в демультиплексоре по адресу, соответствующем номеру поддона.
Демультиплексор сохранять не умеет. Он демультиплексирует.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 03.03.2017 в 14:47
Arsie вне форума   Ответить с цитированием
Старый 01.04.2017, 17:04   #71
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Добрый день.
Проект уже приближается к завершению, но начались проблемы с памятью. Во время записи, вроде бы, всё нормально, но когда начинается чтение, появляются цифры "с потолка".
В контроллер (Pixel) установил модуль памяти FRAM. Создал пустой блок ARRAY, чтобы забить внутреннюю память контроллера. Но у меня в SMARTе есть меню для сохранения 4-х уставок типа Int. Вопрос: какую длину нужно установить в блоке ARRAY, чтобы занять внутреннюю память, с учётом этих четырёх уставок?
dp38 вне форума   Ответить с цитированием
Старый 01.04.2017, 19:49   #72
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Что-то непонятное происходит с памятью: первое чтение проходит корректно. Последующие чтения по тем же адресам дают другой результат.
Прилагаю снимки экрана. На первом красными рамками отмечены значения, во время записи по адресу 1. На втором - при первом чтении с адреса 1. На третьем - второе (и последующие) чтение по тому же адресу после чтения других адресов. Разница между чтениями несколько секунд. Между чтениями запись не производится.
Ощущение, будто в блоке происходит произвольный сдвиг после первого чтения. Подскажите, что это может быть, и что делать?
Изображения
Тип файла: png Рисунок1.png (112.7 Кбайт, 36 просмотров)
Тип файла: png Рисунок2.png (115.4 Кбайт, 22 просмотров)
Тип файла: png Рисунок3.png (111.5 Кбайт, 24 просмотров)
dp38 вне форума   Ответить с цитированием
Старый 01.04.2017, 20:43   #73
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Попробуйте создать пустой проект с записью и чтением по кнопкам и вывод на экран. Тыкаете кнопки, записываете и читаете значения. (например, брать их со счётчика или ГСЧ).

Ну и SPDelay не надо использовать. В справке на этот блок всё чётко описано.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 02.04.2017, 02:12   #74
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от dp38 Посмотреть сообщение
Создал пустой блок ARRAY, чтобы забить внутреннюю память контроллера. Но у меня в SMARTе есть меню для сохранения 4-х уставок типа Int. Вопрос: какую длину нужно установить в блоке ARRAY, чтобы занять внутреннюю память, с учётом этих четырёх уставок?
Менюхи SMArt всехда выделяют память раньше, чем блоки EEPROM/ARRAY.

Если вы в СМАрт много пишете, то внутренний ЕЕПРОМ Пикселя, возможно, уже в полуобморочном состоянии.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 03.04.2017, 10:58   #75
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от Gromov Посмотреть сообщение
Попробуйте создать пустой проект с записью и чтением по кнопкам и вывод на экран. Тыкаете кнопки, записываете и читаете значения. (например, брать их со счётчика или ГСЧ).

Ну и SPDelay не надо использовать. В справке на этот блок всё чётко описано.
Задержка сигнала на запись для того, чтобы данные успели обновиться (так получается)
dp38 вне форума   Ответить с цитированием
Старый 03.04.2017, 11:00   #76
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от Arsie Посмотреть сообщение
Менюхи SMArt всехда выделяют память раньше, чем блоки EEPROM/ARRAY.

Если вы в СМАрт много пишете, то внутренний ЕЕПРОМ Пикселя, возможно, уже в полуобморочном состоянии.
Пишем всего 4 уставки, и крайне редко (на случай изменения количества поддонов или при смене энкодера)
dp38 вне форума   Ответить с цитированием
Старый 03.04.2017, 11:14   #77
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от Gromov Посмотреть сообщение
Попробуйте создать пустой проект с записью и чтением по кнопкам и вывод на экран. Тыкаете кнопки, записываете и читаете значения. (например, брать их со счётчика или ГСЧ).
Да, в пустом проекте блок работает исправно. Полагаете, проблема связана с переходом на новую версию Лоджика?
В процессе работы понадобилось создать проект для Trimа, и пришлось обновиться до 3.27.
Как теперь программу трансформировать? Заново создавать, или можно как-то скопировать?
dp38 вне форума   Ответить с цитированием
Старый 03.04.2017, 11:41   #78
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Проблема не в переходе на другой лоджик. Если на пустом проекте работает - вам следует искать, где возникает случайная запись или что-то в этом роде. Наиболее вероятна где-то алгоритмическая ошибка. Ищите иголки (желтые связи) и вообще всё, что может вызвать запись нового значения в тот же регистр, откуда читаете.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 03.04.2017, 12:41   #79
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Цитата:
Сообщение от Gromov Посмотреть сообщение
Проблема не в переходе на другой лоджик. Если на пустом проекте работает - вам следует искать, где возникает случайная запись или что-то в этом роде. Наиболее вероятна где-то алгоритмическая ошибка. Ищите иголки (желтые связи) и вообще всё, что может вызвать запись нового значения в тот же регистр, откуда читаете.
Поставил индикатор (^D-триггер) параллельно со входом Start wr блока ARRAY - никаких "левых" срабатываний не происходит. Но свистопляска с данными в памяти продолжается.
dp38 вне форума   Ответить с цитированием
Старый 03.04.2017, 12:44   #80
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Приложите проект и скажите, что нажать и где, чтобы вызвать такую ситуацию. Попробую у себя повторить.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 03.04.2017, 15:58   #81
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Спасибо за внимание. Прилагаю проект и описание.
Проект рассчитан на два модуля MR-120, два модуля MR-800.
В приложенной версии перевёл нужные входы на блок Пикселя и кнопки, поэтому модули расширения не понадобятся. Понадобится модуль памяти, либо в проекте сократить длину блоков ARRAY.
Вложения
Тип файла: psl Матрица5.20.1.тест.psl (1.32 Мбайт, 21 просмотров)
Тип файла: doc Инструкция Матрица.doc (41.0 Кбайт, 5 просмотров)
dp38 вне форума   Ответить с цитированием
Старый 03.04.2017, 16:49   #82
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Добавил в описание процесс выявления ошибки.
Вложения
Тип файла: doc Инструкция Матрица с дополнением.doc (46.0 Кбайт, 13 просмотров)
dp38 вне форума   Ответить с цитированием
Старый 04.04.2017, 19:14   #83
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Массив датчиков

Добрый день.
Попробовал заменить блок ARRAY на ARRAYII - работает исправно, а главное - наглядно! Однако, несколько, мягко говоря, неудобственно размещать 8 блоков по 128 выходов.
dp38 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 22:23.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024