Ramp Control
The ramp control program is meant for slow, time uncritical software ramping of parameters. The fastest control update rate is 20 ms - but minimum recommended time is 1 s. There are three basic concepts in the program: Ramps, Events and Parameters. Ramps defines the variation of a control value as a function of time. It is described by a sequence of vectors and events. Events can be either synchronisation events (the ramp waits for a given event to occur), or it can be an action (ex. setting a ConSys control bit). Parameters are ConSys floating point control values. Parameters are assigned to ramps. Several Parameters can be assigned to the same Ramp - in this case each parameter will have its own internal control. Most common use of Parameters using a common Ramp will be defined to follow the same Ramp set values. A typical use of this kind is ramping several baking controls. Structured Ramps (using If/While) execution controls based on Events are also possible. These are meant for simple tasks - more complex control tasks should be implemented in dedicated devices or applications.
Index:
- Ramp Control Versions
- The_Control_Panel
- Window layout, size and positioning
- ConSys parameter drag/drop
- Defining_a_Ramp
- Defining_Events
- If branching/While Loops in Ramps
- Adding_Parameters
- Command line options
References:
New Feautures:
Version 1.48.842.22 (21 November 2024):
IMPORTANT: The RampControl file format has changed in this version. Old RampControl setup files can be opened by this version, but files saved with this version cannot opened by older versions.
Vectors and Rate Vectors now includes optional event that must be Test TRUE for the ramp to execute.
Version 1.43.184.18
IMPORTANT: The RampControl file format has changed in this version. Old RampControl setup files can be opened by this version, but files saved with this version cannot opened by older versions.
- Option to disable an action - all ramp elements can now be set active/inactive in the element definition.
- Posibility of ending a continues ramping at the end of the current ramp.
- Layout: Store Windows size, position, open state, and list view column widths with the ramp file.
- Structured execution: If branching and While loops in Ramps.
- Trace ramp execution
- Sorting of ramp paramters in parameter list window
- Internal strutcure update: Single client for each document (Before one for ramp parameters and one for events).
- Several updates and corrections.
The Control Panel
Every RampControl document has a Control window. The operation and editing is controlled by this window. Each ramp control document configuration has to modes: Edit and Operate. In edit mode there is no connection to control system and the ramps can be edited. In operate mode, the ramp conrol document is connected to the control system and is now locked for editing. Ramp documents is opened in edit mode unless the RampControl program is started with the command line option 'a'.
Edit mode:
'Events' button: Opens/Set focus to the event window for editing events.
'Parameter' button: Opens/Set focus to the event window for editing parameters.
'New Ramp' button: Defines a new ramp and add it to the ramp list.
'Update Interval': Defines the rate at which ramps are updated and control values are sent to the control parameters. The value is in ms - it is recommended to set the update interval as high as possible to avoid to much load on the controlsystem. The minimum update rate is 20 ms - but for most cases recommended rates are at least 1 second.
Double click on one of the ramp's in the list view Opens/Set Focus to the ramp window.
Hints: Use the Control Window to browse between the ramp definition windows. The toolbar controls is working on the window in focus - and have functions accordingly. Remark the accelerator keys for the most used editing commands.
Operate mode:
When set to operate mode, the ramp control program check the settings against the database, and create a connection to the control system. In this mode, it is not allowed to edit the ramp. If structured execution (If/While) is used, the ramp structures are analyzed, and if fails in the structures are detected the user is informed and the operation mode stays in 'Edit' mode. The status for connection/settings is indicated by the status bulbs in the parameter window. The status values are:
Black: Not connected to the control system
Yellow: Connected to the control system, data/control values are updated
Red: Error in specifications (parameter name, sur name etc.) - Not connected.
Green: Ramp running.
The control buttons:
Start
: Start a single pass ramping. The internal control values are set to the current control value before the ramp is started. New control values are calculated at the rate specified in 'Update Interval'. Control values are only set when they have changed since last output value. The ramping stops at after the last element in the ramp has finished execution. The RampControl has it's own internal control value and does not use changes set for the same parameters by other applications - but it is possible to syncronise to current control value using options in rate vector.Stop:
Stop/abort the ramp at the current position. The internal control values are reset to zero.Stop at End:
While selected, all while loops will stop at the stop mark for the while section. In 'Loop' mode the ramp, the ramp will execute to end of the ramp and stop execution. If the 'Stop at End' is unchecked before the ramp is stopped, the While structures and operate loop mode will continue in normal operation.Loop:
Run ramps in continuous operation. The ramps run independent of each other. When a ramp is finished it, it restarts. Remark, that the internal control value only is set to 0 (zero) before the first run of the ramp. To set a fixed start value at each loop use a 'Set Value' element as the first element in the ramp. If several ramps should be synchronised start with a ConSys event based flattop waiting for a synchronisation bit. This bit can be either a real bit on a piece of hardware (typical a trigger) or one of the temporary user bit/values defined on the system.Inhibit:
When this button is pressed the ramps are temporary stopped. When the button is released, the ramps continue operation. If a ramp was waiting for a event at the inhibit time, the event value is recalculated when the ramp is uninhibited.
Window layout, size and positioning
From version 1.43.154.12:
Each time a Window belonging to a ramp setup document is moved, resized, minimized, openend or closed the state change is written to the ramp document.
Changes of list widths are tracked and stored as well. This information is saved
with the ramp document and reapplied when a ramp file is opened. The information is also used when closing and reopening the
Parameters, Events and Ramp windows.
Remark: The size and position of the 'Status Output' Window is not stored because it does not belong to a Window.
ConSys parameter drag/drop
From version 1.43.168.16:
All edit fields in RampControl containing ConSys parameter names accepts ConSys drag/drop of parameters. Edit fields like 'Parameter','Cluster name' and 'Surname' all support drop of ConSys parameters to the edit windows. Dropping a ConSys parameter to either 'Cluster name' or 'Control surname' will fill out both of these fields. The drag/drop source can be from any ConSys application that can act as a ConSys drag/drop source - in current builds this is the applications: Console, Resto and DatabaseEditor.
Defining a Ramp
Ramps are defined as a sequence of ramp elements as shown in the window above. Every ramp element must be given a unique action name (remark: in the present version, no checks are made for this !). New elements can either be added to the end of the sequence list by choosing the star marked add toolbar buttons, or inserted at a given position by using the arrow marked toolbar buttons. In the latter case, elements are inserted above the highlighted element. The toolbar scissors deletes the highlighted event.
When the ramp is running the elements are executed in the order they are defined in the ramp sequence. The parameter window executing the ramp will show the current action name and type. Depending on the operational mode, ramps can be executed once only or in a continuous loop.
Ramp Elements:

