Начало работы с DPM > Настройка автоматизации данных
Настройка автоматизации данных
Автоматическая интеграция DPM позволяет получать данные из подключенных регуляторов темпа, полученных DPM в ближайшем реальном времени. Регулятор темпа - это рабочая единица, которая задает скорость производства для рабочего центра. DPMИнтеграция автоматизации поддерживает изменения порядка работы (запуск производства, остановка производства или изменение порядка работы), количество производства и брака, а также события доступности, возникающие в результате сопоставления машинных кодов с кодами причин в DPM. Получение данных от подключенного регулятора темпа приводит к изменению свойств в ThingWorx. Изменения всех свойств с данными о хорошем качестве хранятся в потоке значений. Каждые 5 минут эти транзакции загружаются в хронологическом порядке и записываются в соответствующие таблицы событий в DPM.
Например, если настроены все свойства автоматизации данных, DPM может получать данные, которые запускают производство согласно порядку работы. Когда порядок работы находится в производстве, данные можно получить для добавления количества произведенной и бракованной продукции в порядок работы, для записи таких событий простоя станка, как перерывы и перебои в электропитании, а так же для регистрации возвращения станка в рабочее состояние. Затем DPM может получить данные, которые завершают первый порядок работы и запускают производство по следующему порядку работы.
Если система отключается менее, чем на 15 минут, записываются события, произошедшие в этот период времени. Если система будет отключена более, чем на 15 минут, события, возраст которых превышает 15 минут, игнорируются. Это позволяет избежать дублирования данных, поскольку операторы могут вводить данные вручную для этого времени. Дополнительные сведения см. в разделе Ввод данных вручную и автоматически.
Чтобы настроить автоматизацию данных для DPM, выполните следующие шаги.
1. Установите и подключите источник данных к ThingWorx.
Дополнительные сведения о Kepware см. в разделе Руководство по установке KEPServerEX версии 6.
Дополнительные сведения об IoT-концентраторе Azure см. в разделе Справочный центр соединителя IoT-концентратора Azure
2. В ThingWorx Composer создайте или используйте промышленное соединение. Чтобы создать промышленное соединение, создайте вещь с шаблоном вещи IndustrialGateway в качестве ее базового шаблона вещи.
3. Для каждого рабочего центра можно сконфигурировать автоматизацию данных в регуляторе темпа. Другие типы оборудования (предприятие, регион, площадка, участок или рабочий центр) не автоматизируются.
Для вещи единицы оборудования для регулятора темпа выполните следующие шаги.
a. Добавьте следующие профили вещей в поле Внедренные структуры.
PTC.OperationKPI.AutomationEventsModelLogic_TS
IndustrialThingShape
b. Задайте поле Поток значений для PTC.OperationKPI.Automation_VS.
c. В разделе Свойства и предупреждения задайте свойство IndustrialThing для промышленного соединения из шага 2.
d. Задайте свойства для задач автоматизации данных, которые нужно использовать. Информация о каждом из этих свойств приведена в соответствующих разделах.
e. Нажмите Сохранить, чтобы сохранить изменения для вещи единицы оборудования.
4. Повторите шаг 3 для каждого регулятора темпа, который требуется автоматизировать.
5. Перейдите к таймеру PTC.OperationKPI.AutomationEventProcessor_TI. Установите флажок Включено, а затем нажмите кнопку Сохранить. При этом запустится пакетная обработка для автоматизации данных.
Запуск существующих порядков работы
Чтобы запустить существующие порядки работы с использованием автоматизации данных, выполните следующие шаги в ThingWorx Composer.
1. В вещи единицы оборудования для регулятора темпа в разделе Свойства и предупреждения привяжите свойство PTCJobOrderID к соответствующему тегу. Это свойство должно иметь STRING значения.
2. Нажмите Сохранить, чтобы сохранить изменения для вещи.
При каждом изменении значения свойства PTCJobOrderID запускается указанный порядок работы. Если во время изменения свойства выполняется порядок работы, он завершается и запускается новый порядок работы. Если порядок работы с данным идентификатором не существует, для оператора отображается сообщение об ошибке. Порядки работы создаются на странице Порядки работы в разделе Администрирование. Дополнительные сведения см. в разделе Создание порядка работы.
Когда свойство PTCJobOrderID принимает значение 0 (значение по умолчанию для свойства PTCJobOrderIDNullValue), выполняемый в данный момент порядок работы завершается, но новый порядок работы не запускается.
Если оператор вручную изменяет статус порядка работы на информационной панели производства, запуская производство или останавливая производство после метки времени изменения свойства PTCJobOrderID, то изменение свойства игнорируется, и для оператора отображается сообщение об ошибке. Автоматизированные события обрабатываются после их возникновения, и предполагается, что оператор будет осведомлен о том, что происходит на данном оборудовании в реальном времени.
Создание порядков работы на основе указанного материала
Чтобы создать порядки работы на основе указанного материала с помощью автоматизации данных, также называемого выполнения материала, выполните следующие шаги в ThingWorx Composer.
1. В вещи единицы оборудования для регулятора темпа в разделе Свойства и предупреждения привяжите свойство PTCMaterialMasterID к соответствующему тегу. Это свойство должно иметь STRING значения.
2. Нажмите Сохранить, чтобы сохранить изменения для вещи.
При каждом изменении значения свойства PTCMaterialMasterID создается порядок работы для указанного материала с целевым количеством по умолчанию, равным 1. Если во время изменения свойства выполняется порядок работы, он завершается и запускается вновь созданный порядок работы. Если материал, соответствующий идентификатору мастера материала, не существует, выдается ошибка.
Если оператор вручную изменяет статус порядка работы на информационной панели производства, запуская производство или останавливая производство после метки времени изменения свойства PTCMaterialMasterID, то изменение свойства игнорируется, и для оператора отображается сообщение об ошибке. Автоматизированные события обрабатываются после их возникновения, и предполагается, что оператор будет осведомлен о том, что происходит на данном оборудовании в реальном времени.
Когда свойство PTCMaterialMasterID принимает значение 0 (значение по умолчанию для свойства PTCMaterialMasterIDNullValue), выполняемый в данный момент порядок работы завершается, но новый порядок работы не запускается.
Обновление целевого количества для порядков работы
Свойство PTCTargetQuantity используется при задании целевого количества для порядков работы, создаваемых с помощью свойства PTCMaterialMasterID. Это свойство должно всегда устанавливаться после задания свойства PTCMaterialMasterID. При изменении значения этого свойства целевое количество для текущего выполняемого порядка работы обновляется.
* 
При наличии двух последующих материалов, выполняемых с одинаковым целевым количеством, сбросьте свойство PTCTargetQuantity перед отправкой второго целевого значения количества, отправив значение -1 (значение по умолчанию для свойства PTCTargetQuantityResetValue). Система не распознает повторное получение одинакового значения как изменение данных. Значение свойства должно быть сброшено, чтобы целевое количество второго порядка работы обновлялось до того же значения, которое было задано для первого порядка работы.
Чтобы обновить целевое количество для порядков работы с помощью автоматизации данных, выполните следующие шаги в ThingWorx Composer.
1. В вещи единицы оборудования для регулятора темпа в разделе Свойства и предупреждения привяжите свойство PTCTargetQuantity к соответствующему тегу.
2. Нажмите Сохранить, чтобы сохранить изменения для вещи единицы оборудования.
Ведение журнала количества производства
Счетчик производства регистрирует количество хорошего производства в регуляторе темпа. Общее количество производства рассчитывается как сумма хорошего и бракованного количества производства.
Чтобы записывать в журнал количество производства с помощью автоматизации данных, выполните следующие шаги в ThingWorx Composer.
1. В вещи единицы оборудования для регулятора темпа в разделе Свойства и предупреждения привяжите свойство PTCProductionCount к соответствующему тегу. Это свойство должно иметь целочисленные значения.
2. Поддерживаются как абсолютные, так и относительные счетчики производства. По умолчанию используется абсолютный счетчик производства. Чтобы сделать счетчик производства переключаемым, задайте для свойства PTCIsProductionCountRollover значение TRUE, а для свойства PTCProductionRolloverCounter задайте значение переключения счетчика.
* 
Абсолютный счетчик регистрирует новые количественные значения при их получении. Например, при получении значений 3, 5 и 2 он регистрирует значение 10.
Относительный счетчик регистрирует разницу между предыдущим и новым отсчетом, пока не будет достигнуто заданное значение переключения, после которого счетчик сбрасывается. Когда относительный счетчик сбрасывается, регистрируется разница между предыдущим отсчетом и значением переключения и прибавляется новое значение отсчета. Например:
Предположим, что относительный счетчик получает значения 0, 2 и 5. При получении 2 регистрируется 2 (разница между 2 и 0). При получении 5 регистрируется 3 (разница между 2 и 5).
Если счетчик получает значения 990, 998 и 3, значение переключения составляет 999. При получении 998 регистрируется 8 (разница между 998 и 990). При получении 3 регистрируется 4 (разница между 999 и 998 плюс новое значение 3).
Переключаемый счетчик не сбрасывается при изменениях в порядке работы вещи единицы оборудования.
3. По умолчанию счетчик производства начинается с 0. Если требуется, чтобы счетчик производства начинался с другой цифры, добавьте строку в свойство таблицы данных PTCLastAutomationProcessedValues со следующими значениями:
propertyNamePTCProductionCount
value: значение, с которого должен начинаться счетчик производства.
DPM игнорирует поле jobOrderUid.
4. Нажмите Сохранить, чтобы сохранить изменения для вещи единицы оборудования.
* 
Если для абсолютного счетчика обнаружатся два последовательных значения количества производства для одного и того же номера, сбросьте свойство PTCProductionCount перед отправкой второго значения количества производства, отправив значение -1 (значение по умолчанию для свойства PTC.ProductionCountResetValue). Система не распознает повторное получение одинакового значения как изменение данных. Значение свойства должно быть сброшено для второго количества производства с таким же значением, чтобы оно распозналось как новое количества производства.
Ведение журнала количества брака
Счетчики брака записывают в бракованное производство данные из регулятора темпа. Для одного регулятора темпа может быть несколько счетчиков брака. Количество брака для регулятора темпа рассчитывается в соответствии со значениями всех его счетчиков брака.
Каждый счетчик брака в DPM сопоставлен с одним машинным кодом, который создает регулятор темпа. В результате, если у регулятора темпа есть один счетчик брака, который может создавать различные машинные коды для счетчиков, необходимо создать уникальный тег счетчика брака в источнике данных для каждого машинного кода, для которого нужно сохранить счетчик.
Каждый машинный код брака сопоставляется с кодом причины брака в DPM.
Чтобы записывать в журнал количество брака с помощью автоматизации данных, выполните следующие шаги.
1. Убедитесь, что машинные коды брака имеются для каждого регулятора темпа и назначены соответствующим кодам причинам брака. Машинные коды и назначенные им коды причин можно просмотреть в разделе "Администрирование" на вкладке Настройки машинного кода для единицы оборудования в списке оборудования.
* 
Если в регуляторе темпа отсутствует машинный код, или он не сопоставлен с кодом причины, то все события, полученные с помощью автоматизации данных для этого машинного кода, регистрируются со значением категории события (eventCategory) и категории потери (reasonCategory) со значением Invalid. Такие недействительные события не отображаются в журналах событий инструментальной панели производства, не добавляются в счетчик брака и не учитываются при расчете данных.
2. В ThingWorx Composer в вещи единицы оборудования для регулятора темпа в Свойства и предупреждения создайте свойство для каждого машинного кода брака, для которого необходимо продолжить отсчет. Каждое свойство брака считается счетчиком брака в DPM.
3. Поддерживаются как абсолютные, так и относительные счетчики брака. По умолчанию используются абсолютные счетчики брака. Чтобы сделать счетчики брака в счетчиках в переключаемом регуляторе темпа, задайте свойство PTCIsScrapCounterRollover в вещи на TRUE.
* 
Абсолютный счетчик регистрирует новые количественные значения при их получении. Например, при получении значений 3, 5 и 2 он регистрирует значение 10.
Относительный счетчик регистрирует разницу между предыдущим и новым отсчетом, пока не будет достигнуто заданное значение переключения, после которого счетчик сбрасывается. Когда относительный счетчик сбрасывается, регистрируется разница между предыдущим отсчетом и значением переключения и прибавляется новое значение отсчета. Например:
Предположим, что относительный счетчик получает значения 0, 2 и 5. При получении 2 регистрируется 2 (разница между 2 и 0). При получении 5 регистрируется 3 (разница между 2 и 5).
Если счетчик получает значения 990, 998 и 3, значение переключения составляет 999. При получении 998 регистрируется 8 (разница между 998 и 990). При получении 3 регистрируется 4 (разница между 999 и 998 плюс новое значение 3).
Переключаемый счетчик не сбрасывается при изменениях в порядке работы вещи единицы оборудования.
4. Обновите свойство PTCScrapEventProperties, чтобы включить все свойства брака, созданные на шаге 2. Значением свойства PTCScrapEventProperties свойства является таблица данных. Для каждого свойства брака добавьте строку в таблицу данных со следующей информацией:
propertyName: наименование свойства брака.
machineCode: машинный код, связанный со свойством брака.
rolloverCounter: значение переключения. Если свойствоPTCIsScrapCountRollover в вещи единицы оборудования задано на FALSE, то значение переключения игнорируется.
reallocateFromGoodCount: установите флажок (TRUE), если количество полученного брака для этого свойства необходимо перераспределить из записанного хорошего количества. Если количество брака, полученное для этого свойства, не нуждается в повторном назначении из числа хорошего производства, не устанавливайте этот флажок (FALSE).
Учитывайте положение счетчика брака при определении необходимости перераспределения количества брака, сообщаемого счетчиком брака, из количества хорошего производства. Количество брака может быть записано как до, так и после регистрации количества товара, в зависимости от того, где физически расположен счетчик брака по отношению к счетчику производства. На следующем рисунке показан простой пример, в котором у регулятора темпа есть два счетчика брака: счетчик брака 1 помещается перед счетчиком производства, а счетчик брака 2 помещается после счетчика производства.
Схема, показывающая регулятор темпа с двумя счетчиками брака и одним счетчиком производства. Счетчик брака 1 помещается перед счетчиком производства, а счетчик брака 2 располагается после счетчика производства.
Если количество брака регистрируется из данных·счетчика брака 1, то счетчик производства еще не записал хорошее количество. В результате количество брака не должно переназначаться из числа хорошего количества. В этом случае предполагается, что любое бракованное изделие, которое посчитано счетчиком брака 1, не будет включено в хорошее количество, записанное счетчиком производства. Задать reallocateFromGoodCount на FALSE для этого счетчика брака.
Если количество брака регистрируется из данных·счетчика брака 2, то счетчик производства уже записал хорошее количество. Любой отбраковываемый продукт необходимо перераспределить из хорошего количества, если он включен в хорошее количество, зарегистрированное счетчиком производства. Задать reallocateFromGoodCount на TRUE для этого счетчика брака.
* 
Если свойство брака и машинный код не сопоставлены должным образом в таблице данных PTCScrapEventProperties, то все данные, получаемые для такого свойства брака регистрируются как событие с категорией события (eventCategory) и категорией потери (reasonCategory) со значением Invalid. Такие недействительные события не отображаются в журналах событий инструментальной панели производства, не добавляются в счетчик брака и не учитываются при расчете данных.
5. По умолчанию каждый счетчик брака начинается с 0. Если требуется, чтобы счетчик брака начинался с другой цифры, добавьте строку в свойство таблицы данных PTCLastAutomationProcessedValues со следующими значениями:
propertyName: наименование свойства брака.
value значение, с которого должен начинаться счетчик брака.
DPM игнорирует поле jobOrderUid.
6. Добавьте подпись для события изменения данных для каждого свойства брака, созданного на шаге 2. В разделе Подписки щелкните Добавить. Укажите следующую информацию:
В разделе Информация о подписке введите наименование подписки и установите флажок Включено.
В разделе Входные данные выберите событие DataChange и укажите наименование свойства брака, для которого создается подписка.
В редакторе сценариев вставьте следующий код:
me.AddPTCValueStreamEntry({
propertyName: sourceProperty,
newEventData: eventData.newValue
});
Нажмите Готово.
7. Нажмите Сохранить, чтобы сохранить изменения для вещи единицы оборудования.
* 
Если для абсолютного счетчика обнаружатся два последовательных значения количества брака для одного и того же номера для заданного свойства брака, сбросьте свойство брака перед отправкой второго значения количества брака, отправив значение -1 (значение по умолчанию для свойства PTC.ScrapCountResetValue). Система не распознает повторное получение одинакового значения как изменение данных. Значение свойства должно быть сброшено для второго количества брака с таким же значением, чтобы оно распозналось как новое количества брака.
* 
Если свойство количества брака удаляется из вещи единицы оборудования для регулятора темпа, необходимо также удалить его из свойства PTCScrapEventProperties. Если свойство количества брака, указанное в свойстве PTCScrapEventProperties, не существует, обработка всех событий в потоке значений для этой вещи не выполняется.
Ведение журнала событий доступности
События доступности регистрируют состояние, в котором в настоящее время находится станок, получая машинные коды, сопоставленные с кодами причин.
Чтобы записывать в журнал события доступности с помощью автоматизации данных, выполните следующие шаги.
1. Убедитесь, что машинные коды отказов имеются для каждого регулятора темпа и назначены соответствующим причинам. Это включает машинные коды Running, которым назначен код причины из дерева причин Running. Машинные коды и назначенные им коды причин можно просмотреть в разделе "Администрирование" на вкладке Настройки машинного кода для единицы оборудования в списке оборудования.
* 
Если машинный код не сопоставлен с кодом причины из дерева причин, назначенного для регулятора темпа, событие регистрируется с кодом причины Неизвестно.
2. В ThingWorx Composer, в вещи единицы оборудования для каждого регулятор темпа в разделе Свойства и предупреждения привяжите свойство PTCAvailabilityEventFaultCode к соответствующему тегу.
3. Нажмите Сохранить, чтобы сохранить изменения для вещи единицы оборудования.
Было ли это полезно?