MERCI SPACE
Навчальні матеріали

Лабораторна робота 11.2

Лабораторна робота №11.2. Читання сенсора та керування конвеєром у DobotStudio Pro

Мета: навчитися безпечно перевіряти дискретні входи й виходи MG400, читати стан конвеєрного сенсора в DobotStudio Pro, керувати реле конвеєра через підтверджений канал і створити Blockly-цикл «запуск конвеєра — очікування деталі — зупинка» з тайм-аутом і безпечним станом.

Результати навчання та передумови

Після виконання студент уміє:

  • зіставляти фізичний сигнал із каналом DI/DO без копіювання номерів із відео;
  • пояснювати різницю між електричним рівнем, станом входу та подією «деталь виявлена»;
  • читати DI у панелі I/O та Blockly-журналі;
  • керувати конвеєром тільки через перевірений релейний канал;
  • визначати активний рівень сенсора експериментально;
  • реалізовувати очікування сенсора з тайм-аутом;
  • переводити конвеєр у стан OFF при запуску, завершенні, помилці та тайм-ауті;
  • пояснювати, чому E-Stop MG400 може не зупинити окремо живлений конвеєр.

Передумови: успішно виконана ЛР-11, допуск до фізичного комплексу, знання PNP-логіки 24 В, присутність оператора й підписана карта I/O конкретного MERC-I5.

Середовище виконання

СередовищеСтатусПримітка
Google Colabне використовуєтьсяНемає доступу до фізичних I/O
Локальний ПКосновнеWindows і DobotStudio Pro; версію записати
Raspberry Piчастина сигнального трактуКонфігурацію GPIO, мережі й сервісів не змінювати
Фізичний комплекс MERC-I5потрібенMG400, Power Hub, один сенсор і конвеєр; оператор обов'язковий

Необхідні знання та матеріали

Ризики та правила безпеки

Ризики

НебезпекаНаслідокЗахист у цій роботі
Неправильний DOзапуск іншого механізмуробота лише з підписаним псевдонімом CONVEYOR_RUN_DO
Неправильний активний рівеньконвеєр працює замість зупинкирівні ON/OFF вимірюються й перевіряються до Blockly-запуску
Защемлення стрічкою або валомтравма рук, волосся, одягумінімальна механічна швидкість, очищена зона, окремий вимикач
E-Stop MG400 не зупиняє конвеєррух стрічки після аварії роботаоператор одночасно контролює E-Stop і живлення конвеєра
Нескінченне очікування сенсорабезперервний рух конвеєраобов'язковий тайм-аут і CONVEYOR OFF
Брязкіт або хибне спрацюванняповторний/неочікуваний циклстабілізаційна затримка та перевірка повторюваності
Пряме з'єднання 24 В і GPIOпошкодження Raspberry Piтільки Power Hub з оптопарною розв'язкою; перевірка мультиметром

Заборонені дії

  • використовувати DI_03, DI_04, DO_01 або DO_02 лише тому, що вони показані у відео;
  • подавати 24 В MG400 безпосередньо на GPIO Raspberry Pi;
  • перемикати невідомий DO методом перебору;
  • змінювати проводку під напругою або без електричної схеми;
  • запускати конвеєр без оператора біля окремого вимикача;
  • використовувати forever без тайм-ауту, умови виходу та гарантованого OFF;
  • вважати відсутність сигналу підтвердженням проходження деталі;
  • керувати адаптивним грипером через DO MG400;
  • одночасно налагоджувати рух MG400 і невідомі I/O.

Умови негайної зупинки

Зупинити конвеєр окремим вимикачем/реле при потраплянні руки, одягу чи предмета до вала, заклинюванні, сходженні стрічки, падінні деталі, невідповідності DO, перегріві або незвичному звуку. Натиснути E-Stop при небезпеці від MG400, але окремо перевірити, що конвеєр справді зупинений.

Безпечний стан

  • CONVEYOR_RUN_DO перебуває у перевіреному стані OFF;
  • стрічка фізично нерухома;
  • програма DobotStudio зупинена, MG400 Disabled;
  • деталь не затиснута в приводі або напрямній;
  • невідомий або втрачений сигнал сенсора блокує продовження циклу.

Передпусковий чекліст

  • ЛР-11 завершена, MG400 підключається через 172.16.21.250.
  • Оператор присутній; E-Stop MG400 і окремий вимикач конвеєра доступні.
  • Підписана карта I/O; у ній визначені PART_SENSOR_DI і CONVEYOR_RUN_DO.
  • Виміряні активні рівні сенсора та стани CONVEYOR ON/OFF.
  • Power Hub забезпечує розв'язку; прямого з'єднання 24 В із GPIO немає.
  • Стрічка, вал і напрямні оглянуті; сторонніх предметів немає.
  • Механічний регулятор конвеєра встановлений на мінімум.
  • Перевірена ручна зупинка конвеєра розмиканням реле/живлення.
  • Рух MG400 для першої частини тесту вимкнений.

