Skip to content

System Setup

Mikayla edited this page Jul 30, 2024 · 114 revisions

Facility Setup Guide

Important

You will need to select 5 channels for use with the wireless/Ender modems in the system. Please see this page for details.

Here you will find detailed information on how to set up your system. If you want something brief, check out this page, then refer back to this page as needed.

As a reminder, this system is still in beta. Configuration headaches may occur, though now that the graphical configuration tools are available, I hope they are lessened. If you have any confusions that aren't clarified by reading available material, either in the configurator tools or here, let me know with a GitHub discussion.

For all setup, you should know how to connect CC: Tweaked peripherals. Attaching wired modems to peripherals is not sufficient, you also need to right click them so they light up red.

Important

For this system, you should only connect devices via wired modems to computers that need those devices. Do not put everything on one network, as you'll probably end up with something going wrong. For example, Reactor PLCs control the first reactor they find, so if you have multiple reactors and reactor PLCs on a wired network, all PLCs may end up using the same single reactor.

Not Connected Connected
image image

Table of Contents

  1. Device Layout
    1. Device Requirements
    2. Coordinator Displays
      1. Monitor Sizing
        1. Main Monitor
        2. Flow Monitor
  2. Connecting to Mekanism Machines
  3. Application Installation
    1. Storage Requirements
    2. Installation
    3. Updating
    4. Uninstalling
  4. Device Setup and Configuration
    1. Network Channels
    2. Reactor PLC Setup
    3. RTU Gateway Setup
    4. Supervisor Setup
    5. Coordinator Setup
  5. Initial Startup

Device Layout

A common requirement for all devices is requiring one wireless modem to allow connections. The communications code as written requires the use of a wireless or ender modem. Devices will not operate without one, with the one exception being the reactor PLC, when configured in non-networked standalone mode. In this mode, it can operate on its own as a safety system, replacing a basic redstone breaker circuit.

It is HIGHLY encouraged that you use an ender modem rather than a standard wireless modem, as ender modems have infinite range and work across dimensions, while wireless modems have limited distances. If devices are not connecting, the cause may be using wireless modems too far away from each other.

A facility setup would have one supervisor computer, one coordinator computer, one reactor PLC computer per reactor, and one or more RTUs connected to the various other machines (turbines, boilers, dynamic tanks, etc).

Tip

There can only be one supervisor and one coordinator per system, and only one reactor PLC per reactor. However, one RTU can be connected to multiple devices, such as all your turbines and boilers regardless of which reactor they are connected to, since the RTU configuration defines the actual assignments. You can also use multiple RTUs if things are far apart!

Warning

Overloading one RTU with 10+ devices may cause it to run slower, so in that case you may want to use more than one. For further details and recommendations, see the RTU Gateway page.

Device Requirements

Each computer requires one wireless (Ender) modem, not listed below.

Type For Quantity Purpose
Advanced Computer Coordinator 1 Run the graphical user interface for controlling and monitoring the system.
Advanced Monitor Coordinator 3-6 Provide the graphical user interface for controlling and monitoring the system. Note: 3-6 refers to assembled multi-blocks, which requires many more than 3-6 blocks.
Speaker Coordinator 1 Play alarm tones in the control room.
Advanced Computer Supervisor 1 Connect to all computers and manage the system with and without Coordinator instructions.
Advanced Computer Reactor PLC 1-4 Interface with a single Fission Reactor and enforce safe operation.
Advanced Computer RTU Gateway 1+ Connect to all other machines (besides the Fission Reactor) to the system and provide access to them to the Supervisor.
Speaker RTU Gateway 0+ Play alarm tones elsewhere outside the control room.

Below are the other devices supported/required. Quantity refers to per unit or per facility. For example, 1-3 turbines per unit means you can have a total of 12 turbines if you have 4 reactors, since you can have 3 turbines per reactor.

Type For Quantity Notes
Fission Reactor [Logic Adapter] Unit 1
Industrial Turbine [Valve] Unit 1-3
Steam Boiler [Valve] Unit 0-2 Only required if you have sodium cooling for that particular reactor.
Solar Neutron Activator Unit 0+ No limit, but if you have too many it will slow things down. SNAs are highly efficient, since their output/production rate consumes 10x of the input. For example, an output rate of 80 mB/t consumes 800 mB/t of waste.
Dynamic Tank [Valve] Unit 0-1 Total including facility tanks can't exceed 4.
Environment Detector Unit 0+ From the advanced peripherals mod.
Supercritical Phase Shifter [Port] Facility 0-1
Induction Matrix [Port] Facility 1
Dynamic Tank [Valve] Facility 0-4 Total including unit tanks can't exceed 4.
Environment Detector Facility 0+ From the advanced peripherals mod.

