Рекламодатель: ЗАО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель: АО «Цифровая мануфактура»

ИНН 5010058760 ОГРН 1086658008975

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

9 - 2022

Универсальный инструмент для внедрения штрихового кодирования на предприятии

Павел Бунаков

С целью интеграции системы штрихового кодирования в комплексную систему автоматизированного проектирования, производства и управления промышленным предприятием необходимы гибкие программные инструменты для формирования шаблонов бирок (этикеток), содержащих необходимый объем информации. В статье рассказывается о новом модуле системы БАЗИС, который позволяет создавать индивидуальные системы штрихового кодирования в зависимости от реализуемых бизнес-процессов и с учетом особенностей конкретного предприятия.

В современном мире штриховые коды используются повсеместно для маркирования самых разных объектов. Их нанесение на ту или иную продукцию в виде специальной бирки позволяет быстро получить всю необходимую информацию для реализации определенных действий: обработки заготовки или детали, передачи изделия на склад или его отгрузки заказчику и т.д. Это не только очень удобно, но и необходимо для автоматизации процессов производства и снижения издержек на изготовление, учет и хранение выпускаемой продукции.

Отсутствие системы штрихового кодирования на мебельном предприятии вызывает, как минимум, три основные проблемы:

  • ошибки из-за «человеческого фактора» на всех стадиях производства и реализации продукции;
  • низкую скорость прохождения деталей по производственным и складским участкам;
  • невозможность организации эффективной системы хранения товаров, в том числе большие издержки при инвентаризации склада.

На любом мебельном предприятии можно выделить ряд этапов, которые объективно существуют на каждом из них, независимо от специфики организации работ и номенклатуры изделий:

  • прием заказов;
  • планирование производства;
  • исполнение заказов;
  • складское хранение;
  • отгрузка готовой продукции покупателю.

Для ускорения выполнения заказов, своевременного обеспечения всех участников процесса необходимой информацией и исключения повторного или ручного ввода данных указанные этапы должны выполняться в единой информационной среде. Система БАЗИС позволяет организовать такую среду на мебельном предприятии (рис. 1).

Рис. 1. Структура системы БАЗИС

Рис. 1. Структура системы БАЗИС

С точки зрения использования системы штрихового кодирования интересны три последних этапа.

При изготовлении изделий для организации контроля прохождения заготовок, деталей и полуфабрикатов по технологической цепочке они (или соответствующая технологическая упаковка) маркируются бирками со штриховыми кодами. Контроль и получение данных для исполнения конкретной операции осуществляется считыванием этих кодов. В частности, на участках, где установлены станки с ЧПУ, автоматически загружаются нужные программы обработки. В результате с необходимой степенью детализации аккумулируется полная информация о текущем состоянии каждого заказа.

Применение штрихового кодирования на складах материалов и готовой продукции дает возможность автоматизировать процессы приемки и отпуска товаров, а также другие стандартные складские операции, что резко сокращает влияние человеческого фактора и трудозатраты на их выполнение. Кроме того, при отгрузке готовой продукции появляется возможность оперативного контроля правильности упаковок.

Для того чтобы внедрить систему штрихового кодирования в информационную среду предприятия, требуется специализированное программное обеспечение, позволяющее формировать бирки с необходимым набором данных.

Модуль БАЗИС-Бирка: общие сведения

Модуль БАЗИС-Бирка является специализированным редактором, который предназначен для формирования и подготовки к печати бирок для маркировки заготовок, деталей, упаковок и других объектов. Он позволяет:

  • формировать и редактировать набор отображаемых на бирках параметров, актуальных для бизнес-процессов конкретного предприятия;
  • разрабатывать типовые шаблоны бирок;
  • создавать наборы бирок в соответствии с реальными значениями параметров выбранного заказа с возможностью предварительного просмотра перед печатью.

Модуль БАЗИС-Бирка может запускаться в качестве автономного приложения или же вызываться из модулей системы БАЗИС. Изготовление корпусной мебели начинается с раскроя материалов, поэтому чаще всего он вызывается из модуля БАЗИС-Раскрой. В этом случае в список параметров автоматически добавляются стандартные параметры панелей текущего раскроя. В дальнейшем будем считать, что модуль БАЗИС-Бирка запущен именно таким образом.

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

Рис. 2. Окно модуля БАЗИС-Бирка

Рис. 2. Окно модуля БАЗИС-Бирка

Формирование шаблона

