Проектирование и внедрение системы считывания DM-кода

+
<
>
Разработали и внедрили на предприятии производителя упакованной воды систему считывания DM-кода. На первом этапе, без агрегирования в групповую упаковку и паллеты, с формированием базы данных и возможностью интеграции системы в программный модуль для работы с системой ГИС МТ. Данная система предусматривала возможность установки дополнительного оборудования для считывания и передачи кодов при внедрении агрегации в групповую упаковку и паллеты, без дополнительных затрат на шкаф и панель управления. Геополитическая ситуация внесла свои коррективы, на часть оборудования для последующей агрегации значительно ухудшились условия поставки, и мы согласовали с Заказчиком другой путь внедрения агрегации.

Торговая группа «Упакованная вода», представляет собой достаточно единообразную картину в плане форм факторов, а следовательно, и способов нанесения этикетки, различие в основном в размете тары. На данном объекте нами оснащены 5 линий. Метод нанесения DM-кода – аппликатором, метод считывания DM-кода – автоматический.

На линию установили сканер для автоматического считывания DM-кода. Сканер установили на специальный кронштейн. После сканера обеспечили отбраковку упаковок с нечитаемым, отсутствующим или неправильным кодом. На нескольких линиях используется пневматический отбраковщик, на нескольких светозвуковое оповещение. Отображается статистика считанных и не считаных кодов, отображаются ошибки и сообщений для оператора и выбора сервисных функций, так же, получение данных о DM-кодах.

В данном проект программное обеспечение для работы с системой ГИС МТ с базой данных и два сервера для установки ПО для работы с системой ГИС МТ обеспечил Покупатель.

 

DM-код наносится на крышку бутылки. Минимальный размер изображения DM-кода 11х11 мм. Качество нанесения DM-кода соответствует уровню, не ниже С. Ширина свободного белого поля вокруг кода не меньше 2х ширины модуля кода.

 

Общие технические требования для автоматической линии:
  •  Материал исполнения шкафа – нержавеющая сталь;
  •  Исполнения электрооборудования – общепромышленное;
  •  Питание 220В, 50 Гц;
  •  Подвод воздуха до места установки отбраковочных механизмов давлением 6 атм;
  •  Сечение воздушной линии 8мм;
  •  Сигнализация о несчитанном коде.

Сотрудниками Мотрум выполнены работы по разработке изготовлению и монтажу шкафов управления, пультов оператора, системы отбраковки, конфигурированию и программированию оборудования Системы.

 

В комплекте поставки предоставили инструкции по эксплуатации, техническому обслуживанию, документацию с электрическими принципиальными схемами оборудования в электронном виде и печатный экземпляр.

 

Выполнили пуско-наладочные работы, отладка считывания DM-кода и прослеживания упакованной воды согласно техническому заданию.

Процесс сдачи объекта происходит по согласованной схеме.

  •  Время приемки - 72 часа.
  •  Провели обучение персонала работе с оборудованием, более 8 часов.
  •  Количество сотрудников, подлежащих обучению: 6 человек.
