flexsim_agv_deliver
Deliver one item via an AGV network: dispatch travel-load-travel-unload tasks from pickup to dropoff, then run the simulation and report delivery evidence.
Instructions
Deliver one item on the AGV network: TRAVEL pickup, LOAD, TRAVEL dropoff, UNLOAD + run (window only). # AGV-dlv
Fuente (sin inventar comandos ni task types): createemptytasksequence
(Commands.xml:6854-6858, XML:6855/6858) + inserttask (Commands.xml:7951-7955,
ej. XML:7955 "inserttask(ts, TASKTYPE_TRAVEL, current, NULL);") +
dispatchtasksequence (Commands.xml:7094-7099, ej. XML:7099); TASKTYPE_TRAVEL=8
(a objeto, el de red AGV) vs TRAVELTOLOC=9 (a coordenadas, XML:6921-6927, no red)
en FlexsimDefs.h:215-216 / allobjects.h:295-296 (catalogo AGV-dlv A1 arriba);
TASKTYPE_LOAD en XML:7751, UNLOAD solo en FlexsimDefs.h:210 / allobjects.h:290,
PREEMPT_NOT en FlexsimDefs.h:262. Despacho via _dispatch_trip (A2, misma TS de
flexsim_run_transport bloque P1). Patrones verificados del repo: require_gui /
run_script / fs_string / _fs_literal / check_script_safety / format_error;
NULL-check `treenode n = Model.find(..); return (n == NULL ? 0 : 1);`
(flexsim_experimenter_status); item por paths candidatos tal cual,
pickup/item y scan hijos (flexsim_run_transport); red con _flow_path BFS
outObjects (flexsim_agv_connect/_last_link); stats `Object k = Model.find(..);
return k.stats.input.value;` (AGENTE_FLEXSIM.md sec 7); corrida sin reset con
Run Speed slider + stoptime + applicationcommand run + espera getrunstate==0
(flexsim_run_to_time / flexsim_run_transport, sin resetmodel porque borraria la TS).
Args:
traveler: TaskExecuter/AGV que ejecuta (dueno de la TS).
item_from: flowitem a mover (Model.find debe resolverlo; ver items con
flexsim_list_tree sobre la estacion).
pickup: objeto/estacion donde se carga.
dropoff: objeto/estacion donde se descarga (se leen sus stats).
control_points: 0-6 ControlPoints/path de la red (default []); si no vacia
se verifica con _flow_path que pickup alcanza el primer CP (reporta,
no bloquea).
run_seconds: duracion simulada a correr tras despachar (default 600, >0).
run_speed: Run Speed slider para la corrida (default 1000, >0).
priority: prioridad de la TS (default 1).
Returns JSON {dispatched, delivered, traveler, item_from, item_path, pickup,
dropoff, priority, flexsim_result, dropoff_input_before, dropoff_input_after,
model_time_end, flexsim_console, network_checked:{...}, limits[]} (+ error
real cuando dispatched=false o sin confirmar entrega, sin mentir).
Limits: semantica LOAD/UNLOAD (involved1=item, involved2=estacion) no esta en
Commands.xml (remite al QuickReference); dispatched=true es TS aceptada, no
entrega; delivered=true es input del dropoff incrementado tras correr
(evidencia, no trazabilidad del item); network_checked solo reporta.
Presupuesto TE (ajusta el OPERADOR # T5): run_seconds >= distancia_total_m /
velocidad_TE_mps + 30% margen; velocidad_TE_mps se lee en la GUI del
TaskExecuter (propiedades del TE), distancia_total_m es el recorrido
pickup->dropoff por la red AGV.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |