Una guía detallada para crear redes de trenes logísticos basadas en bots en Vanilla Factorio.
Introducción
¿Qué son los trenes logísticos?
Los trenes logísticos incorporan un sistema de programación inteligente que le dice a cada tren que lleve materiales a las estaciones que los solicitan solo cuando es necesario. Esto hace que una estación de suministro esté disponible para entregar a cualquiera de las múltiples estaciones solicitantes de manera eficiente y sin la necesidad de múltiples trenes.
Esto es diferente a la programación simple donde un tren se establece en una ruta fija para entregar solo en ciertas paradas. Los trenes regulares configurados para vaciar el contenido en una estación también permanecerán en la estación hasta que estén completamente vacíos. Esto reduce el rendimiento general y, a veces, hace que sea necesario agregar colas antes de una estación. Los trenes regulares también son propensos a sufrir largos tiempos de carga en una estación de suministro si la estación no puede seguir el ritmo. Por supuesto, se puede establecer una condición de límite de tiempo, pero esto a su vez hace que el tren funcione continuamente, lo que causa problemas adicionales.
Con los trenes logísticos, se envían automáticamente a una estación solicitante con pocos materiales, vacían su contenido lo más rápido posible y regresan inmediatamente a una estación de suministro disponible.
Usos para trenes logísticos
El uso de trenes logísticos facilita la expansión de una base y puede evitarle un dolor de cabeza a largo plazo. Los nuevos puestos de minería se conectan automáticamente a la red y se pueden solicitar desde cualquier lugar dentro de ella. Las reparaciones pueden ser solicitadas por una estación distante, como puestos avanzados de artillería, y un tren que contiene materiales puede enviarse automáticamente.
¿Por qué los bots?
Los bots eliminan la necesidad de cinturones, lo que a su vez elimina la necesidad de planificar cinturones y permite construcciones más compactas. Más importante aún, a diferencia de los cinturones, los bots tienen un rendimiento esencialmente ilimitado a través de actualizaciones de velocidad y agregando más a una red.
¿Puedo usar cinturones?
Desafortunadamente, algunas mecánicas de diseño centrales en esta guía dependen de la función de los cofres logísticos que no funcionarán con cinturones.
Descargo de responsabilidad y requisitos previos
Esta guía no contiene ningún plano. Su propósito es enseñar los fundamentos para que pueda ampliar ese conocimiento y hacer sus propias compilaciones que se adapten a sus necesidades. Es necesaria una comprensión muy básica de los circuitos lógicos y de cómo funcionan en Factorio. Se supone que todos los trenes circulan en una dirección utilizando vías dobles. Tampoco se explicará la señalización ferroviaria; solo recuerda este principio básico para cualquier intersección: cadena antes, señal después. Los diseños de esta guía también pueden no ser los más eficientes o puede haber errores; si hay algo que se puede hacer mejor por favor deje un comentario a continuación!
Estación de salida básica (carga)
- Este ejemplo utiliza una estación que carga solo chapas de hierro que salen de una planta de fundición.
- Llamemos a la estación “Iron – Out”. Todas las estaciones posteriores que produzcan planchas de hierro recibirán el mismo nombre. Queremos una salida de señal una vez que se llenen todos los cofres de los solicitantes, lo que habilitará la parada del tren con la opción Establecer límite de tren. Este tipo de señal puede ser cualquier cosa; Usaremos un icono de parada de tren para representar la señal de límite de tren.
- Esta estación utiliza una configuración de locomotora:vagón de carga 1:4.
- Cada vagón tiene una capacidad de 40 espacios, y cada vagón se carga con 12 cofres de solicitante.
- Dado que las placas de hierro se apilan hasta 100, para llenar un vagón, cada cofre debe tener un mínimo de (40*100)/12 = 334 placas de hierro solicitadas. Para hacerlo simple, redondeemos esto a 400. Cada uno de los 48 cofres debe solicitar 400 placas de hierro.
- Todos los 48 cofres están conectados a la entrada de un combinador decisivo. El combinador genera un Señal de 1 if Cualquier cosa es mayor o igual que 400*12*4 = 19200, o en otras palabras, una vez que se llenan todos los cofres de los solicitantes. Recuerde que el tipo de señal debe ser el mismo que está siendo detectado por la parada del tren.
- Antes de que la salida del combinador decisorio se conecte a la parada del tren, se pueden agregar 2 características opcionales. Primero, la señal se puede multiplicar por un combinador aritmético, que a su vez multiplica el límite total del tren. Esto rara vez se usa y agrega la necesidad de hacer una cola antes de la parada, por lo que se deja en el valor predeterminado de Señal*1.
- La segunda característica más útil es un conjunto de luces que se vuelven verdes una vez que la estación está lista para aceptar un tren. Ambas luces están configuradas para usar colores y se activan solo si el La señal de límite del tren es mayor o igual a 1. Por supuesto, esto está conectado al cable de señal principal junto con un combinador constante que emite un Señal verde de 1. El propósito de las 4 señales negras antes de la señal de color es evitar que el color se muestre en la información del modo alternativo en el combinador, lo que puede causar confusión.
- Finalmente, el horario del tren se establece en una condición de carga completa simple para la estación de carga de salida y una condición de carga vacía para la estación de descarga de entrada.
- Recuerde que es importante colocar una cantidad adecuada de roboports junto a la estación, ya que será un área de mucho tráfico después de la carga.
- A continuación se muestra una tabla de referencia para configurar las solicitudes de cofres y el combinador decisivo para trenes 1:4.
Tamaño de la pila de elementos | Solicitudes por cofre | combinador de decisión |
---|---|---|
50 | 200 | 9600 |
100 | 400 | 19200 |
200 | 700 | 33600 |
Estación básica de entrada (descarga)
- Este ejemplo complementa al anterior como una estación que descarga las planchas de hierro a la entrada de un bloque de fábrica para su uso.
- Pongamos el nombre de la estación “Hierro – En“. Recuerde que todas las demás estaciones que solicitan planchas de hierro deben llevar el mismo nombre. La parada del tren también contará con la Establecer límite de tren opción habilitada.
- Queremos que los trenes entrantes descarguen toda su carga y se vayan. Sin embargo, esto significa que debe haber una reserva antes de que la estación comience a solicitar otro tren. Esto se logra mediante el uso de una combinación de cofres de proveedores activos y pasivos en un 2a:2p:2a proporción, donde los elementos descargados en cofres activos se utilizarán inmediatamente. Esto deja una parte de las placas de hierro en los cofres pasivos hasta que se agoten los cofres activos. Solo cuando los cofres activos se queden vacíos, se tomarán elementos de los cofres pasivos, lo que activará otra solicitud de entrenamiento después de caer por debajo de un umbral.
-
- ¿Por qué usar una relación 2a:2p:2a de cofres activos y pasivos al descargar? Esto evita un desequilibrio de los elementos que quedan en los cofres que causan problemas con la descarga. Esto se explica en detalle en este video por Nilaus.
- Tener cofres de almacenamiento sin filtrar en cualquier parte de la red hará que las placas de hierro de los cofres activos se desvíen hacia ellos. Si este es el caso, tener varios cofres de almacenamiento colocados junto a la estación que filtran las placas de hierro los consolidará en esos cofres, siendo 4 cofres más que suficientes. Estos cofres se usarán primero debido a la prioridad de los cofres de almacenamiento.
- Se descargarán 4000 placas de hierro de manera relativamente uniforme en 12 cofres por vagón, dejando alrededor de 1333 placas en los 4 cofres pasivos. Tener 4 vagones eleva el búfer total a 5333 artículos.
- Todos los 48 cofres están conectados a la entrada de un combinador decisivo. Queremos que la estación llame a otro tren cuando los cofres pasivos comiencen a proporcionar los elementos restantes. La condición establece que un Señal de 1 se envía si Todo es menor o igual a 5000. Tenga en cuenta que la condición Todo continúa enviando una señal incluso cuando todos los cofres están vacíos.
- Al igual que con la estación de salida, se puede incluir un combinador aritmético para multiplicar el límite del tren, así como configurar las luces para que se enciendan cuando la estación esté activa y solicitando un tren, en este caso amarillo.
- No olvides solicitar combustible para el tren. Dado que la descarga generalmente se realiza en bloques de fábrica ubicados en el centro, prefiero colocar solicitudes de reabastecimiento de combustible solo en las estaciones de entrada en lugar de las estaciones de salida.
- La estación de descarga es un área de mucho tráfico, y puede ser necesario colocar múltiples filas de puertos de robot para fábricas más grandes.
- A continuación se muestra una tabla de referencia para configurar el combinador decisivo para trenes 1:4.
Tamaño de la pila de elementos combinador de decisión 50 2500 100 5000 200 10000 - A continuación se muestra una descripción general de todo el sistema. La minería y la fundición se realizan por encima de la estación de salida en la parte superior. Una vez solicitadas, las placas de hierro se llevan a la estación de entrada, donde se utilizan en la producción de engranajes.
Estaciones de Entrada y Salida de Líquidos
- Las estaciones para el transporte de líquidos siguen los mismos principios que los sólidos, pero son relativamente más simples y no involucran bots.
- Para un tren 1:4, cada vagón de fluido puede transportar 25000*4 = 100000 unidades. Los 8 tanques de carga también pueden almacenar 25000 unidades cada uno, con un almacenamiento total de 200000.
- Cada tanque está conectado al combinador decisivo configurado para 100000, suficiente para 1 tren. Tenga en cuenta que los tanques de almacenamiento continuarán llenándose incluso cuando se cumpla la condición, llenándose hasta un máximo de 2 trenes de líquido, lo que sirve como un buen amortiguador.
- En la estación de descarga, el combinador de decisión se establece en 50000. Esto solicitará un tren después de que se haya utilizado la mitad del líquido descargado.
Estación de salida avanzada
- Este ejemplo utiliza una estación que carga varios artículos desde la base principal que se llevan a cualquier puesto de avanzada que solicite una recarga.
- Nombraremos la estación “Reabastecimiento - Fuera“. La estación admite un tren 1:4: el primer vagón solo transporta combustible nuclear; el segundo solo lleva bots logísticos; el tercero lleva una combinación de bots de construcción, kits de reparación, etc.; y el cuarto está vacío para recibir artículos devueltos. Tenga en cuenta que es importante configurar los filtros en los vagones de carga mixtos, como el tercero, con el botón central.
- Dado que el cuarto vagón está vacío, el horario del tren no se puede configurar para esperar la carga completa. En cambio, cada elemento tiene un conjunto de condiciones.
- El combinador decisivo se establece en todo = 2. El combinador constante está generando un Señal de 1 para cada tipo de elemento que se puede cargar, y se ingresa en el combinador decisivo. El propósito es probar si TODAS estas señales tienen una salida de 2.
- Podemos ver para cada tipo de artículo, un combinador decisivo está probando si hay suficiente de ese artículo listo en los cofres. Cualquier artículo que alcance su cantidad establecida generará un Señal de 1, que se envía al combinador de decisión Everything = 2. Esta señal de 1 junto con la señal de 1 para ese artículo en particular producido por el combinador constante sumará 2.
- Como ejemplo, el primer vagón puede contener 1 de combustible nuclear. 40 cofres de solicitante cada uno solicitud 7 combustible nuclear, que en total suman 42, suficientes para llenar el vagón. Todos estos cofres están conectados a la entrada del combinador decisivo del artículo para probar si están listos. El combinador está configurado para generar una señal de combustible nuclear de 1 si el combustible nuclear es mayor o igual a 40, de lo contrario, generará 0.
Estación de entrada avanzada
- Este ejemplo continúa la red de reabastecimiento de la sección anterior.
- Esta estación y todas las demás se denominan “Reabastecimiento – En“. Nótese que la parada del tren tiene una condición añadida de Red de circuito de envío información Esto envía la señal de límite de tren al tren, que en este caso es 0 o 1.
- En cuanto a la programación del tren, queremos que el tren se vaya si Señal de límite de tren = 0 (la estación ya no está solicitando) Y 15 segundos de inactividad. Este búfer de 15 segundos es para compensar las fluctuaciones en los bots logísticos disponibles en la red, lo que se explica más adelante. un agregado O 30 segundos de inactividad condición obliga al tren a salir para evitar instancias de parada.
- El combinador decisivo se establece en ¡Cualquier cosa! = 1. El combinador constante está generando un Señal de 1 o cada tipo de elemento que se puede reabastecer, y se ingresa en el combinador decisivo. El propósito es probar si ALGUNA de estas señales tiene una salida de 2.
- Podemos ver para cada tipo de artículo, un combinador decisivo está probando el umbral de ese artículo. Cualquier elemento que caiga por debajo del umbral generará un Señal de 1, que se envía al combinador de decisión Anything != 1. Esta señal de 1 junto con la señal de 1 para ese artículo en particular producido por el combinador constante sumará 2.
- El primer vagón solo contiene combustible nuclear. La condición del insertador se establece en habilitar si <6. El combinador de decisión correspondiente establecido en si Combustible nuclear <1, señal de combustible nuclear de salida de 1. En otras palabras, alrededor de 6 artículos se descargarán cada reabastecimiento y caer por debajo de 1 artículo activará un nuevo reabastecimiento.
- El tercer vagón contiene una combinación de varios elementos que se reabastecerán, por lo que se utilizan insertadores de filtros para descargar cada uno. Cada insertador y su decisor correspondiente tiene su propia condición como se explicó anteriormente. Tenga en cuenta que cada cofre de almacenamiento se filtra por exclusividad. El tamaño de la pila de insertadores también se puede anular para una carga más uniforme. El insertador adicional que mueve los kits de reparación al roboport es completamente opcional.
- En esta vista aislada del circuito que se ocupa de todos los elementos que no sean bots, tenga en cuenta que ninguno de los insertadores y combinadores está conectado a sus cofres correspondientes. ¿Cómo se lee el número de artículos? En el menú de robotport, el Leer contenidos de la red logística la opción está habilitada (ver imagen en la siguiente sección). Por lo tanto, este robopuerto está leyendo los artículos en toda la red logística. Con este robopuerto, enviamos su salida a todos los insertadores, así como a los combinadores de decisión para cada elemento. Con este método, los cofres deben dejarse desconectados del circuito o, de lo contrario, se duplicarán los recuentos de elementos.
- El cuarto vagón acepta varios artículos que están listos para ser devueltos. En este ejemplo, los 4 cofres se filtran para mineros eléctricos y módulos de velocidad que ya no se necesitan en un puesto de minería.
Estación de Entrada Avanzada – Bots
- Una explicación de cómo se gestionan los bots merece su propia sección. La complejidad radica en determinar automáticamente la cantidad de bots logísticos requeridos en una red en particular, lo que se hace amortiguando la cantidad fluctuante de bots logísticos disponibles restantes.
- En el robopuerto, Leer estadísticas de robots está habilitado. Tenemos señales designadas L y C para los bots TOTAL de logística y construcción en el sistema, respectivamente. X y Y serán designados para los bots de logística y construcción DISPONIBLES, respectivamente.
- La gestión de los robots de construcción es sencilla. Arriba hay una vista del circuito aislado. En esta red queremos que se suministren 50 bots en total, con un umbral de recarga de 25. Esto se hace como se explica en la sección anterior. Tenga en cuenta que la colocación del roboport requiere una cadena de 2 insertadores de filtros de pila, ya que usar un insertador largo es demasiado lento. El tamaño de la pila se anula para una carga uniforme.
- Para los bots logísticos, digamos que queremos mantener un rango de 50 a 100 bots disponibles en la red como un búfer. En una red típica, la cantidad de bots logísticos disponibles tiende a fluctuar y puede descender a 0 durante los picos de actividad. Dado que no queremos solicitar un nuevo tren cada vez que los bots disponibles caen por debajo del umbral durante una fracción de segundo, debemos amortiguar el tiempo de detección. 30 segundos debería ser una buena cantidad para determinar si se requieren más bots.
- Arriba hay una vista ampliada del circuito aislado para facilitar la visualización. Dado que queremos un límite superior de 100 bots disponibles, los insertadores están configurados para habilitar si X<100. Tenga en cuenta que, en este caso, los insertadores no son insertadores de filtros, ya que el segundo vagón del tren solo llevaba bots logísticos.
- Cuando los bots disponibles caen por debajo de 50, queremos enviar una señal. vamos a nombrar esto Señal A, que se envía a la entrada de un combinador aritmético con la condición de A*1, salida A que servirá como reloj. Es importante tener en cuenta que la salida de este combinador aritmético está conectada nuevamente a su entrada.
- Aquí hay una explicación de cómo funciona el circuito del reloj: Señal A es inicialmente un valor de 1, entonces 1*1 = 1. Señal A se está emitiendo y regresando al combinador además del original Señal A de 1, resultando en 2*1 = 2. Por lo tanto, la señal A se incrementará en 1 por cada tic del juego.
- Un error común es usar A+1 en lugar de A*1. Usar A+1 dará como resultado 1+1 = 2. Y en el siguiente bucle será 3+1 = 4. Como podemos ver, esta señal se incrementa en 2 en lugar de 1 en cada marca del juego.
- La señal A comenzará a contar tan pronto como los bots disponibles caigan por debajo del umbral. Completamos el circuito probando si La señal A es mayor que 1800, luego salida Señal de bot logístico de 1. Dado que un juego que se ejecuta a 60 UPS tiene 60 tics por segundo IRL, 1800 es el equivalente a 30 segundos, que es el búfer que elegimos.
- Finalmente, no olvide enviar la señal del elemento del bot logístico al combinador de límite de tren.
Prevención de interbloqueo
Los trenes logísticos operan de esta manera:
- Un tren vacío busca y se dirige a la estación de salida disponible más cercana del tipo de material para el que está designado.
- El tren se carga en la estación de salida y se estaciona en la estación porque ninguna estación de entrada lo solicita, o busca y va a la estación de entrada disponible más cercana.
- El tren descarga en la estación de entrada y busca y vuelve a ir a la estación de salida disponible más cercana, O no puede encontrar una estación de salida disponible y se detiene en la estación de entrada.
- Inmediatamente podemos ver el problema aquí que conducirá a un punto muerto. No tener suficientes estaciones de salida disponibles que suministren el material designado impedirá que sus trenes regresen a ellas.
- La solución a este problema es simple: ¡siempre hay más oferta que demanda! Por ejemplo, asegúrese de que sus operaciones mineras se mantengan al día con el consumo. Agregar un puesto avanzado de petróleo crudo adicional puede ser suficiente para que un solo tren alterné entre ellos si 1 de ellos aún no está disponible. Recuerda también nunca tener más trenes que estaciones de salida para un determinado tipo de material.
Eso es todo lo que estamos compartiendo hoy para este Factorio guía. Esta guía fue originalmente creada y escrita por Mozartichoke. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este liga.