Как создать свой первый машинный триггер
  • 31 Oct 2023
  • 3 Минуты для чтения
  • Авторы

Как создать свой первый машинный триггер


Article Summary

Как создать первый триггер для станка

Используйте триггеры для обновления истории каждого станка в функции мониторинга станков.

В этой статье вы узнаете:

  • Как использовать машинные триггеры для изменения состояния машины
  • Полный список действий, которые можно использовать в машинных триггерах

После настройки атрибутов и типов машин можно обновлять историю машины на основе значений полей OPC UA.

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

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

Вот как данные поступают в триггеры станка:

  1. Поле OPC UA имеет общий выход.
  2. Этот выход сопоставляется с атрибутом на странице для данного отдельного станка.
  3. Атрибут используется в логике машинного триггера.

Обновление состояния машины

На странице для каждого отдельного типа машины можно определить несколько машинных триггеров, которые будут обновлять состояние машины (или любого поля).

Ниже приведен пример состояния машины для одного типа машин:

Чтобы создать триггер, нажмите кнопку Edit (Редактировать ) в правом верхнем углу страницы Machine Type (Тип машины).

Щелкните на знаке + в правом верхнем углу раздела Machine Triggers.

Затем необходимо добавить оператор When, чтобы определить, когда состояние должно быть обновлено. Существует два типа операторов When:

  1. На основе значения последнего вывода из определенного поля OPC UA.
  2. На основе времени, т.е. "за последние 5 секунд".

Приведем пример первого условия:

When

  • "Станок" выводит: "конкретный атрибут" "Шпиндель".

Если* "Атрибуты станка" "Шпиндель" "текущее значение" ">" "Статическое значение" "Число" "100" "с момента последнего вывода"

Тогда* "Установить историю действий" поле: "Состояние" значение: "Enum" "Running"

Для каждого станка, имеющего данный тип, этот триггер будет просматривать последнее значение поля OPC UA, привязанного к атрибуту "Шпиндель". Если это значение больше 100, то станок переходит в состояние "Работает" (или продолжает находиться в этом состоянии).

Вот пример, в котором используется синхронизация:

Когда

  • "таймер срабатывает" "каждые 30 секунд".

Если

  • "Атрибуты станка" "шпиндель" "текущее значение" ">" "Статическое значение" "Число" "100" "сейчас"

Тогда

  • "Установить историю действий" поле: "Состояние" значение: "Enum" "Running"

Если значение шпинделя больше 100, то состояние станка изменится на "Работает".

Этот триггер оценивается каждую секунду. В течение секунды после того, как значение превысит 100, состояние станка изменится на "Работает" и будет оставаться таким до тех пор, пока не пройдет 30 секунд подряд без значения, превышающего 100 (30 последовательных значений).

Изменение значения поля (т.е. количество дефектов, количество деталей)

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

Например, у вас может быть триггер, который обновляет состояние станка между "Работает", "Простаивает" и "Остановлен".

Затем можно создать отдельный триггер, который обновляет "Part Count", когда поле OPC UA меняет свое значение.

Поле "Part Count" можно обновлять так же, как и переменную в редакторе триггеров в App Editor.

Ниже перечислены различные поля, которые можно обновлять:

  • Состояние
  • Причина простоя
  • Программа
  • Идеальная скорость выполнения
  • Количество дефектов
  • Количество деталей

Эти поля обновляются автоматически: * Время начала * Время окончания * Продолжительность

В триггере машины есть два действия, которые могут обновить эти поля:

  • Создать состояние машины: Установить значение поля State.
  • Манипулирование данными: Дает возможность: Очистить, Уменьшить, Увеличить или Сохранить значение в поле.

В следующем примере "part_counter" - это булевский атрибут, который будет обновляться, когда станок завершит изготовление детали и обновит результирующее поле OPC UA.

Если

  • "Атрибуты станка" "Шпиндель" "текущее значение" ">" "Статическое значение" "Число" "100" "сейчас"

Тогда

  • "Манипуляция данными" "Инкремент" поле: "Part Count" значение: "Static Value" "1"

В результате поле "Количество деталей" будет обновлено для текущего состояния станка, и это сразу же отразится в истории операций.

Дальнейшее чтение


Вы нашли то, что искали?

Вы также можете зайти на community.tulip.co, чтобы задать свой вопрос или узнать, сталкивались ли другие с подобным вопросом!


Была ли эта статья полезной?