ПЛК и машинное зрение
-
- beginner
- Сообщения: 35
- Зарегистрирован: 04 ноя 2018, 16:11
- Версия LabVIEW: 2016
- Контактная информация:
ПЛК и машинное зрение
Уважаемые специалисты, нужен ваш совет и направление!
Есть учебный стенд с камерой и ПК в качестве устройства анализа и обработки изображения, есть программа распознавания изображения и подачи управляющего сигнала на сервопривод через плату ардуино.
Вопрос в следующем:
Что нужно сделать, чтобы организовать связь ПЛК (ОВЕН к примеру) и камеры в том смысле, чтобы управляющее воздействие на сервопривод отправлял ПЛК в зависимости от сигнала с камеры (сама программа распознает изображения в соответствии с заданным шаблоном в режиме реального времени).
Есть учебный стенд с камерой и ПК в качестве устройства анализа и обработки изображения, есть программа распознавания изображения и подачи управляющего сигнала на сервопривод через плату ардуино.
Вопрос в следующем:
Что нужно сделать, чтобы организовать связь ПЛК (ОВЕН к примеру) и камеры в том смысле, чтобы управляющее воздействие на сервопривод отправлял ПЛК в зависимости от сигнала с камеры (сама программа распознает изображения в соответствии с заданным шаблоном в режиме реального времени).
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ПЛК и машинное зрение
Надо выяснить, какие интерфейсы доступны у ОВЕНа. Например Serial ModBus. Если он есть, то в ПЛК выделяются необходимые ячейки и пишется управляющая программа (например, если определенный бит установлен, то выдать на дискретный выход 1), а компьютер по RS-232 (или RS-485, но с преобразователем типа ICPCON I-7520AR) обновляет эти ячейки. Драйвер обмена по последовательному порту в Labview встроенный - VISA. Что касается поддержки ModBus, то есть несколько вариантов - штатный (через I/O Server), либо через отдельные библиотеки (есть несколько вариантов и бесплатные и открытые).
-
- beginner
- Сообщения: 35
- Зарегистрирован: 04 ноя 2018, 16:11
- Версия LabVIEW: 2016
- Контактная информация:
Re: ПЛК и машинное зрение
А если из этой цепочке заменить ПК на камеру со встроенным контроллером (который, соответственно, будет отвечать за сопоставления объектов с эталоном)?
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 42 раза
- Контактная информация:
Re: ПЛК и машинное зрение
Обычно так и делают - используют так называемую Smart Камеру.SokolKatya писал(а): ↑20 май 2021, 02:44 А если из этой цепочке заменить ПК на камеру со встроенным контроллером (который, соответственно, будет отвечать за сопоставления объектов с эталоном)?
Вот, к примеру:
https://www.br-automation.com/ru/produk ... oe-zrenie/
(Это не реклама, просто я сейчас с оборудованием B&R работаю, так уж получилось).
Удобство в том, что камера легко интегрируется с ПЛК, поскольку навешивается прямо на полевую шину.
У NI тоже такие камеры есть https://www.ni.com/ru-ru/shop/hardware/ ... amera.html
Из тех, с чем я работал - Cognex (https://www.cognex.com/ru-ru/products/m ... on-systems)
Лёгкость или сложность интеграции зависит от протоколов, поддерживаемых камерой и ПЛК.
Минус в совершенно недетской стоимости этих игрушек и как правило довольно слабом процессоре (хотя для большинства задач хватает).
А так можно тот же Raspberry PI в качестве контроллера использовать, но количество программной возни возрастёт на порядок.
-
- beginner
- Сообщения: 35
- Зарегистрирован: 04 ноя 2018, 16:11
- Версия LabVIEW: 2016
- Контактная информация:
Re: ПЛК и машинное зрение
То есть в сухом остатке остается промышленная камера, интерфейсный кабель, кабели питания и контроллер? Контроллер в свою очередь так же связан с исполнительным механизмом?
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ПЛК и машинное зрение
Все-бы хорошо, только характеристики Smart Камер не бьются.AndreyDmitriev писал(а): ↑20 май 2021, 07:56Обычно так и делают - используют так называемую Smart Камеру.SokolKatya писал(а): ↑20 май 2021, 02:44 А если из этой цепочке заменить ПК на камеру со встроенным контроллером (который, соответственно, будет отвечать за сопоставления объектов с эталоном)?
Вот, к примеру:
https://www.br-automation.com/ru/produk ... oe-zrenie/
(Это не реклама, просто я сейчас с оборудованием B&R работаю, так уж получилось).
Удобство в том, что камера легко интегрируется с ПЛК, поскольку навешивается прямо на полевую шину.
У NI тоже такие камеры есть https://www.ni.com/ru-ru/shop/hardware/ ... amera.html
Из тех, с чем я работал - Cognex (https://www.cognex.com/ru-ru/products/m ... on-systems)
Лёгкость или сложность интеграции зависит от протоколов, поддерживаемых камерой и ПЛК.
Минус в совершенно недетской стоимости этих игрушек и как правило довольно слабом процессоре (хотя для большинства задач хватает).
А так можно тот же Raspberry PI в качестве контроллера использовать, но количество программной возни возрастёт на порядок.
Мы используем сейчас Basler. Конкретно Basler a2A1920-51gcPRO. В плюсах - широкий динамический диапазон, PoE, Gig Evision, Full HD, Частота кадров до 100/с, интеграция с NI-IMAQdx (можно работать через NI-MAX), относительно невысокая стоимость. Из минусов - требует теплоотвода.
Ну не забывайте систему крепления камеры (ее охлаждения/нагрева и очистки объектива - для грязных производств и открытых площадок), компьютер, на котором будет крутиться машинное зрение, или мощный контроллер, по-хорошему, должна быть система архивации и ведения журнала событий (категорически необходимая вещь в реальной эксплуатации, потому что всегда что-то пойдет не так и журналы и архивы позволяют быстро разбираться в инцидентах). Необходима также система визуализации работы, т.е монитор у оператора и соответствующая программа. Блоки питания камеры, контроллера и пр, свичи. Для связи с исполнительным механизмом необходима поддержка протоколов АСУТП (и аппаратная и программная)SokolKatya писал(а): ↑20 май 2021, 11:46 То есть в сухом остатке остается промышленная камера, интерфейсный кабель, кабели питания и контроллер? Контроллер в свою очередь так же связан с исполнительным механизмом?
Это если по-взрослому.
-
- beginner
- Сообщения: 35
- Зарегистрирован: 04 ноя 2018, 16:11
- Версия LabVIEW: 2016
- Контактная информация:
Re: ПЛК и машинное зрение
Прошу прощения, я немного запуталась, можно мне на уровне детства):Borjomy_1 писал(а): ↑20 май 2021, 18:36Ну не забывайте систему крепления камеры (ее охлаждения/нагрева и очистки объектива - для грязных производств и открытых площадок), компьютер, на котором будет крутиться машинное зрение, или мощный контроллер, по-хорошему, должна быть система архивации и ведения журнала событий (категорически необходимая вещь в реальной эксплуатации, потому что всегда что-то пойдет не так и журналы и архивы позволяют быстро разбираться в инцидентах). Необходима также система визуализации работы, т.е монитор у оператора и соответствующая программа. Блоки питания камеры, контроллера и пр, свичи. Для связи с исполнительным механизмом необходима поддержка протоколов АСУТП (и аппаратная и программная)SokolKatya писал(а): ↑20 май 2021, 11:46 То есть в сухом остатке остается промышленная камера, интерфейсный кабель, кабели питания и контроллер? Контроллер в свою очередь так же связан с исполнительным механизмом?
Это если по-взрослому.
1. Система визуализации физически соединяется с камерой (при ее наличии, возможно ли сделать интерфейс оператора в CODESYS или trace mode)?
2. Контроллер имеется ввиду всего тех.процесса или у камеры идет отдельный контроллер, который в свою очередь спрягается с контроллером системы? Или где-то стоит компьютер с монитором и оформленным интерфейсом (кнопки, экран и прочее), который производит основную работу по анализу и обработке изображения. Тогда, когда происходит момент сопоставления объекта с эталоном и если объект совпадает, какой сигнал должен уйти на контроллер, чтобы он отправил команду исполнительному механизму?
1.Тут Вы имеете ввиду, что компьютер и ПЛК связаны через преобразователь, и что значит "обновляет ячейки" ? Божечки, а мне ведь всего лишь надо чтобы рычажок вправо/влево повернулся в зависимости о того, что видит камера, и чтобы сигнал поворота был передан с контроллера (думаю простенький журнал событий я смогу наколдовать).Borjomy_1 писал(а): ↑19 май 2021, 15:23 Например Serial ModBus. Если он есть, то в ПЛК выделяются необходимые ячейки и пишется управляющая программа (например, если определенный бит установлен, то выдать на дискретный выход 1), а компьютер по RS-232 (или RS-485, но с преобразователем типа ICPCON I-7520AR) обновляет эти ячейки. Драйвер обмена по последовательному порту в Labview встроенный - VISA. Что касается поддержки ModBus, то есть несколько вариантов - штатный (через I/O Server), либо через отдельные библиотеки (есть несколько вариантов и бесплатные и открытые).
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 42 раза
- Контактная информация:
Re: ПЛК и машинное зрение
При такой постановке задачи вам будет достаточно смарт камеры вообще без ПЛК. У практически любой промышленной камеры есть некоторое количество входов/выходов. Ну вот к примеру:а мне ведь всего лишь надо чтобы рычажок вправо/влево повернулся в зависимости о того, что видит камера
Эта штука самодостаточна - у неё внутри компьютер, на котором крутится машинное зрение. Если вам надо журнал событий сделать, то и это можно реализовать прямо внутри камеры, а забирать его, скажем, через FTР, для этого у камеры сетевой интерфейс есть.
-
- beginner
- Сообщения: 35
- Зарегистрирован: 04 ноя 2018, 16:11
- Версия LabVIEW: 2016
- Контактная информация:
Re: ПЛК и машинное зрение
Это все замечательно, но преподаватель требует именно демонстрацию связи камеры, ОВЕНа, и этот сигнал на толкательAndreyDmitriev писал(а): ↑21 май 2021, 08:24При такой постановке задачи вам будет достаточно смарт камеры вообще без ПЛК. У практически любой промышленной камеры есть некоторое количество входов/выходов. Ну вот к примеру:а мне ведь всего лишь надо чтобы рычажок вправо/влево повернулся в зависимости о того, что видит камера
Эта штука самодостаточна - у неё внутри компьютер, на котором крутится машинное зрение. Если вам надо журнал событий сделать, то и это можно реализовать прямо внутри камеры, а забирать его, скажем, через FTР, для этого у камеры сетевой интерфейс есть.
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 42 раза
- Контактная информация:
Re: ПЛК и машинное зрение
Ну как вы понимаете, ничто не мешает завести дискретные входы/выходы камеры на выходы/входы ПЛК, либо связать их через Modbus TCP.преподаватель требует именно демонстрацию связи камеры, ОВЕНа, и этот сигнал на толкатель
Если это учебный проект, то преподаватель должен предоставить какое-то оборудование, не?
Если вы придёте к нему с требованием купить камеру за три с половиной тысячи евро, он вам её так вот запросто организует?
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ПЛК и машинное зрение
Для учебного проекта надо копать в сторону либо Web-камеры, либо стандартной камеры видеонаблюдения с PoE. Подключать ее либо к компьютеру или ноутбуку. Для связи с ОВЕН использовать преобразователь USB-RS-232(485). Таким образом система радикально упрощается и удешевляется. Из сложностей: надо подружить камеру с LabView и подружить преобразователь с компьютером. Если камера имеет дискретные выходы, то и нет необходимости в цифровой связи с ОВЕНом.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: ПЛК и машинное зрение
Теоретически на визуализацию передается не только изображение с камеры, но и рабочая информация: выделенные зоны, выделенный объект, вероятность совпадения (например), состояние работы комплекса, настройки, диагностика и прочее. Это все на ваш откуп, что вы хотите показать оператору, что ему будет полезно.SokolKatya писал(а): 1. Система визуализации физически соединяется с камерой (при ее наличии, возможно ли сделать интерфейс оператора в CODESYS или trace mode)?
Обычная камера видеонаблюдения умеет только сжимать изображение для передачи, ну еще выделять зоны интереса, определять движение и прочие вещи, необходимые для видеонаблюдения. У вас другие немного задачи и все эти допы, по большому счету бесполезны. Обычно: где-то стоит компьютер с монитором и оформленным интерфейсом (кнопки, экран и прочее), который производит основную работу по анализу и обработке изображения. Он может быть и без монитора, тогда у оператора должна стоять рабочая станция (компьютер+монитор), куда передается информация для визуализации (п.1). В простом случае эти две задачи совмещены в одном компьютере. Просто в реально жизни контроллер должен жить в специально предназначенном для этого помещении и не зависеть от того, что происходит в операторской.SokolKatya писал(а): 2. Контроллер имеется ввиду всего тех.процесса или у камеры идет отдельный контроллер, который в свою очередь спрягается с контроллером системы? Или где-то стоит компьютер с монитором и оформленным интерфейсом (кнопки, экран и прочее), который производит основную работу по анализу и обработке изображения. Тогда, когда происходит момент сопоставления объекта с эталоном и если объект совпадает, какой сигнал должен уйти на контроллер, чтобы он отправил команду исполнительному механизму?
Для того, чтобы говорить о том, какой сигнал должен уйти, необходимо знать, какой конкретно исполнительный механизм используется. Но исходно это логический сигнал (0/1)
По идее, в ОВЕН крутится MODbus Slave (это набор банков памяти: 2 банка по 65536 ячеек типа Word, один только для чтения снаружи, другой для чтения и записи и 2 банка по 65536 ячеек типа Bool, также один для чтения и один для чтения/записи) На какие-то из этих ячеек назначено соответствие с дискретными выходами на контактах ОВЕНа. Т.е записываете в соответствующую ячейку 1, на соответствующем выходе появляется напряжение. Если этот выход подключен к толкателю, то в этот момент толкатель выдвигается. Записываете 0 - толкатель убирается. Запись в ячейку - это передача некоторой строки по последовательному порту (через VISA) и прием ответа (контроль передачи). Это все организует библиотека работы с ModBus. Надо только указать в какой банк, по какому адресу и что писать.SokolKatya писал(а): 1.Тут Вы имеете ввиду, что компьютер и ПЛК связаны через преобразователь, и что значит "обновляет ячейки" ? Божечки, а мне ведь всего лишь надо чтобы рычажок вправо/влево повернулся в зависимости о того, что видит камера, и чтобы сигнал поворота был передан с контроллера (думаю простенький журнал событий я смогу наколдовать).
-
- beginner
- Сообщения: 35
- Зарегистрирован: 04 ноя 2018, 16:11
- Версия LabVIEW: 2016
- Контактная информация:
Re: ПЛК и машинное зрение
Ребята, благодарю за детальные объяснения и советы!
Теперь у меня возник другой вопрос, как можно в LabVIEW реализовать что-то вроде архивации (например, когда система не совпадений между объектом и эталоном и записала это в журнал событий) на самом простейшем уровне. Перебираю учебники и туториалы, но пока ничего дельного.
Теперь у меня возник другой вопрос, как можно в LabVIEW реализовать что-то вроде архивации (например, когда система не совпадений между объектом и эталоном и записала это в журнал событий) на самом простейшем уровне. Перебираю учебники и туториалы, но пока ничего дельного.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 174 раза
- Контактная информация:
Re: ПЛК и машинное зрение
самый простейший уровень - текстовый файл "в столбик".SokolKatya писал(а): ↑27 май 2021, 15:55 Ребята, благодарю за детальные объяснения и советы!
Теперь у меня возник другой вопрос, как можно в LabVIEW реализовать что-то вроде архивации (например, когда система не совпадений между объектом и эталоном и записала это в журнал событий) на самом простейшем уровне. Перебираю учебники и туториалы, но пока ничего дельного.
Дальше можно бинарный файл сочинить.
Возможно, tdms подойдёт.
Следующий уровень - база данных