Якщо карта I/O або окремий засіб зупинки конвеєра відсутні, фізичне перемикання DO заборонене.

Хід виконання роботи

  1. Переглянути другу частину відеоуроку та скласти карту сигналів.
  2. Перевірити й підписати фактичну карту I/O MERC-I5.
  3. Підключити DobotStudio Pro та прочитати DI без руху.
  4. Перевірити сенсор у двох станах і визначити активний рівень.
  5. Перевірити реле конвеєра коротким ручним імпульсом.
  6. Створити Blockly-монітор стану сенсора.
  7. Створити одноцикловий алгоритм конвеєра з тайм-аутом.
  8. Виконати 10 проходів деталі й оцінити повторюваність.
  9. Зупинити конвеєр, виконати Disable/Disconnect і оформити журнал.

Методичні вказівки й теоретичні відомості

1. Що показано у відео

У відеоуроці показано DobotStudio Pro 2.7.1, панель I/O, Remote I/O, читання двох сенсорів через DI_03 і DI_04, друк станів у Running log, перемикання DO_01/DO_02 та Blockly-цикл із точками P1P6.

Елемент відеоАдаптація для MERC-I5
два сенсориу паспорті підтверджено один конвеєрний сенсор
DI_03, DI_04замінити підписаним PART_SENSOR_DI
DO_01, DO_02використовувати лише підтверджений CONVEYOR_RUN_DO; DO грипера не застосовувати
цикл foreverзамінити одним циклом із тайм-аутом; повтор — лише вручну
точки P1P6рух робота не є обов'язковим у ЛР-11.2
global speed із відеоне копіювати; швидкість стрічки задається механічно

Відео не має субтитрів. Незрозумілі налаштування не відтворюють на обладнанні без звірки з офіційним посібником і локальною схемою.

2. Логічні псевдоніми

У звіті та алгоритмі використовуються функціональні імена:

Text
PART_SENSOR_DI       = DI_ПІСЛЯ_ПРОЗВОНЮВАННЯ
PART_DETECTED_LEVEL  = 0 або 1 після вимірювання
CONVEYOR_RUN_DO      = DO_ПІСЛЯ_ПРОЗВОНЮВАННЯ
CONVEYOR_ON_LEVEL    = 0 або 1 після перевірки
CONVEYOR_OFF_LEVEL   = протилежний перевірений рівень
TIMEOUT_S            = значення за виміряним часом проходження + запас оператора

Псевдонім не приховує невідоме значення: його дозволено замінити номером лише після підписаної перевірки.

3. Безпечний автомат

Mermaid
flowchart TD
    A["START: conveyor OFF"] --> B["Read sensor baseline"]
    B -->|invalid| X["FAULT: conveyor OFF"]
    B -->|valid| C["Conveyor ON"]
    C --> D["Wait for detection with timeout"]
    D -->|detected| E["Conveyor OFF"]
    D -->|timeout| X
    E --> F["Log result; END"]

Рис. 1. Одноцикловий автомат конвеєра з безпечним станом

Для першої реалізації рух MG400 і грипер не додаються: це дозволяє окремо перевірити сигнали та зупинку конвеєра.

Виконання лабораторної роботи

Крок 1. Проаналізувати відеоурок

Перегляньте

другу частину відеокурсу
. Заповніть таблицю «час — DI/DO або дія — стан — фізичний результат — адаптація MERC-I5».

Очікуваний результат: зафіксовані читання двох DI, перемикання DO, журнал і повний Blockly-цикл із відео.

Критерій правильності: номери каналів із відео позначені як чужа конфігурація, а не як карта MERC-I5.

Якщо результат не отримано: не переходьте до I/O; опишіть доступні кадри й позначте незрозумілі кроки Потребує перевірки.

Крок 2. Скласти карту I/O без запуску механізмів

При вимкненому живленні звірте маркування проводів Power Hub. Після дозволу оператора виміряйте рівні кожного потрібного каналу без підключення навантаження або з безпечним тестовим навантаженням.

ФункціяКлема/провідКанал MG400Неактивний рівеньАктивний рівеньБезпечний станПідпис
PART_SENSOR_DIдеталь не підтверджена
CONVEYOR_RUN_DOконвеєр OFF

Очікуваний результат: два функціональні канали однозначно ідентифіковані й підписані.

