Каталог
Зателефонуйте мені
Каталог

Камери Sensopart Visor II. Що це, та як використовувати?

Камери Sensopart Visor II. Що це, та як використовувати?
Автор: Viktor Bondarchuk Опубліковано: 18.08.2024 Переглядів: 166 Коментарів: 0

Камери машинного зору стали невід'ємною частиною сучасних виробничих процесів, забезпечуючи високу точність і автоматизацію контролю якості. Вони дозволяють машинам "бачити" те, що раніше було доступне тільки людському оку, і з неймовірною швидкістю аналізувати зображення для прийняття рішень. Від простих задач, таких як перевірка наявності або відсутності об'єктів, до складних операцій, включаючи розпізнавання форм і кольорів, камери машинного зору відкривають нові горизонти для промислових автоматизованих систем.

У цій статті я поділюся своїм досвідом програмування ПЛК Siemens S7 1200 для роботи з камерою Sensopart Visor II. Це може слугувати як інструкція для новачків.

Sensopart Visor II: Короткий огляд

Sensopart Visor II – це сучасна камера машинного зору, яка поєднує в собі високу роздільну здатність, швидку обробку зображень та гнучкі налаштування для широкого спектру застосувань. Вона призначена для використання у виробничих лініях, де необхідно забезпечити безперервний контроль якості та точність виконання завдань. Завдяки інтуїтивно зрозумілому інтерфейсу та широким можливостям налаштування, Visor II легко інтегрується у вже існуючі системи та дозволяє швидко адаптуватися до змін умов виробництва.

Конфігурація пристроїв. Hardware

Мій проект складався з контролера, камери та панелі оператора, на яку виводились результати.

Спочатку я додав камеру до проекту та створив для неї Data-блок на 252 байта (навіть якщо передавати кілька бітів, вони не йдуть один за одним; кожен біт є нульовим бітовим заповненням кожного наступного байта). Адреси CTRL та STAT блоків я змінив на I500 та Q500 відповідно. Після цього я завантажив офіційну бібліотеку та інтегрував одну функцію у проект. Ця функція керує камерою та приймає 64 байти даних (що може викликати питання, чому не 252?). Оскільки бібліотека повертає лише 64 байти, а мені були потрібні всі 252, я вирішив напряму обробляти дані на вході. Перший байт даних приходить на третій байт Data-блоку, тому необхідно зчитувати дані, починаючи з I70.

Додавання бібліотеки, функція

Коротко оглянемо основні входи та виходи функції:

  • STAT_BYTE – адреса STAT-блоку, яку ми присвоїли в Hardware. У моєму випадку це I500.
  • CTRL_BYTE – аналогічно для CTRL-блоку.
  • Data_BYTE – адреса Data-блоку (у моєму випадку її можна було не вказувати).
  • Jobnumber – номер завдання камери (job).
  • Trigger – тригер для зміни job.
  • Ready – показує, чи готова камера до роботи.
  • Active_jobnumber – job, на якому знаходиться камера в даний момент.
  • Raw_Data_from_VISOR – результати з камери.
  • Switch_to_Run – перемикання камери в режим роботи (рекомендую за замовчуванням ставити в True)

Іноді буває, що камера переходить в стан помилки. Для автоматичного та постійного скидання помилок я використав Clock_1Hz, який працює по фронту.

Зміна Job

Покажу невеликий приклад зміни Job на камері. У цьому випадку, якщо оператор натискає фізичну кнопку або кнопку на панелі, відбувається зміна тега actJob.

Тригер я реалізував на основі того, що його потрібно передавати після заднього фронту сигналу Ready від камери. У функціях бібліотеки, коли Step змінюється на 0, це означає, що в цей момент сигнал готовності надійшов, тому необхідно дати затримку в 10 мс і по передньому фронту здійснити тригер.

Логіка

Так як я напряму брав дані з адресів, а не з функції необхідно було створити теги. В цьому нетворку я брав 2 тега camAvailable та camOK. Як тільки деталь з'являлась в полі зору камери, тег camAvailable відразу переходив на true. Якщо деталь відповідала всім вимогам, тег camOK також ставав true. Але якщо виявлявся брак, то значення змінювалося на false.

Після цього я ставив на true OK або FAIL, а також по передньому фронту запускався лічильник успішних/неуспішних.

Ще один важливий момент – камера Sensopart на різних джобах передає дані на ті самі адреси. Щоб уникнути конфліктів, я додатково отримував номер джоба, щоб впевнитися, що дані на різних джобах не плутаються.

Висновок

Камери машинного зору можуть здаватися складними, але вони надають безліч можливостей для передачі результатів та даних. З належним підходом та розумінням, програмування камер машинного зору стає зрозумілим і навіть захопливим процесом.

Коментарі

Додайте коментар...

Ім'я
E-mail (Не буде опублікований)
Ваш коментар
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Авторизація
Немаєте акаунта? Реєстрація
Забыли пароль?
E-mail
Введите e-mail Вашей учетной записи, чтобы получить пароль.
Введите корректно e-mail!
viber-chatЧат «А2М» в Viber telegram-chatЧат «А2М» в Telegram
Telegram QR
💬 Актуальні ціни
завжди під рукою