Recipe_based_programming


BRAUMAT / SISTAR > V7.0

Recipe-based Process-Control
for Output and Transition


BRAUMAT with STEP 7








  1. Background



The programming of sequences and Steps requires considerable time

The programming in Step7-Code does not offer much transparency

The programming in Step7-Code is quite inflexible for future changes

The customer has no chance to modify anything if he is not familiar with Step7-programming.


In order to decrease engineering-time and increase flexibility, this Braumat-Add-on was designed based on the new Braumat-Function “Bitfield“.This is a new feature of Braumat. V7.0.



    1. Realization and Features

This function offers the possibility to modify the Outputs in the Step and the Next-Step-conditions using the recipe-System and the Binary-functions “Bitfield”.


Features

  • Evaluate a Binary Bitfield-DFM to activate the according output.

  • Evaluate a Binary Bitfield-DFM to display a feedback of a output.

  • Evaluate a Binary Bitfield-DFM to activate the according Flag (Message etc).

  • Evaluate a Binary Bitfield-DFM for to check the next-Step-conditions by flag (DFM / Input / ICM-Feedback)

  • Check for True / False.

  • Check for “AND” and “OR”.

  • Maximum 8 DFM

  • A Operator-request can be activated combined with other conditions.

  • The function can be used parallel to a Step7-programming with priority Add-on or programming.


Limitations

  • More complex conditions for to switch on outputs conditionally is not possible.

  • A more complex structure for a transition is not possible (with compare etc).



    1. IOS-Integration

Definition in the recipe

Form5

Define a Text (Bitfield), linked to the according Text-File. An Offset for the Text file is possible (ICM start with number 33 etc).


Form6

By selecting the set point of the DFM corresponding ICMs can be activated in the Step or checked for feedback.

Form7

Here the according conditions for the Unit can be selected and checked for “= 1” oder “= 0”;

Up to 8 DFM or flags can be checked for AND / OR. The definition which DFM is responsible is defined in the PCU-call.


An Operator-request can be checked on the right side additionally to other conditions or without.




    1. PCU-Integration

Compile the Source “Binary” and Download the Blocks DB 2001, DB 2002, DB2003, FB 2001.


Activation

The FB2001 has to be called in each Unit-FB where the Binary-function is used.
- The Mode can be: 0=Set Output; 1=check Feedback; 2=Set Flag; 3=Transition

- DFM’s correspond to the definition in the recipe.
- first_ICM_flag correspond to the according ICM or flag you want to change or check.
- Sequ_Nr can be the according sequence or any other number, if the same-function is called several times.


If you place the call “after EOP-run”, then the definition in recipe has priority.

If you place the call “before EOP-run”, then the Programming has priority.


It has to be provided like this


//Call for to activate Outputs

CALL FB2001 , DB2001

Mode :=B#16#0 //0=Set Output; 1=check Feedback; 2=Set Flag; 3=Transition

DFM_group :=4 //corresponding DFM-Group

DFM_number :=1 //corresponding DFM-Number

first_ICM_flag:=33 //Start with ICM-Nr 33 (up to 32 ICM per DFM-Block)

Sequ_Nr :=1 //according sequence or any other number


//Call for to Display the Feedback of Outputs

CALL FB2001 , DB2001

Mode :=B#16#1 //0=Set Output; 1=check Feedback; 2=Set Flag; 3=Transition

DFM_group :=4 //corresponding DFM-Group

DFM_number :=2 //corresponding DFM-Number

first_ICM_flag:=33 //Start with ICM-Nr 33 (up to 32 ICM per DFM-Block)

Sequ_Nr :=1 //according sequence or any other number



//Call for to Set a Flag (for example a message)

CALL FB2001 , DB2001

Mode :=B#16#2 //0=Set Output; 1=check Feedback; 2=Set Flag; 3=Transition

DFM_group :=4 //corresponding DFM-Group

DFM_number :=3 //corresponding DFM-Number

first_ICM_flag:=888 //Flagbyte-Nr of Alarm

Sequ_Nr :=1 //according sequence or any other number


//Call for to define Transitions (up to 8)

CALL FB2001 , DB2001

Mode :=B#16#3 //0=Set Output; 1=check Feedback; 2=Set Flag; 3=Transition

DFM_group :=4 //corresponding DFM-Group

DFM_number :=4 //corresponding DFM-Number

first_ICM_flag:=760 //Start with ICM-Nr oder Flagbyte-Nr; In this case it is DFM 1.1

Sequ_Nr :=1 //according sequence or any other number

If you use more than one Block for ICM-Activation or Transition, you have to use another Sequence-number (for example 1 and 101, it is only a ID) in order to work. Max. Numbers of ID’s is 255. But the DB can be made longer.

New call of FB20012

CALL FB 2001 , DB2001

Mode :=B#16#3

DFM_group :=4

DFM_number :=1

first_ICM_flag :=760

Sequ_Nr :=1

result_all_DFM_ok_Outp:=M4000.0

A new result-flag had been added for free usage!



    1. More information

  • For the Transition-Function a Text-File has to be designed with

    the first 8 Lines is the corresponding DFM
    the second 8 Lines is AND / OR-selection for the corresponding DFM
    the third 8 Lines is check for TRUE/FALSE-selection for the corresponding DFM
    the next Line (24) is for operator-request.
    the last 7 lines are free for extension (25-32). See below for a template.


  • If a next-Step-condition is defined, the Sequence goes to Hold if the transition is not ok. That means all continues, but it is not going to the next step until the condition is fulfilled, which is defined in here. Additional conditions could be in the Step7-code, both has to be fulfilled to proceed.


  • If the Flags are distributed, you can map them in one Flag-Double word and that can be used for the Binary function.


  • If this function should overwrite the Software-programming, then call the FB 2001 in the FB100x after the EOP runnung, otherwise before.


      1. Template for the Text-File Transition

