diff --git a/Logical/Communication/GlobalCom.var b/Logical/Communication/GlobalCom.var
index d8c8399..0ba99d1 100644
--- a/Logical/Communication/GlobalCom.var
+++ b/Logical/Communication/GlobalCom.var
@@ -3,6 +3,7 @@ VAR
gIPGLaserInterface : gytp_IPGInterface; (*Interface IPG Laser*)
gRTLaserInterface : gytp_RTInterface; (*Interface Raytools*)
gLineInterface : gytp_LineInterface; (*Interface Liniensteuerung*)
+ gbLaserCutGasFault : BOOL;
END_VAR
(*Variablen / Strukturen*)
VAR
diff --git a/Logical/Communication/IPG/IPG/Cyclic.st b/Logical/Communication/IPG/IPG/Cyclic.st
index 4170741..a0dcd7b 100644
--- a/Logical/Communication/IPG/IPG/Cyclic.st
+++ b/Logical/Communication/IPG/IPG/Cyclic.st
@@ -104,13 +104,26 @@ PROGRAM _CYCLIC
//Ausgänge
//==============================================
-
//Schneidgas (Mit Laser Einschalten oder über M-Befahl aus CNC Task
FUBs.TOF_CuttingGas.IN := (LaserOut.uiOutPutPower > 0) AND LaserOut.Control.bLaserOn;
FUBs.TOF_CuttingGas.PT := t#1s;
FUBs.TOF_CuttingGas ();
bOuCuttingGas := FUBs.TOF_CuttingGas.Q OR gIPGLaserInterface.Out.bCuttingGasOn;
+
+ FUBs.TON_ChkCuttingGasOk.IN := bOuCuttingGas;
+ FUBs.TON_ChkCuttingGasOk.PT := t#1s500ms;
+ FUBs.TON_ChkCuttingGasOk ();
+ FUBs.TOF_CuttingGasOk.IN := bInCuttingGasFlowOk;
+ FUBs.TOF_CuttingGasOk.PT := t#1s;
+ FUBs.TOF_CuttingGasOk ();
+
+ IF FUBs.TON_ChkCuttingGasOk.Q AND NOT FUBs.TOF_CuttingGasOk.Q THEN
+ gbLaserCutGasFault := TRUE;
+ ELSIF gCmd1.bResetErrors THEN
+ gbLaserCutGasFault := FALSE;
+ END_IF
+
//Byte 1
LaserOut.Control.bRequestLaser := TRUE;
usOuByte[1].0 := LaserOut.Control.bRequestLaser;
@@ -260,4 +273,9 @@ PROGRAM _CYCLIC
FUBs.Alarm_Shotmode.sInAlName := 'IPGShotMode';
FUBs.Alarm_Shotmode ();
+ //Schneidgas / Durchfluss
+ FUBs.Alarm_CuttingGas.MpLink := gMpAlarmXCore;
+ FUBs.Alarm_CuttingGas.bInAlarmSignal := gbLaserCutGasFault;
+ FUBs.Alarm_CuttingGas.sInAlName := 'IPGGuttingGas';
+ FUBs.Alarm_CuttingGas ();
END_PROGRAM
diff --git a/Logical/Communication/IPG/IPG/IOs.var b/Logical/Communication/IPG/IPG/IOs.var
index a44a544..3bf808a 100644
--- a/Logical/Communication/IPG/IPG/IOs.var
+++ b/Logical/Communication/IPG/IPG/IOs.var
@@ -3,4 +3,5 @@ VAR
usInByte : ARRAY[1..32] OF USINT;
usOuByte : ARRAY[1..32] OF USINT;
bOuCuttingGas : BOOL;
+ bInCuttingGasFlowOk : BOOL;
END_VAR
diff --git a/Logical/Communication/IPG/IPG/TxtAlarms.tmx b/Logical/Communication/IPG/IPG/TxtAlarms.tmx
index 5444eca..e3f1fa9 100644
--- a/Logical/Communication/IPG/IPG/TxtAlarms.tmx
+++ b/Logical/Communication/IPG/IPG/TxtAlarms.tmx
@@ -90,5 +90,10 @@
Laser: Einzelschussbetrieb
+
+
+ Laser: Durchfluss Schneidgas
+
+