Services and Products

Process control systems and programming Languages

  • GEARBOXX

    GEARBOXX enables the efficient process automation of plant sections and units.

  • Proleit Plant IT

    Plant iT has a modular structure and is divided into basic systems, modules and add-ons built on each other.

  • Rockwell ControlLogix

    ControlLogix control systems use a common control core and development environment to deliver high performance in a user-friendly environment.

  • TIA Portal

    The TIA Portal is an automation framework for the SIMATIC S7-1200, S7-300, S7-400 and S7-1500 CPU families from SIEMENS.

  • Botec Classic

    Modular process control system from Krones.

  • Otas

    Technology for automation purposes.

  • Iltis

    From the visualization of the smallest subsystems to the full automation of complex production sites - the scalable system concept of the ILTIS-PLS…

  • Simatic

    STEP 7  and STEP5

  • Proleit Brewmaxx

    Brewmaxx as a process control system,  which is adapted to  the daily practice in the brewery enables innovative, user-oriented solutions.

  • Braumat/SISTAR

    With BRAUMAT, you rely on a modern process control system that offers full performance - with maximum flexibility.

  • Botec F1

    Modaluares process control system from Krones.  

Visualization

  • Movicon

    Software for the visualization of automation processes.

  • ProTool

    ProTool is a Siemens HMI software that can be used for all kinds of requirements regarding machine operating.

  • TIA Portal

    The TIA Portal is an automation framework for the SIMATIC S7-1200, S7-300, S7-400 and S7-1500 CPU families from SIEMENS.

  • GALILEO

    GALILEO is an intuitive, easy-to-learn yet powerful engineering environment that meets almost all requirements for on-site machine operation.

  • Intouch

    InTouch ist ein interaktives System zur Visualisierung, Überwachung und Steuerung industrieller Prozesse.

  • WinCC Flexible

    SIMATIC WinCC ist ein skalierbares Prozessvisualisierungssystem mit leistungsfähigen Funktionen zur Überwachung von automatisierten Prozessen. WinCC bietet komplette SCADA-Funktionalität unter Windows.

  • iFIX

    iFIX  bietet die Überwachung und Steuerung technischer Prozesse und ermöglicht als Mensch-Maschine-Schnittstelle Bedienung und Beobachtung von Maschinen und Anlagen.

  • WinCC

    Ausgestattet mit den typischen HMI Funktionalitäten bietet WinCC  auch besondere Funktionen wie Archivierung von Daten, Mehrsprachigkeit und die Unterstützung von verteilten Systemen.  

  • Zenon

    Zenon ist ein offenes und unabhängiges Software-System, das weltweit von Unternehmen aller Größen zur Prozessvisualisierung, sowie als Maschinenbediensystem oder als Prozessleitsystem eingesetzt wird.

 

Generation of AWL-files from the ProLeit database


  • Generation of AWL sources

    Generation of AWL sources such as interlock FCs for FCN, DCM, MC, Prop FBs and FCs, Sequence FBs etc. from Proleit DBs for Simatic Manager.
    For futher information contact us at awlsource@wkat.de or +49 (0) 8551 91659 0

  Example of a Prop-File:



FUNCTION_BLOCK "S011_Sampling"
TITLE =SEQ 01: Sample

//=========================================================================
//Plant : Plant Name
//=========================================================================
//
//Modification:
// Date Version who Comment
// 06-07-2019 V01.00 WKAT created
//
//
//Function:
// Process operation for SEQ 01 Mixer 1
//
//
//Called:
// from TF_SeqLogic
AUTHOR : PI
FAMILY : PROP
NAME : PROP0
VERSION : 1.0

VAR
SupDB : UDT201;
END_VAR
BEGIN
NETWORK
TITLE =Step begin

NOP 0;

UN "StepBegin";
SPB G011;

G011: NOP 0;
NETWORK
TITLE =General

NOP 0;
//
// Bitmask to SupDB
//
CALL "HandleModeSetpoint" (
FuncNo := 1,// 1 = Read Parameters
Adress_Mode01 := 164,// SupDB.Mode_01
Adress_Mode02 := 168,// SupDB.Mode_02
Setpoint_Mode01 := "DB_LiT_C160_SEQ_IF".extValue[1],// Setpoint Mode 01
Setpoint_Mode02 := "DB_LiT_C160_SEQ_IF".extValue[2]);// Setpoint Mode 02

//
// actual step
//
UN "StepEnd";
= #SupDB.Act_Step_01;
//
// last step
//
UN "StepEnd";
SPB G021;

L L#0;
T DID 102;
T DIW 106;
SET ;
S #SupDB.Last_Step_01;

G021: NOP 0;

NETWORK
TITLE =Sequence state

NOP 0;

NETWORK
TITLE =Setpoint and actual values

