C-Code-Generation with BORIS
Full performance

Various options enable the code to be optimal adjusted to the target hardware. You decide, how fast and exact your code will be - the AutoCode generator offers you all the tools you need!
The C-code generation is not restricted to standard blocks of automation and control - nearly all block types of the extensive block library of BORIS (depending on the purchased edition) can be transformed to C-code! As a matter of course this also includes superblocks as well as signal sources and drains or user-written blocks. Therefore not only applications in the fields of automation and control can be handled: Problems of data aquisition are solved with the same simplicity as the realization of digital circuits and filters or the "programming" of the target hardware as a flexible signal generator. Even complex open loop systems may be designed in this way with minimum effort. The complexity of the structure transformed to C-code in principle is not restricted (depending on the purchased edition, see below).
All numerical algorithms used within the C-code exactly correspond to the algorithms used within the BORIS development environment. Thus the user can be sure to get identical system behavior later on the target hardware. The possibility to write specific signals into SIM-files out of the C-code enables a direct comparison of these signals with their originals.
Three steps to heaven
Under assistance of the BORIS AutoCode generator the production cycle is limited to no more than three steps:
- Configuration and test of the system structure on block diagram level with BORIS
- Generation of C-code with the AutoCode generator
- Compilation of the C-code and transfer to the target hardware
Flexibility
Caused by its flexibility the generated code can be adjusted to any kind of target hardware. The bit resolution of all block parameters and signals can be choosen independently. 8-, 16- and 32-bit resolution are available with a user-defined splitting between exactness and value range. By the comfortable integration of hardware specific I/O-functions as special block types (C-code input resp. output) the same code can easily be adapted to varying target hardware (see screenshot below). For numerous hardware modules (e. g. PC cards of the SORCUS Company or microcontroller boards by PHYTEC ready usable I/O-description files are included.
|
|
|
Debugging functions
For debugging purposes various main-functions are at disposal. These e. g. enable the input of test values via the keyboards or the file-output of specific signals in BORIS-SIM-files. Another feature is the automatical generation of a BORIS-User-DLL which can later be integrated into a simulation. In this way very complex simulations (e. g. numerical optimizazions) can be accelerated rapidly.
Open architecture
The generated C-code is extensively documented and can be interpreted by the user easily. Therefore the user-executed modification of the sources - e. g. for the integration of alternative algorithms - is no problem. In the same way the realization of hardware specific output functions - e. g. digital or analogue displays - can be carried out.
Target platforms
The BORIS AutoCode generator offers various platforms for his application:
| The code may be integrated in user-specific PC-based software. Doing this the user saves a lot of time for writing his own block and integration algorithms, programming the simulation loop, and, and, and... | |
| By transferring the compiled code to standard microcontroller modules these can be used as flexible open or closed loop controllers or - e. g. for education or training - as plant simulators. | |
| The compiled code can be used as a DOS-TSR-program in connection with a PC-card. Thus also very dynamic data aquisition or control problems which require a very small sampling time can be realized in real-time. The AutoCode generator includes interfaces for most standard card types. |
Editions
The tables listed below describe the application range of the various editions:
| Lite Edition (L)
Recommended for educational purposes and simple applications (8 blocks maximum) |
|
| Standard Edition (S)
Recommended for standard applications (20 blocks maximum) |
|
| Professional Edition (P)
Recommended for complex applications with no block restrictions |
All editions include an extensive documentation (app. 250 pages).
| L | S | P | |
|---|---|---|---|
| Input blocks | |||
| Generator (Sinus) | |||
| Generator (Pulse) | |||
| Generator (Noise) | |||
| Generator (user defined)1 | |||
| Constant | |||
| Driving curve | |||
| VCO1 | |||
| Real clock with alarm function | |||
| File3 | |||
| A/D-converter4 | |||
| C-Code-input | |||
| Signal source | |||
| Dynamic blocks | |||
| P | |||
| PT1 | |||
| PT2 | |||
| PT1T2 | |||
| PTn | |||
| Integrator | |||
| Resetable integrator | |||
| Differentiator | |||
| PID-controller | |||
| Adaptive PID-controller | |||
| All pass element type I | |||
| All pass element type II | |||
| Dead time | |||
| Lead-/Lag-element | |||
| Rate element (DT1) | |||
| Transfer function | |||
| Differential equation system1 | |||
| Unit delay | |||
| z-Transfer function | |||
| Statistic blocks | |||
| Limiter | |||
| Preload characterstic curve | |||
| Dead zone | |||
| Two-point-charactersitic curve | |||
| Three-point-charactersitic curve | |||
| Hysteresis characteristic curve | |||
| Three-point-element with hysteresis | |||
| Fuzzy Controller | |||
| User-defined-characteristic element | |||
| Actuators | |||
| Actuator type I | |||
| Actuator type II | |||
| Function blocks | |||
| Junction | |||
| Function of one variable2 | |||
| Function of two variables2 | |||
| Function of several variables1 | |||
| Extreme value determination | |||
| Minimum/Maximum | |||
| Statistic functions | |||
| Sample and hold element | |||
| Controllable sample and hold element | |||
| Analog switch | |||
| Analog change-over switch | |||
| Digital modules | |||
| Logical gate with one input | |||
| Logical gate with two inputs | |||
| RS-flip-flop | |||
| D-flip-flop | |||
| JK-flip-flop | |||
| Mono-flop | |||
| Forward/Backward counter | |||
| Discriminator | |||
| Comparator | |||
| Zero-axis crossing detector | |||
| Output blocks | |||
| Time response 3 | |||
| y-t-Recorder3 | |||
| Oscilloscope3 | |||
| Analog meter3 | |||
| Digital meter3 | |||
| Bar instrument3 | |||
| Trajectory display3 | |||
| Status display3 | |||
| FFT3 | |||
| D/A-converter4 | |||
| C-Code-output | |||
| File (SIM-Format)3 | |||
| Table file (Excel format)3 | |||
| Signal drain | |||
| Other blocks | |||
| Superblock | |||
| Label | |||
| User-Block | |||
1 Block can only be generated by using floating point numbers.
2 Some functions of the block (eg. log) can only be
generated by using floating point numbers.
3 The function of this block is hardware specific and has to be defined by the
user.
4 Like 3 but in addition the paramters set under BORIS are passed
through.
| Prices: | |
| Single user licence Industry: | EUR |
| Lite Edition (German) | 590,00 |
| Standard Edition (German) | 1.590,00 |
| Professional Edition (German) | 5.300,00 |
Please refer to our price lists for current prices of all products!


