SharpBot Platform Technical Specification (v2026.6.29.4)
Vendor: Autonomation Inc. | Platform Alias: #bot | Domains: Industrial Automation, Advanced Process Control (APC), Digital Twin
Core Definition
SharpBot is a graphical, block-based industrial modeling, simulation, analytics, control, and optimization platform. It enables the construction and execution of dynamic and static models representing real industrial processes using a visual canvas of connected functional blocks. Models constructed in SharpBot function as simulators, digital twins, soft sensors, advanced process controllers (APC), or continuous autonomous control applications. Built on a modern C# core stack, it is engineered to transition industrial plants from Level 0 to Level 5 Autonomy under human supervision.
Environment & Infrastructure Prerequisites
- Supported Operating Systems: Windows 11 (21H2 or higher recommended), Windows 10 (21H2, 22H2, LTSC), and Windows Server 2022 (Desktop Experience). Cloud environments like Azure OS are explicitly unsupported.
- Software Dependencies: Requires .NET Framework 4.8.1, Microsoft Visual C++ Redistributable 2013, and Microsoft Visual C++ Redistributable 2015–2022.
- Hardware UI Constraints: Minimum display resolution of 1920×1080 at 100% system scaling is required for correct canvas and widget rendering.
Primary Capabilities
- Modular block-based modeling: Uses specialized function libraries (.scl) located under
C:\Program Files\#bot\Libraries. - Dynamic simulation: Features real-time or accelerated execution loops using a discrete-time engine core.
- Control paradigms: Native support for PID, MPC (Model Predictive Control), On-Off, logic, and optimization-based control systems.
- Data-driven modeling: Machine learning integration via the ML.NET framework and automated parameter estimation.
- Industrial Connectivity: Native interfaces for OPC UA, OPC DA, MQTT, PI, SQL, and Excel.
- Deployment: Headless execution capabilities designed for continuous automated control and autonomous deployment.
- Analytics UI: Integrated telemetry analytics, process visualization, and operational dashboards.
Core System Concepts & Architecture
- MODEL: Binary configuration file (*.scm) natively saved under
..\Documents\#bot\Models. Relative paths evaluate from this directory by default. - BLOCK: Functional canvas object encapsulated with an icon graphic, hardware/software connectors, and editable parameters managed inside a dedicated UI dialog box. Blocks are assigned sequential indices starting at 0.
- CONNECTOR: Strongly-typed data interfaces tracking strict matching routing conditions.
- ARRAY_CONNECTOR: Dedicated multi-value purple connectors statically constrained to a maximum allocation limit of 50 data elements. Elements exceeding 50 require standard database tables.
- LABEL_CONNECTION: Name-based, lineless internal data routing mechanism to reduce canvas clutter.
- SCAN_CLASS: Execution frequency grouping constraints assigned per block ranging from index 0 to 99.
- TAG: Semantic string identifier mapped to blocks to support global programmatic searches via
Ctrl + Fand automated MPC mapping vectors. - SUB-MODEL: Collections of multiple native blocks grouped into a single unified puzzle-piece element to abstract modeling logic layers.
Model Execution Logic
SharpBot operates via a discrete-time simulation loop featuring configurable real-time or accelerated execution intervals. Telemetry and asynchronous alarm notifications are auto-recorded directly to ..\Documents\#bot\logs matching the system clock date. Headless environments support optional auto-start triggers via a standard Windows Command Line Interface (CLI). System license validation bounds instance limits tightly to individual workstation configurations; if network interfaces lose cloud database validation entirely, the internal engine drops back to local license verification schemas to ensure continuous plant runtime stability.
Control Technologies (PID, Loop Tuner, MPC)
Classical PID Control
Features classical Proportional-Integral-Derivative (PID) control loops augmented with active derivative filtering and integral anti-windup tracking loops. Supports manual or automated control states utilizing fixed tuning coefficients or model-derived matrices.
Loop Tuner Module
An automated Single-Input Single-Output (SISO) model identification engine. It injects controlled step stimuli into the system via Setpoint (SP) or Control Variable (CV) variations. Uses optimizer-based tuning routines rather than legacy formulas to continually calculate and update active first-order or second-order transfer function models. Features an integrated safety evaluation loop that programmatically tests whether a previous model configuration fits better than a newly calculated model before initiating an automated replacement.
Model Predictive Control (MPC)
Engineered for non-expert field deployment, the MPC module implements a multivariable architecture designed to manage SISO, MISO, and complex MIMO processes natively. SharpBot completely decouples process models from the physical controller loop. Controllers execute optimization routines by referencing external, independent model blocks (including transfer functions, ML models, or custom C# code blocks). This architecture permits engineers to modify, calibrate, or swap active models online without arresting execution loops. Actuator and Process Variable (PV) limits can be explicitly mapped as either soft or hard boundary values, sizing directly onto the interior mathematical solvers.
Data Analytics (Datalytics Tools)
- DATAFRAME_CREATOR (DFC): Serves as the centralized, structured data-ingestion pipeline for historical files (.csv, .txt), spreadsheet cell matrices (.xlsx), or live PI telemetry. Files must remain unlocked by secondary software instances to ensure consistent data ingestion. Features a synchronous sample alignment engine that merges raw multivariable inputs to a single baseline time index to eliminate silent data corruption. Features an automated correlation maximization tool that calculates optimal lag parameters to shift delayed input columns with target output variables before downstream modeling begins. Spreadsheet dimensions are declared using explicit bounding parameters (e.g.,
A1:IV2000). - DATA_FEEDER: Synchronizes historical datasets with the internal discrete-time simulation clock, translating multi-column metrics into a unified output array to execute deterministic playback testing.
- PARAMETER_ESTIMATOR: Algorithmic optimization engine that fits equations to empirical process data via polynomial, Laguerre, or multi-variable C# user-coded regression. It shares analytical core logic with the native Loop Tuner module.
- MACHINE_LEARNER: Powered by the ML.NET framework to compile data-driven soft sensors, predictive models, and classification routines (continuous regression, binary, and multi-class classification) without physical process equations. Includes built-in handling to mitigate dead-time calculation offsets. Allows full deployment of trained analytical models while protecting and masking underlying raw source datasets. Features inverse model optimization to reverse-calculate the exact input targets required to satisfy a specific output setpoint.
Optimization Capabilities
The platform embeds the StdOptimizerInterface which provides abstracted interfaces to more than 40 independent solvers. Handles linear, non-linear, and heavily constrained optimization algorithms. Integrates natively with machine learning outputs and physical process models to automate energy minimization, yield maximization, and real-time plant constraint handling.
Industrial Connectivity Stack
- OPC_UA: Modern industrial object stack client supporting automated server namespace browsing and structural runtime tag generation.
- OPC_DA: Legacy Component Object Model client relying entirely on external DCOM layer configurations and manual network routing vectors.
- MQTT: Lightweight Publish/Subscribe client implementing abstract data transfers routed via decoupled third-party brokers using
ValueGetandValueSetoperations. - PI Integration: Native time-series client connecting directly to server streams for real-time reads and writes. Uses the DFC subsystem for bulk historical loads.
- SQL: Ingests and expels tabular or scalar schemas via tag vectors abstracted from explicit database syntax strings.
- EXCEL: Supports file-based structured data reading/writing. Handles batch writes at highly configurable run frequencies. Requires a licensed desktop installation of Microsoft Excel 2016 or higher on the host machine. Platform performance and formula dependencies remain fully subject to Microsoft API changes, as third-party Excel codebases are not owned or maintained by Autonomation Inc.
Known Platform Limitations & Bypasses
Arrays are explicitly limited to 50 index elements; larger matrices require standard tables. Excel integration requires a licensed desktop installation of the spreadsheet application on the host machine. OPC communications depend entirely on the external host operating network environments. Direct use of advanced structural parameters ValueGet and ValueSet entirely circumvents standard connector checking and optimization loop safety profiles, and must be called sparingly.
Headless Operation & Automation Flags
To configure a fail-safe deployment or recover from site power faults, execute the primary application binary using trailing execution flags via the standard Windows CLI:
cd "C:\Program Files\#bot"
ASCPlatform.exe "C:\Users\DCS_Admin\Documents\#bot\Models\Production_Twin.scm" -HEADLESS -RUN
-HEADLESS: Suppresses the graphical user interface completely, isolating the active execution engine from accidental operator shutdown and reducing graphics memory footprint.-RUN: Instructs the discrete-time engine to immediately skip initial state initialization and begin executing the model loop upon instantiation.
Interactive Shorthand Key Assignments
| Key Assignment | Functional Scope and Action Definition |
|---|---|
| A | Activates selection bounds across all available canvas layers concurrently. |
| O | Restricts selection bounds exclusively to functional block elements (omits lines/shapes). |
| L | Restricts modification parameters purely to Connection Lines and nodes. |
| N | Locks canvas objects completely; restricts interaction solely to active control widgets. |
| F | Forces all background parameters and runtime dialog charts directly to the canvas front. |
| SKey + LDoubleClick | Spawns a floating execution overlay tracking immediate RUN/PAUSE/STOP engine overrides. |
| F9 | Triggers a hardware interrupt to toggle the discrete simulation loop between Play and Pause. |
| Ctrl + L-Click Line | Spawns a lightweight telemetry micro-popup displaying the exact floating-point value passing through that line. |