#hardware #scada #secop #sample-environment

secop-modules

A Rust framework for a hardware server speaking the SECoP protocol (modules package)

1 unstable release

0.1.3 Jun 20, 2022

#35 in #scada


Used in secop

GPL-2.0+

115KB
2K SLoC

secop-rs

A Rust framework and demo devices for a hardware server speaking the SECoP protocol.

Build/run

Install the Rust toolchain, currently the nightly channel is required.

Debug mode (faster compilation): cargo run -- test.cfg.

Release mode (optimized for speed): cargo run --release -- test.cfg.

Organization

The code is (currently) split into four crates:

  • secop-core provides the meat of the framework, and server implementation
  • secop-derive (which has to be separate as a proc-macro crate) helps the framework by auto-generating interface boilerplate
  • secop-modules contains concrete modules
  • secop just has the main executable(s)

lib.rs:

Module dispatcher.

Dependencies

~12–21MB
~308K SLoC