Рассмотрим процесс создания нового шаблона. В левой части экрана находится инспектор объектов, в котором можно задавать параметры как самого шаблона, так и любого его составного элемента. Выберем размер шаблона (будущих бирок) 5,8´5,8 см, вводя соответствующие значения в поля PaperWidth и PaperHeight. Отобразим его на всё рабочее поле, указав в окне масштаба значение Страница целиком, и приступим к размещению необходимых параметров, список которых расположен в правой части экрана.

Разместим на шаблоне номер заказа. Для этого из списка параметров выберем соответствующий параметр и «перетащим» его на поле шаблона (красная стрелка на рис. 3). Затем в меню объектов выберем объект Текст (зеленая стрелка на рис. 3) и разместим оба объекта так, как желательно видеть их на бирках. При работе с параметрами допустимы все стандартные единичные и групповые операции текстового редактора: изменение параметров шрифта, выравнивание строк и т.д.

Рис. 3. Размещение параметров

Рис. 3. Размещение параметров

Аналогичным образом разместим на шаблоне параметры Имя изделия, Имя детали и Деталь, а затем сохраним как новый — с именем Наш первый шаблон. Итак, у нас есть пусть простейший, но полностью готовый шаблон.

Переходим в модуль БАЗИС-Раскрой и создадим комплект бирок на детали мебельного изделия, показанного на рис. 4. Для этого выполняем раскрой основного конструкционного материала и получаем карты раскроя (рис. 5). Теперь надо создать конфигурацию для формирования выходных параметров раскроя, в том числе и бирок. Командой Настройка -> Конфигурация материалов вызываем соответствующий редактор и в окне Список параметров выходной информации создаем новую конфигурацию под именем Наша конфигурация (рис. 6). Далее нажимаем кнопку настройки и приступаем к ее редактированию. Под конфигурацией понимается совокупность всех возможных параметров, которые определяют содержимое того или иного массива данных. Например, конфигурация выходной информации — это вид обозначения облицованных кромок деталей на картах раскроя, тип постпроцессора пильного центра, параметры исполнения резов и т.д., в том числе и вид формируемых бирок. Нас интересует только последняя возможность, поэтому выбираем пункт Параметры бирки, указываем место расположения файлов с шаблонами и выбираем в качестве шаблона бирок на панели только что созданный шаблон (рис. 7). Отметим, что отдельные шаблоны можно создавать для обрезков материалов и для заготовок.

Рис. 4. Модель шкафа (автор — дизайн-студия One-D, г.Сочи)

Рис. 4. Модель шкафа (автор — дизайн-студия One-D, г.Сочи)

Рис. 5. Карты раскроя

Рис. 5. Карты раскроя

Рис. 6. Создание конфигурации

Рис. 6. Создание конфигурации

Возвращаемся в модуль БАЗИС-Бирка и в окне Данные вызываем предварительный просмотр бирок на детали текущего заказа. На рис. 7 показан фрагмент поля просмотра бирок. Видно, что на каждой бирке отображен именно тот набор параметров, который был указан в шаблоне.

Рис. 7. Просмотр бирок

Рис. 7. Просмотр бирок

Добавим на шаблон распиловочные размеры деталей. Сделаем это с помощью объекта Текст, который ранее использовали в качестве комментария. В окне редактора текста справа отображается окно параметров, идентичное окну параметров шаблона бирки. Их можно использовать в качестве элементов текстовой строки, комбинируя со статичными словами. Создадим параметр, как показано на рис. 8. При просмотре бирок видно, что в некоторых случаях распиловочные размеры отличаются от размеров деталей (рис. 9). Это объясняется тем, что на кромки нанесен облицовочный материал.

Рис. 8. Комбинированный текст

Рис. 8. Комбинированный текст

Рис. 9. Размеры детали и распиловочные размеры

Рис. 9. Размеры детали и распиловочные размеры

Коды для маркирования

Одним из объектов, которые можно размещать на бирках, является штриховой или иной код. В системе поддерживаются все наиболее популярные виды кодов, список которых вызывается из меню объектов (рис. 10). В качестве примера добавим на шаблон объект QR код, при необходимости указав нужный масштаб изображения и изменив некоторые параметры, например, отключив отображение текста под кодом (параметр Show Text). В QR-код можно записать любую текстовую строку, просто указав ее в поле свойства Text, или закодировать в нем любые параметры из списка. Рассмотрим последнюю возможность. По умолчанию набор кодируемых данных (свойство DataSet) не определен, поэтому присвоим ему значение Параметры (рис. 11, слева). После этого выбираем конкретный параметр (свойство DataField), например Обозначение в изделии (рис. 11, справа).

Рис. 10. Список кодов

Рис. 10. Список кодов

Рис. 11. Заполнение QR-кода

Рис. 11. Заполнение QR-кода