Критерій правильності: зміна сенсора впливає лише на визначений DI; безпечний рівень DO фізично зупиняє реле.

Якщо результат не отримано: не перебирайте канали; фізична частина завершується без перемикання DO.

Крок 3. Підключити DobotStudio Pro і перевірити I/O

Підключіться до MG400 за 172.16.21.250, залишивши робот Disabled. Відкрийте I/O monitoring. Переконайтеся, що CONVEYOR_RUN_DO має безпечний рівень OFF.

Очікуваний результат: стан обох підтверджених каналів видно, робот не рухається, конвеєр зупинений.

Критерій правильності: обрано канали з підписаної карти; інші DO не перемикаються.

Якщо результат не отримано: Disconnect, перевірка версій і карти разом з оператором.

Крок 4. Визначити логіку сенсора

Запишіть DI без деталі, потім повільно внесіть деталь у зону сенсора нерухомого конвеєра й знову запишіть DI. Повторіть 10 разів без руху стрічки.

Очікуваний результат: визначено PART_DETECTED_LEVEL; усі 10 внесень дають однаковий результат.

Критерій правильності: 10/10 спрацювань, а при вилученні деталі вхід повертається до базового стану.

Якщо результат не отримано: не підлаштовуйте сенсор без дозволу; перевірте живлення, геометрію й сигнал мультиметром.

Крок 5. Перевірити ручну зупинку й DO конвеєра

Оператор встановлює мінімальну механічну швидкість. Коротко встановіть CONVEYOR_RUN_DO у перевірений рівень ON, потім одразу OFF. Виміряйте час фактичної зупинки стрічки. Окремо перевірте фізичний вимикач.

Очікуваний результат: конвеєр запускається лише від підтвердженого DO і гарантовано зупиняється від OFF та окремого вимикача.

Критерій правильності: інші механізми не активуються; після OFF стрічка нерухома.

Якщо результат не отримано: окремо вимкніть живлення конвеєра, виконайте Disconnect і зафіксуйте інцидент.

Крок 6. Створити Blockly-монітор сенсора

Створіть окремий проєкт, який читає тільки PART_SENSOR_DI, додає зрозумілий підпис до значення й друкує його в Running log з обмеженою частотою. Рухові блоки та DO не додавайте.

Text
repeat 20 times
  print "PART_SENSOR=" + read(PART_SENSOR_DI)
  sleep 0.2 s
end

Очікуваний результат: у журналі 20 значень; внесення деталі змінює стан відповідно до таблиці.

Критерій правильності: проєкт сам завершується; немає forever, руху й перемикання DO.

Якщо результат не отримано: Stop, перевірте канал і активний рівень; не переходьте до керування конвеєром.

Крок 7. Створити одноцикловий алгоритм конвеєра

Побудуйте Blockly-проєкт за таким псевдокодом, підставивши лише підтверджені канали й рівні:

Text
set CONVEYOR_RUN_DO = OFF
if sensor state is invalid:
  log "FAULT_BASELINE"
  end

set CONVEYOR_RUN_DO = ON
start timer
while sensor != PART_DETECTED_LEVEL and elapsed < TIMEOUT_S:
  sleep 0.05 s

set CONVEYOR_RUN_DO = OFF
if sensor == PART_DETECTED_LEVEL:
  log "PART_DETECTED"
else:
  log "TIMEOUT"
end

Якщо використовувана версія Blockly не має доступного таймера, реалізуйте лічильник обмеженої кількості ітерацій. wait until без межі часу заборонено.

Очікуваний результат: одноцикловий проєкт завжди виконує OFF після виявлення або тайм-ауту.

Критерій правильності: немає руху MG400, грипера, другого сенсора, forever або автоматичного повтору.

Якщо результат не отримано: не запускайте проєкт; виправте всі шляхи завершення так, щоб вони приводили до OFF.

Крок 8. Виконати позитивний і негативний тести

  1. Позитивний: покладіть одну деталь на початок стрічки, запустіть один цикл і виміряйте час до сенсора.
  2. Негативний: запустіть цикл без деталі й дочекайтеся тайм-ауту, залишаючись біля вимикача.

Очікуваний результат: у позитивному тесті — PART_DETECTED і зупинка; у негативному — TIMEOUT і зупинка.

Критерій правильності: після обох тестів CONVEYOR_RUN_DO=OFF і стрічка фізично нерухома.

Якщо результат не отримано: негайно вимкніть конвеєр фізично; не повторюйте тест до аналізу причини.

Крок 9. Перевірити повторюваність

