Comparison of DynSim and SysCAD
From a perspective of a Process Control Engineer wanting to:
- simulate a combined control scheme and process model (where the process model non-linearities and dynamics that the control scheme sees is most important)
- test more advanced control schemes (e.g. decoupling, constraint control, dead-time compensation / Smith-Predictors)
Note that this comparison is specifically NOT related to SysCAD's usefulness for its primary purpose (Process Engineering). Information on SysCAD has been sourced from the official documentation wiki at http://help.syscad.net/index.php/Main_Page.
General
Summary
add Matlab/Simulink here as well?
Feature |
DynSim2 |
SysCAD |
speed of execution (and edit-run cycle-time) |
~1000x faster than SysCAD (based on 30min control simulation time) - edit-run cycle-time: 10 seconds |
very slow - edit-run cycle-time: 1 hour? |
ease of programming |
|
|
integration control (e.g. for stiff models) |
|
|
trend browsing (matlab style) |
Yes |
|
process control features of models |
|
|
... dynamics |
|
|
... output response to control influenced inputs |
All models designed to respond to all control input variables, except where it would incur significant simulation burden (e.g. there are no size partitions) |
cyclone - OK (Plitt) |
process control scheme configurability |
|
|
... range of built in blocks |
PID, integrator, Smith-Predictor, constraint, filters (1st-order, MA), dead-time (for internal models), FOPDT, FIR, replay (of disturbances) |
PID controller only |
... advanced blocks (autocorrelation, FFT, ...) |
Yes, anything in SciPy |
No |
... block useability for control simulations (e.g. tracking, velocity-mode, ...) |
|
|
... ease of writing customised control blocks |
|
|
... ease of combining blocks into a large control scheme |
|
|
scriptability of overall simulation |
Uses the already familiar and standard Python (already used as the simulation language) |
Yes, using PGM (non-standard scripting language) |
# of "languages" to learn (for full customisability) |
1. Python (for simulations, scripting, new blocks) |
1. graphical model language |
interfacing (replay, logging, database, OPC) |
|
* SysCAD has an OPC client (for gathering real-time data) and an OPC server (for allowing access by other tools to the simulation). |
real-time |
|
|
discrete-event |
|
|
licence distribution |
Free! |
Client needs to buy a licence (see below) |
cost |
|
|
maintenance |
self-maintained |
contract ($) |
Speed of Simulation
SysCAD is not a slow process simulator. The models are coded in C++ allowing for the fastest execution possible, for the model functionality provided. What is important for a control engineer is whether the overheads of additional process calculations (size partitions, pressures, temperatures etc.) burden the simulation so much that it becomes cumbersome for a Process Control engineer, who is generally interested in the dynamics and non-linearities rather than the depth of the process calculations.
Specific Models
Control
PID
- no tracking or manipulation of bounds as part of a control scheme???
- cannot use gain scheduling as part of control scheme (tuning parameters are not connectable)
Process
pipe - SysCAD doesn't include any pipe dynamics, such as the propagation of a density change along a long pipe. This is important for density control loops which would otherwise have zero process dynamics.
thickener - no representation of bed and density dynamics due to UF pumping????