Теперь можно перейти в предварительный просмотр и, считав любой код с помощью мобильного сканера, увидеть обозначение конкретной детали. Это значение уникально для нее, поэтому можно, например, под таким именем записать управляющую программу для станка с ЧПУ. В этом случае для загрузки нужной программы оператору станка достаточно будет просто отсканировать код.

Однако, как правило, управляющую программу лучше не идентифицировать одним обозначением детали, а составить более точное название из имени заказа, имени изделия и обозначения. Это можно сделать с помощью составного параметра. На закладке Данные вызываем окно составных параметров, добавляем новый параметр и приступаем к его формированию, перемещая нужные параметры из списка возможных параметров (рис. 12, слева) в список полей составного параметра (рис. 12, справа). Для улучшения информативности параметра между полями добавляем разделители. Предварительно надо создать соответствующий постоянный параметр Разделитель, присвоив ему значение, например, символа подчеркивания (рис. 13).

Рис. 12. Редактирование составного параметра

Рис. 12. Редактирование составного параметра

Рис. 13. Создание постоянного параметра

Рис. 13. Создание постоянного параметра

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

Размещение графической информации

Для каждой детали можно создать эскиз и разместить его на бирке. Режим автоматического формирования эскизов включается в модуле БАЗИС-Раскрой установкой флажка Сохранять изображения панелей для бирок в используемой конфигурации списка выходных параметров. В этом случае в папке для выходных документов раскроя создается папка с именем Pictures, в которую и будут записываться изображения деталей.

После этого размещаем на шаблоне бирки объект Рисунок, не занося в него никакого графического изображения, а только указав нужные размеры. Рекомендуется установить два свойства объекта: Center (центрирование) и HidhtQuality (высокое разрешение). После этого точно так же, как описано выше, определяется свойство DataSet = Параметры.

Параметр Эскиз присутствует во множестве параметров, но к нему необходимо добавить путь до папки с эскизами, то есть надо создать составной параметр. Сделаем это за два шага:

  1. Создаем постоянный параметр, значением которого будет путь к папке с эскизами (рис. 14, слева);
  2. Создаем составной параметр из этого постоянного параметра и параметра Эскиз (рис. 14, справа).

Осталось только свойству DataField объекта Рисунок присвоить значение нового составного параметра. После этого при просмотре бирок на каждой из них можно будет увидеть эскиз соответствующей детали.

Рис. 14. Создание параметра для доступа к эскизам

Рис. 14. Создание параметра для доступа к эскизам

Указание облицованных кромок

Информация об облицованных кромках деталей важна при изготовлении мебели, поэтому в модуле БАЗИС-Бирка реализовано несколько способов ее указания на бирках. Самый простой способ — воспользоваться соответствующими параметрами, среди которых наименование и обозначение облицовочного материала, его толщина и очередность нанесения. Эти параметры или созданные из них составные параметры обычным образом размещаются на шаблоне бирки. Если какая-либо сторона детали имеет сложную форму, то выводится сообщение о необходимости свериться с чертежом.

Второй способ — графический. Он более сложный, но при этом более наглядный и интересный. Дело в том, что облицованные кромки часто обозначают подчеркиванием, при этом толщина линии связывается с толщиной облицовочного материала. Для реализации этой возможности имеется встроенная система программирования, в которой реализован механизм событий.

Рис. 15. Объект Линия

Рис. 15. Объект Линия

Разместим на бирке объект Линия (рис. 15), не изменяя никакие ее свойства. В процессе заполнения бирки информацией о конкретной детали происходят некоторые события, поэтому можно написать программу-обработчик любого из них, которая будет выполнена в соответствующий момент. В рассматриваемом случае необходимо перед печатью бирки изменить параметры объекта Линия в соответствии с видом облицовочного материала на конкретной кромке. Это событие OnBeforePrint. Двойным щелчком левой кнопкой мыши создаем заготовку обработчика события:

procedure Line1OnBeforePrint(Sender: TfrxComponent);

begin

end;

По умолчанию языком программирования выбран Pascal, однако можно переключиться на C++, BASIC или Java. Программа пишется самым обычным образом, только в нужные места «перетаскиванием» из списка вставляются параметры, которые выше аналогичным образом размещались на шаблоне бирки. Другими словами, в качестве переменных можно использовать всё множество имеющихся параметров. Приведем текст программы, который позволяет изменять внешний вид линии в зависимости от вида облицовочного материала:

var WidthThick, r : float;

 S : string;

begin

S:= <Параметры.”См.чертеж”>;

Line1.Visible:= true;

WidthThick:= <Параметры.”Кромка L1 толщ.”>;

if WidthThick = 0 then