Виконайте 10 одиночних проходів однієї деталі на незмінній механічній швидкості. Після кожного проходу вручну поверніть систему в початковий стан лише при вимкненому конвеєрі.

Очікуваний результат: 10 записів часу, стану DI й результату зупинки.

Критерій правильності: 10/10 виявлень; жодного автоматичного повтору; кожен цикл завершився OFF.

Якщо результат не отримано: зупиніть серію, зафіксуйте хибне/пропущене спрацювання й перевірте геометрію сенсора.

Крок 10. Завершити роботу

Установіть CONVEYOR_RUN_DO=OFF, фізично переконайтеся в нерухомості, виконайте Stop, Disable і Disconnect. Оператор вимикає живлення у затвердженому порядку.

Очікуваний результат: конвеєр нерухомий, MG400 вимкнений, журнали й проєкти збережені.

Критерій правильності: у звіті є фінальний доказ OFF і відсутності руху.

Якщо результат не отримано: не залишайте стенд; передайте керування оператору й відключіть конвеєр окремим засобом.

Сценарії перевірки

ТипСценарійОчікування
позитивнийдеталь внесена в нерухомий сенсорDI змінюється до PART_DETECTED_LEVEL
позитивнийдеталь рухається конвеєромPART_DETECTED, потім OFF
негативнийдеталі немаєтайм-аут і OFF
негативнийDI не повернувся до baselineновий цикл заблокований
негативнийканал не відповідає картізапуск заборонений
граничнийкороткий імпульс/брязкітне спричиняє повторного циклу
аварійнийE-Stop MG400 натиснуторобот зупинено; конвеєр перевірено й зупинено окремо

Таблиці вимірювань і метрики

Baseline DIDetected DIЧас до сенсора, сРезультатDO після циклуФізично зупинено
1
10

Додатково зафіксуйте: версії ПЗ/контролера, фактичні DI/DO, активні рівні, механічне положення регулятора, TIMEOUT_S, час зупинки й результат окремого вимикача.

Метрики успіху: 10/10 статичних спрацювань; 10/10 проходів; 100% завершень із OFF; 1/1 негативний тест завершується тайм-аутом; 0 невідомих DO; 0 рухів MG400; 0 автоматичних повторів.

Вимоги до звіту

Див. загальні вимоги. Додатково подайте:

  1. карту другої частини відеоуроку з часовими позначками;
  2. підписану карту PART_SENSOR_DI і CONVEYOR_RUN_DO;
  3. виміряні активні рівні й безпечні стани;
  4. скриншоти I/O monitoring, Running log і Blockly;
  5. результати позитивного, негативного й 10 повторних тестів;
  6. пояснення, як зупиняється конвеєр незалежно від E-Stop MG400;
  7. чесний перелік того, що фактично перевірено на обладнанні.

Критерії оцінювання

СкладоваЧасткаКритерії
Підготовка10%аналіз відео, допуск, карта I/O, чекліст
Реалізація40%монітор DI, безпечний DO, одноцикловий автомат із тайм-аутом
Перевірка25%ручний тест, позитивний/негативний сценарії, 10 проходів
Аналіз15%активні рівні, час проходження, хибні спрацювання, відмінності від відео
Звіт10%журнал, скриншоти, таблиці, підписи й статус апробації
Разом100%

Перебір DO, пряме підключення 24 В до GPIO, робота без окремого засобу зупинки конвеєра або нескінченний цикл без тайм-ауту є критичною помилкою.

Контрольні питання

  1. Чому не можна копіювати DI_03, DI_04, DO_01 і DO_02 із відео?
  2. Як визначити активний рівень сенсора?
  3. Навіщо використовувати логічні псевдоніми каналів?
  4. Чому wait until без тайм-ауту небезпечний для конвеєра?
  5. Яким має бути безпечний стан реле конвеєра?
  6. Чому E-Stop MG400 може не зупинити стрічку?
  7. Для чого Power Hub потрібна оптопарна розв'язка?
  8. Чому швидкість конвеєра не можна прочитати програмно?
  9. Чому відсутність сигналу сенсора блокує, а не продовжує цикл?
  10. Чому рух MG400 і грипер не включено до першої перевірки I/O?

Висновки

ЛР-11.2 адаптує другу частину відеокурсу до фактичної архітектури MERC-I5: замість копіювання двох сенсорів і номерів каналів студент спочатку підтверджує один реальний сенсор і реле конвеєра, потім читає DI, перевіряє DO та реалізує обмежений у часі одноцикловий автомат. Будь-який невідомий сигнал або тайм-аут переводить конвеєр у OFF; рух MG400 і грипер відокремлені від первинної перевірки I/O.

MERCI SPACE