23 releases (13 breaking)
0.17.0 | Sep 13, 2023 |
---|---|
0.16.2 | Nov 4, 2022 |
0.15.0 | Nov 1, 2022 |
0.9.0 | Nov 17, 2021 |
0.2.2 | Jun 27, 2019 |
#1289 in Hardware support
Used in 3 crates
120KB
2.5K
SLoC
Brewdrivers
This repository is one of a set of repositories in the Brewery Control System project of the Navasota Brewing Company. It contains low level drivers for devices we use in the brewing process.
Unless you're here looking to do some direct interaction with devices and RTUs, this probably isn't the best place to start. See the organization's readme for more information.
Usage
This is a Rust library, used by the other Rust crates in the organization. You can see the docs for this crate on docs.rs.
lib.rs
:
A 3 tiered driver library for interacting with Modbus devices on a SCADA-like network.
This library is one of a set of repositories in the Brewery Control System project of the Navasota Brewing Company. It contains low level drivers for devices we use in the brewing process.
Layers
This crate operates on 3 layers:
drivers
-- Low level abtractions of Modbus or other serial devices. These are very general and allow communication to nearly any device.controllers
-- Implementations of drivers for specific controllers. These are the controllers we use to control field devices in the brewery system.model
-- A conceptual model of an RTU, containing a list of devices. These devices are serializable and can be sent over the network. They contain connection details and state, so that they can use acontroller
to read or enact change in a field device. You can write a configuration file that models the RTU and its devices, then this crate can read the configuration file and update/enact the devices as necessary.
New controllers will be added as needed. See the examples/
directory
to see how to use this library, and see the organization documentation for more information about the
hardware and project as a whole.
Dependencies
~11–22MB
~306K SLoC