Перейти до змісту

Три фази — по одному нагріву столу на фазу

Ситуація

Сорок вісім принтерів на трифазному вводі, приблизно по шістнадцять на фазу. Нагрівач столу — найбільше навантаження, яке бере принтер, і бере він його на старті друку. Коли зміна закінчується, оператор обходить цех і очищає столи; черга запускає десяток друків в один тік планувальника, дванадцять столів гріються водночас, і на одній із фаз вибиває автомат.

Ліміт «два старти на всю ферму» рятує автомат і марнує дві фази: «два столи будь-де» — це навантаження однієї фази, а дві інші простоюють, поки черга чекає.

Мета

На кожній фазі водночас гріється щонайбільше один стіл — або два, скільки витримує саме цей контур, — і три фази незалежні одна від одної. Тоді один обхід зі зміною плит дає три старти одразу, по одному на фазу, а черзі не треба знати, у яку розетку ввімкнений принтер.

Що задіяно

Функція Її роль
Теги принтерів Називають фазу на кожному принтері. Тег — це підпис із кольором; тут він означає «цей принтер на фазі 2».
Поетапний запуск → Групи Перетворює один ліміт на всю ферму на ліміт на тег — а за бажанням і на приміщення.
Банер поетапного запуску На сторінці черги: зайнятість кожної фази і на який принтер чекає елемент, що стоїть.

Крок за кроком

  1. Назвіть фази. Налаштування → Друк → Теги: створіть Фаза 1, Фаза 2, Фаза 3. Дайте кожному колір із палітри — його носитимуть банер і картки принтерів, і саме так ви з одного погляду бачитимете, яка фаза повна.

  2. Протегуйте кожен принтер. Відкрийте редагування принтера і виберіть тег його фази в полі під розташуванням. На сторінці принтерів згрупуйте картки за Тегом: розділ Без тегу внизу — ваш список справ, і він мусить бути порожнім до наступного кроку (чому — у першій пастці нижче).

  3. Увімкніть розбиття. Налаштування → Друк → Черги та планування → Поетапний запуск:

    Налаштування Значення для цієї ферми
    Увімкнути поетапний запуск Увімкнено
    Одночасних запусків 1 — поле перейменовується на Одночасних запусків на групу, щойно ввімкнено розбиття, і саме це воно тепер означає
    Інтервал (хвилини) 3 — пауза на відновлення після того, як стіл нагрівся, а не час нагріву
    Чекати нагріву столу Увімкнено
    Розбити за тегами принтерів Увімкнено, і відмічені Фаза 1, Фаза 2, Фаза 3
  4. Слабша фаза, за бажанням. Біля кожного відміченого тегу є маленьке числове поле. Порожнє — фаза бере число згори; поставте 1 на фазі з меншим автоматом і 2 на решті, і кожна фаза живе за своїм лімітом.

  5. Два цехи, за бажанням. Якщо у двох приміщень окремі вводи, увімкніть ще й Розбити за розташуванням і відмітьте обидва приміщення. Групи стають фаза × приміщення — Фаза 1 · Цех 2 — і кожна пара має власний ліміт: найменший із ліміту тегу, ліміту розташування і загального числа.

  6. Подивіться на сторінку черги. Банер над чергами тепер має по сегменту на фазу — Фаза 1: 1/1, Фаза 2: 0/1, Фаза 3: 1/1 — і наступний вільний через зі зворотним відліком. Очищайте столи рівно так, як раніше.

Що BamDude робить далі сам

  • Кожен старт друку займає слот у фазі свого принтера — черговий, Друкувати, повторний друк з архіву і друк, запущений з екрана самого принтера на холодному столі. Щойно слот фази зайнятий, наступний елемент цієї фази чекає, і причина стоїть на його рядку:

    Staggered start [Фаза 2]: waiting for P1S-04 to heat up
    

    Елементи двох інших фаз на нього не чекають.

  • Слот тримається, доки стіл не досягне цілі (у межах ±1 °C), потім ще інтервал — і лише тоді йде наступний старт на цій фазі. Принтер, чий стіл уже гарячий на момент старту, пропускається: його пік уже позаду.

  • Прямий друк чекає так само, як черговий. Натисніть Друкувати на повній фазі — діалог чекає на слот, а потім вантажить файл. З увімкненим Строгим режимом для прямого друку замість очікування буде відмова — Stagger cap reached — і нічого не вивантажиться.

  • Перезапуск забуває слоти й знаходить їх знову. За кілька секунд після повернення MQTT кожному принтеру, який гріє стіл, слот реєструється заново, тож перезапуск посеред нагріву не роздає «безкоштовних» стартів.

  • Тег, повішений під час нагріву, рахується з наступного тіку. Групи перечитуються на кожному проході планувальника; після перетегування принтера нічого перезапускати не треба.

Пастки і «а якщо»

Принтер без тегу рахується на кожній фазі

Принтер без жодного з відмічених тегів — wildcard: BamDude не знає, на якій він фазі, і трактує його так, ніби він може бути на будь-якій. Він стартує лише тоді, коли вільно на кожній фазі, а поки гріється — займає слот на всіх фазах одразу.

Увімкніть розбиття на напівпротегованій фермі — і старти стануть рідшими, а не розумнішими. Спершу протегуйте все; перевірка — група Без тегу на сторінці принтерів.

  • Інтервал — це пауза на відновлення, а не час нагріву. З увімкненим Чекати нагріву столу підйом температури вже покритий очікуванням столу. Дві–п'ять хвилин цілком досить; десять просто гальмують ферму.
  • Один повільний нагрівач на фазі. Поставте Інтервал поетапного запуску (хвилини) на формі саме цього принтера (0 = загальний), а не підіймайте інтервал усій фермі.
  • Тег-фазу не видалити, поки вона є групою. API відповідає 409 — спершу зніміть галочку в Чергах та плануванні, потім видаляйте. Мовчки перемальовувати, які принтери ділять ліміт, кнопка видалення не має права.
  • Прогноз не бачить поетапного запуску. Готово ≈ на замовленні рахується без нього і так і каже у своєму списку припущень. Ферма, яка сильно розтягує старти, закінчить трохи пізніше за дату — див. Замовник питає, коли буде п'ятдесят.
  • Нічого тут не гальмує диспетчер. Вивантаження на кілька принтерів і далі йдуть паралельно; ліміт стримує старт друку і більше нічого, тож друк, що вже йде, ніколи не сповільнюється через сусіда, який чекає на слот.
  • Тег означає те, що ви скажете. Той самий механізм розбиває за приміщенням через розташування; розбиття за тегом — для всього, чого приміщення не описує: фаза, ДБЖ, подовжувач.

Суміжні сценарії