Coordinator Displays

  1. There is one main system display, which will need to be the maximum monitor width of 8 monitor blocks. The height depends on the number of units configured, ranging from 4 to 6 blocks (see below table).
  2. The flow monitor display that also must be 8 blocks wide. Height also depends on the number of units configured, ranging from 3 to 6 blocks (see below table). In the beta, this can be disabled in the config to support legacy setups.
  3. Each unit will additionally require its own unit monitor, which is always a square 4 blocks by 4 blocks.

If one or more displays are not assigned to a unit, main, or flow display, the Coordinator configurator will be launched. This will also occur if the monitors are missing or are incorrectly sized. You can launch the Coordinator configurator at any time by running configure on a Coordinator.

Monitor Sizing

The below tables can assist you in determining the heights of your main and flow monitors. These monitors are always 8 blocks wide, but the height varies.

Main Monitor

Terminology:

  • row: units #1 and #2 make up the top row, units #3 and #4 make up the bottom row
  • distribution: even if the top row and bottom row have the same limitations, biased otherwise
Height Total Units Distribution Supported Coolant Configurations
4 1 - 2 N/A no more than 1 boiler per unit, no more than 2 turbines per unit
5 1 - 2 N/A normal support (max 2 boilers, max 3 turbines) for all units
5 3 - 4 Even any units can have up to 1 boiler and up to 2 turbines
5 3 - 4 Biased two units in the same row can have up to 2 boilers and 3 turbines, but the other row must have no boilers and max 1 turbine per unit
6 1 - 4 N/A normal support (max 2 boilers, max 3 turbines) for all units
Flow Monitor
Height Total Units
3 1 unit supported
4 1 - 2 units supported
5 1 - 3 units supported
6 1 - 4 units supported

Connecting to Mekanism Machines

To connect Mekanism machines to PLCs and RTUs, you can put a computer directly in contact with it or use ComputerCraft wired modems.

Tip

When connecting devices via wired modems, make sure that the network cables don't combine different computer's peripherals, e.g. don't have a single network cable connecting multiple devices to multiple RTUs. Each RTU/PLC should only connect to the devices it uses. This won't cause software issues, but it will cause your configuration to be more confusing.

When connecting to Mekanism machines, if the multiblock you are interacting with has a Logic Adapter (e.g. Fission Reactor Logic Adapater), you need to connect to that. Otherwise, connect to a Port (e.g. Induction Port, SPS Port) or a Valve (e.g. Boiler Valve, Turbine Valve, Dynamic Tank Valve). If it isn't a multiblock, you can just put the modem/computer next to the device on most sides, just not on top of a Solar Neutron Activator, as it will prevent it from getting sunlight.

Application Installation

This project has a whole lot of files, so the typical use of a single wget or pastbin download is not reasonable. Therefore, a single file installation program is available titled ccmsi.lua (cc-mek-scada installer). The installation process pulls down a file called install_manifest.json. Do not delete this. It is required for updating or uninstalling an already installed application.

Important

If you don't have HTTP enabled, you will not be able to use this installer. It is highly recommended to enable this in the ComputerCraft config, but if you cannot, you will need to try alternative installation strategies, the easiest of which (as of v1.8.18-beta) is dragging over bundled lua files. See the releases for details. More will be added here soon.

  • To download the installer from GitHub using wget, use this command: wget https://raw.githubusercontent.com/MikaylaFischler/cc-mek-scada/main/ccmsi.lua
  • To download the installer from pastebin, use this command: pastebin get sqUN6VUb ccmsi.lua

ccmsi or ccmsi help (or an invalid command) will display this following help information.

image

Note that the tag/branch should generally be left alone as main would provide the most up-to-date released code. If you want specific tagged releases or to use the devel development branch, then you would specify that in the command. Note that running development code is not recommended unless you are helping test something or are okay with the risks of running unreleased code (app crashes for example).

image image

Storage Requirements

The installation manifest file includes size information that allows the installer to verify there is sufficient space for installation. By default, files are downloaded to a temporary directory before copying them in in the case a network error interrupts the process. This would leave the current application intact.

Note

By default, ComputerCraft computers have 1 MB of space available.

If there is not space and an update is requested, the user has the option to try deleting/replacing files one by one. If this fails in the end, the installation may be corrupt and should not be used until an update is successful. If there isn't space, it's generally best to just delete the log file.

Installation

Following the help info shown above, a command like ccmsi install reactor-plc would install the reactor PLC application. Installation overwrites any existing config file. Only one application can be installed at any one time.

Updating

