Hi,

В настоящее время я пытаюсь смоделировать склад и процесс доставки с помощью SimEvents. Для доставки я хочу, чтобы все товары, принадлежащие к одному заказу, были сгруппированы вместе. Думайте об этом, как о размещении всех товаров в заказе на европоддоне или в большей коробке. Количество элементов в одном заказе может варьироваться, что означает, что мне нужно найти способ группировать разное количество объектов вместе на основе заказов. Я смотрел на Entity Batch Creator, но этот блок допускает только фиксированные размеры пакетов, которые мне не подходят. Я также думал об использовании Composite Entity Creator для объединения элементов с заказом и размещения объединенных объектов в магазине в ожидании доставки. Однако, когда я хочу, чтобы заказ был загружен на грузовик, мне нужно, чтобы различное количество объектов перемещалось из магазина в грузовик одновременно, поскольку именно так вилочный погрузчик загружает евро-поддон со склада на грузовик. работать в реальной жизни. Насколько мне известно, нет способа изменить мощность Entity Server, что оставляет мне ту же проблему, что и с создателем пакетов.

Есть ли способ динамически группировать объекты вместе в Simulink/SimEvents?

ОТВЕЧАТЬ

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Simevents основан на понятии системы хранения объектов, и его стандартная библиотека блоков включает только блоки, которые включают только одно хранилище. Блоки с более чем одним хранилищем должны создаваться вручную с помощью MATLAB Discrete Event System или MDES.

Ваш блок должен иметь два входа, две очереди и один выход. Вход 1 принимает заказы, а вход 2 принимает событие прибытия корабля. Когда корабль прибывает во входной порт 2 (событие входа), в очереди 1 запускается действие повторного события, чтобы перебирать объекты в очереди и назначать различные размеры заказов в качестве атрибутов объекта корабля. Наконец, корабль направляется (действие по событию вперед) из очереди 2 через выходной порт, и, наконец, все заказы в очереди 1 уничтожаются (действие по событию уничтожения) в рамках действия повторения события. Подводя итог, вам нужен метод, который примерно выглядит так:

function [Events, Ship] = ShipEntry (Ship) % When a ship arrives in Storage2
Event1 = obj.eventiterate (Storage1, Ship); % iterate over Storage1 according to OrderIterate method below
Event2 = obj.eventForward (); % then forward the ship to the output
Events = [Event1, Event2]; % list of evnet actions  
end

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