-
-
Notifications
You must be signed in to change notification settings - Fork 17
System Setup
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 |
---|---|
- Device Layout
- Connecting to Mekanism Machines
- Application Installation
- Device Setup and Configuration
- Initial Startup
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.
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. |
- 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).
- 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.
- 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.
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.
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 |
Height | Total Units |
---|---|
3 | 1 unit supported |
4 | 1 - 2 units supported |
5 | 1 - 3 units supported |
6 | 1 - 4 units supported |
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.
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.
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).
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.
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.
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.
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.
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.
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)
The Reactor PLC computer requires two peripherals, an Ender (or wireless) modem and a Fission Reactor Logic Adapter (NOT a Fission Reactor Port).
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.
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).
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.
Your supervisor computer requires one peripheral, an Ender (or wireless) modem. This can be attached on any side. No other peripheral connections are required.
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.
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.
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.
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.
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".
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).
Once everything's booted and connected, then you should be ready to go!
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 |
---|---|
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.
If you need help beyond this wiki, open a support discussion or ask on Discord! If you prefer videos, they can be found on my YouTube channel.
- User Manual
- Computer Applications
- Notable System Components
- Notes
- Investigations
- References & Resources
- Legacy