Following the help info shown above, a command like ccmsi update reactor-plc would update the reactor PLC application. Updating does not touch the existing config file or the log file. If configuration options have changed in terms of the architecture, then there should be a warning about the config missing a field on startup. Also note that update will only update application components that are found to have newer versions.

Additionally, the installer itself can be updating using ccmsi update installer. This is the only operation that 'installer' is a valid parameter to.

Uninstalling

Applications can be uninstalled with ccmsi uninstall <app> where app is the application name. This deletes all application files, including the config and log files.

Device Setup and Configuration

Note

The migration from legacy config.lua files to new .settings files is complete. At no point should you create a new config.lua file. If it is not present, then that means that application uses the new system and has a configure command available for the GUI-based configuration.

Note that any peripheral touching a computer can be on any side. Diagrams below show certain sides purely as an example. I personally think Ender modems look nice as computer hats, but place them however you want.

Network Channels

As you set up your system, keep in mind (or write down) the network channels you will be using. The defaults are listed below, and anywhere where their names are used in config files, the same number must be used.

  • SVR_CHANNEL : default 16240, channel for supervisor communication (listened on by the supervisor)
  • PLC_CHANNEL : default 16241, channel for reactor PLC communication (listened on by all reactor PLCs)
  • RTU_CHANNEL : default 16242, channel for RTU gateway communication (listened on by all RTU gateways)
  • CRD_CHANNEL : default 16243, channel for coordinator communication (listened on by the coordinator)
  • PKT_CHANNEL : default 16244, channel for pocket computer communication (listened on by all pocket computers)

Reactor PLC Setup

The Reactor PLC computer requires two peripherals, an Ender (or wireless) modem and a Fission Reactor Logic Adapter (NOT a Fission Reactor Port).

image

The reactor PLC uses the new GUI configurator interface. This can be accessed by running configure on a reactor PLC. It no longer uses reactor-plc/config.lua, but the configurator supports importing one.

RTU Gateway Setup

Your RTU gateway computers can connect to a multitude of different peripherals. These devices can be split across multiple RTUs or, depending on how many you have, just all be on one. Shown below are the different peripherals that can be connected. You can connect more than one of each to an RTU gateway, as you'll have to assign them all (except speakers) in the configuration.

Additionally, redstone can be put on any side of the computer (bundled and not bundled).

image

For details on setting up waste control, see this page!

The RTU gateway uses the new GUI configurator interface. This can be accessed by running configure on an RTU gateway. It no longer uses a rtu/config.lua, but the configurator supports importing one.

Supervisor Setup

Your supervisor computer requires one peripheral, an Ender (or wireless) modem. This can be attached on any side. No other peripheral connections are required.

image

The supervisor uses the new GUI configurator interface. This can be accessed by running configure on the supervisor. It no longer uses a supervisor/config.lua, but the configurator supports importing one.

Additional context on facility dynamic tank configuration can be found on that configurator page, or you can skim the legacy config documentation section on this topic.

Coordinator Setup

Your coordinator requires one main display, one flow monitor display, and one unit display per reactor unit in your system, per this earlier section. It also needs one wireless modem (Ender modem) and one speaker.

image

The coordinator uses the new GUI configurator interface. This can be accessed by running configure on the coordinator. It no longer uses a coordinator/config.lua, but the configurator supports importing one.

Initial Startup

For all devices, if there is some big issue preventing boot, a reasonably detailed message will either be shown on the terminal or put into the log file. RTUs perform extensive validation of the config tables, so any errors there will be listed. Please be sure not to duplicate indexes on RTU entries or reactor unit IDs on PLCs. The former cannot always be detected, but the latter will result in collision replies to establish requests (which will be shown in the terminal, log file, and network light). The successful Reactor PLC and RTU Gateway front panels are shown below.

image image

The supervisor will list out all the connections in scroll boxes or static lists, depending on device type. Tabs and lists allow viewing all the connected types. Computer IDs are included for all devices, which are prefaced with an @ sign wherever listed (except the coordinator that spells out "COMPUTER".

image image

The coordinator gives a nice fancy output on its main monitor (including a nice little spinny line as it attempts to connect to the supervisor).

image

Once everything's booted and connected, then you should be ready to go!

image

Setup Failures

If your devices never connect and network lights stay off, check out this page. If you get a yellow light (or NT VERSION light) on any devices, make sure everything is up-to-date. If you see an orange light (or NT COLLISION) on the Reactor PLC, make sure none of your reactor PLC's have the same unit ID.

Wrong Version Duplicate Unit ID
image image

If your coordinator and supervisor have different settings for how many reactor units you have, you'll see this. You need to make sure both numbers match in their respective configurations.

image

Clone this wiki locally