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!