DFM3.1 MTK Time

DFM3.2 MTK Level

DFM3.3 MTK Temperature

DFM3.4 MTK open Drain at the end

DFM3.5 MTK with Sugar-Dosing

DFM3.6 MTK with CaCl-Dosing

DFM3.7 Spare

DFM3.8 Spare

DFM3.1 MTK Time/MTK Level AND/OR

DFM3.2 MTK Temperature AND/OR

DFM3.3 MTK open Drain at the end AND/OR

DFM3.4 MTK with Sugar-Dosing AND/OR

DFM3.5 MTK with CaCl-Dosing AND/OR

DFM3.6 Spare AND/OR

DFM3.7 Spare AND/OR

DFM3.8 Spare AND/OR

DFM3.1 MTK Time check for = 1

DFM3.2 MTK Level check for = 1

DFM3.3 MTK Temperature check for = 1

DFM3.4 MTK open Drain at the end check for = 1

DFM3.5 MTK with Sugar-Dosing check for = 1

DFM3.6 MTK with CaCl-Dosing check for = 1

DFM3.7 Spare check for = 1

DFM3.8 Spare check for = 1

Operator-Request

spare

spare

spare

spare

spare

spare

spare



Log-File for Testing


Set automatic-flag ICM 33…

Check Feedback ICM 33…

Set Flag (Alarm etc)

Transition Flag = 0/1

Transition Flag AND / OR

Operator-Request ok

Reset Flag M 102.3

Reset with unselect



Matrix Template Version 2

Template for a DFM-Bit-field to activate outputs by recipe and to define Transitions


Recipe based activation of Actuators and modification of transitions ensure high flexibility to adapt the process to specific needs. It gives the operator transparency about the action of the specific step and the Transition-conditions.


Features

  • Template with 2 DFMs using Decoder 1 and 2;

  • 32 Outputs, ICM or more can be activated by recipe

  • Operator-request can be activated

  • Transition: 8 DFM with compare > or <;

  • 16 more additional functions like Message etc.


Programming

  • For a better usage of that extension, the interlocks should not be programmed in the EOPs Fc100x but in interlock FB1226..

  • Put complex functions (Output switched by Temperature) in the Unit-FB and use an interface-flag from the EOP. This reduces the code and makes it easier to implement it. These functions could be called “monitoring-functions”.

  • Optional put shared ICM (Output used by another sequence as well) in the Unit-FB and use an interface-flag.

  • The hold-commands have to be programmed in the Unit-FB100x at the end by resetting all Outputs with Hold-Flag


Implementation

  • Each Unit has a specific DB 230x where the Bits of the shared ICM and other functions are transferred.

  • Input manually the relevant ICM of the Unit in the FC 230x including Feedback at the relevant Network

  • Call this FC in each Step in the last network (Transition) with the relevant DB 230x

  • Additional commands after that call can be implemented.

  • Additional ICM and functions in the FC can be implemented.

  • Same ICM can be used at different Units and Steps simultaneously.

  • The Transition can be by AND or OR, depending from a selection. More complex Transitions can be implemented by the BLR-Object.


Synchronize the text-file ICM 1 with the ICM used in the sequence or use the standard ICM1.txt

But only Unit-relevant ICM should be activated.


Implementation

  • The specific FC Bitfield FC230x has to be called in each EOP at the very end.

  • In this FC Bitfield the according Output for this specific Unit and transition can be defined

  • The corresponding flags for Outputs, Messages, complex functions, Transition can be transferred directly to the corresponding flags.

  • The corresponding Step Waiting-time can be implemented in the FC Bitfield.

  • Interlocks should not be programmed in the FCs but outside in FB1226…;

  • A operator-request is available in each step.

  • An ICM can be used in several EOPs in parallel as they are deactivated by an impulse.

  • Free Message can be implemented as well in the FC Bitfield.

  • Optional Outputs by code can be append after that FC-call Bitfield.

  • Optional transitions by code can be append after that FC-call Bitfield.


Fill Text-File bitfield_1.txt for bitfield 1 with corresponding Outputs, enable-flags, messages etc.

Fill Text-File bitfield_2.txt for bitfield 2 with corresponding Transitions


Example

AND/OR-Conditions

Operator-Request

Next Step by Time

Next Step by 1. DFM >

Next Step by 1. DFM <

Next Step by 2. DFM >

Next Step by 2. DFM <

Next Step by 3. DFM >

Next Step by 3. DFM <

Next Step by 4. DFM >

Next Step by 4. DFM <

Next Step by 5. DFM >

Next Step by 5. DFM <

Next Step by 6. DFM >

Next Step by 6. DFM <

Next Step by 7. DFM >

Next Step by 7. DFM <

Next Step by 8. DFM >

Next Step by 8. DFM <


Test-Log

ICM select / deselect

ICM off at stop

Operator-request

Transition AND

Transition OR

Transition several DFM

  1. Contact

Stefan Schranner

Email: Stefan.Ubuntu@mail.ch