//
// extValues01 Mode01
//
// U SupDB.Mode01_00 // Heating On
// U SupDB.Mode01_01
// U SupDB.Mode01_02
// U SupDB.Mode01_03
// U SupDB.Mode01_04
// U SupDB.Mode01_05
// U SupDB.Mode01_06
// U SupDB.Mode01_07
// U SupDB.Mode01_08
// U SupDB.Mode01_09
// U SupDB.Mode01_10
// U SupDB.Mode01_11
// U SupDB.Mode01_12
// U SupDB.Mode01_13
// U SupDB.Mode01_14
// U SupDB.Mode01_15
// U SupDB.Mode01_16
// U SupDB.Mode01_17
// U SupDB.Mode01_18
// U SupDB.Mode01_19
// U SupDB.Mode01_20
// U SupDB.Mode01_21
// U SupDB.Mode01_22
// U SupDB.Mode01_23
// U SupDB.Mode01_24
// U SupDB.Mode01_25
// U SupDB.Mode01_26
// U SupDB.Mode01_27
// U SupDB.Mode01_28
// U SupDB.Mode01_29
// U SupDB.Mode01_30
// U SupDB.Mode01_31

//
// extValues02 Mode02
//
// U SupDB.Mode02_00
// U SupDB.Mode02_01
// U SupDB.Mode02_02
// U SupDB.Mode02_03
// U SupDB.Mode02_04
// U SupDB.Mode02_05
// U SupDB.Mode02_06
// U SupDB.Mode02_07
// U SupDB.Mode02_08
// U SupDB.Mode02_09
// U SupDB.Mode02_10
// U SupDB.Mode02_11
// U SupDB.Mode02_12
// U SupDB.Mode02_13
// U SupDB.Mode02_14
// U SupDB.Mode02_15
// U SupDB.Mode02_16
// U SupDB.Mode02_17
// U SupDB.Mode02_18
// U SupDB.Mode02_19
// U SupDB.Mode02_20
// U SupDB.Mode02_21
// U SupDB.Mode02_22
// U SupDB.Mode02_23
// U SupDB.Mode02_24
// U SupDB.Mode02_25
// U SupDB.Mode02_26
// U SupDB.Mode02_27
// U SupDB.Mode02_28
// U SupDB.Mode02_29
// U SupDB.Mode02_30
// U SupDB.Mode02_31

NOP 0;

NETWORK
TITLE =User request

NOP 0;

//
// Request 1 - Sample OK
//
L 1;
T MB 946; // Req. 01: Sample OK

UN "UserResponseYes";
= "Request";

NETWORK
TITLE =VCMs and global functions

NOP 0;
//
// Monitoring time
//
UN "StepEnd";
UN "Held";
= "StepMonTime_Release"; // Monitoring time

//
// VCM 01 Time1
//
// UN "StepEnd"
// UN "Held"
// = "VCM_Release[1]" //Time1
// NOT
// = "VCM_Trigger[1]" //Time1
//
// VCM 02 Time2
//
// UN "StepEnd"
// UN "Held"
// = "VCM_Release[2]" //Time2
// NOT
// = "VCM_Trigger[2]" //Time2
//
// VCM 03 Time3
//
// UN "StepEnd" //Statisch
// UN "Held" //Statisch
// = "VCM_Release[3]" //Time3
// NOT
// = "VCM_Trigger[3]" //Time3
//
// VCM 04 Temp.
//
// U "VCM_Result[4]"
//
// L "DB_LiT_C160_SEQ_IF".VCM[4].sActual
// L "DB_LiT_C160_SEQ_IF".VCM[4].sSetpoint
//
// VCM 05 Counter1
//
// UN "StepEnd"
// UN "Held"
// = "VCM_Release[5]" //Counter1
// NOT
// = "VCM_Trigger[5]" //Counter1

NETWORK
TITLE =Messages

NETWORK
TITLE =Sequence interface

NOP 0;
//
// Hold
//
UN "StepEnd";
UN "Held";
U( ;
O "VKE_0"; // ... Condition
O "VKE_0"; // ... Condition
) ;
= "UserHold";
//
// Pause
//
UN "StepEnd";
UN "Paused";
U( ;
O "VKE_0"; // ... Condition
O "VKE_0"; // ... Condition
) ;
= "UserPause";

//
// Disable buttons in SEQ dialog
//
CLR ;
= "Disable_Pause"; // Button Pause

NETWORK
TITLE =Interfaces (SeqCom, FIFO, SU, etc.)

NOP 0;

NETWORK
TITLE =Equipment modules

NOP 0;

