Machinations Russian Documentation
  • Что такое Machinations?
  • ☉ Для начала
    • Изучение
    • Основы Интерфейса
    • Основы Программы
    • Полезные видео
  • ▷ Симуляции
    • Режимы запуска
    • Диаграммы
  • ⦽ Базовые Механизмы
    • Хранилище | Pool
    • Источник | Source
    • Сток | Drain
  • ⇢ Связи
    • Соединения с ресурсами | Resource Connections
    • Соединения состояний | State Connections
      • Модификатор меток
      • Модификаторы механизмов
      • Тригерры
      • Активаторы
    • Метки | Labels
  • ⧰ Сложные механизмы
    • Преобразователи и Обменники | Converters & Traders
    • Ворота (Gates)
      • Главное
      • Сортировочные ворота
    • Регистры | Registers
    • Задержки и очереди | Delays & Queues
    • Конечные условия | End Conditions
  • свойства механизмов
    • Способы активации
    • Принятие и отдача ресурсов
    • Цветовой кодинг
  • ⚯ совместная работа
    • Совместное редактирование в реальном времени
    • Публичные диаграммы
    • Google Sheets
    • Тэги
  • ☆ Подсказки
    • Shortcuts
    • Советы по работе с Machinations
  • EN Documentation
Powered by GitBook
On this page

Was this helpful?

  1. свойства механизмов

Принятие и отдача ресурсов

передача ресурсов от А до Б

PreviousСпособы активацииNextЦветовой кодинг

Last updated 5 years ago

Was this helpful?

Механизм может быть настроен либо на Push, либо Pull Resources, в зависимости от того, какое действие он должен предпринять после активации.

Установите атрибут в раскрывающемся меню в Functional > Action

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

По умолчанию у механизмов стоит pull режим

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

Механизм в режиме push помечен p.

Хранилище, которое имеет только выходы, всегда считается находящимся в режиме push, в этом случае маркер p опускается.

Если узел пытается получить больше ресурсов, чем имеется на вход, он будет обрабатывать это одним из двух способов:

  1. По умолчанию узел забирает столько ресурсов, сколько может, вплоть до скорости потока своих входов. Если ресурсов недостаточно, все равно забирает те, которые есть.

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

Механизмы в режиме pull all помечены &

Эти правила также применяются к отдающим узлам: по умолчанию push узел отправляет столько ресурсов, сколько доступно по его выходному соединению ресурсов, вплоть до скорости потока на выходе.

Механизм в режиме push и all отправляют ресурсы только тогда, когда он может предоставить все свои выходы. Это значит, что механизмы в режиме push могут быть обозначены сразу и p и &.

.Пример песочных часов

В приведенном ниже видео с использованием хранилищ и соединений с ресурсами мы создали простые песочные часы.

Верхнее хранилище (A) пассивно и содержит 5 ресурсов, а нижнее хранилище (B) работает автоматически и запускается без каких-либо ресурсов. Каждый шаг по времени (в данном случае 1 секунда), B будет тянуть один ресурс из A, пока все ресурсы не переместятся из A в B.

Вам может это пригодиться:

Push и Pull All