Office 0049-(0)40 - 866 298 75
Mobil 0049-(0)171-28 52 405

PMS Decision Table DT2

The PMS Decision Table Editor enables you to write software in decision tables

 

The user interface of the PMS Decision Table Editor

 

The PMS Decision Table Editor

The PMS Decision Table Editor enables you to graphically program industrial controllers in decision tables. The editor creates automatically real time C code or an IL code, which is functional identical to the actual decision table.

The decision table editor is basically a table editor. Rules, conditions and actions are written in columns and rows like in MS-Excel. Problem solutions can now directly be edited and documented in decision tables. To ease and speed up the work a number of improvements are implemented in relation to MS-Excel.

From the in- and outputs of the decision table respective input parameters and return values are generated in the C or IL code. The in- and outputs can also be done via global variables.

Code efficiency is a big item for DT2. For example does a rule without an action make no sense, so DT2 will not generate a C code for this rule. And the code generation will be suppressed in an else column, when an action is missing. These are some examples on how

DT2 generates a very compact and fast code. In combination with the integrated development system PMS Universal Programming Studio a download of target software (EXE, Intel-Hex or Motorola S record) to the target system is possible, when the PMS StandOS operating system is available on

the target. The target software can then be started and stopped in the target hardware and process data can be read and be written. Interfaces to Ethernet TCPIP, CAN and LIN are available.

Highlights of the Decision Table Editor DT2

  • Programming and documentation in one step

  • Automatic creation of highly efficient real time C code

  • Simulation of decision tables diagrams directly in this tool

  • Online run of decision tables directly in this table editor

  • Cut, copy and paste of tables

  • Full flexible editing tables, f.x. shift, insert and delete

  • The build-in syntax check finds errors automatically

  • All printing features are offered

  • Reference list for symbolic names of variables

  • Object sizes, object colors, text fonts and many other
    properties can be set freely

  • User interface with menus, context menus and icons

  • Up-to-date context sensitive compressed Html help with
    contents and indexes

Introduction into the Decision Table Editor DT2

General Components of a Decision Table

A decision table is a special table type, in which the fulfilment of a condition is triggering a respective action.
The general components of a decision table look like this:

  Rule 1

  Rule 2

 Rule 3

 Rule n

 Else 

Condition 1

 

 

 

 

 

Condition 2

 

 

 

 

 

...

 

 

 

 

 

Action 1

 

 

 

 

 

Action 2

 

 

 

 

 

...

 

 

 

 

 

The leftmost column contains the conditions and actions. The other columns contain the rules 1 to n and a else rule, when none of the rules fit. When all conditions in a column are true, then all marked actions in this column will be true too. Every rule in its respective column is in this way describing all possible combinations of this rule. The else rule always is effective when none of the rules fit. Then the marked actions will be true.

A condition can have three states: True, False or Don't care. Actions are marked by an X, when the respective action as described in the leftmost column shall be enabled.

DT2 generates a C function in a C source file, which corresponds to the graphical decision table. A rule without an action does not make any sense, so DT2 doesn't generate a respective C code for this rule. Also code generation in an else column without actions will be supressed. These are examples on how DT2 generates the most compact code, so that this code will be running with the fastest possible speed.

Decision Table Example.

In a decision table, the complete condition clause is contained in the leftmost column. The following example describes a decision table for a simple HVAC system.

  Rule 1

  Rule 2

 Rule 3

 Else 

6 < hour < 20

 TRUE

 TRUE

 FALSE

 

temperatur < 18

 TRUE

      -

      -

 

temperatur > 22

     -

 TRUE

      -

 

heater = ON

     X

 

 

 

heater = OFF

 

     X

      X

     X

cooler = ON

 

     X

 

 

cooler = OFF

     X

 

      X

     X

At daytime between 6 am and 8 pm the heater is switched on and the cooler is switched off at temperatures below 18 degrees Celsius. At temperatures above 22 degrees Celsius the heater is switched off and the cooler is switched on. At night between 8 pm and 6 am in the morning both the heater and the cooler are switched off in the unattended office rooms to save energy. When no rule fits both the heater and the cooler are switched off.