Common ramp element fields:
Action:
A unique action name.Active:
Activation state. The element must be set active to be used in the ramp. Inactive elements will have a yellow background in the ramp list view. All regular (none structural)elements can be disabled.Set Value:
The 'Set Value' element sets the internal control value and the ConSys parameter it controls to the value specified by Value. If the 'Set Value' element is the first element in a ramp, the internal control value is set before the connected control system parameter is updated, i.e. the default start value 0 (zero) is not send to the control parameter.
Vector:
The 'Vector' element defines a vector starting from the current internal control value and ending at the specified End value. The slope (including sign) of the vector is calculated from the specified ramp period and the start/end value. New control values are set to the control parameters at the rate specified by the common update interval.
Start from current control: When this option is selected the vector is started from the last control value received from the control system instead of the internal RampControl value. This option should be used care: If the control system response is slower than the update rate, the last control set by the ramp control may not be reflected from the control system when a new vector is reached. The option is intended to be used after a flattop. In connection with the Inhibit control this option could be used to adjust the ramp to a manual corrected control value after the inhibit mode.
Use Event: If enabled, the vector will only execute if the selected Event test TRUE. If the event is FALSE when the vector is started, the vector will not start before the event test TRUE. If the event test FALSE during the vector execution the vector will pause until th event again test TRUE
Rate Vector:
'Rate Vector' defines a vector specified by the rate of change, Ramp rate, and the End Value. The sign of the slope is calculated from the control value at when the ramp element is reached and the End Value.
'Start from current control': See notes above for 'RampVector'
Use Event: If enabled, the vector will only execute if the selected Event test TRUE. If the event is FALSE when the vector is started, the vector will not start before the event test TRUE. If the event test FALSE during the vector execution the vector will pause until th event again test TRUE
Flat Top:
'Flatop': Defines a period with constant control value in Flattop Period seconds. No values are send to the parameter control in this period.
Ramp Event (event based Flat Top):
Ramp events keeps the control output until the event condition is fullfilled. Normal events is like flattops a period with constant control value until the specified Event is true. Some event types are special in the way that they do other actions, like setting a ConSys value, at the Ramp event location. These events are always true, ie. the ramp will just continue. The ramp events must be defined prior to the definition of the ramp event element. The event condition is calculated immediate when the when the event element is reached in the ramp, and thereafter at the specified update rate. No control values are sent to the control parameter during the wait for a true event.
Ramp Copy Value:
The Ramp Copy Value element is used to copy values to and from the internal ramp control value for a ramp. When this element is reached in the ramp, depending on the settings the current ramp control value is written to a ConSys parameter or the current value of the specified ConSys value is assigned to the ramp control value. Values can be either set or added. Instead of using a ConSys parameter, a constant can also be used for the parameter to ramp selections.
If Branching/While loops - structured execution in ramps
Available from version 1.43.165.16:
Structured execution in ramps using if branching and while loops based on events are supported in RampControl. The intention with the
structured elements in RampControl is not to make complex ramps – for this dedicated ConSys devices or applications are better suited.
However, in simple to overview tasks can use these structures, this can be used to fast solutions. Each If or While element must have
a corresponding End If/While element. The RampControl ramps allow any level of nested If/Whiles – but to keep complexity of the ramps
low only a few nested levels are recommended. As described in the control section, the ramps are analysed for correct structure when
going into operate mode. In case of structure errors the operation will stay in Edit mode with errors being reported in popup messages.
Ramp If event:

When the Ramp If event element is reached in the ramp execution, the test event selected in the Event dropdown box will be evaluated. Only real event check types can be selected – not event types like ‘Set Control Bit Event’ will not be present in the dropdown list.
If the check condition evaluates to TRUE, the ramp elements following the If element is executed. If the check condition evaluates to FALSE, the execution jumps to the Else if element if present before and End If/While element, otherwise to jumps to the next End If/While element.
Invert Event Check Condition: If selected, the result of the event test evaluation is inverted before it is used for the If condition.
Ramp Parameter list view, Execution: The event action name is added to the current scope string while in the TRUE part of following ramp elements.
Trace output format:If trace output is enabled for this ramp parameter, the following is added to the Output Status Window:
'Action', 'if' (TRUE/FALSE) - 'ConSys Event parameters used in calculating test result', ex:
1: T1: 'If (8 > d4 > 10 and b0 true)' - 'If (TRUE)' - TST_DATADEVICE.b0=true, TST_DATADEVICE.d4=5.000
Ramp Else if:

The 'Ramp Else If' element can be added between an 'If' Element and an 'End If/While' element. If the 'Else If' element is present, at the 'If' element corresponding to this 'Else If' element evaluates 'FALSE', the elements following the 'Else If' is executed.
Ramp Parameter list view, Execution: ' - Else' is added.
Trace output format:If trace output is enabled for this ramp parameter, the following is added to the Output Status Window:
'Action', 'if' (FALSE) - Else 'ConSys Event parameters used in calculating test result', ex:
1: T1: 'If (8 > d4 > 10 and b0 true)' - 'If (FALSE)' ->Else - TST_DATADEVICE.b0=true, TST_DATADEVICE.d4=0.000
Ramp While event:
This element starts a while/for section of the ramp for repeated execution of the following elements. When the Ramp While event element is reached in the ramp execution, the test event selected in the ‘Event’ dropdown box will be evaluated. Only real event check types can be selected – not event types like ‘Set Control Bit Event’ will not be present in the dropdown list. If the check condition evaluates to TRUE, the ramp elements following the If element is executed until the matching ‘End If/While’ element is reached. At the ‘End/If While’ element the execution jumps back to the ‘While’ and executes the test condition again. If the check condition evaluates to FALSE or the maximum number of iterations is reached, the execution jumps to element after the matching End If/While element.
Remark If the Control panel button Stop at End is checked, the while section will not go back and do a recheck of the While test condition when the 'End If/While' element is reached. Instead, it will just contnue with the elements following the 'End If/While' section.
Max iterations: The maximum number of iterations that the while loop can be executed before proceding. If negative, there is no maximum limit.
Invert Event Check Condition: If selected, the result of the event test evaluation is inverted before it is used for the While condition.
Ramp Parameter list view, Execution: The event action name is added to the current scope string while in the TRUE part of following ramp elements.
Trace output format:If trace output is enabled for this ramp parameter, the following is added to the Output Status Window:
'Action', 'While' (TRUE/FALSE) iterCount:MaxIterCount- 'ConSys Event parameters used in calculating test result', ex:
1: T1: 'If (8 > d4 > 10 and b0 true)' - 'While (TRUE) 2:5' - TST_DATADEVICE.b0=true, TST_DATADEVICE.d4=5.000
Ramp End If/While:

All 'If' and 'While' elements must have a macthing 'End_If_While' element defined. This element is the location to jump to when the 'If' or 'While' test condition evaluates to FALSE.
Defining Events
Events can be used for many different purposes. The same event can be present in several ramps and can serve as a synchronisation between ramps. Every Time an event is called from a ramp, it returns either true or false. In order for the ramp to proceed, the event must return true. When an event is meet in a ramp, it is calculated immediate. If the event is false it is recalculated with the ramp update rate until it becomes true. If the same event is meet in more than one ramp, it is only re-evaluated once at every update time. Events are allowed to have side effects on the system, like the Set Bit Control event. These events typical/all return true - letting the ramping continue with the next ramp element immediately.
Time Event
The Time event return true the first time the specified time is passed, counting from the moment when the ramp event element is reached. Time settings up to the 'Include up to' selection are included in the evaluation. If, ex. S is selected, only the second field is considered. In this case, the event will become true the first time the element is updated after the second has passed the specified Sec value. In the sample above, the event will become true the first ramp update after the time has passed 8:00.
ConSys Event:
ConSys events are used to synchronise the ramps to states/values of control system parameters. The event returns true when all specified conditions are fulfilled.
Active log range: Used to do check against ConSys floating point parameters.
Word filter or Range check:Range or bit filter checks on ConSys word parameters.
Bit Check: Used to do check against ConSys control system bits.
Set Control Bit Event:
The Set Bit Control event is used to set or reset a ConSys control system bit when the event is reached in a ramp. The event always return true - so the ramp will continue with the next ramp element immediately. The parameter specified by Parameter Name, Sur Name is the control system bit to set.
Set Control Word Event:
The Set Control Word event is used to set a ConSys control Word,DWord or Long value when the event is reached in a ramp. The event always return true - so the ramp will continue with the next ramp element immediately. The parameter specified by Parameter Name, Sur Name must be a ConSys Word, DWord or Long data type. Depending on the Operation selection the Set/Add Value will either be Set, Added or Subtracted from the current value of the ConSys destination Word/DWord/Long. Check Limits: Only active for Word datatype - if checked, the value will not warp arround, ie. the value can not exceed Max Word or go below zero.
Copy Value Event:
The Copy Value event is used to copy a value to the ConSys floating point parameter Destination Parameter - name, surname . The Source can be either a Constant value or from copied from the ConSys source floating point parameter Source Parameter - name, surname . It is not allowed to use any ramp parameter as source or destination parameter. Doing so may result in unpredicted behavior.
Sync Event:
The sync event is used to synchronize execution between ramp parameters. If a ramp includes a sync event, all ramps including the same sync sync event must reach the sync event before the execution can proceed. The sync event can be used in the same Ramp or different ramps - in both cases all parameters must reach the sync event. A sync event is identified by its event name - and therefore sync events must have unique names.
Sync events can be used to ensure synchronized ramps after a rate vector (ramps using rate vectors can come out of sync i starting from diffent initial values). Sync events are also usefull to synchronize between different ramps.
Adding Parameters
When a ramp has been defined, parameters can be assigned to the ramp. Each ramped parameter will follow the assigned ramp when operetaed as explained in the Control panel section. Assigned parameters are displayed in the parameter window shown above. The parameter list columns displays are:
Parameter: The control system parameter, specified by <parameter name>.<control sur name>,
and a bulb with the following meanings:
Black: Not connected to the control system
Yellow: Connected to the control system, data/control values are updated
Red: Error in specifications (parameter name, sur name etc.) - Not connected.
Green: Ramp running.
Ramp: The name of the assigned ramp.
In edit mode, the last columns are empty. When the document is in operational mode, they show the following:
Action name: The name of the current action in the ramp. This is the unique action name defined by the user in the ramp window.
Action type: The type of the current action.
Control: The current control value read back from the control system.
Reading: The current reading, if a reading sur name is specified.
Execution: When the ramp is running shows the current scope in the execution. When not in any If/While section 'Root' is displayd. If in a If/While section, the If/While 'Action' is shown. If in a nested If/While scope, 'Action' of each scope level are displayed separted by ';'.
To assign parameters to a ramp, activate the parameter window as show above and press the New Parameter button in the toolbar. The following window appears:
Parameter.Control surname: must specify a valid floating point control value on the control system.
Parameter.Reading surname: specifies an optional consys floating point value for display of the reading value.
Trace The ramp parameter trace option is used to enable ramp tracing to the Status output window. Depending on the trace level selected a line will be output to the status output window at the start of an element execution. For elements using events – If, While and Event test elements, the ConSys event check values that was used to evaluate the test condition for the event is displayed with element trace line. At the start of the ramp execution (Start or Loop activated) all parameters with trace enabled are assigned a trace id, which is written to the status output. This is used to identify trace values from the different parameters if more than one parameter has enabled the trace option. It is however recommend/intended just to enable trace for one ramp parameter at the time.
Element and Eveny Copy/Paste
It is possible to cut/copy and paste Ramp Elements and Ramp Elements using the toolbar buttons. The copied events and elements are not stored on the clipboard - only internally in the application. It is however possible to copy between documents - so opening two or more documents in the same RampControl to copy between documents.
Status Output Window
Command line options
/a or /autostart: If this option is placed before a ramp filename, the operation mode starts in operate and triggers a single start.
/l or /loop: If this option is placed before a ramp filename, the operation mode starts in operate and triggers a single start.
Last Modified 21 November 2024