begin

 if (VarToStr(<Параметры.”Кромка L1 обозн”>) <> ”) and

 (VarToStr(<Параметры.”Кромка L1 обозн”>) = s) then

 begin

            Line1.Frame.Style:= fsDot;

            Line1.Frame.Width:= 2;

 end

 else Line1.Visible:= false;

end

else

begin

 Line1.Frame.Style:= fsDot;

 Line1.Frame.Width:= 2;

end;

end;

Дадим краткие пояснения. Переменная WidthThick — это толщина облицовочного материала на некоторой кромке детали. Нулевая толщина кромки бывает в двух случаях: первый — кромка не облицована; второй — перед ее облицовыванием надо свериться с чертежом. Последнее необходимо, например, когда кромка облицовывается несколькими отрезами материала разной толщины и указать конкретное значение невозможно.

Соответственно, при нулевой толщине кромки возможны две ситуации:

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

Во всех остальных случаях выводится сплошная линия, толщина которой равна удвоенной толщине облицовочного материала. Пример бирок, дополненных графическим обозначением облицованных кромок и двумя QR-кодами, приведен на рис. 16.

Рис. 16. Графическое обозначение 
облицованных кромок

Рис. 16. Графическое обозначение облицованных кромок

Управление видимостью объектов

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

Создадим обработчик события OnBeforePrint, как и в предыдущем примере, но только для второго изображения QR-кода — объекта Barcode2D2. Логика его работы проста: если на нелицевой стороне детали нет отверстий, то есть количество глухих отверстий на ней равно нулю, то QR-код должен стать невидимым:

procedure Barcode2D2OnBeforePrint(Sender: TfrxComponent);

begin

if <Параметры.”Кол. гл. отв. в пласть низ»” > 0 then

Barcode2D2.Visible:= true

else Barcode2D2.Visible:= false;

end;

Аналогичным образом можно управлять видимостью любых объектов. Пусть на некоторой детали вообще нет никаких отверстий или пазов, например это съемная полка. Для таких деталей QR-коды с именами управляющих программ вообще не нужны, и программа-обработчик будет выглядеть следующим образом:

procedure Barcode2D1OnBeforePrint(Sender: TfrxComponent);

begin

if <Параметры.”Кол. гл. отв. в пласть»” +

 <Параметры.”Кол. отв. в торец»” +

 <Параметры.”Кол. прямол. пазов»” +

 <Параметры.”Кол. кривол. пазов»” > 0 then

Barcode2D1.Visible:= true

else Barcode2D1.Visible:= false;

end;

Удобно использовать подобное управление видимостью для графических изображений. В этом случае оператор станка быстро, буквально одним взглядом может сориентироваться относительно своих дальнейших действий. К примеру, следует ли на очередную обработанную деталь класть другие детали, или это нерационально. Создаем две картинки, одна из которых обозначает, что очередная деталь не является единственной или последней, поэтому другие детали класть на нее нежелательно, а другая картинка говорит о том, что деталь последняя. Затем размещаем их друг на друге и пишем обработчик, по аналогии с предыдущими примерами.

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

Некоторые замечания

Опыт использования модуля БАЗИС-Бирка на многих предприятиях показал, что при создании шаблонов часто возникают одни и те же затруднительные ситуации. Перечислим их:

  • количество точек на дюйм при формировании шаблона, просмотре бирок и печати на принтере может не совпадать, поэтому отдельные объекты «переходят» на следующую бирку. Для исключения этого достаточно немного уменьшить размер шаблона;
  • бирки на детали надо наклеивать так, как они печатаются, ни в коем случае не поворачивая. Это особенно важно при графическом обозначении облицованных кромок. Если оператор пильного центра случайно развернет бирку, то оператор облицовочного участка облицует не те кромки, то есть появится брак. Значит, при формировании шаблона надо предусмотреть эту вероятность и так показывать облицованные кромки, чтобы даже при неверном наклеивании бирки оператор кромкооблицовочного станка смог быстро обнаружить это и не допустить брак;
  • масштаб отображения штриховых кодов и QR-кодов надо выбирать с учетом разрешения принтера для печати бирок, которое, как правило, ниже, чем у обычных принтеров. Если забыть об этом, сканер на станке может не считать код.

Заключение

Модуль БАЗИС-Бирка, будучи встроенным в систему БАЗИС, позволяет создавать шаблоны бирок, учитывающих все нюансы технологических процессов мебельного производства. Однако он может работать и автономно. Это позволяет использовать его везде, где требуется автоматическая идентификация объектов.

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: ЗАО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель: ООО «НТЦ ГеММа»

ИНН 5040141790 ОГРН 1165040053584