У ВАС ПОХОЖАЯ ЗАДАЧА? ОСТАВЬТЕ ЗАЯВКУ И МЫ РАСЧИТАЕМ ПРОЕКТ
Нажимая на кнопку, вы даёте согласие на обработку персональных данных в соответствии с политикой конфиденциальности
Похожие проекты
Робототехнические ячейки. Лабораторный стенд робот Дельта серии Quattro OMRON
Пищевая промышленность
Фармацевтика
Автомобильная отрасль
Самарская область
2024
Робототехнические ячейки. Лабораторная установка для паллетирования на базе коллаборативного робота
Пищевая промышленность
Фармацевтика
Автомобильная отрасль
Электротехника
Самарская область
2024
Подобрать оборудование
+
{{ in_view_website }} <div class="product_item" product-id="{{ id }}" order-multiplicity="{{ stock.order_multiplicity }}" catalog-elem="product-item"> <div class="img-container"> {% if productimage_set|length > 0 %} {% for productimage in productimage_set %} {% if productimage.photo and productimage.hide == false %} {% if loop.first %}<img src="{{ productimage.photo }}" alt="img" />{% endif %} {% else %} <img src="/static/core/images/nophoto1.png" alt="img"> {% endif %} {% endfor %} {% else %} <img src="/static/core/images/nophoto1.png" alt="img"> {% endif %} </div> <div class="right_product_content"> <div class="product-item_description"> <a class="name" href="{{ url }}">{{ name }}</a> <div class="article">Артикул: {{ article }}</div> {% if productproperty_set|length != 0 %} <div class="charactiristics"> {% for productproperty in productproperty_set %} <div class="char"> {% if loop.index < 4 %}<span>{{ productproperty.name }}</span> <span>{{ productproperty.value }}</span>{% endif %} </div> {% endfor %} </div> {% endif %} </div> <div class="price_conainer"> <div class="lot">{{ stock.lot_complect }} {{ stock.lot }}</div> <div class="price"> {% if price.rub_price_supplier and price.rub_price_supplier != 0 %} <span class="price_item">{{ price.rub_price_supplier }}</span> ₽ {% else %} по запросу {% endif %} </div> <div class="item-buttons_container"> <div class="quantity-buttons"> <button disabled class="minus-button"></button> <input type="number" value="1" oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" maxlength="3" onkeypress='validate(event)'> <button class="plus-button"></button> </div> <button class="add-specification-button"> В корзину <span></span> </button> </div> </div> </div> </div>
<div class="order_item" order-id="{{ id }}" order-elem="order-item"> <div class="description_order"> <div class="order_number">Заказ №{{ id_bitrix }}</div> <div class="order_date"> от <span class="order_date_value">{{ date_order }}</span> </div> <div class="order_status">{{ status_full }}</div> </div> <div class="order_composition"> <div class="order_composition_container"> {% for specification_list_item in specification_list.productspecification_set %} <div class="order_composition_item"> {{ specification_list_item.product_name }} - {{ specification_list_item.quantity }} {{ specification_list_item.lot.lot }} </div> {% endfor %} </div> <a href="{{ url }}"> <div class="add_more_btn">подробнее</div> </a> </div> <div class="order_invoice_details_container"> {% if bill_sum %} <div class="bill_sum_details"> <span class="price">{{ bill_sum_paid }}</span> ₽ <br> / <span class="price">{{ bill_sum }}</span> ₽ </div> {% else %} <div class="bill_sum_details none-invoice">счет не сформирован</div> {% endif %} </div> <div class="order_documents"> {% if specification_list.file %} <a href="{{ specification_list.file }}" target="_blank" class="order_documents_item">спецификация №{{ specification_list.number }} от {{ specification_list.date }}</a> {% endif %} {% if bill_file %} <a class="order_documents_item" href="{{ bill_file }}" target="_blank">счёт № {{ bill_name }} от {{ bill_date_start }}</a> {% endif %} {% for documentshipment_item in documentshipment_set %} <a class="order_documents_item" href="{{ documentshipment_item.file }}" target="_blank">акт № {{ documentshipment_item.id }} от {{ documentshipment_item.date }}</a> {% endfor %} {% if act_file %}<a class="order_documents_item">акт {{ act_file }}</a>{% endif %} </div> </div>
<div class="document_item" document-id="{{ id }}" document-elem="document-item"> <div class="name"> {% if name == "спецификация" %} {{ name }} № {{ number_document }} от {{ date_created }} {% elif name == "счёт" %} {{ name }} № {{ number_document }} от {{ date_created }} {% elif name == "акт" %} {{ name }} № {{ number_document }} от {{ date_created }} {% else %} {% endif %} </div> <div class="contract"> {% if requisites_contract %}№{{ requisites_contract }} c{% endif %} {{ requisites_legal_entity }} </div> <div class="summ_and_status"> <div class="summ_container"> {% if amount != 0 %} <span class="summ price">{{ amount }}</span> ₽ {% else %} {% endif %} </div> <div style="display:none" class="status">Подтверждена</div> </div> <div class="download"> <a href="{{ pdf }}" target="_blank">скачать</a> </div> </div>
<div class="project_item" project-id="{{ id }}" project-elem="project-item"> <a class="title_link" href="{{ url }}"> {{ category_name }}. {% if projectclientcategoryprojectmarking_set|length > 0 %} {% for marking_categ in projectclientcategoryprojectmarking_set %} {{ marking_categ.category_name }} {% if loop.last %} : {% else %} , {% endif %} {% endfor %} {% endif %} {{ name }} </a> <div class="project_description_content"> <div class="category_content"> {% for client_category in projectclientcategoryproject_set %} <div class="{% if client_category.category_check %}check{% endif %} category_elem"> {{ client_category.client_category_name }} </div> {% endfor %} </div> {{ category_project_marking_get }} <div class="place_content"> <div>{{ place_object }}</div> <div>{{ data_project }}</div> </div> </div> </div>
<!-- все заказы --> {% if specification_list.id %} <div class="specification_item table_item {% if status == "CANCELED" and bill_file %}bill_notpayment {% elif status == "COMPLETED" %} completed_order {% endif %} {% if bill_status == None and specification_list.tag_stop == false %}disabled{% endif %}" specification-id="{{ specification_list.id }}" data-cart-id="{{ specification_list.cart }}" order-id="{{ id }}" status="{{ status }}" superuser="{% if is_superuser == true %}true{% endif %}" specification-elem="specification-item"> <div class="table_item_value first_table_value"> <a class="order_number" href="{{ specification_list.url }}">№ {{ id }} от {{ specification_list.date }}</a> <input class="cart_id" type="hidden" value={{ specification_list.cart }}> {% if specification_list.date_update and specification_list.date != specification_list.date_update %} <div class="table_item_value_span">Обновлен: {{ specification_list.date_update }}</div> {% endif %} {% if date_completed %}<div class="table_item_value_span">Завершен: {{ date_completed }}</div>{% endif %} </div> <div class="table_item_value"> <div class="client">{{ name_req_full }}</div> </div> <div class="table_item_value"> {{ status_full }} {% if status == "CANCELED" %} {% if bill_file %} счет был до {{ bill_date_stop }} {% else %} спецификация была до <br> {{ specification_list.date_stop }} {% endif %} {% elif status == "COMPLETED" %} {{ date_completed }} {% elif status == "PAYMENT" %} {% if bill_sum_paid %} от {{ bill_date_start }} {% else %} до {{ bill_date_stop }} {% endif %} {% elif status == "PROCESSING" %} до {{ bill_date_stop }} {% endif %} </div> <div class="table_item_value "> <span class="price"> <b bill-sum-paid="{% if bill_sum_paid %}{{ bill_sum_paid }}{% else %}0{% endif %}" class="price_bill_sum_paid {% if bill_file and bill_sum_paid < bill_sum and status != "CANCELED" %}add_payment_button{% endif %}"> {% if bill_sum_paid %} {{ bill_sum_paid }} {% else %} 0 {% endif %} </b> <b>₽</b> / {{ specification_list.total_amount }} ₽ </span> {% if prepay_persent %} <div class="paument_tupe"> {% if postpay_persent != 0 %} предоплата: {{ prepay_persent }}% {% else %} предоплата: {{ prepay_persent }}% {% endif %} </div> {% endif %} </div> <div class="table_item_value invoice-table_item_value"> <a target="_blank" class="invoice-link" href="{{ bill_file }}">Cчет №{{ bill_name }} от {{ bill_date_start }}</a> {% if specification_list.file %} <a target="_blank" class="invoice-link" href="{{ specification_list.file }}">Cпецификация №{{ specification_list.number }} от {{ specification_list.date }} {{ specification_list.pdf.url }} </a> {% endif %} </div> <div class="table_item_value table_item_value_change_buttons_container"> <div data-type-save="update" class="change-bill-button">Изменить счет</div> <div data-type-save="hard_update" class="change-specification-button">Выставить новый счет</div> </div> </div> <!-- корзины без заказа--> {% else %} <div class="specification_item table_item spetification_item_no_complite_order {% if bill_status == false %}bill_notpayment{% endif %}{% if bill_status == None and specification_list.tag_stop == false %}disabled{% endif %}" specification-id="{{ specification_list.id }}" order-id="{{ id }}" status="{{ status }}" data-cart-id="{{ cart_list.id }}" superuser="{% if is_superuser == true %}true{% endif %}" specification-elem="specification-item"> <div class="table_item_value"> <a data-cart-id="{{ cart }}" href=""></a> <p>Заказ № {{ id }}</p> </div> <div class="table_item_value"> {% if name_req_full %} <div>{{ name_req_full }}</div> {% else %} <div class="">Отсутсвует</div> {% endif %} </div> <div class="table_item_value"> Статус: {{ status_full }} <br> </div> <div class="table_item_value "> <span class="price"> <b bill-sum-paid="{% if bill_sum_paid %}{{ bill_sum_paid }}{% else %}0{% endif %}" class="price_bill_sum_paid {% if bill_file and bill_sum_paid < bill_sum and status != "CANCELED" %}add_payment_button{% endif %}"> {% if bill_sum_paid %} {{ bill_sum_paid }} {% else %} 0 {% endif %} </b> <b>₽</b> / {{ specification_list.total_amount }} ₽ </span> {% if prepay_persent %} <div class="paument_tupe"> {% if postpay_persent != 0 %} предоплата: {{ prepay_persent }}% {% else %} предоплата: {{ prepay_persent }}% {% endif %} </div> {% endif %} </div> <div class="table_item_value table_item_value_change_buttons_container"> <div data-type-save="new" class="change-specification-button">Продолжить оформление</div> </div> </div> {% endif %}
<div product-id="{{id}}" search-specification-elem="search-specification-item" class="product_search_item"><span class="name">${el.name}</span><span class="search_button">Добавить</span></div>
<div class="invoice-item" invoice-elem="invoice-item" invoice-elem-id="{{ id }}"> <div class="name"> {% if product_new == None %} {{ product_okt_name }} {% else %} {{ product_new }} {% endif %} </div> <div class="article"> {% if product_new_article == None %} {{ product_okt_article }} {% else %} {{ product_new_article }} {% endif %} </div> <div class="stock"> {% if stock %} <div class="stock_item"> {% if stock.to_order %} Поставщик: <br> Под заказ {% else %} {% if stock.stock_supplier != None %} Поставщик: <span class="supplier_unit">{{ stock.stock_supplier_unit }}</span> шт {% else %} Поставщик: - {% endif %} {% endif %} </div> <div class="stock_item"> Motrum: <span class="motrum_unit">{{ stock.stock_motrum }}</span> {% if stock.stock_motrum_reserve %} Motrum резерв: <span class="motrum_unit_reserve">{{ stock.stock_motrum_reserve }}</span> {% endif %} </div> {% if stock.stock_supplier != None %} <span class="span-transit"style=" font-size: 10px; line-height: 5px; ">{{ stock.data_update }}</span> <br> <span class="span-transit"style=" font-size: 10px; line-height: 5px; "> {% if stock.transit_count %}Ближайшая поставка: {{ stock.data_transit }} - {{ stock.transit_count }} шт.{% endif %} </span> {% endif %} {% else %} {% if stock.to_order %}Под заказ{% endif %} Неизвестно {% endif %} </div> <label> <input placeholder="Укажите срок поставки" class="invoice-data-input" type="text" value="{{ text_delivery }}" /> <div class="error"></div> </label> </div>
<div class="vacancy_item" vacancy-id="{{ id }}" vacancy-elem="vacancy-item"> <div> <div class="vacancy_item_description"> <div class="vacancy_tilte_content"> <div class="title_content"> <div class="vacancy_name">{{ name }}</div> <div class="vacancy_title_content_descr"> <div class="vacancy_exp">{{ experience }}</div> <div class="vacancy_busyness">{{ busyness }}</div> </div> <div class="vacancy_price"> <div class="price_container"> {% if first %} <span class="price_description"> от <span class="price">{{ first }}</span> ₽ </span> {% endif %} {% if last %}<span class="price_description">до <span class="price">{{ last }}</span> ₽</span>{% endif %} {% if fixed %}<span class="price_description"><span class="price">{{ fixed }}</span> ₽</span>{% endif %} {% if first or last or fixed %}в месяц{% endif %} </div> <div class="price_type_payments">{{ type_payments }}</div> </div> </div> <div class="show_btn">подробнее</div> </div> <div class="vacancy_description_content"> {% if text %}<div class="vacancy_description">{{ text|safe }}</div>{% endif %} {% if responsibiliti %} <div class="vacancy_description_elem"> <div class="title">Что нужно:</div> <div class="description">{{ responsibiliti|safe }}</div> </div> {% endif %} {% if requirement %} <div class="vacancy_description_elem"> <div class="title">Что мы приветствуем:</div> <div class="description">{{ requirement|safe }}</div> </div> {% endif %} {% if conditions %} <div class="vacancy_description_elem"> <div class="title">Мы предлагаем:</div> <div class="description">{{ conditions|safe }}</div> </div> {% endif %} </div> <div class="submit_btn">откликнуться на вакансию</div> <div class="overlay_vacancy"> <div class="modal_window"> <div class="close_btn">+</div> <div class="title">Отклик на вакансию</div> <div vacancy-name="{{ name }}" class="vacancy_modal_form"> <label> <input class="name_input" type="text" placeholder="Ваше имя" /> <div class="error name_error"></div> </label> <label> <input class="phone_input" type="tel" placeholder="Ваш телефон"> <div class="error phone_error"></div> </label> <label class="file_label"> <div class="img_container"> <svg width="27" height="26" viewBox="0 0 27 26" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.195 20.5424L22.5666 13.1708L24.4204 11.317C26.6599 9.07747 26.6599 5.44641 24.4204 3.20685V3.20685V3.20685C22.0968 0.883299 18.3296 0.883297 16.006 3.20685L9.26445 9.94844L2.18613 17.0268C0.42648 18.7864 0.426476 21.6394 2.18612 23.399V23.399V23.399C3.65059 24.8635 6.02496 24.8635 7.48942 23.399L20.1421 10.7463" stroke="black" stroke-width="1.5" /> </svg> </div> <div class="file_description"> Прикрепить резюме </div> <input class="file_input" style="display:none" type="file" accept=".xls,.xlsx,.png,.jpeg,.jpg,.pdf,.txt,.doc,.docx,.ppt,.rtf,.tiff" /> <div class="error file_error"></div> </label> <textarea class="vacancy_textarea" placeholder="Ваше сообщение"></textarea> <button class="submit_btn">Отправить</button> <div class="politic_description"> Нажимая на кнопку, вы даёте согласие на обработку персональных данных в соответствии с <a target="_blank" href="/privacy-policy/">политикой конфиденциальности</a> </div> </div> </div> </div> </div> </div> </div>
<a href="{{ url }}" class="search_elem" search-elem-id="{{ id }}" search-elem="search-elem" data-url="{{ url }}"> <div class="search_elem_name">{{ name }}</div> <button class="product_link"> <div>Перейти</div> </button> </a>