NETWORK
TITLE =Activations
// Matrix : Matrix1
// Matrix Nr : 10
// Activity list : ActL1
// clr;
// = OCM_Act00; // Idle
// = OCM_Act01; // Inherently Safe
// = OCM_Act02; // Warning
// = OCM_Act03; // Alarm
// = OCM_Act04; // x1001V21 Inlet Valve 1
// = OCM_Act05; // x1001V22 Inlet Valve 2
// = OCM_Act06; // x1001V41 Outlet Valve
// = OCM_Act07;
// = OCM_Act08;
// = OCM_Act09;
// = OCM_Act10; // x1001V11 Heating Control Valve
// = OCM_Act11;
// = OCM_Act12;
// = OCM_Act13;
// = OCM_Act14;
// = OCM_Act15;
// = OCM_Act16;
// = OCM_Act17;
// = OCM_Act18;
// = OCM_Act19;
// = OCM_Act20;
// = OCM_Act21;
// = OCM_Act22;
// = OCM_Act23;
// = OCM_Act24;
// = OCM_Act25;
// = OCM_Act26;
// = OCM_Act27;
// = OCM_Act28;
// = OCM_Act29;
// = OCM_Act30;
// = OCM_Act31;

// Matrix : Rem1M1
// Matrix Nr : 11
// Activity list : ActL2
// clr;
// = #SupDB.REM01.IF.OCM_Activity[0]; // Idle
// = #SupDB.REM01.IF.OCM_Activity[1]; // Inherently Safe
// = #SupDB.REM01.IF.OCM_Activity[2]; // Warning
// = #SupDB.REM01.IF.OCM_Activity[3]; // Alarm
// = #SupDB.REM01.IF.OCM_Activity[4]; // x2001V21 // Drain valve / x2001V52 Blocking Valve 2
// = #SupDB.REM01.IF.OCM_Activity[5]; // x2001V51 // Blocking valve 1
// = #SupDB.REM01.IF.OCM_Activity[6];
// = #SupDB.REM01.IF.OCM_Activity[7];
// = #SupDB.REM01.IF.OCM_Activity[8];
// = #SupDB.REM01.IF.OCM_Activity[9];
// = #SupDB.REM01.IF.OCM_Activity[10];
// = #SupDB.REM01.IF.OCM_Activity[11];
// = #SupDB.REM01.IF.OCM_Activity[12];
// = #SupDB.REM01.IF.OCM_Activity[13];
// = #SupDB.REM01.IF.OCM_Activity[14];
// = #SupDB.REM01.IF.OCM_Activity[15];
// = #SupDB.REM01.IF.OCM_Activity[16];
// = #SupDB.REM01.IF.OCM_Activity[17];
// = #SupDB.REM01.IF.OCM_Activity[18];
// = #SupDB.REM01.IF.OCM_Activity[19];
// = #SupDB.REM01.IF.OCM_Activity[20];
// = #SupDB.REM01.IF.OCM_Activity[21];
// = #SupDB.REM01.IF.OCM_Activity[22];
// = #SupDB.REM01.IF.OCM_Activity[23];
// = #SupDB.REM01.IF.OCM_Activity[24];
// = #SupDB.REM01.IF.OCM_Activity[25];
// = #SupDB.REM01.IF.OCM_Activity[26];
// = #SupDB.REM01.IF.OCM_Activity[27];
// = #SupDB.REM01.IF.OCM_Activity[28];
// = #SupDB.REM01.IF.OCM_Activity[29];
// = #SupDB.REM01.IF.OCM_Activity[30];
// = #SupDB.REM01.IF.OCM_Activity[31];

NOP 0;

//
// OCM REMs
//

NETWORK
TITLE =Controller

NOP 0;

NETWORK
TITLE =Release next step conditions

UN "StepEnd";
= "ReleaseTransNext";

CLR ;
= "ReleaseTransDest1";

CLR ;
= "ReleaseTransDest2";

CLR ;
= "ReleaseTransDest3";

CLR ;
= "ReleaseTransDest4";
NETWORK
TITLE =Next step conditions

CLR ;
= "TransNext";

CLR ;
= "TransDest1";

CLR ;
= "TransDest2";

CLR ;
= "TransDest3";

CLR ;
= "TransDest4";
NETWORK
TITLE =Step end

NOP 0;

//
// SupDB to Bitmask
//

CALL "HandleModeSetpoint" (
FuncNo := 2,// 2 = Write Parameters
Adress_Mode01 := 164,// SupDB.Mode_01
Adress_Mode02 := 168,// SupDB.Mode_02
Setpoint_Mode01 := "DB_LiT_C160_SEQ_IF".extValue[1],// Setpoint Mode 01
Setpoint_Mode02 := "DB_LiT_C160_SEQ_IF".extValue[2]);// Setpoint Mode 02

UN "StepEnd";
BEB ;
END_FUNCTION_BLOCK

 

We automate your Company!