Workbackup

This commit is contained in:
Michael Rest
2015-08-18 15:25:49 +02:00
parent d99b8e5c44
commit 1cdb4e3628
117 changed files with 8228 additions and 2044 deletions

View File

@@ -3,7 +3,7 @@
<Package xmlns="http://br-automation.co.at/AS/Package">
<Objects>
<Object Type="DataObject" Language="Apt" Description="Acp Parameter for Grinder 1 Motor (SEW)">gAxGrnd1a</Object>
<Object Type="DataObject" Language="Apt">gAxR1G2a</Object>
<Object Type="DataObject" Language="Apt" Description="Fingerschleifer">gAxR1G2a</Object>
<Object Type="DataObject" Language="Apt">gAxR2G2a</Object>
<Object Type="DataObject" Language="Apt" Description="Acp Parameter for Office Motor (24V)">motor_office</Object>
<Object Type="DataObject" Language="Apt" Description="Acp Parameter for motor simulation">motor_sim</Object>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=?>
<?AutomationStudio Version=4.1.6.81 SP?>
<AcoposParameterTable>
<Root Name="Parameters">
<Parameter Name="PCTRL_S_ACT_PARID" ID="230" Value="1" />
<Parameter Name="PCTRL_S_ACT_PARID" ID="230" Value="ENCOD1_S_ACT" />
<Parameter Name="SERVO_V_MAX_OUTPUT" ID="64201" Value="546116,666666667" />
</Root>
</AcoposParameterTable>

View File

@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=?>
<?AutomationStudio Version=4.1.6.81 SP?>
<AcoposParameterTable>
<Root Name="Parameters" />
<Root Name="Parameters">
<Parameter Name="SGEN_SW_END_IGNORE" ID="128" Value="1" Description="Limit values: Ignore SW end positions" />
</Root>
</AcoposParameterTable>

View File

@@ -0,0 +1,91 @@
(*//-----------------------------------------------------------------------------------------------------*)
(*//MC FunctionBlocks*)
VAR
Axis_MC_BR_AxisErrorCollector : MC_BR_AxisErrorCollector;
Axis_MC_ACP_ENCOD_REF : MC_ACP_ENCOD_REF := (0);
Axis_MC_ACP_ENCOD_PARAM_REF : MC_ACP_ENCOD_PARAM_REF := (0);
Axis_MC_GearIn : MC_GearIn := (0); (*Start electronic Gear coupling with master*)
Axis_MC_GearInPos : MC_GearInPos := (0); (*Start electronic Gear coupling (Position mode) with master*)
Axis_MC_GearOut : MC_GearOut := (0); (*Stop electronic Gear coupling*)
Axis_MC_BR_BrakeControl : MC_BR_BrakeControl := (0);
Axis_MC_BR_GetErrorText : MC_BR_GetErrorText := (0);
Axis_MC_BR_HomeAcpEncoder : MC_BR_HomeAcpEncoder := (0);
Axis_MC_BR_InitAxisPar : MC_BR_InitAxisPar := (0);
Axis_MC_BR_JogVelocity : MC_BR_JogVelocity := (0);
Axis_MC_BR_JogLimitPosition : MC_BR_JogLimitPosition := (0);
Axis_MC_BR_JogTargetPosition : MC_BR_JogTargetPosition := (0);
Axis_MC_BR_ReadDriveStatus : MC_BR_ReadDriveStatus := (0);
Axis_MC_BR_Simulation : MC_BR_Simulation := (0);
Axis_MC_BR_SetHardwareInputs : MC_BR_SetHardwareInputs := (0); (*Set HW-Inputs (Limits for Axises)*)
Axis_MC_BR_TorqueControl : MC_BR_TorqueControl := (0); (*Continuous Movement with Cyclic Torque*)
Axis_MC_BR_VelocityControl : MC_BR_VelocityControl := (0); (*Cyclic Velocity / Torque*)
Axis_MC_Halt : MC_Halt := (0); (*Halt*)
Axis_MC_Home : MC_Home := (0); (*Homing*)
Axis_MC_BR_InitModPos : MC_BR_InitModPos := (0); (*Modulo Position*)
Axis_MC_MoveAbsolute : MC_MoveAbsolute := (0); (*Absolute Movement*)
Axis_MC_BR_MoveAbsoluteTriggStop : MC_BR_MoveAbsoluteTriggStop := (0); (*Absolute Movement with Trigger Stop*)
Axis_MC_MoveAdditive : MC_MoveAdditive := (0); (*Additive Movement*)
Axis_MC_BR_MoveAdditiveTriggStop : MC_BR_MoveAdditiveTriggStop := (0); (*Additive Movement with Trigger Stop*)
Axis_MC_MoveVelocity : MC_MoveVelocity := (0); (*Continuous Movement with Cyclic Velocity*)
AXis_MC_BR_MoveVelocityTriggStop : MC_BR_MoveVelocityTriggStop := (0); (*Continuous Movement with Cyclic Velocity and Trigger Stop*)
Axis_MC_Power : MC_Power := (0);
Axis_MC_ReadActualPosition : MC_ReadActualPosition := (0);
Axis_MC_ReadActualTorque : MC_ReadActualTorque := (0);
Axis_MC_ReadActualVelocity : MC_ReadActualVelocity := (0);
Axis_MC_BR_ReadAxisError : MC_BR_ReadAxisError := (0);
Axis_MC_ReadStatus : MC_ReadStatus := (0);
Axis_MC_Reset : MC_Reset := (0);
Axis_MC_SetOverride : MC_SetOverride := (0);
Axis_MC_Stop : MC_Stop := (0);
END_VAR
(*//Further Parameter - Cyclic*)
VAR
Axis_MC_BR_CyclicRead : MC_BR_CyclicRead := (0); (*Read Further Axis Parameter*)
Axis_MC_BR_CyclicWrite : MC_BR_CyclicWrite := (0);
END_VAR
(*//Further Parameter*)
VAR
Axis_MC_BR_ReadParID : MC_BR_ReadParID := (0); (*Read Furhter Axis Parameter*)
END_VAR
(*//ParemeterTrace*)
VAR
Axis_MC_BR_WriteParID : MC_BR_WriteParID := (0); (*USER_R4_VAR1 used for Trace*)
END_VAR
(*//-----------------------------------------------------------------------------------------------------*)
(*//Dynamic Vars*)
VAR
lAxis : REFERENCE TO typAxis; (*Axis Datastruct *)
lAxisActPos : REFERENCE TO REAL;
lAxisMaster : REFERENCE TO typAxis;
lbSimulation : REFERENCE TO BOOL;
rUser_Var1 : REFERENCE TO REAL; (*Value for Cyclic transmission to Acopos*)
END_VAR
(*//-----------------------------------------------------------------------------------------------------*)
(*//Constants*)
VAR CONSTANT
uiTORQUE_NOT_REACHED : UINT := 0;
END_VAR
(*//-----------------------------------------------------------------------------------------------------*)
(*//Retain*)
(*//-----------------------------------------------------------------------------------------------------*)
(*//Local Vars*)
VAR
bAxisInit : BOOL := FALSE; (*Devel - Init Axis*)
bDisableCommands : BOOL := FALSE;
bHomeAbs : BOOL := FALSE; (*Devel - Home Absolue Encoder*)
bTest : BOOL := FALSE;
usCamTableID : USINT;
uiRestartDelay : UINT := 2500; (*Wait Cycles after Cold restart*)
uiAbsStatus : UINT;
uiAxisUserVar1 : UINT := 0;
uiMCReadError : UINT := 0; (*Error in MC_Read_Paramaeter*)
uiMCWriteError : UINT := 0; (*Error in MC_Write_Paramaeter*)
udAxisMasterObj : UDINT;
udAxisSlaveObj : UDINT;
udAxisObj : UDINT;
udEnableTorqueLimit : UDINT := 0;
rOldVelocity : REAL := 0.0;
rOldTorquelimit : REAL := 0.0; (*//Used to Trigger Sending Value to Axis*)
rUser_VarTemp : REAL := 0.0;
TON_HomingOk : TON;
END_VAR

View File

@@ -0,0 +1,712 @@
PROGRAM _CYCLIC
IF (uiRestartDelay > 0) THEN
uiRestartDelay := uiRestartDelay - 1;
END_IF
//Devel Axis Initialisation
Axis_MC_BR_InitAxisPar.Axis := udAxisObj;
Axis_MC_BR_InitAxisPar.Execute := bAxisInit;
Axis_MC_BR_InitAxisPar ();
IF Axis_MC_BR_InitAxisPar.Done THEN
bAxisInit := FALSE;
END_IF
//Devel Absolute Encoder Homing
Axis_MC_ACP_ENCOD_REF.Slot := 3;
Axis_MC_ACP_ENCOD_PARAM_REF.HomingMode := mcHOME_ABSOLUTE;
Axis_MC_ACP_ENCOD_PARAM_REF.Offset := 0;
Axis_MC_ACP_ENCOD_PARAM_REF.ReadOffset := FALSE;
Axis_MC_BR_HomeAcpEncoder.Execute := bHomeAbs;
Axis_MC_BR_HomeAcpEncoder.AcpEncoder := Axis_MC_ACP_ENCOD_REF;
Axis_MC_BR_HomeAcpEncoder.HomingParameters := Axis_MC_ACP_ENCOD_PARAM_REF;
Axis_MC_BR_HomeAcpEncoder ();
IF Axis_MC_BR_HomeAcpEncoder.Done THEN
bHomeAbs := FALSE;
END_IF
//Set Hardware inputs
//Direct map IO
Axis_MC_BR_SetHardwareInputs.Enable := lAxis.Para.bSetHWInputs;
Axis_MC_BR_SetHardwareInputs ();
//get axis information
Axis_MC_BR_AxisErrorCollector ();
(***********************CHECK FOR ERRORS**************************)
IF (lAxis.enStep < enAxSTATE_STOP_AFTER_ERROR) THEN
IF (Axis_MC_BR_AxisErrorCollector.Errorstop) THEN
lAxis.enStep := enAxSTATE_ERROR;
ELSIF (Axis_MC_BR_AxisErrorCollector.FunctionBlockError) OR
(Axis_MC_BR_AxisErrorCollector.AxisError) OR
(Axis_MC_BR_AxisErrorCollector.AxisWarning) THEN
lAxis.enStep := enAxSTATE_STOP_AFTER_ERROR;
END_IF
END_IF
Axis_MC_BR_ReadAxisError ();
Axis_MC_ReadStatus ();
IF Axis_MC_ReadStatus.Valid THEN
lAxis.Status.bDisabled := Axis_MC_ReadStatus.Disabled;
lAxis.Status.bStandstill := Axis_MC_ReadStatus.StandStill;
lAxis.Status.bStopping := Axis_MC_ReadStatus.Stopping;
lAxis.Status.bHoming := Axis_MC_ReadStatus.Homing;
lAxis.Status.bMotionDiscrete := Axis_MC_ReadStatus.DiscreteMotion;
lAxis.Status.bMotionContinous := Axis_MC_ReadStatus.ContinuousMotion;
lAxis.Status.bMotionSynchronized := Axis_MC_ReadStatus.SynchronizedMotion;
lAxis.Status.bErrorstop := Axis_MC_ReadStatus.Errorstop;
END_IF
Axis_MC_BR_ReadDriveStatus ();
TON_HomingOk.IN := lAxis.DriveStatus.bHomingOk AND NOT lAxis.Status.bHoming;
IF EDGEPOS (lAxis.bHome) THEN
TON_HomingOk.IN := FALSE;
END_IF
TON_HomingOk.PT := t#50ms;
TON_HomingOk ();
lAxis.Status.bHomingOkDelayed := TON_HomingOk.Q;
//Position
Axis_MC_ReadActualPosition ();
IF Axis_MC_ReadActualPosition.Valid THEN
lAxis.rActPosition := Axis_MC_ReadActualPosition.Position;
lAxisActPos := lAxis.rActPosition;
END_IF
//Velocity
Axis_MC_ReadActualVelocity ();
IF Axis_MC_ReadActualVelocity.Valid THEN
lAxis.rActVelocity := Axis_MC_ReadActualVelocity.Velocity;
END_IF
//Torque
IF lbSimulation OR lAxis.DriveStatus.bSimulation OR lAxis.bVAxis THEN
Axis_MC_ReadActualTorque.Enable := FALSE; //Disable for Simulation (not Possible)
END_IF
Axis_MC_ReadActualTorque ();
IF Axis_MC_ReadActualTorque.Valid THEN
lAxis.rActTorque := Axis_MC_ReadActualTorque.Torque;
END_IF
//Power OFF
IF NOT lAxis.bPower AND lAxis.DriveStatus.bControllerStatus THEN
lAxis.enStep := enAxSTATE_POWER_OFF;
END_IF
CASE lAxis.enStep OF
//==============================================
//WAIT
enAxSTATE_WAIT:
//IF lAxis.Status.bDisabled AND lbSimulation AND NOT lAxis.DriveStatus.bSimulation THEN
// lAxis.enStep := enAxSTATE_SIMULATION_ON;
//ELSIF lAxis.Status.bDisabled AND NOT lbSimulation AND lAxis.DriveStatus.bSimulation THEN
// lAxis.enStep := enAxSTATE_SIMULATION_OFF;
IF lAxis.bPower THEN
lAxis.enStep := enAxSTATE_POWER_ON;
ELSE
bDisableCommands := TRUE;
END_IF
//==============================================
//Simulation On
enAxSTATE_SIMULATION_ON:
Axis_MC_BR_Simulation.Execute := 1;
Axis_MC_BR_Simulation.SimulationCommand := mcMOTOR;
IF Axis_MC_BR_Simulation.Done THEN
Axis_MC_BR_Simulation.Execute := 0;
lAxis.enStep := enAxSTATE_WAIT;
ELSIF (Axis_MC_BR_Simulation.ErrorID <> 0) THEN
lAxis.enStep := enAxSTATE_ERROR;
END_IF
//==============================================
//Simulation Off
enAxSTATE_SIMULATION_OFF;
Axis_MC_BR_Simulation.Execute := 1;
Axis_MC_BR_Simulation.SimulationCommand := mcSIMULATION_OFF;
IF Axis_MC_BR_Simulation.Done THEN
Axis_MC_BR_Simulation.Execute := 0;
lAxis.enStep := enAxSTATE_WAIT;
ELSIF (Axis_MC_BR_Simulation.ErrorID <> 0) THEN
lAxis.enStep := enAxSTATE_ERROR;
END_IF
//==============================================
//Power On
enAxSTATE_POWER_ON:
Axis_MC_Power.Enable := TRUE;
IF Axis_MC_Power.Status THEN
lAxis.enStep := enAxSTATE_READY;
ELSIF (Axis_MC_Power.ErrorID <> 0) THEN
lAxis.enStep := enAxSTATE_ERROR;
END_IF
//==============================================
//Power Off
enAxSTATE_POWER_OFF:
Axis_MC_Power.Enable := FALSE;
IF Axis_MC_Power.Status THEN
lAxis.enStep := enAxSTATE_WAIT;
ELSIF (Axis_MC_Power.ErrorID <> 0) THEN
lAxis.enStep := enAxSTATE_ERROR;
END_IF
//==============================================
//Ready, wait for commands
enAxSTATE_READY:
IF lAxis.bStop THEN
lAxis.bStop := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF lAxis.bHome THEN
lAxis.enStep := enAxSTATE_HOME;
ELSIF lAxis.Move.bBraketest THEN
lAxis.Move.bBraketest := 0;
lAxis.enStep := enAxSTATE_BRAKE_TEST;
ELSIF lAxis.Move.bJogPos OR lAxis.Move.bJogNeg THEN
//Movement will stopped when command is resetted
lAxis.enStep := enAxSTATE_JOG;
ELSIF lAxis.Move.bAbsolute AND NOT lAxis.Para.bTriggStop THEN
//Movement will stopped when command is resetted
lAxis.enStep := enAxSTATE_MOVE_ABSOLUTE;
ELSIF lAxis.Move.bAbsolute AND lAxis.Para.bTriggStop THEN
//Movement will stopped when command is resetted
lAxis.enStep := enAxSTATE_MOVE_ABSOLUTE_TRIGSTP;
ELSIF lAxis.Move.bAdditive AND NOT lAxis.Para.bTriggStop THEN
//Movement will stopped when command is resetted
lAxis.enStep := enAxSTATE_MOVE_ADDITIVE;
ELSIF lAxis.Move.bAdditive AND lAxis.Para.bTriggStop THEN
//Movement will stopped when command is resetted
lAxis.enStep := enAxSTATE_MOVE_ADDITIVE_TRIGSTP;
ELSIF lAxis.Move.bVelocity THEN
lAxis.Move.bVelocity := 0;
lAxis.Status.bTorqueLimitReached := 0;
lAxis.enStep := enAxSTATE_MOVE_VELOCITY;
ELSIF lAxis.Move.bVelocityControl THEN
lAxis.Move.bVelocityControl := 0;
lAxis.Status.bTorqueLimitReached := 0;
lAxis.enStep := enAxSTATE_MOVE_VELOCITY_CTRL;
ELSIF lAxis.Move.bTorqueControl THEN
lAxis.Move.bTorqueControl := 0;
lAxis.Status.bTorqueLimitReached := 0;
lAxis.enStep := enAxSTATE_MOVE_TORQUE_CTRL;
ELSIF lAxis.Move.bStartGearSlave THEN
lAxis.Move.bStartGearSlave := 0;
lAxis.enStep := enAxSTATE_MOVE_GEAR_START;
ELSIF lAxis.Move.bStartGearPosSlave THEN
lAxis.Move.bStartGearSlave := 0;
lAxis.enStep := enAxSTATE_MOVE_GEARPOS_START;
ELSIF lAxis.Move.bStopGearSlave THEN
lAxis.Move.bStopGearSlave := 0;
lAxis.enStep := enAxSTATE_MOVE_GEAR_STOP;
END_IF
//==============================================
//Drive Home
enAxSTATE_HOME:
Axis_MC_Home.Position := lAxis.Para.rHomePosition;
Axis_MC_Home.HomingMode := lAxis.Para.usHomeingMode;
Axis_MC_Home.Execute := 1;
IF lAxis.bStop THEN
Axis_MC_Home.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
lAxis.bHome := 0;
ELSIF Axis_MC_Home.Done AND (lAxis.Para.udAxisModPosFactor > 0) AND (lAxis.Para.udAxisModPosPeriod > 0) THEN
Axis_MC_Home.Execute := 0;
lAxis.enStep := enAxSTATE_INIT_MOD_POS;
lAxis.bHome := 0;
ELSIF Axis_MC_Home.Done THEN
Axis_MC_Home.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
lAxis.bHome := 0;
END_IF
//==============================================
//Test Brake
enAxSTATE_BRAKE_TEST:
Axis_MC_BR_BrakeControl.Command := mcBRAKE_TEST_START;
Axis_MC_BR_BrakeControl.Configuration.BrakeTest.PositionLimit := lAxis.Para.rBraketestPosLimit;
Axis_MC_BR_BrakeControl.Configuration.BrakeTest.TestTorque := lAxis.Para.rBraketestTorque;
Axis_MC_BR_BrakeControl.Execute := 1;
IF lAxis.bStop THEN
Axis_MC_BR_BrakeControl.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF Axis_MC_Home.Done THEN
Axis_MC_BR_BrakeControl.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Initialize Modulo Position
enAxSTATE_INIT_MOD_POS:
Axis_MC_BR_InitModPos.Factor := lAxis.Para.udAxisModPosFactor;
Axis_MC_BR_InitModPos.Period := lAxis.Para.udAxisModPosPeriod;
Axis_MC_BR_InitModPos.Execute := 1;
IF Axis_MC_BR_InitModPos.Done THEN
Axis_MC_BR_InitModPos.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Stop Movement (as long as Stop Command is set)
enAxSTATE_STOP:
Axis_MC_Stop.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_Stop.Execute := 1;
IF Axis_MC_Stop.Done AND NOT lAxis.bStop THEN
Axis_MC_Stop.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
IF (Axis_MC_Stop.Error OR Axis_MC_Stop.CommandAborted) AND NOT lAxis.bStop THEN
Axis_MC_Stop.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Jog Positive
enAxSTATE_JOG:
Axis_MC_BR_JogVelocity.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_JogVelocity.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_BR_JogVelocity.Velocity := lAxis.Para.rJogVelocity;
Axis_MC_BR_JogVelocity.JogPositive := lAxis.Move.bJogPos;
Axis_MC_BR_JogVelocity.JogNegative := lAxis.Move.bJogNeg;
Axis_MC_BR_JogVelocity.Enable := (lAxis.Para.JogMode = enAxJOG);
Axis_MC_BR_JogLimitPosition.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_JogLimitPosition.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_BR_JogLimitPosition.Velocity := lAxis.Para.rJogVelocity;
Axis_MC_BR_JogLimitPosition.JogPositive := lAxis.Move.bJogPos;
Axis_MC_BR_JogLimitPosition.JogNegative := lAxis.Move.bJogNeg;
Axis_MC_BR_JogLimitPosition.FirstPosition := lAxis.Para.rJogLimitLow;
Axis_MC_BR_JogLimitPosition.LastPosition := lAxis.Para.rJogLimitHigh;
Axis_MC_BR_JogLimitPosition.Enable := (lAxis.Para.JogMode = enAxJOG_Limits);
Axis_MC_BR_JogTargetPosition.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_JogTargetPosition.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_BR_JogTargetPosition.Velocity := lAxis.Para.rJogVelocity;
Axis_MC_BR_JogTargetPosition.TargetPosition:= lAxis.Para.rPosition;
Axis_MC_BR_JogTargetPosition.JogToTarget := lAxis.Move.bJogPos OR lAxis.Move.bJogNeg;
Axis_MC_BR_JogTargetPosition.JogPositive := FALSE;
Axis_MC_BR_JogTargetPosition.JogNegative := FALSE;
Axis_MC_BR_JogTargetPosition.Enable := (lAxis.Para.JogMode = enAxJOG_Target);
IF (NOT lAxis.Move.bJogPos AND NOT lAxis.Move.bJogNeg) OR lAxis.bStop THEN
Axis_MC_BR_JogVelocity.Enable := 0;
Axis_MC_BR_JogLimitPosition.Enable := 0;
Axis_MC_BR_JogTargetPosition.Enable := 0;
lAxis.enStep := enAxSTATE_STOP;
END_IF
//==============================================
//Move Absolute
enAxSTATE_MOVE_ABSOLUTE:
Axis_MC_MoveAbsolute.Position := lAxis.Para.rPosition;
Axis_MC_MoveAbsolute.Velocity := lAxis.Para.rVelocity;
Axis_MC_MoveAbsolute.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_MoveAbsolute.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_MoveAbsolute.Direction := lAxis.Para.usDirection; //Interesting on Periodic Axises
Axis_MC_MoveAbsolute.Execute := 1;
IF lAxis.bStop OR NOT lAxis.Move.bAbsolute THEN
;lAxis.bStop := 0;
Axis_MC_MoveAbsolute.Execute := 0;
lAxis.Move.bAbsolute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF Axis_MC_MoveAbsolute.Done THEN
Axis_MC_MoveAbsolute.Execute := 0;
lAxis.Move.bAbsolute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Move Absolute (Stopp with Trigger
enAxSTATE_MOVE_ABSOLUTE_TRIGSTP:
Axis_MC_BR_MoveAbsoluteTriggStop.Position := lAxis.Para.rPosition;
Axis_MC_BR_MoveAbsoluteTriggStop.Velocity := lAxis.Para.rVelocity;
Axis_MC_BR_MoveAbsoluteTriggStop.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_MoveAbsoluteTriggStop.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_BR_MoveAbsoluteTriggStop.Direction := lAxis.Para.usDirection; //Interesting on Periodic Axises
//Triggerinput is configured in Init Up
Axis_MC_BR_MoveAbsoluteTriggStop.TriggerDistance := lAxis.Para.rTriggDistance;
Axis_MC_BR_MoveAbsoluteTriggStop.ForceTriggerDistance := mcOFF; // --> force Trigger Dist even if Dest Pos is Exeeded
Axis_MC_BR_MoveAbsoluteTriggStop.Execute := 1;
IF lAxis.bStop OR NOT lAxis.Move.bAbsolute THEN
Axis_MC_BR_MoveAbsoluteTriggStop.Execute := 0;
lAxis.Move.bAbsolute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF Axis_MC_BR_MoveAbsoluteTriggStop.Done THEN
Axis_MC_BR_MoveAbsoluteTriggStop.Execute := 0;
lAxis.Move.bAbsolute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Move Additive
enAxSTATE_MOVE_ADDITIVE:
Axis_MC_MoveAdditive.Distance := lAxis.Para.rDistance;
Axis_MC_MoveAdditive.Velocity := lAxis.Para.rVelocity;
Axis_MC_MoveAdditive.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_MoveAdditive.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_MoveAdditive.Execute := 1;
IF lAxis.bStop OR NOT lAxis.Move.bAdditive THEN
lAxis.Move.bAdditive := 0;
Axis_MC_MoveAdditive.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF Axis_MC_MoveAdditive.Done THEN
lAxis.Move.bAdditive := 0;
Axis_MC_MoveAdditive.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Move Additive
enAxSTATE_MOVE_ADDITIVE_TRIGSTP:
Axis_MC_BR_MoveAdditiveTriggStop.Distance := lAxis.Para.rDistance;
Axis_MC_BR_MoveAdditiveTriggStop.Velocity := lAxis.Para.rVelocity;
Axis_MC_BR_MoveAdditiveTriggStop.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_MoveAdditiveTriggStop.Deceleration := lAxis.Para.rDeceleration;
//Triggerinput is configured in Init Up
Axis_MC_BR_MoveAdditiveTriggStop.TriggerDistance := lAxis.Para.rTriggDistance;
Axis_MC_BR_MoveAdditiveTriggStop.ForceTriggerDistance := mcOFF; // --> force Trigger Dist even if Dest Pos is Exeeded
Axis_MC_BR_MoveAdditiveTriggStop.Execute := 1;
IF lAxis.bStop OR NOT lAxis.Move.bAdditive THEN
lAxis.Move.bAdditive := 0;
Axis_MC_MoveAdditive.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF Axis_MC_BR_MoveAdditiveTriggStop.Done THEN
lAxis.Move.bAdditive := 0;
Axis_MC_BR_MoveAdditiveTriggStop.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Move Velocity
enAxSTATE_MOVE_VELOCITY:
Axis_MC_MoveVelocity.Velocity := lAxis.Para.rVelocity;
Axis_MC_MoveVelocity.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_MoveVelocity.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_MoveVelocity.Direction := lAxis.Para.usDirection;
Axis_MC_MoveVelocity.Execute := 1;
IF lAxis.bStop THEN
Axis_MC_MoveVelocity.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
END_IF
//==============================================
//Move Velocity Control (Only POWERLINK)
//FixMe just prepared
enAxSTATE_MOVE_VELOCITY_CTRL:
Axis_MC_BR_VelocityControl.CyclicVelocityCorrection := 0;
Axis_MC_BR_VelocityControl.CyclicVelocity := lAxis.Para.rVelocity;
Axis_MC_BR_VelocityControl.CyclicTorque := lAxis.Para.rTorqueLimit;
Axis_MC_BR_VelocityControl.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_VelocityControl.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_BR_VelocityControl.TorqueMode := mcLIMIT;
Axis_MC_BR_VelocityControl.Enable := 1;
//==============================================
//Move Torque Control
enAxSTATE_MOVE_TORQUE_CTRL:
Axis_MC_BR_TorqueControl.StartSignal := NOT lAxis.bStop;
Axis_MC_BR_TorqueControl.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_BR_TorqueControl.PosMaxVelocity := lAxis.Para.rVelocity;
Axis_MC_BR_TorqueControl.NegMaxVelocity := -lAxis.Para.rVelocity;
Axis_MC_BR_TorqueControl.Mode := mcCHECK_HOMING_OFF;
//mcV_LIMIT_OFF; //(No Speed Limit)
//mcV_LIMIT_CALC; //(No Speed Overrrun)
//mcTIME_LIMIT; //(Enable Timelimit)
Axis_MC_BR_TorqueControl.TimeLimit := 0;
Axis_MC_BR_TorqueControl.StartParID := 0; //Not Used by now
Axis_MC_BR_TorqueControl.TorqueRamp := 0; //Ramp Disabled
Axis_MC_BR_TorqueControl.Torque := lAxis.Para.rTorqueLimit;
//Axis_MC_BR_TorqueControl.TorqueParID := 0; //Alternative Torque Source
Axis_MC_BR_TorqueControl.Enable := 1;
//Trigger Parameter rewrite
Axis_MC_BR_TorqueControl.InitData := (lAxis.Para.rVelocity <> rOldVelocity) OR
(lAxis.Para.rTorqueLimit <> rOldTorquelimit);
rOldVelocity := lAxis.Para.rVelocity;
rOldTorquelimit := lAxis.Para.rTorqueLimit;
lAxis.Status.bTorqueLimitReached := Axis_MC_BR_TorqueControl.InTorque AND
NOT Axis_MC_BR_TorqueControl.AxisLimitActive;
IF lAxis.bStop THEN
Axis_MC_BR_TorqueControl.Enable := 0;
lAxis.Status.bTorqueLimitReached := 0;
lAxis.enStep := enAxSTATE_STOP;
END_IF
//==============================================
//Move GEAR START
enAxSTATE_MOVE_GEAR_START:
Axis_MC_GearIn.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_GearIn.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_GearIn.RatioNumerator := lAxis.Para.iGearRatioNumerator;
Axis_MC_GearIn.RatioDenominator := lAxis.Para.uiGearRatioDenominator;
Axis_MC_GearIn.Execute := 1;
IF Axis_MC_GearIn.InGear THEN
Axis_MC_GearIn.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
ELSIF lAxis.bStop THEN
Axis_MC_GearIn.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF lAxis.Move.bStopGearSlave THEN
lAxis.Move.bStopGearSlave := 0;
Axis_MC_GearIn.Execute := 0;
lAxis.enStep := enAxSTATE_MOVE_GEAR_STOP;
END_IF
//==============================================
//Move GEAR POS START
enAxSTATE_MOVE_GEARPOS_START:
Axis_MC_GearInPos.Acceleration := lAxis.Para.rAcceleration;
Axis_MC_GearInPos.RatioNumerator := lAxis.Para.iGearRatioNumerator;
Axis_MC_GearInPos.RatioDenominator := lAxis.Para.uiGearRatioDenominator;
Axis_MC_GearInPos.MasterSyncPosition := lAxis.Para.rGearMasterSyncPos;
Axis_MC_GearInPos.SlaveSyncPosition := lAxis.Para.rGearSlaveSyncPos;
Axis_MC_GearInPos.Velocity := lAxis.Para.rGearSyncVelocity;
Axis_MC_GearInPos.Acceleration := lAxis.Para.rGearSyncAcceleration;
Axis_MC_GearInPos.SyncMode := mcSHORTEST_WAY;
Axis_MC_GearInPos.Execute := 1;
IF Axis_MC_GearInPos.InSync THEN
Axis_MC_GearIn.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
ELSIF lAxis.bStop THEN
Axis_MC_GearInPos.Execute := 0;
lAxis.enStep := enAxSTATE_STOP;
ELSIF lAxis.Move.bStopGearSlave THEN
lAxis.Move.bStopGearSlave := 0;
Axis_MC_GearInPos.Execute := 0;
lAxis.enStep := enAxSTATE_MOVE_GEAR_STOP;
END_IF
//==============================================
//Move GEAR STOP
enAxSTATE_MOVE_GEAR_STOP:
Axis_MC_GearOut.Execute := 1;
IF Axis_MC_GearOut.Done THEN
Axis_MC_GearOut.Execute := 0;
lAxis.enStep := enAxSTATE_READY;
END_IF
//==============================================
//Stop after an Error
enAxSTATE_STOP_AFTER_ERROR:
IF (lAxis.Status.bMotionContinous) OR
(lAxis.Status.bMotionDiscrete) OR
(lAxis.Status.bMotionSynchronized) OR
(lAxis.Status.bHoming) THEN
Axis_MC_Stop.Deceleration := lAxis.Para.rDeceleration;
Axis_MC_Stop.Execute := TRUE;
IF Axis_MC_Stop.Done OR Axis_MC_Stop.Error THEN
Axis_MC_Stop.Execute := FALSE;
lAxis.enStep := enAxSTATE_ERROR;
END_IF
ELSE
lAxis.enStep := enAxSTATE_ERROR;
END_IF
//==============================================
//Error
enAxSTATE_ERROR:
bDisableCommands := TRUE;
IF Axis_MC_BR_ReadAxisError.Valid THEN
IF (Axis_MC_BR_ReadAxisError.ErrorRecord.Number <> 0) THEN
lAxis.Error.uiID := Axis_MC_BR_ReadAxisError.ErrorRecord.Number;
END_IF
IF lAxis.Error.bAcknowledge THEN
lAxis.Error.bAcknowledge := FALSE;
IF (Axis_MC_BR_ReadAxisError.ErrorRecord.Number <> 0) THEN
Axis_MC_BR_ReadAxisError.Acknowledge:=TRUE;
END_IF
lAxis.enStep := enAxSTATE_ERROR_CHECK;
END_IF
END_IF
//==============================================
//Error Axis
enAxSTATE_ERROR_CHECK:
IF (Axis_MC_BR_ReadAxisError.Valid) THEN
IF (Axis_MC_BR_ReadAxisError.ErrorRecord.Number = 0) THEN
lAxis.Error.uiID := 0;
(* reset axis state IF the axis is in state ErrorStop *)
IF lAxis.Status.bErrorstop AND Axis_MC_ReadStatus.Valid THEN
lAxis.enStep := enAxSTATE_ERROR_RESET;
ELSE
lAxis.enStep := enAxSTATE_WAIT;
END_IF
ELSE
lAxis.enStep := enAxSTATE_ERROR;
END_IF
Axis_MC_BR_ReadAxisError.Acknowledge := FALSE;
END_IF
//==============================================
//Reset DONE
enAxSTATE_ERROR_RESET:
Axis_MC_Reset.Execute := 1;
IF Axis_MC_Power.Error THEN
Axis_MC_Power.Enable := 0;
END_IF
IF Axis_MC_Reset.Done THEN
Axis_MC_Reset.Execute := 0;
lAxis.enStep := enAxSTATE_WAIT;
ELSIF (Axis_MC_Reset.ErrorID <> 0) THEN
lAxis.Error.uiID := Axis_MC_Reset.ErrorID;
Axis_MC_Reset.Execute := 0;
lAxis.enStep := enAxSTATE_ERROR;
END_IF
END_CASE
IF bDisableCommands THEN
//reset power
Axis_MC_Power.Enable := 0;
//reset all fb execute inputs we use
Axis_MC_Home.Execute := 0;
Axis_MC_BR_BrakeControl.Execute := 0;
Axis_MC_BR_Simulation.Execute := 0;
Axis_MC_Stop.Execute := 0;
Axis_MC_MoveAbsolute.Execute := 0;
Axis_MC_BR_MoveAbsoluteTriggStop.Execute := 0;
Axis_MC_MoveAdditive.Execute := 0;
Axis_MC_BR_MoveAdditiveTriggStop.Execute := 0;
Axis_MC_MoveVelocity.Execute := 0;
Axis_MC_MoveVelocity.Execute := 0;
Axis_MC_BR_VelocityControl.Enable := 0;
Axis_MC_BR_TorqueControl.Enable := 0;
Axis_MC_GearIn.Execute := 0;
Axis_MC_GearInPos.Execute := 0;
Axis_MC_GearOut.Execute := 0;
Axis_MC_Reset.Execute := 0;
//reset user commands
lAxis.bStop := 0;
lAxis.bHome := 0;
lAxis.Move.bBraketest := 0;
lAxis.Move.bJogPos := 0;
lAxis.Move.bJogNeg := 0;
lAxis.Move.bVelocity := 0;
lAxis.Move.bVelocityControl := 0;
lAxis.Move.bAbsolute := 0;
lAxis.Move.bAdditive := 0;
lAxis.Move.bTorqueControl := 0;
lAxis.Move.bStartGearSlave := 0;
lAxis.Move.bStartGearPosSlave := 0;
lAxis.Move.bStopGearSlave := 0;
bDisableCommands := FALSE;
END_IF
//--------------------------------------------
//Override Velocity and Acceleration
Axis_MC_SetOverride.Enable := (lAxis.Para.rOverrideVelocity <> 1.0) OR (lAxis.Para.rOverrideAcceleration <> 1.0);
Axis_MC_SetOverride.VelFactor := lAxis.Para.rOverrideVelocity;
Axis_MC_SetOverride.AccFactor := lAxis.Para.rOverrideAcceleration;
Axis_MC_SetOverride ();
//--------------------------------------------
//Call Function Blocks
Axis_MC_Power ();
Axis_MC_BR_Simulation ();
Axis_MC_Home ();
Axis_MC_BR_BrakeControl ();
Axis_MC_BR_InitModPos();
Axis_MC_BR_JogVelocity ();
Axis_MC_BR_JogLimitPosition ();
Axis_MC_BR_JogTargetPosition ();
Axis_MC_MoveAbsolute ();
Axis_MC_BR_MoveAbsoluteTriggStop();
Axis_MC_MoveAdditive ();
Axis_MC_BR_MoveAdditiveTriggStop ();
Axis_MC_MoveVelocity ();
AXis_MC_BR_MoveVelocityTriggStop ();
Axis_MC_GearIn ();
Axis_MC_GearInPos ();
Axis_MC_GearOut ();
Axis_MC_Stop ();
Axis_MC_Reset ();
Axis_MC_BR_TorqueControl ();
//--------------------------------------------
//Cyclic Parameter Read
Axis_MC_BR_CyclicRead.Enable := 0;
//Axis_MC_BR_CyclicRead.ParID ;= 4160 ; 4160 User Variable0 I2
//Axis_MC_BR_CyclicRead.DataAddress = adr ()
//Axis_MC_BR_CyclicRead.DataType = ncPAR_TYP_INT
Axis_MC_BR_CyclicRead ();
//---------------------------------------------
//Read individual Parameter
IF Axis_MC_BR_ReadParID.Done THEN
END_IF
IF Axis_MC_BR_ReadParID.Error THEN
uiMCReadError := Axis_MC_BR_ReadParID.ErrorID;
END_IF
Axis_MC_BR_ReadParID.Execute := 0;
Axis_MC_BR_ReadParID.ParID := 4128;
Axis_MC_BR_ReadParID.DataAddress := ADR (lAxis);
Axis_MC_BR_ReadParID.DataType := ncPAR_TYP_REAL;
Axis_MC_BR_ReadParID ();
//--------------------------------------------
//Write individual Parameter
//Write UserParam1 on change
(*
rUser_Var1 access lAxis.Para.udAdrParamUserVar1
if (rUser_VarTemp <> rUser_Var1) and\
not Axis_MC_BR_WriteParID.Busy then
Axis_MC_BR_WriteParID.Execute = 1
rUser_VarTemp = rUser_Var1
END_IF
if Axis_MC_BR_WriteParID.Done or Axis_MC_BR_WriteParID.Error then
if Axis_MC_BR_WriteParID.Error then
uiMCWriteError = Axis_MC_BR_WriteParID.ErrorID
END_IF
Axis_MC_BR_WriteParID.Execute := 0;
END_IF
Axis_MC_BR_WriteParID.ParID = 586 ;USER_R4_VAR1
Axis_MC_BR_WriteParID.DataAddress = adr (rUser_VarTemp)
Axis_MC_BR_WriteParID.DataType = ncPAR_TYP_REAL
Axis_MC_BR_WriteParID fub MC_BR_WriteParID ()
*)
//-----------------------------------------------
//Cyclick write of Parameter
Axis_MC_BR_CyclicWrite.Enable := 0;
Axis_MC_BR_CyclicWrite.DataAddress := ADR (rUser_VarTemp);
Axis_MC_BR_CyclicWrite.DataType := ncPAR_TYP_REAL;
Axis_MC_BR_CyclicWrite.ParID := 586; //USER_R4_VAR1
Axis_MC_BR_CyclicWrite ();
END_PROGRAM

View File

@@ -0,0 +1,90 @@
PROGRAM _INIT
(* init program *)
//Which Axis
lAxis ACCESS ADR (gAxis[0]);
lAxisActPos ACCESS ADR (gAxisActPos[0]);
lAxisMaster ACCESS ADR (gAxis[0]);
lbSimulation ACCESS ADR (gMachine1.bAxisSimulation);
rUser_Var1 ACCESS ADR (grDummy);
lAxis.bVAxis := FALSE;
//Configure Trigger for Triggermovements (Absolute/Additive/Velocity)
Axis_MC_BR_MoveAbsoluteTriggStop.TriggerInput.InputSource := ncTRIGGER1; //ncTrigger2
Axis_MC_BR_MoveAbsoluteTriggStop.TriggerInput.Edge := ncP_EDGE; //ncN_Edge
Axis_MC_BR_MoveAdditiveTriggStop.TriggerInput.InputSource := ncTRIGGER1; //ncTrigger2
Axis_MC_BR_MoveAdditiveTriggStop.TriggerInput.Edge := ncP_EDGE; //ncN_Edge
AXis_MC_BR_MoveVelocityTriggStop.TriggerInput.InputSource := ncTRIGGER1; //ncTrigger2
AXis_MC_BR_MoveVelocityTriggStop.TriggerInput.Edge := ncP_EDGE; //ncN_Edge
//Access global ACP10 Axis Objects
udAxisObj := ADR (gAxR1G2);
//This Axis is always slave (in case OF CAM/Gear)
udAxisMasterObj := ADR (gAxR1G2);
udAxisSlaveObj := udAxisObj;
//Initial Step
lAxis.enStep := enAxSTATE_WAIT;
//Overhand Axis Obj to FunctionBlocks
Axis_MC_BR_AxisErrorCollector.Axis := udAxisObj;
Axis_MC_BR_ReadDriveStatus.Axis := udAxisObj;
Axis_MC_BR_ReadDriveStatus.AdrDriveStatus := ADR (lAxis.DriveStatus);
Axis_MC_BR_JogVelocity.Axis := udAxisObj;
Axis_MC_BR_JogLimitPosition.Axis := udAxisObj;
Axis_MC_BR_JogTargetPosition.Axis := udAxisObj;
Axis_MC_BR_Simulation.Axis := udAxisObj;
Axis_MC_BR_SetHardwareInputs.Axis := udAxisObj;
Axis_MC_BR_TorqueControl.Axis := udAxisObj;
Axis_MC_BR_VelocityControl.Axis := udAxisObj;
Axis_MC_ACP_ENCOD_REF.Axis := udAxisObj;
Axis_MC_GearIn.Master := udAxisMasterObj;
Axis_MC_GearIn.Slave := udAxisSlaveObj;
Axis_MC_GearInPos.Master := udAxisMasterObj;
Axis_MC_GearInPos.Slave := udAxisSlaveObj;
Axis_MC_GearOut.Slave := udAxisSlaveObj;
Axis_MC_Home.Axis := udAxisObj;
Axis_MC_BR_InitModPos.Axis := udAxisMasterObj;
Axis_MC_MoveAbsolute.Axis := udAxisObj;
Axis_MC_BR_MoveAbsoluteTriggStop.Axis := udAxisObj;
Axis_MC_MoveAdditive.Axis := udAxisObj;
Axis_MC_BR_MoveAdditiveTriggStop.Axis := udAxisObj;
Axis_MC_MoveVelocity.Axis := udAxisObj;
AXis_MC_BR_MoveVelocityTriggStop.Axis := udAxisObj;
Axis_MC_Power.Axis := udAxisObj;
Axis_MC_ReadActualPosition.Axis := udAxisObj;
Axis_MC_ReadActualVelocity.Axis := udAxisObj;
Axis_MC_ReadActualTorque.Axis := udAxisObj;
Axis_MC_BR_ReadAxisError.Axis := udAxisObj;
Axis_MC_BR_ReadAxisError.Mode := mcTEXT;
Axis_MC_BR_ReadAxisError.Configuration.DataAddress := ADR (lAxis.Error.Text);
Axis_MC_BR_ReadAxisError.Configuration.DataLength := SIZEOF (lAxis.Error.Text);
Axis_MC_BR_ReadAxisError.Configuration.DataObjectName := 'acp10etxde';
Axis_MC_BR_ReadAxisError.Configuration.Format := mcWRAP + mcNULL;
Axis_MC_BR_ReadAxisError.Configuration.LineLength := SIZEOF (lAxis.Error.Text[0]);
Axis_MC_ReadStatus.Axis := udAxisObj;
Axis_MC_Reset.Axis := udAxisObj;
Axis_MC_SetOverride.Axis := udAxisObj;
Axis_MC_Stop.Axis := udAxisObj;
//Parameter
Axis_MC_BR_CyclicRead.Axis := udAxisObj;
Axis_MC_BR_CyclicWrite.Axis := udAxisObj;
Axis_MC_BR_ReadParID.Axis := udAxisObj;
Axis_MC_BR_WriteParID.Axis := udAxisObj;
//Enable Fubs
Axis_MC_BR_AxisErrorCollector.Enable := TRUE;
Axis_MC_BR_ReadAxisError.Enable := TRUE;
Axis_MC_ReadStatus.Enable := TRUE;
Axis_MC_ReadActualPosition.Enable := TRUE;
Axis_MC_ReadActualVelocity.Enable := TRUE;
Axis_MC_ReadActualTorque.Enable := TRUE; //Not for Stepper Axises
Axis_MC_BR_ReadDriveStatus.Enable := TRUE;
END_PROGRAM

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Initialization code">AxisctrlR1G2.st</File>
<File Description="Cyclic code">AxisctrlCyclic.st</File>
<File Description="Local variables" Private="true">Axisctrl.var</File>
</Files>
</Program>

View File

@@ -0,0 +1,90 @@
PROGRAM _INIT
(* init program *)
//Which Axis
lAxis ACCESS ADR (gAxis[1]);
lAxisActPos ACCESS ADR (gAxisActPos[1]);
lAxisMaster ACCESS ADR (gAxis[1]);
lbSimulation ACCESS ADR (gMachine2.bAxisSimulation);
rUser_Var1 ACCESS ADR (grDummy);
lAxis.bVAxis := FALSE;
//Configure Trigger for Triggermovements (Absolute/Additive/Velocity)
Axis_MC_BR_MoveAbsoluteTriggStop.TriggerInput.InputSource := ncTRIGGER1; //ncTrigger2
Axis_MC_BR_MoveAbsoluteTriggStop.TriggerInput.Edge := ncP_EDGE; //ncN_Edge
Axis_MC_BR_MoveAdditiveTriggStop.TriggerInput.InputSource := ncTRIGGER1; //ncTrigger2
Axis_MC_BR_MoveAdditiveTriggStop.TriggerInput.Edge := ncP_EDGE; //ncN_Edge
AXis_MC_BR_MoveVelocityTriggStop.TriggerInput.InputSource := ncTRIGGER1; //ncTrigger2
AXis_MC_BR_MoveVelocityTriggStop.TriggerInput.Edge := ncP_EDGE; //ncN_Edge
//Access global ACP10 Axis Objects
udAxisObj := ADR (gAxR1G2);
//This Axis is always slave (in case OF CAM/Gear)
udAxisMasterObj := ADR (gAxR1G2);
udAxisSlaveObj := udAxisObj;
//Initial Step
lAxis.enStep := enAxSTATE_WAIT;
//Overhand Axis Obj to FunctionBlocks
Axis_MC_BR_AxisErrorCollector.Axis := udAxisObj;
Axis_MC_BR_ReadDriveStatus.Axis := udAxisObj;
Axis_MC_BR_ReadDriveStatus.AdrDriveStatus := ADR (lAxis.DriveStatus);
Axis_MC_BR_JogVelocity.Axis := udAxisObj;
Axis_MC_BR_JogLimitPosition.Axis := udAxisObj;
Axis_MC_BR_JogTargetPosition.Axis := udAxisObj;
Axis_MC_BR_Simulation.Axis := udAxisObj;
Axis_MC_BR_SetHardwareInputs.Axis := udAxisObj;
Axis_MC_BR_TorqueControl.Axis := udAxisObj;
Axis_MC_BR_VelocityControl.Axis := udAxisObj;
Axis_MC_ACP_ENCOD_REF.Axis := udAxisObj;
Axis_MC_GearIn.Master := udAxisMasterObj;
Axis_MC_GearIn.Slave := udAxisSlaveObj;
Axis_MC_GearInPos.Master := udAxisMasterObj;
Axis_MC_GearInPos.Slave := udAxisSlaveObj;
Axis_MC_GearOut.Slave := udAxisSlaveObj;
Axis_MC_Home.Axis := udAxisObj;
Axis_MC_BR_InitModPos.Axis := udAxisMasterObj;
Axis_MC_MoveAbsolute.Axis := udAxisObj;
Axis_MC_BR_MoveAbsoluteTriggStop.Axis := udAxisObj;
Axis_MC_MoveAdditive.Axis := udAxisObj;
Axis_MC_BR_MoveAdditiveTriggStop.Axis := udAxisObj;
Axis_MC_MoveVelocity.Axis := udAxisObj;
AXis_MC_BR_MoveVelocityTriggStop.Axis := udAxisObj;
Axis_MC_Power.Axis := udAxisObj;
Axis_MC_ReadActualPosition.Axis := udAxisObj;
Axis_MC_ReadActualVelocity.Axis := udAxisObj;
Axis_MC_ReadActualTorque.Axis := udAxisObj;
Axis_MC_BR_ReadAxisError.Axis := udAxisObj;
Axis_MC_BR_ReadAxisError.Mode := mcTEXT;
Axis_MC_BR_ReadAxisError.Configuration.DataAddress := ADR (lAxis.Error.Text);
Axis_MC_BR_ReadAxisError.Configuration.DataLength := SIZEOF (lAxis.Error.Text);
Axis_MC_BR_ReadAxisError.Configuration.DataObjectName := 'acp10etxde';
Axis_MC_BR_ReadAxisError.Configuration.Format := mcWRAP + mcNULL;
Axis_MC_BR_ReadAxisError.Configuration.LineLength := SIZEOF (lAxis.Error.Text[0]);
Axis_MC_ReadStatus.Axis := udAxisObj;
Axis_MC_Reset.Axis := udAxisObj;
Axis_MC_SetOverride.Axis := udAxisObj;
Axis_MC_Stop.Axis := udAxisObj;
//Parameter
Axis_MC_BR_CyclicRead.Axis := udAxisObj;
Axis_MC_BR_CyclicWrite.Axis := udAxisObj;
Axis_MC_BR_ReadParID.Axis := udAxisObj;
Axis_MC_BR_WriteParID.Axis := udAxisObj;
//Enable Fubs
Axis_MC_BR_AxisErrorCollector.Enable := TRUE;
Axis_MC_BR_ReadAxisError.Enable := TRUE;
Axis_MC_ReadStatus.Enable := TRUE;
Axis_MC_ReadActualPosition.Enable := TRUE;
Axis_MC_ReadActualVelocity.Enable := TRUE;
Axis_MC_ReadActualTorque.Enable := TRUE; //Not for Stepper Axises
Axis_MC_BR_ReadDriveStatus.Enable := TRUE;
END_PROGRAM

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Initialization code">AxisctrlR2G2.st</File>
<File Reference="true">\Logical\Axises\Axisctrl\AxisctrlCyclic.st</File>
<File Description="Local variables" Private="true" Reference="true">\Logical\Axises\Axisctrl\Axisctrl.var</File>
</Files>
</Program>

View File

@@ -1,5 +1,6 @@
VAR
gAxis : ARRAY[0..6] OF typAxis; (*Axis Datasructure / Controlinterface*)
gAxis : ARRAY[0..1] OF typAxis; (*Axis Datasructure / Controlinterface*)
gAxisActPos : ARRAY[0..1] OF REAL;
grDummy : REAL; (*Dummy Real to be accessed from Axistasks*)
gToolalarms : typAlarm; (*Werkzeugalarme*)
gCmdTightenBelt1Rob1 : BOOL; (*Spannen Band 1 Roboter 1*)

View File

@@ -53,7 +53,7 @@ TYPE
enROB_PRG_SPL := 17, (*Alps Sport Links*)
enROB_PRG_LUR := 18, (*Alps Luxus Rechts*)
enROB_PRG_LUL := 19, (*Alps Luxus Links*)
enROB_PRG_BAR := 18, (*Alps Basis Rechts*)
enROB_PRG_BAL := 19 (*Alps Basis Links*)
enROB_PRG_BAR := 20, (*Alps Basis Rechts*)
enROB_PRG_BAL := 21 (*Alps Basis Links*)
);
END_TYPE

View File

@@ -1,6 +1,6 @@
VAR
gbTool1CountUp : BOOL; (*St<53>ckz<6B>hler erh<72>hen*)
gbTool2CountUp : BOOL; (*St<53>ckz<6B>hler erh<72>hen*)
gbRob1CountUp : BOOL; (*St<53>ckz<6B>hler erh<72>hen*)
gbRob2CountUp : BOOL; (*St<53>ckz<6B>hler erh<72>hen*)
genStepTool1Home : typ_enStepTool1Home; (*Schritte Werkzeug 1*)
genStepTool2Home : typ_enStepTool2Home; (*Schritte Werkzeug 2*)
gTool1Interface : typ_ToolInterface; (*Interface zu Werkzeug 1*)
@@ -14,9 +14,30 @@ END_VAR
(*Permanent*)
VAR RETAIN
gusSelectedTool : USINT; (*Angew<65>hltes Werkzeug*)
gudPartCountShift : UDINT; (*Schichtz<74>hler*)
gudPartCountOverall : UDINT; (*Gesamtz<EFBFBD>hler*)
gudPartCountShiftRob1 : ARRAY[10..25] OF UDINT; (*Schichtz<74>hler (Array 10-25) Roboter 1*)
gudPartCountShiftRob2 : ARRAY[10..25] OF UDINT; (*Schichtz<EFBFBD>hler (Array 10-25) Roboter 2*)
gudPartCountBelt1Rob1 : ARRAY[10..25] OF UDINT; (*Teilez<65>hler Band Schleifer 1 (Array 10-25) Roboter 1*)
gudPartCountBelt1Rob2 : ARRAY[10..25] OF UDINT; (*Teilez<65>hler Band Schleifer 1 (Array 10-25) Roboter 2*)
gudPartCountBelt2Rob1 : ARRAY[10..25] OF UDINT; (*Teilez<65>hler Band Schleifer 2 (Array 10-25) Roboter 1*)
gudPartCountBelt2Rob2 : ARRAY[10..25] OF UDINT; (*Teilez<65>hler Band Schleifer 2 (Array 10-25) Roboter 2*)
gudPartCountOverallRob1 : ARRAY[10..25] OF UDINT; (*Gesamtz<74>hler (Array 10-25) Roboter 1*)
gudPartCountOverallRob2 : ARRAY[10..25] OF UDINT; (*Gesamtz<74>hler (Array 10-25) Roboter 2*)
gPressParamTools : ARRAY[0..5] OF typ_PressParam; (*Werkzeug abh<62>ngige Positionen*)
grPressSpeedEmpty : REAL := 2000.0; (*Presse Leergeschwindigkeit [0.1mm/s] max 200mm/s limited to 100mm/s*)
gudGreaseCycle : UDINT; (*Takte nach denen Geschmiert werden soll*)
END_VAR
(*//TOOLIDs from Robotinterface*)
VAR CONSTANT
TOOLID_FKA : USINT := 2#00000011; (*Werkzeugkodierung Bin<69>r*)
TOOLID_FFG : USINT := 2#00000101; (*Werkzeugkodierung Bin<69>r*)
TOOLID_LUL : USINT := 2#00001001; (*Werkzeugkodierung Bin<69>r*)
TOOLID_LUR : USINT := 2#00000000; (*Werkzeugkodierung Bin<69>r FiXMe*)
TOOLID_BAL : USINT := 2#00000000; (*Werkzeugkodierung Bin<69>r FixMe*)
TOOLID_BAR : USINT := 2#00000000; (*Werkzeugkodierung Bin<69>r FixMe*)
TOOLID_SPL : USINT := 2#11111111; (*Werkzeugkodierung Bin<69>r*)
TOOLID_SPR : USINT := 2#11111111; (*Werkzeugkodierung Bin<69>r*)
TOOLID_BEL : USINT := 2#11111111; (*Werkzeugkodierung Bin<69>r*)
TOOLID_CBF : USINT := 2#11111111; (*Werkzeugkodierung Bin<69>r*)
TOOLID_MAL : USINT := 2#11111111; (*Werkzeugkodierung Bin<69>r*)
TOOLID_FoKo : USINT := 2#11111111; (*Werkzeugkodierung Bin<69>r*)
END_VAR

View File

@@ -13,15 +13,34 @@ PROGRAM _CYCLIC
lMachine.bRequestHoming := FALSE;
END_IF
TON_SafetyOk.IN := lbSafetyOk;
TON_SafetyOk.PT := t#250ms;
TON_SafetyOk ();
//FixME SafetySignals to use
TON_SafetyOk.IN := lbSafetyOk;
TON_SafetyOk.PT := t#500ms;
TON_SafetyOk ();
TON_SafetyOkDoorzone.IN := lbSafetyOkDoorZone;
TON_SafetyOkDoorzone.PT := t#1500ms;
TON_SafetyOkDoorzone ();
bSafetyOk := TON_SafetyOk.Q;
IF NOT bSafetyOk THEN
lABBRobot.Out.bSwitchMotorOn := FALSE;
END_IF
//Correct Tool on Robot
bToolOk := ((lenActivePrg = enROB_PRG_FKA) AND (lABBRobot.In.usToolCode = TOOLID_FKA)) OR
((lenActivePrg = enROB_PRG_FFG) AND (lABBRobot.In.usToolCode = TOOLID_FFG)) OR
((lenActivePrg = enROB_PRG_LUL) AND (lABBRobot.In.usToolCode = TOOLID_LUL)) OR
((lenActivePrg = enROB_PRG_LUR) AND (lABBRobot.In.usToolCode = TOOLID_LUR)) OR
((lenActivePrg = enROB_PRG_BAL) AND (lABBRobot.In.usToolCode = TOOLID_BAL)) OR
((lenActivePrg = enROB_PRG_BAR) AND (lABBRobot.In.usToolCode = TOOLID_BAR)) OR
((lenActivePrg = enROB_PRG_SPL) AND (lABBRobot.In.usToolCode = TOOLID_SPL)) OR
((lenActivePrg = enROB_PRG_SPR) AND (lABBRobot.In.usToolCode = TOOLID_SPR)) OR
((lenActivePrg = enROB_PRG_BEL) AND (lABBRobot.In.usToolCode = TOOLID_BEL)) OR
((lenActivePrg = enROB_PRG_MAL) AND (lABBRobot.In.usToolCode = TOOLID_MAL)) OR
((lenActivePrg = enROB_PRG_FoKo) AND (lABBRobot.In.usToolCode = TOOLID_FoKo));
//Move Conditions
MoveConditions.bEnableNegSlay1 := (lMachine.bSetupMode OR (lMachine.enMode = enMACH_JOG)) AND lbGateIsOpen;
MoveConditions.bEnablePosSlay1 := (lMachine.bSetupMode OR (lMachine.enMode = enMACH_JOG)) AND lbGateIsOpen;
@@ -60,6 +79,25 @@ PROGRAM _CYCLIC
ManualCommands.bStartGrinder1 := FALSE;
END_IF
//Reset Steps and Machine Commands
IF (lMachine.enMode <> enMACH_HOMEPOS) THEN
enStepHoming := enHomingStep_INIT;
END_IF
IF (lMachine.enMode <> enMACH_AUTOMATIC) THEN
enStepAuto := enAutoStep_INIT;
IF (enTool1State = enTool_Loaded) THEN
enTool1State := enTool_Empty;
END_IF
END_IF
IF (lMachine.enMode <> enOldMachMode) THEN
lABBRobot.Out.bStart := FALSE;
lABBRobot.Out.bStartAtMain := FALSE;
END_IF
enOldMachMode := lMachine.enMode;
//Jog Mode
//==========================================================================================
IF lMachine.enMode = enMACH_JOG THEN
@@ -93,7 +131,7 @@ PROGRAM _CYCLIC
//---------------------------
enHomingStep_WAIT_START:
udCycletime := 0;
bTransitionCondition := EDGEPOS (lbStartKey1 OR lbStartKey2);
bTransitionCondition := EDGEPOS (lbStartKey1 OR lbStartKey2) AND bSafetyOk;
IF bTransitionCondition THEN
enStepHoming := enHomingStep_WAIT_MOTORS_ON;
@@ -105,12 +143,10 @@ PROGRAM _CYCLIC
enHomingStep_WAIT_MOTORS_ON:
IF NOT lABBRobot.In.bEStop AND NOT lABBRobot.In.bMotorsOn THEN
lABBRobot.Out.bSwitchMotorOn := TRUE;
lABBRobot.Out.bStart := TRUE;
END_IF
IF lABBRobot.In.bMotorsOn THEN
lABBRobot.Out.bSwitchMotorOn := FALSE;
lABBRobot.Out.bStart := FALSE;
enStepHoming := enHomingStep_WAIT_IN_CYCLE;
udSteptime := 0;
END_IF
@@ -120,10 +156,12 @@ PROGRAM _CYCLIC
enHomingStep_WAIT_IN_CYCLE:
IF NOT lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := TRUE;
lABBRobot.Out.bStart := TRUE;
END_IF
IF lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := FALSE;
lABBRobot.Out.bStart := FALSE;
enStepHoming := enHomingStep_START_HOME;
udSteptime := 0;
END_IF
@@ -139,7 +177,7 @@ PROGRAM _CYCLIC
udSteptime := 0;
END_IF
//Wait for Robot finished Grinding
//Wait for Robot finished Homing
//---------------------------
enHomingStep_WAIT_FINISHED:
IF lABBRobot.In.usStatus = lABBRobot.Out.usProgNr THEN
@@ -152,8 +190,14 @@ PROGRAM _CYCLIC
//Automatic Mode
//==========================================================================================
ELSIF (lMachine.enMode = enMACH_AUTOMATIC) THEN
IF (enStepAuto = enAutoStep_WAIT_START) AND EDGEPOS (gbInStartKey1Rob1 OR gbInStartKey2Rob1) AND NOT gbInKeyReleasePart THEN
enTool1State := enTool_Loaded;
IF (enStepAuto = enAutoStep_WAIT_START) AND EDGENEG (gbInStartKey1Rob1) THEN
IF NOT bToolOk THEN
lMachineAlarms.Alarm[3] := TRUE; // Bad Tool
ELSIF lbKeyReleasePart THEN
lMachineAlarms.Alarm[5] := TRUE; // Tool not Locked
ELSE
enTool1State := enTool_Loaded;
END_IF
END_IF
IF gbInKeyReleasePart THEN
@@ -164,6 +208,11 @@ PROGRAM _CYCLIC
lenActivePrg := enProgramSelection;
END_IF
//Estop during Automatic
IF NOT bSafetyOk AND (enStepAuto > enAutoStep_WAIT_START) THEN
enStepAuto := enAutoStep_WAIT_RESTART;
bRestarted := FALSE;
END_IF
//Robot Automatic
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CASE enStepAuto OF
@@ -171,7 +220,8 @@ PROGRAM _CYCLIC
//---------------------------
enAutoStep_INIT:
lABBRobot.Out.usProgNr := ROB_PRG_IDLE;
bTransitionCondition := lABBRobot.In.bWZChangePart; // NOT lMachine.bRequestHoming AND bMachineIsInHomepos
bTransitionCondition := lABBRobot.In.bWZChangePart AND lABBRobot.In.bAutomatic AND NOT lABBRobot.In.bEStop; // NOT lMachine.bRequestHoming AND bMachineIsInHomepos
bRestarted := FALSE;
IF NOT lABBRobot.In.bWZChangePart THEN
lMachine.bRequestHoming := TRUE;
END_IF
@@ -180,17 +230,33 @@ PROGRAM _CYCLIC
udSteptime := 0;
END_IF
//Wait for Restart after E-Stop:
//---------------------------
enAutoStep_WAIT_RESTART:
bTransitionCondition := bSafetyOk AND lMachine.bRestartOK;
IF NOT lMachine.bRestartOK THEN
enStepAuto := enAutoStep_INIT;
ELSIF bTransitionCondition THEN
enStepAuto := enAutoStep_WAIT_MOTORS_ON;
udSteptime := 0;
udCycletime := 0;
bRestarted := FALSE;
END_IF
//Wait for Start
//---------------------------
enAutoStep_WAIT_START:
udCycletime := 0;
bTransitionCondition := (udSteptime > 500) AND lABBRobot.In.bWZChangePart AND bSafetyOk AND
lbTightenBelt1 := NOT lbKeySwitchDoor;
bTransitionCondition := (udSteptime > 500) AND lABBRobot.In.bWZChangePart AND bSafetyOk AND lbTightenBelt1 AND
(((enTool1State = enTool_Loaded)) OR ((enTool2State = enTool_Loaded)));
IF bTransitionCondition THEN
lMachine.bRestartOK := TRUE;
enStepAuto := enAutoStep_WAIT_MOTORS_ON;
udSteptime := 0;
udCycletime := 0;
END_IF
//Wait Motors On
@@ -210,7 +276,7 @@ PROGRAM _CYCLIC
//---------------------------
enAutoStep_WAIT_IN_CYCLE:
IF NOT lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := TRUE;
lABBRobot.Out.bStartAtMain := bRestarted;
lABBRobot.Out.bStart := TRUE;
END_IF
@@ -239,33 +305,54 @@ PROGRAM _CYCLIC
enStepAuto := enAutoStep_INIT;
udSteptime := 0;
enTool1State := enTool_TobeUnload;
lbIncreaseCounter := TRUE;
udCycletimeLast := udCycletime;
END_IF
END_CASE;
END_IF;
//Disable Restart
IF (lMachine.enMode <> enMACH_AUTOMATIC) OR NOT lABBRobot.In.bAutomatic OR NOT lMachine.bMachineON THEN
lMachine.bRestartOK := FALSE;
END_IF
gbEnableNextStepBtn := bTransitionCondition AND (lMachine.enMode = enMACH_MANUAL);
//Set Output Commands
lbHoldDoorClosed := (enStepAuto <> enAutoStep_WAIT_START);
lbFinished := (enTool1State = enTool_TobeUnload);
//Start Grinder 1
IF (gABBRobot1.In.bGrinder1On OR ManualCommands.bStartGrinder1) AND lMachine.bMachineON THEN
IF (lABBRobot.In.bGrinder1On OR ManualCommands.bStartGrinder1) AND lMachine.bMachineON THEN
liSetSpeedGrinder1 := giSpeedGrinder1;
ELSE
liSetSpeedGrinder1 := 0;
END_IF;
//Start Grinder 2
lAxisGrinder2.Para.JogMode := enAxJOG;
lAxisGrinder2.Move.bJogPos := lAxisGrinder2.DriveStatus.bControllerStatus AND (lABBRobot.In.bGrinder2On OR ManualCommands.bStartGrinder2) AND lMachine.bMachineON AND lbDoorIsClosedHolded AND TON_SafetyOkDoorzone.Q;
//Alarms
//=====================================================
IF bToolOk OR (lMachine.enMode <> enMACH_AUTOMATIC) THEN
lMachineAlarms.Alarm[3] := FALSE; // Bad Tool
END_IF
//Steptime Control
//Motors On
lMachineAlarms.Alarm[100] := ((enStepHoming = enHomingStep_WAIT_MOTORS_ON) OR (enStepAuto = enAutoStep_WAIT_MOTORS_ON))
AND (udSteptime > 15000);
//Prg Run
lMachineAlarms.Alarm[101] := ((enStepHoming = enHomingStep_WAIT_IN_CYCLE) OR (enStepAuto = enAutoStep_WAIT_IN_CYCLE))
AND (udSteptime > 15000);
IF NOT lbKeyReleasePart OR (lMachine.enMode <> enMACH_AUTOMATIC) THEN
lMachineAlarms.Alarm[5] := FALSE; // Tool not Locked
END_IF
//Steptime Control
//Motors On
lMachineAlarms.Alarm[100] := ((enStepHoming = enHomingStep_WAIT_MOTORS_ON) OR (enStepAuto = enAutoStep_WAIT_MOTORS_ON))
AND (udSteptime > 15000);
//Prg Run
lMachineAlarms.Alarm[101] := ((enStepHoming = enHomingStep_WAIT_IN_CYCLE) OR (enStepAuto = enAutoStep_WAIT_IN_CYCLE))
AND (udSteptime > 15000);
END_PROGRAM

View File

@@ -4,6 +4,7 @@ TYPE
typ_enStepAuto :
( (*Schrittkette*)
enAutoStep_INIT := 0, (*Grundstellung pr<70>fen*)
enAutoStep_WAIT_RESTART, (*Auf Neustart Warten*)
enAutoStep_WAIT_START, (*Auf Start warten (Geladenes Teil / Schutztzor geschlossen)*)
enAutoStep_WAIT_MOTORS_ON, (*Pr<50>fen ob Roboter Motoren EIN*)
enAutoStep_WAIT_IN_CYCLE, (*Pr<50>fen ob Roboter im Zyklus*)

View File

@@ -2,7 +2,8 @@
(*//Dynamic Vars*)
VAR
lMachine : REFERENCE TO typMachine;
lbSafetyOk : REFERENCE TO BOOL;
lbSafetyOk : REFERENCE TO BOOL; (*Safety Workzone is Ok*)
lbSafetyOkDoorZone : REFERENCE TO BOOL; (*Safety Workzone is Ok*)
lbGateIsOpen : REFERENCE TO BOOL;
lbGateIsClosed : REFERENCE TO BOOL;
lbToolslay1IsOut : REFERENCE TO BOOL;
@@ -11,12 +12,18 @@ VAR
lbToolslay2IsIn : REFERENCE TO BOOL;
lbTightenBelt1 : REFERENCE TO BOOL;
lbTightenBelt2 : REFERENCE TO BOOL;
lbIncreaseCounter : REFERENCE TO BOOL;
lbHoldDoorClosed : REFERENCE TO BOOL;
lbDoorIsClosedHolded : REFERENCE TO BOOL;
lbFinished : REFERENCE TO BOOL;
lbKeyReleasePart : REFERENCE TO BOOL;
lbStartKey1 : REFERENCE TO BOOL;
lbStartKey2 : REFERENCE TO BOOL;
lbKeySwitchDoor : REFERENCE TO BOOL;
liSetSpeedGrinder1 : REFERENCE TO INT;
liSetSpeedGrinder2 : REFERENCE TO INT;
lABBRobot : REFERENCE TO TypABBInterface;
lAxisGrinder2 : REFERENCE TO typAxis; (*Axis Datastruct *)
lMachineAlarms : REFERENCE TO typAlarm; (*Maschinenalarme*)
lenActivePrg : REFERENCE TO typ_enPrograms;
END_VAR
@@ -31,8 +38,9 @@ VAR
bSafetyOk : BOOL;
bSafetyOkToolSlay1 : BOOL;
bSafetyOkFP : BOOL;
bHomeMaster : BOOL := FALSE;
bToolOk : BOOL;
bStop : BOOL;
bRestarted : BOOL; (*Zyklus neu gestartet*)
bHalt : BOOL;
bEnableNextStep : BOOL; (*N<>chsten Schritt (Semiautomatik) Freigeben*)
usi : USINT;
@@ -43,9 +51,14 @@ VAR
StatusVCControls : typStatusPressVCControls;
ManualCommands : typManualCommnands; (*Kommandos Betriebsart Hand*)
MoveConditions : typMoveConditions;
END_VAR
VAR RETAIN
enProgramSelection : typ_enPrograms; (*Programmvorwahl*)
enTool1State : typ_enToolState := 0;
enTool2State : typ_enToolState := 0;
enTool1State : typ_enToolState; (*Werkzeugstatus*)
enTool2State : typ_enToolState; (*Werkzeugstatus*)
END_VAR
VAR
enOldMachMode : enMACHMODE;
enStepAuto : typ_enStepAuto; (*Schrittkette Automatik*)
enStepHoming : typ_enStepHoming; (*Schrittkette Grundstellung*)
lPressParamActTool1 : REFERENCE TO typ_PressParam; (*Positionen aktuelles Werkzeug*)
@@ -54,5 +67,6 @@ END_VAR
(*//FUBS*)
VAR
TON_SafetyOk : TON;
TON_SafetyOkDoorzone : TON;
FUB_AsArLogWrite : AsArLogWrite;
END_VAR

View File

@@ -1,6 +1,7 @@
PROGRAM _INIT
lMachine ACCESS ADR (gMachine1);
lbSafetyOk ACCESS ADR (gbSPLCInWorkzoneOkRob1);
lbSafetyOkDoorZone ACCESS ADR (gbSPLCInDoorzoneOkRob1);
lbGateIsClosed ACCESS ADR (gbSInGateClosedRob1);
lbGateIsOpen ACCESS ADR (gbInGateIsOpenRob1);
lbToolslay1IsIn ACCESS ADR (gbInToolSlay1InRob1);
@@ -9,12 +10,18 @@ PROGRAM _INIT
lbToolslay2IsOut ACCESS ADR (gbInToolSlay1OutRob1);
lbTightenBelt1 ACCESS ADR (gCmdTightenBelt1Rob1);
lbTightenBelt2 ACCESS ADR (gCmdTightenBelt2Rob1);
lbIncreaseCounter ACCESS ADR (gbRob1CountUp);
lbHoldDoorClosed ACCESS ADR (gbCmdCloseDoorRobot1);
lbDoorIsClosedHolded ACCESS ADR (gbOuHoldDoorClosedRob1);
lbFinished ACCESS ADR (gbFinihedRobot1);
lbKeyReleasePart ACCESS ADR (gbInKeyReleasePart);
lbStartKey1 ACCESS ADR (gbInStartKey1Rob1);
lbStartKey2 ACCESS ADR (gbInStartKey2Rob1);
lbKeySwitchDoor ACCESS ADR (gbIDoorKey3Rob1);
lenActivePrg ACCESS ADR (genActivePrgRob1);
liSetSpeedGrinder1 ACCESS ADR (gAxR1G1.Out.iLFR_Setpointspeed);
// liSetSpeedGrinder2 ACCESS ADR (gAxR1G2.
lMachineAlarms ACCESS ADR (gMachineAlarms1);
lABBRobot ACCESS ADR (gABBRobot1);
lAxisGrinder2 ACCESS ADR (gAxis[0]);
END_PROGRAM

View File

@@ -3,10 +3,10 @@
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Implementation code">GrindCtrl.st</File>
<File Description="InitCode">GrindCtrlInit.st</File>
<File Description="InitCode Roboter 1">GrindCtrlInit.st</File>
<File Description="Local data types" Private="true">GrindCtrl.typ</File>
<File Description="Local variables" Private="true">GrindCtrl.var</File>
<File Private="true">PressCtrl.fun</File>
<File Description="Funktionen" Private="true">GrindCtrl.fun</File>
<File Description="Zylinderüberwachung">FUB_CylinderCheck.st</File>
</Files>
</Program>

View File

@@ -0,0 +1,15 @@
FUNCTION_BLOCK FUB_CylinderCheck
TON_CylinderFw.IN := bInOutputCylinderFw AND (bInSensorCylinderBw OR NOT bInSensorCylinderFw);
TON_CylinderFw.PT := tInCylinderFw;
TON_CylinderFw ();
bOuErrorCylinderFw := TON_CylinderFw.Q;
TON_CylinderBw.IN := bInOutputCylinderBw AND (bInSensorCylinderFw OR NOT bInSensorCylinderBw);
TON_CylinderBw.PT := tInCylinderBw;
TON_CylinderBw ();
bOuErrorCylinderBw := TON_CylinderBw.Q;
bOuErrorBothSensorsHigh := bInSensorCylinderFw AND bInSensorCylinderBw;
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,20 @@
FUNCTION_BLOCK FUB_CylinderCheck (*Zylinder<EFBFBD>berwachung*)
VAR_INPUT
bInOutputCylinderFw : BOOL; (*Ausgang Zylinder Ausfahren*)
bInOutputCylinderBw : BOOL; (*Ausgang Zylinder Einfahren*)
bInSensorCylinderFw : BOOL; (*Sensor Zylinder Ausfahren*)
bInSensorCylinderBw : BOOL; (*Sensor Zylinder Einfahren*)
END_VAR
VAR_OUTPUT
bOuErrorCylinderFw : BOOL; (*Fehler Zylinder Ausfahren*)
bOuErrorCylinderBw : BOOL; (*Fehler Zylinder Einfahren*)
bOuErrorBothSensorsHigh : BOOL; (*Fehler beide Zynlinderschalter bet<EFBFBD>tigt*)
END_VAR
VAR
tInCylinderFw : TIME := T#2s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
tInCylinderBw : TIME := T#2s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
TON_CylinderFw : TON;
TON_CylinderBw : TON;
END_VAR
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,279 @@
PROGRAM _CYCLIC
IF EDGEPOS (bBlink0_1) THEN
udSteptime := udSteptime + 492;
udCycletime := udCycletime + 492;
END_IF
//States //FixME
lMachine.bMachineHOME := lABBRobot.In.bWZChangePart;
IF lMachine.bMachineHOME THEN
lMachine.bRequestHoming := FALSE;
END_IF
TON_SafetyOk.IN := lbSafetyOk;
TON_SafetyOk.PT := t#500ms;
TON_SafetyOk ();
bSafetyOk := TON_SafetyOk.Q;
IF NOT bSafetyOk THEN
lABBRobot.Out.bSwitchMotorOn := FALSE;
END_IF
//Correct Tool on Robot
bToolOk := ((lenActivePrg = enROB_PRG_FKA) AND (lABBRobot.In.usToolCode = TOOLID_FKA)) OR
((lenActivePrg = enROB_PRG_FFG) AND (lABBRobot.In.usToolCode = TOOLID_FFG));
//Move Conditions
MoveConditions.bEnableNegSlay1 := (lMachine.bSetupMode OR (lMachine.enMode = enMACH_JOG)) AND lbGateIsOpen;
MoveConditions.bEnablePosSlay1 := (lMachine.bSetupMode OR (lMachine.enMode = enMACH_JOG)) AND lbGateIsOpen;
MoveConditions.bEnableNegSlay2 := (lMachine.bSetupMode OR (lMachine.enMode = enMACH_JOG)) AND lbGateIsOpen;
MoveConditions.bEnablePosSlay2 := (lMachine.bSetupMode OR (lMachine.enMode = enMACH_JOG)) AND lbGateIsOpen;
//Safety Door
MoveConditions.bEnableCloseGate := (lbToolslay1IsIn OR lbToolslay1IsOut) AND
(lbToolslay2IsIn OR lbToolslay2IsOut);
//Status Control vor Visual Component Controls
StatusVCControls.usJogPosSlay1 := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnablePosSlay1), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG)), VC_HIDE_BITPOS);
StatusVCControls.usJogNegSlay1 := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnableNegSlay1), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG)), VC_HIDE_BITPOS);
StatusVCControls.usJogPosSlay2 := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnablePosSlay2), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG)), VC_HIDE_BITPOS);
StatusVCControls.usJogNegSlay2 := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnableNegSlay2), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG)), VC_HIDE_BITPOS);
//gbCmdCloseDoorToolslay1
StatusVCControls.usCloseGate := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnableCloseGate), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG) OR lbGateIsOpen), VC_HIDE_BITPOS);
StatusVCControls.usOpenGate := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnableOpenGate), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG) OR lbGateIsClosed), VC_HIDE_BITPOS);
StatusVCControls.usOpenGate := SHL (BOOL_TO_USINT (FALSE), VC_LOCK_BITPOS) +
SHL (BOOL_TO_USINT (lMachine.enMode <> enMACH_AUTOMATIC), VC_HIDE_BITPOS);
//Belt Tightgening
StatusVCControls.usTightenBeltGrinder1 := SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG) OR lbTightenBelt1), VC_HIDE_BITPOS);
StatusVCControls.usReleaseBeltGrinder1 := SHL (BOOL_TO_USINT ((lMachine.enMode <> enMACH_JOG) OR NOT lbTightenBelt1), VC_HIDE_BITPOS);
//Reset Manual Commands
IF (lMachine.enMode <> enMACH_JOG) THEN
ManualCommands.bStartGrinder1 := FALSE;
END_IF
//Jog Mode
//==========================================================================================
IF lMachine.enMode = enMACH_JOG THEN
//Clear Commands
//Uncritical Movements
IF ManualCommands.bTightenBeltGrinder1 THEN
lbTightenBelt1 := TRUE;
ELSIF ManualCommands.bReleaseBeltGrinder1 THEN
lbTightenBelt1 := FALSE;
END_IF
//Homing Mode
//==========================================================================================
ELSIF (lMachine.enMode = enMACH_HOMEPOS) THEN
//Home Robot
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CASE enStepHoming OF
//Init
//---------------------------
enHomingStep_INIT:
lABBRobot.Out.usProgNr := ROB_PRG_IDLE;
bTransitionCondition := TRUE; // NOT lMachine.bRequestHoming AND bMachineIsInHomepos
IF bTransitionCondition THEN
enStepHoming := enHomingStep_WAIT_START;
udSteptime := 0;
END_IF
//Wait for Start
//---------------------------
enHomingStep_WAIT_START:
udCycletime := 0;
bTransitionCondition := EDGEPOS (lbStartKey1 OR lbStartKey2);
IF bTransitionCondition THEN
enStepHoming := enHomingStep_WAIT_MOTORS_ON;
udSteptime := 0;
END_IF
//Wait Motors On
//---------------------------
enHomingStep_WAIT_MOTORS_ON:
IF NOT lABBRobot.In.bEStop AND NOT lABBRobot.In.bMotorsOn THEN
lABBRobot.Out.bSwitchMotorOn := TRUE;
lABBRobot.Out.bStart := TRUE;
END_IF
IF lABBRobot.In.bMotorsOn THEN
lABBRobot.Out.bSwitchMotorOn := FALSE;
lABBRobot.Out.bStart := FALSE;
enStepHoming := enHomingStep_WAIT_IN_CYCLE;
udSteptime := 0;
END_IF
//Wait for Robot in Cycle
//---------------------------
enHomingStep_WAIT_IN_CYCLE:
IF NOT lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := TRUE;
END_IF
IF lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := FALSE;
enStepHoming := enHomingStep_START_HOME;
udSteptime := 0;
END_IF
//Start Grind
//---------------------------
enHomingStep_START_HOME:
lABBRobot.Out.usProgNr := ROB_PRG_HOME;
IF lABBRobot.In.usStatus = lABBRobot.Out.usProgNr THEN
enStepHoming := enHomingStep_WAIT_FINISHED;
lABBRobot.Out.usProgNr := ROB_PRG_IDLE;
udSteptime := 0;
END_IF
//Wait for Robot finished Homing
//---------------------------
enHomingStep_WAIT_FINISHED:
IF lABBRobot.In.usStatus = lABBRobot.Out.usProgNr THEN
enStepHoming := enHomingStep_INIT;
udSteptime := 0;
END_IF
END_CASE;
//Automatic Mode
//==========================================================================================
ELSIF (lMachine.enMode = enMACH_AUTOMATIC) THEN
IF (enStepAuto = enAutoStep_WAIT_START) AND EDGENEG (gbInStartKey1Rob1) AND NOT gbInKeyReleasePart AND bToolOk THEN
enTool1State := enTool_Loaded;
END_IF
IF gbInKeyReleasePart THEN
enTool1State := enTool_Empty;
END_IF
IF (enStepAuto = enAutoStep_WAIT_START) THEN
lenActivePrg := enProgramSelection;
END_IF
//Robot Automatic
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CASE enStepAuto OF
//Init
//---------------------------
enAutoStep_INIT:
lABBRobot.Out.usProgNr := ROB_PRG_IDLE;
bTransitionCondition := lABBRobot.In.bWZChangePart; // NOT lMachine.bRequestHoming AND bMachineIsInHomepos
IF NOT lABBRobot.In.bWZChangePart THEN
lMachine.bRequestHoming := TRUE;
END_IF
IF bTransitionCondition THEN
enStepAuto := enAutoStep_WAIT_START;
udSteptime := 0;
END_IF
//Wait for Start
//---------------------------
enAutoStep_WAIT_START:
lbTightenBelt1 := NOT lbKeySwitchDoor;
bTransitionCondition := (udSteptime > 500) AND lABBRobot.In.bWZChangePart AND bSafetyOk AND lbTightenBelt1 AND
(((enTool1State = enTool_Loaded)) OR ((enTool2State = enTool_Loaded)));
IF bTransitionCondition THEN
enStepAuto := enAutoStep_WAIT_MOTORS_ON;
udSteptime := 0;
udCycletime := 0;
END_IF
//Wait Motors On
//---------------------------
enAutoStep_WAIT_MOTORS_ON:
IF NOT lABBRobot.In.bEStop AND NOT lABBRobot.In.bMotorsOn THEN
lABBRobot.Out.bSwitchMotorOn := TRUE;
END_IF
IF lABBRobot.In.bMotorsOn THEN
lABBRobot.Out.bSwitchMotorOn := FALSE;
enStepAuto := enAutoStep_WAIT_IN_CYCLE;
udSteptime := 0;
END_IF
//Wait for Robot in Cycle
//---------------------------
enAutoStep_WAIT_IN_CYCLE:
IF NOT lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := TRUE;
lABBRobot.Out.bStart := TRUE;
END_IF
IF lABBRobot.In.bProgramRun THEN
lABBRobot.Out.bStartAtMain := FALSE;
lABBRobot.Out.bStart := FALSE;
enStepAuto := enAutoStep_START_GRIND;
udSteptime := 0;
END_IF
//Start Grind
//---------------------------
enAutoStep_START_GRIND:
lABBRobot.Out.usProgNr := DINT_TO_USINT (lenActivePrg);
IF lABBRobot.In.usStatus = lABBRobot.Out.usProgNr THEN
enStepAuto := enAutoStep_WAIT_FINISHED;
lABBRobot.Out.usProgNr := ROB_PRG_IDLE;
udSteptime := 0;
END_IF
//Wait for Robot finished Grinding
//---------------------------
enAutoStep_WAIT_FINISHED:
IF lABBRobot.In.usStatus = lABBRobot.Out.usProgNr THEN
enStepAuto := enAutoStep_INIT;
udSteptime := 0;
enTool1State := enTool_TobeUnload;
lbIncreaseCounter := TRUE;
udCycletimeLast := udCycletime;
END_IF
END_CASE;
END_IF;
gbEnableNextStepBtn := bTransitionCondition AND (lMachine.enMode = enMACH_MANUAL);
//Set Output Commands
lbHoldDoorClosed := (enStepAuto <> enAutoStep_WAIT_START);
lbFinished := (enTool1State = enTool_TobeUnload);
//Start Grinder 1
IF (gABBRobot1.In.bGrinder1On OR ManualCommands.bStartGrinder1) AND lMachine.bMachineON THEN
liSetSpeedGrinder1 := giSpeedGrinder1;
ELSE
liSetSpeedGrinder1 := 0;
END_IF;
//Steptime Control
//Motors On
lMachineAlarms.Alarm[100] := ((enStepHoming = enHomingStep_WAIT_MOTORS_ON) OR (enStepAuto = enAutoStep_WAIT_MOTORS_ON))
AND (udSteptime > 15000);
//Prg Run
lMachineAlarms.Alarm[101] := ((enStepHoming = enHomingStep_WAIT_IN_CYCLE) OR (enStepAuto = enAutoStep_WAIT_IN_CYCLE))
AND (udSteptime > 15000);
END_PROGRAM

View File

@@ -0,0 +1,64 @@
(**)
TYPE
typ_enStepAuto :
( (*Schrittkette*)
enAutoStep_INIT := 0, (*Grundstellung pr<70>fen*)
enAutoStep_WAIT_START, (*Auf Start warten (Geladenes Teil / Schutztzor geschlossen)*)
enAutoStep_WAIT_MOTORS_ON, (*Pr<50>fen ob Roboter Motoren EIN*)
enAutoStep_WAIT_IN_CYCLE, (*Pr<50>fen ob Roboter im Zyklus*)
enAutoStep_START_GRIND, (*Programm <20>bergeben *)
enAutoStep_WAIT_FINISHED (*Warten bis Geschliffen*)
);
typ_enStepHoming :
( (*Grundstellungsfahrt*)
enHomingStep_INIT := 0, (*Auf Start warten*)
enHomingStep_WAIT_START, (*Auf Startbefehl warten*)
enHomingStep_WAIT_MOTORS_ON, (*Pr<50>fen ob Roboter Motoren EIN*)
enHomingStep_WAIT_IN_CYCLE, (*Referenzwerte Laden*)
enHomingStep_START_HOME, (*Programm Grundstellung starten*)
enHomingStep_WAIT_FINISHED (*Warten bis Grundstellung erreicht*)
);
typ_enToolState :
( (*Werkzeugstatus*)
enTool_Empty,
enTool_Loaded,
enTool_TobeUnload
);
typStatusPressVCControls : STRUCT (*Controlbytes f<>r Visu*)
usJogNegSlay1 : USINT;
usJogPosSlay1 : USINT;
usJogNegSlay2 : USINT;
usJogPosSlay2 : USINT;
usCloseGate : USINT; (*Schutztor bei Werkzeugschlitten 1 Schlie<69>en*)
usOpenGate : USINT; (*Schutztor bei Werkzeugschlitten 1 <20>ffnen*)
usTightenBeltGrinder1 : USINT;
usReleaseBeltGrinder1 : USINT;
usTightenBeltGrinder2 : USINT;
usReleaseBeltGrinder2 : USINT;
usPrgSelection : USINT;
END_STRUCT;
typManualCommnands : STRUCT (*Kommandos f<>r Hand / Automatikbetrieb*)
bNextManStep : BOOL; (*N<>chster Schritt (Semi) Automatic*)
bJogNegSlay1 : BOOL;
bJogPosSlay1 : BOOL;
bJogNegSlay2 : BOOL;
bJogPosSlay2 : BOOL;
bCloseGate : BOOL; (*Schutztor bei Werkzeugschlitten Schlie<69>en*)
bOpenGate : BOOL; (*Schutztor bei Werkzeugschlitten <20>ffnen*)
bStartGrinder1 : BOOL; (*Schleifmaschine 1 Starten*)
bStartGrinder2 : BOOL; (*Schleifmaschine 2 Starten*)
bTightenBeltGrinder1 : BOOL; (*Schleifmaschine 1 Band Freigeben*)
bReleaseBeltGrinder1 : BOOL; (*Schleifmaschine 1 Band Freigeben*)
bTightenBeltGrinder2 : BOOL; (*Schleifmaschine 1 Band Freigeben*)
bReleaseBeltGrinder2 : BOOL; (*Schleifmaschine 1 Band Freigeben*)
END_STRUCT;
typMoveConditions : STRUCT (*Bewegungsfreigaben*)
bEnableNegSlay1 : BOOL;
bEnablePosSlay1 : BOOL;
bEnablePosSlay2 : BOOL;
bEnableNegSlay2 : BOOL;
bEnableCloseGate : BOOL; (*Schutztor bei Werkzeugschlitten Schlie<69>en*)
bEnableOpenGate : BOOL; (*Schutztor bei Werkzeugschlitten <20>ffnen*)
END_STRUCT;
END_TYPE

View File

@@ -0,0 +1,68 @@
(*//-----------------------------------------------------------------------------------------------------*)
(*//Dynamic Vars*)
VAR
lMachine : REFERENCE TO typMachine;
lbSafetyOk : REFERENCE TO BOOL;
lbGateIsOpen : REFERENCE TO BOOL;
lbGateIsClosed : REFERENCE TO BOOL;
lbToolslay1IsOut : REFERENCE TO BOOL;
lbToolslay1IsIn : REFERENCE TO BOOL;
lbToolslay2IsOut : REFERENCE TO BOOL;
lbToolslay2IsIn : REFERENCE TO BOOL;
lbTightenBelt1 : REFERENCE TO BOOL;
lbTightenBelt2 : REFERENCE TO BOOL;
lbIncreaseCounter : REFERENCE TO BOOL;
lbHoldDoorClosed : REFERENCE TO BOOL;
lbDoorIsClosedHolded : REFERENCE TO BOOL;
lbFinished : REFERENCE TO BOOL;
lbKeyReleasePart : REFERENCE TO BOOL;
lbStartKey1 : REFERENCE TO BOOL;
lbStartKey2 : REFERENCE TO BOOL;
lbKeySwitchDoor : REFERENCE TO BOOL;
liSetSpeedGrinder1 : REFERENCE TO INT;
liSetSpeedGrinder2 : REFERENCE TO INT;
lABBRobot : REFERENCE TO TypABBInterface;
lAxisGrinder2 : REFERENCE TO typAxis; (*Axis Datastruct *)
lMachineAlarms : REFERENCE TO typAlarm; (*Maschinenalarme*)
lenActivePrg : REFERENCE TO typ_enPrograms;
END_VAR
(*//Constants*)
VAR CONSTANT
ROB_PRG_IDLE : USINT := 0;
ROB_PRG_HOME : USINT := 1;
END_VAR
(*//Local Vars*)
VAR
bTransitionCondition : BOOL;
bSafetyOk : BOOL;
bSafetyOkToolSlay1 : BOOL;
bSafetyOkFP : BOOL;
bToolOk : BOOL;
bStop : BOOL;
bHalt : BOOL;
bEnableNextStep : BOOL; (*N<>chsten Schritt (Semiautomatik) Freigeben*)
usi : USINT;
usErrorReset : USINT;
udSteptime : UDINT; (*0.1s*)
udCycletime : UDINT := 0; (*ms*)
udCycletimeLast : UDINT := 0; (*ms*)
StatusVCControls : typStatusPressVCControls;
ManualCommands : typManualCommnands; (*Kommandos Betriebsart Hand*)
MoveConditions : typMoveConditions;
END_VAR
VAR RETAIN
enProgramSelection : typ_enPrograms; (*Programmvorwahl*)
enTool1State : typ_enToolState; (*Werkzeugstatus*)
enTool2State : typ_enToolState; (*Werkzeugstatus*)
END_VAR
VAR
enStepAuto : typ_enStepAuto; (*Schrittkette Automatik*)
enStepHoming : typ_enStepHoming; (*Schrittkette Grundstellung*)
lPressParamActTool1 : REFERENCE TO typ_PressParam; (*Positionen aktuelles Werkzeug*)
lPressParamActTool2 : REFERENCE TO typ_PressParam; (*Positionen aktuelles Werkzeug*)
END_VAR
(*//FUBS*)
VAR
TON_SafetyOk : TON;
FUB_AsArLogWrite : AsArLogWrite;
END_VAR

View File

@@ -0,0 +1,26 @@
PROGRAM _INIT
lMachine ACCESS ADR (gMachine2);
lbSafetyOk ACCESS ADR (gbSPLCInWorkzoneOkRob2);
lbGateIsClosed ACCESS ADR (gbSInGateClosedRob2);
lbGateIsOpen ACCESS ADR (gbInGateIsOpenRob2);
lbToolslay1IsIn ACCESS ADR (gbInToolSlay1InRob2);
lbToolslay1IsOut ACCESS ADR (gbInToolSlay1OutRob2);
lbToolslay2IsIn ACCESS ADR (gbInToolSlay2InRob2);
lbToolslay2IsOut ACCESS ADR (gbInToolSlay1OutRob2);
lbTightenBelt1 ACCESS ADR (gCmdTightenBelt1Rob2);
lbTightenBelt2 ACCESS ADR (gCmdTightenBelt2Rob2);
lbIncreaseCounter ACCESS ADR (gbRob2CountUp);
lbHoldDoorClosed ACCESS ADR (gbCmdCloseDoorRobot2);
lbDoorIsClosedHolded ACCESS ADR (gbOuHoldDoorClosedRob2);
lbFinished ACCESS ADR (gbFinihedRobot2);
lbKeyReleasePart ACCESS ADR (gbInKeyReleasePart2);
lbStartKey1 ACCESS ADR (gbInStartKey1Rob2);
lbStartKey2 ACCESS ADR (gbInStartKey2Rob2);
lbKeySwitchDoor ACCESS ADR (gbIDoorKey3Rob2);
lenActivePrg ACCESS ADR (genActivePrgRob2);
liSetSpeedGrinder1 ACCESS ADR (gAxR2G1.Out.iLFR_Setpointspeed);
// liSetSpeedGrinder2 ACCESS ADR (gAxR1G2.
lMachineAlarms ACCESS ADR (gMachineAlarms2);
lABBRobot ACCESS ADR (gABBRobot2);
lAxisGrinder2 ACCESS ADR (gAxis[1]);
END_PROGRAM

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Implementation code">GrindCtrl.st</File>
<File Description="InitCode">GrindCtrlInit.st</File>
<File Description="Local data types" Private="true">GrindCtrl.typ</File>
<File Description="Local variables" Private="true">GrindCtrl.var</File>
<File Description="Funktionen" Private="true">GrindCtrl.fun</File>
<File Description="Zylinderüberwachung">FUB_CylinderCheck.st</File>
</Files>
</Program>

View File

@@ -3,7 +3,7 @@
<Package xmlns="http://br-automation.co.at/AS/Package">
<Objects>
<Object Type="DataObject" Language="Ax" Description="Acp Init for Grinder 1 Motor (SEW)">gAxGrnd1i</Object>
<Object Type="DataObject" Language="Ax">gAxR1G2i</Object>
<Object Type="DataObject" Language="Ax" Description="Fingerschleifer">gAxR1G2i</Object>
<Object Type="DataObject" Language="Ax">gAxR2G2i</Object>
</Objects>
</Package>

View File

@@ -34,8 +34,8 @@
<Parameter ID="t_in_pos" Value="0" />
<Parameter ID="pos_sw_end" Value="2000000000" />
<Parameter ID="neg_sw_end" Value="-2000000000" />
<Parameter ID="ds_warning" Value="500" />
<Parameter ID="ds_stop" Value="1000" />
<Parameter ID="ds_warning" Value="100000.0" />
<Parameter ID="ds_stop" Value="1000000.0" />
<Parameter ID="a_stop" Value="1.0e30" />
<Parameter ID="dv_stop" Value="0" />
<Parameter ID="dv_stop_mode" Value="ncOFF" />
@@ -44,7 +44,7 @@
<Group ID="controller">
<Parameter ID="mode" Value="ncPOSITION" />
<Group ID="position">
<Parameter ID="kv" Value="50" />
<Parameter ID="kv" Value="1200.0" />
<Parameter ID="tn" Value="0" />
<Parameter ID="t_predict" Value="0.0004" />
<Parameter ID="t_total" Value="0.0004" />
@@ -52,7 +52,7 @@
<Parameter ID="i_max" Value="0" />
</Group>
<Group ID="speed">
<Parameter ID="kv" Value="2.0" />
<Parameter ID="kv" Value="0.3" />
<Parameter ID="tn" Value="0" />
<Parameter ID="t_filter" Value="0.0" />
<Group ID="isq_filter1">

View File

@@ -6,10 +6,13 @@
<Object Type="File" Description="Werkzeugdatentypen">GlobalTool.typ</Object>
<Object Type="File" Description="Package variables">GlobalAxis.var</Object>
<Object Type="File" Description="Package variables">GlobalTool.var</Object>
<Object Type="Program" Language="IEC" Description="Controller">GrindCtrl</Object>
<Object Type="Program" Language="IEC" Description="Controller Roboter 1">GrindCtrl</Object>
<Object Type="Program" Language="IEC" Description="Controller Roboter 2">GrindCtrl2</Object>
<Object Type="Program" Language="IEC" Description="Werkzeugselektor">ToolCtrl</Object>
<Object Type="Program" Language="IEC" Description="Toolparameter">ToolParam</Object>
<Object Type="Program" Language="IEC" Description="Shift/Overallcounter">PartCount</Object>
<Object Type="Program" Language="IEC" Description="AxisCtrl Grinder 2 Rob 1">Axisctrl</Object>
<Object Type="Program" Language="IEC" Description="AxisCtrl Grinder 2 Rob 1">Axisctrl2</Object>
<Object Type="Package">Init</Object>
<Object Type="Package">ACPPar</Object>
<Object Type="DataObject" Language="Ett">acp10etxde</Object>

View File

@@ -1,13 +1,3 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: PartCount
* File: PartCount.st
* Author: michi
* Created: January 27, 2013
********************************************************************
* Implementation of program PartCount
********************************************************************)
PROGRAM _INIT
@@ -19,38 +9,28 @@ END_PROGRAM
PROGRAM _CYCLIC
IF gbTool1CountUp THEN
gudPartCountOverall := gudPartCountOverall + 1;
gudPartCountShift := gudPartCountShift + 1;
gbTool1CountUp := FALSE;
udActualCyclewithoutGrease := udActualCyclewithoutGrease + 1;
IF udActualCyclewithoutGrease >= gudGreaseCycle THEN
udActualCyclewithoutGrease := 0;
bGrease := TRUE;
END_IF
END_IF
IF gbTool2CountUp THEN
gudPartCountOverall := gudPartCountOverall + 1;
gudPartCountShift := gudPartCountShift + 1;
gbTool2CountUp := FALSE;
udActualCyclewithoutGrease := udActualCyclewithoutGrease + 1;
IF udActualCyclewithoutGrease >= gudGreaseCycle THEN
udActualCyclewithoutGrease := 0;
bGrease := TRUE;
END_IF
END_IF
IF bResetShiftcounter THEN
bResetShiftcounter := FALSE;
gudPartCountShift := 0;
IF gbRob1CountUp THEN
gudPartCountOverallRob1[genActivePrgRob1] := gudPartCountOverallRob1[genActivePrgRob1] + 1;
gudPartCountShiftRob1[genActivePrgRob1] := gudPartCountShiftRob1[genActivePrgRob1] + 1;
gudPartCountBelt1Rob1[genActivePrgRob1] := gudPartCountBelt1Rob1[genActivePrgRob1] + 1;
gudPartCountBelt2Rob1[genActivePrgRob1] := gudPartCountBelt2Rob1[genActivePrgRob1] + 1;
gbRob1CountUp := FALSE;
END_IF
udCurrentShiftCounterRob1 := gudPartCountOverallRob1[genActivePrgRob1];
TON_Grease.IN := bGrease;
TON_Grease.PT := t#10s;
TON_Grease ();
IF TON_Grease.Q THEN
bGrease := FALSE;
IF bResetShiftcounterRob1 THEN
bResetShiftcounterRob1 := FALSE;
gudPartCountShiftRob1[genActivePrgRob1] := 0;
END_IF
IF gbRob2CountUp THEN
gudPartCountOverallRob2[genActivePrgRob2] := gudPartCountOverallRob2[genActivePrgRob2] + 1;
gudPartCountShiftRob2[genActivePrgRob2] := gudPartCountShiftRob2[genActivePrgRob2] + 1;
gudPartCountBelt1Rob2[genActivePrgRob2] := gudPartCountBelt1Rob2[genActivePrgRob2] + 1;
gudPartCountBelt2Rob2[genActivePrgRob2] := gudPartCountBelt2Rob2[genActivePrgRob2] + 1;
gbRob2CountUp := FALSE;
END_IF
udCurrentShiftCounterRob2 := gudPartCountOverallRob2[genActivePrgRob2];
gbOuCentralGrease := bGrease;
END_PROGRAM

View File

@@ -1,8 +1,5 @@
VAR RETAIN
udActualCyclewithoutGrease : UDINT;
END_VAR
VAR
bResetShiftcounter : BOOL;
TON_Grease : TON;
bGrease : BOOL;
bResetShiftcounterRob1 : BOOL;
udCurrentShiftCounterRob1 : UDINT;
udCurrentShiftCounterRob2 : UDINT;
END_VAR

View File

@@ -25,7 +25,13 @@ PROGRAM _CYCLIC
lABBRobot.In.bReleasePart := BIT_TST (dpInByte[3], 0);
lABBRobot.In.bGrinder1On := BIT_TST (dpInByte[3], 1);
lABBRobot.In.bGrinder2On := BIT_TST (dpInByte[3], 2);
//Input Byte 4 (25-32)
lABBRobot.In.usToolCode := BOOL_TO_USINT (BIT_TST (dpInByte[3], 3))
+ SHL (BOOL_TO_USINT (BIT_TST (dpInByte[3], 4)), 1)
+ SHL (BOOL_TO_USINT (BIT_TST (dpInByte[3], 5)), 2)
+ SHL (BOOL_TO_USINT (BIT_TST (dpInByte[3], 6)), 3)
+ SHL (BOOL_TO_USINT (BIT_TST (dpInByte[3], 7)), 4)
+ BOOL_TO_USINT (BIT_TST (dpInByte[4], 0));
//Input Byte 4 (25-32) // Bit 25 used in us ToolCode
//Input Byte 5 (33-40)
//Input Byte 6 (41-48)
//Input Byte 7 (49-56)
@@ -39,6 +45,7 @@ PROGRAM _CYCLIC
//Input Byte 12 (89-96)
lABBRobot.In.uspGrinder2 := dpInByte[12];
//Input Byte 13 (97-104)
lABBRobot.In.usvGrinder2 := dpInByte[13];
//Input Byte 14 (105-112)
//Input Byte 15 (113-120)
//Input Byte 16 (121-128)

View File

@@ -0,0 +1,4 @@
PROGRAM _INIT
//Zeiger auf Roboter Stellen
lABBRobot ACCESS ADR (gABBRobot2);
END_PROGRAM

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Implementation code">ABBComInit.st</File>
<File Reference="true">\Logical\Communication\ABBCom\ABBCom.st</File>
<File Description="Local variables" Private="true" Reference="true">\Logical\Communication\ABBCom\ABBCom.var</File>
</Files>
</Program>

View File

@@ -20,10 +20,12 @@ TYPE
bReleasePart : BOOL := FALSE; (*17 Release Part*)
bGrinder1On : BOOL := FALSE; (*18 Grinder 1 (Big) On*)
bGrinder2On : BOOL := FALSE; (*19 Grinder 2 (Small) On*)
usToolCode : USINT := 0; (*20 Bit Coded Tool Information*)
usStatus : USINT := 0; (*64 Status*)
usActiveTool : USINT := 0; (*72 Active (Mounted) Tool*)
uspGrinder1 : USINT := 0; (*80 Preassure for Grinder 1 (Big)*)
uspGrinder2 : USINT := 0; (*88 Preassure for Grinder 2 (Small)*)
usvGrinder2 : USINT := 0; (*97 Speed for Grinder 2 (Small)*)
END_STRUCT;
typABBInterfaceOut : STRUCT
bResetEStop : BOOL := FALSE; (*01 Reset E-Stop*)

View File

@@ -1,4 +1,8 @@
VAR RETAIN
gABBRobot1 : TypABBInterface;
gABBRobot2 : TypABBInterface;
gudRFIDSerialR1T1 : {REDUND_UNREPLICABLE} UDINT := 5308464; (*Serien Nr RFID Reader Roboter 1 Werkzeugschlitten 1*)
gudRFIDSerialR1T2 : {REDUND_UNREPLICABLE} UDINT := 5832752; (*Serien Nr RFID Reader Roboter 1 Werkzeugschlitten 2*)
gudRFIDSerialR2T1 : {REDUND_UNREPLICABLE} UDINT := 7209013; (*Serien Nr RFID Reader Roboter 2 Werkzeugschlitten 1*)
gudRFIDSerialR2T2 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader Roboter 2 Werkzeugschlitten 2*)
END_VAR

View File

@@ -8,6 +8,7 @@
<Object Type="Program" Language="IEC">BarcodeRdr</Object>
<Object Type="Program" Language="IEC" Description="Sick RFID Reader">RFID</Object>
<Object Type="Program" Language="IEC" Description="S7 ABB Roboter">S7ABB</Object>
<Object Type="Program" Language="IEC" Description="Communication to ABB Robot">ABBCom</Object>
<Object Type="Program" Language="IEC" Description="Communication to ABB Robot 1">ABBCom</Object>
<Object Type="Program" Language="IEC" Description="Communication to ABB Robot 2">ABBCom2</Object>
</Objects>
</Package>

View File

@@ -24,10 +24,22 @@ CASE enStep OF
//Init
//---------------------------
enRFIDStep_INIT:
FUB_FrameRead.enable := 0;
FUB_FrameReleaseBuffer.enable := 0;
FUB_FrameWrite.enable := 0;
FUB_FrameXOpen.enable := 0;
FUB_FrameRead1.enable := 0;
FUB_FrameRead2.enable := 0;
FUB_FrameRead3.enable := 0;
FUB_FrameRead4.enable := 0;
FUB_FrameReleaseBuffer1.enable := 0;
FUB_FrameReleaseBuffer2.enable := 0;
FUB_FrameReleaseBuffer3.enable := 0;
FUB_FrameReleaseBuffer4.enable := 0;
FUB_FrameWrite1.enable := 0;
FUB_FrameWrite2.enable := 0;
FUB_FrameWrite3.enable := 0;
FUB_FrameWrite4.enable := 0;
FUB_FrameXOpen1.enable := 0;
FUB_FrameXOpen2.enable := 0;
FUB_FrameXOpen3.enable := 0;
FUB_FrameXOpen4.enable := 0;
FUB_UsbNodeGet.enable := 0;
FUB_UsbNodeListGet.enable := 0;
enStep := enRFIDStep_USB_GETNODELIST;
@@ -46,7 +58,12 @@ CASE enStep OF
FUB_UsbNodeListGet.enable := 0;
usNodeIx := 0;
udAttachDetachCount := FUB_UsbNodeListGet.attachDetachCount;
IF FUB_UsbNodeListGet.listNodes < NEEDED_DEVICES THEN
enStep := enRFIDStep_USB_SEARCHDEVICE;
//FixMe Error
END_IF
enStep := enRFIDStep_USB_SEARCHDEVICE;
usFoundReaders := 0;
END_IF
//else if (UsbNodeListGetFub.status == asusbERR_BUFSIZE || UsbNodeListGetFub.status == asusbERR_NULLPOINTER)
@@ -59,22 +76,22 @@ CASE enStep OF
FUB_UsbNodeGet.bufferSize := SIZEOF (usbDevice[usNodeIx]);
IF (FUB_UsbNodeGet.status = ERR_OK ) THEN
FUB_UsbNodeGet.enable := 0;
FUB_UsbNodeGet.enable := 0;
// USB FTDI Transponder
IF (usbDevice[usNodeIx].vendorId = TRANSPONDER_FTDI_VENDOR_ID) AND
(usbDevice[usNodeIx].productId = TRANSPONDER_FTDI_PRODUCT_ID) AND
(usbDevice[usNodeIx].bcdDevice = TRANSPONDER_FTDI_BCD) AND 0 THEN
(usbDevice[usNodeIx].bcdDevice = TRANSPONDER_FTDI_BCD) THEN
// USB FTDI Transponder found
strcpy (ADR (strDevice), ADR (usbDevice[usNodeIx].ifName));
udNodeId := udNodeList[usNodeIx];
enStep := enRFIDStep_USB_DVDEVOPEN;
usFoundReaders := usFoundReaders + 1;
ELSE
usNodeIx := usNodeIx + 1;
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
// USB Device not found
usNodeIx := 0;
enStep := enRFIDStep_USB_READDEVDESCR;
END_IF
udNodeList[usNodeIx] := 0; //Ignore
END_IF
usNodeIx := usNodeIx + 1;
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
//Find individual Readers
usNodeIx := 0;
enStep := enRFIDStep_USB_READDEVDESCR;
END_IF
ELSIF (FUB_UsbNodeGet.status = asusbERR_USB_NOTFOUND) THEN
// USB Device NOT found
@@ -84,7 +101,7 @@ CASE enStep OF
//Get DeviceDescriptor
enRFIDStep_USB_READDEVDESCR:
FUB_UsbDescriptorGet.enable := 1;
FUB_UsbDescriptorGet.enable := (udNodeList[usNodeIx] > 0);
FUB_UsbDescriptorGet.nodeId := udNodeList[usNodeIx];
FUB_UsbDescriptorGet.requestType := asusb_USB_RT_DEVICE;
FUB_UsbDescriptorGet.descriptorType := asusb_USB_DESCR_STRING;
@@ -93,40 +110,61 @@ CASE enStep OF
FUB_UsbDescriptorGet.pBuffer := ADR (strDeviceDescr[usNodeIx]);
FUB_UsbDescriptorGet.bufferSize := SIZEOF (strDeviceDescr[usNodeIx]);
IF (FUB_UsbDescriptorGet.status = ERR_OK ) THEN
IF (udNodeList[usNodeIx] = 0) THEN
usNodeIx := usNodeIx + 1;
ELSIF (FUB_UsbDescriptorGet.status = ERR_OK ) THEN
FUB_UsbDescriptorGet.enable := 0;
memcpy (ADR (udSerialNr[usNodeIx]), ADR (strDeviceDescr[usNodeIx]) + 14, 4);
usNodeIx := usNodeIx + 1;
IF (udSerialNr[usNodeIx] = gudRFIDSerialR1T1) THEN
usNodeIxR1T1 := usNodeIx;
ELSIF (udSerialNr[usNodeIx] = gudRFIDSerialR1T2) THEN
usNodeIxR1T2 := usNodeIx;
ELSIF (udSerialNr[usNodeIx] = gudRFIDSerialR2T1) THEN
usNodeIxR2T1 := usNodeIx;
ELSIF (udSerialNr[usNodeIx] = gudRFIDSerialR2T2) THEN
usNodeIxR2T2 := usNodeIx;
END_IF
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
// USB Device not found
usNodeIx := 0;
enStep := enRFIDStep_USB_GETNODELIST;
// Found All Devices
usNodeIx := 55;
enStep := enRFIDStep_IDLE;
END_IF
ELSIF (FUB_UsbDescriptorGet.status = asusbERR_USB_NOTFOUND) THEN
// USB Device NOT found
enStep := enRFIDStep_USB_GETNODELIST;
END_IF
END_CASE
CASE enStepReader1 OF
//Init
//---------------------------
enRFIDReaderStep_INIT:
IF (usNodeIxR1T1 < 55) THEN
enStepReader1 := enRFIDReaderStep_USB_DVDEVOPEN;
END_IF;
//Open Reader Devicer
//---------------------------
enRFIDStep_USB_DVDEVOPEN:
enRFIDReaderStep_USB_DVDEVOPEN:
// initialize open structure */
FUB_FrameXOpen.device := ADR (strDevice);
FUB_FrameXOpen.mode := 0;
FUB_FrameXOpen.config := 0;
FUB_FrameXOpen.enable := 1;
FUB_FrameXOpen1.device :=ADR (usbDevice[usNodeIxR1T1].ifName);
FUB_FrameXOpen1.mode := 0;
FUB_FrameXOpen1.config := 0;
FUB_FrameXOpen1.enable := (udNodeList[usNodeIxR1T1] > 0);
IF (FUB_FrameXOpen.status = frmERR_OK) THEN
FUB_FrameWrite.ident := FUB_FrameXOpen.ident;
FUB_FrameRead.ident := FUB_FrameXOpen.ident;
FUB_FrameReleaseBuffer.ident := FUB_FrameXOpen.ident;
FUB_FrameXOpen.enable := 0;
enStep := enRFIDStep_INIT_READER;
END_IF
IF (FUB_FrameXOpen1.status = frmERR_OK) THEN
FUB_FrameWrite1.ident := FUB_FrameXOpen1.ident;
FUB_FrameRead1.ident := FUB_FrameXOpen1.ident;
FUB_FrameReleaseBuffer1.ident := FUB_FrameXOpen1.ident;
FUB_FrameXOpen1.enable := 0;
enStepReader1 := enRFIDReaderStep_INIT_READER;
END_IF
//Get USB Nodelist
//---------------------------
enRFIDStep_INIT_READER:
enRFIDReaderStep_INIT_READER:
// Register Write:
// 5V operation, RF output active, full power; ISO 15693, low bit rate, 6.62 kbps, one subcarrier, 1 out OF 4
//
@@ -139,38 +177,18 @@ CASE enStep OF
// Register Write Cmd
// Set Protocol, 1 out OF 4, full power, low bit rate */
strcpy (ADR (strWriteData), ADR ('1000210100'));
strcpy (ADR (strWriteDatalen), ADR ('0C'));
uiReadAnswer := 1;
enStep := enRFIDStep_WRITE;
strcpy (ADR (strWriteData[1]), ADR ('1000210100'));
strcpy (ADR (strWriteDatalen[1]), ADR ('0C'));
uiReadAnswer[1] := 1;
enStepReader1 := enRFIDReaderStep_WRITE;
//IDLE
//---------------------------
enRFIDStep_IDLE:
enRFIDReaderStep_IDLE:
CASE enCmd OF
CASE enCmd1 OF
enRFIDCMD_NONE:
IF gTransponder.enTransponderCmd = enTransponderREAD_Data THEN
usBlockNr := 0;
gTransponder.enTransponderCmd := enTransponderREAD_Data_Wait;
enCmd := enRFIDCMD_READ_SBLOCK;
ELSIF gTransponder.enTransponderCmd = enTransponderREAD_Data2 THEN
usBlockNr := 1;
enCmd := enRFIDCMD_READ_SBLOCK;
gTransponder.enTransponderCmd := enTransponderREAD_Data2_Wait;
ELSIF gTransponder.enTransponderCmd = enTransponderWRITE_Data THEN
usBlockNr := 0;
udWriteData := gTransponder.udProdID;
gTransponder.enTransponderCmd := enTransponderWRITE_Data_Wait;
enCmd := enRFIDCMD_READ_SBLOCK;
ELSIF gTransponder.enTransponderCmd = enTransponderWRITE_Data2 THEN
usBlockNr := 1;
udWriteData := gTransponder.udProdNr;
gTransponder.enTransponderCmd := enTransponderWRITE_Data2_Wait;
enCmd := enRFIDCMD_READ_SBLOCK;
END_IF
enRFIDCMD_READ_INVENTORY:
// Inventory
@@ -181,10 +199,10 @@ CASE enStep OF
// | Flags (Inventory flag = 1, HDR = 0)
// Inventory request
// inventory 16 slot
strcpy (ADR (strWriteData), ADR ('14040100'));
strcpy (ADR (strWriteDatalen), ADR ('0B'));
uiReadAnswer := 16; // 16 slot answer
enStep := enRFIDStep_WRITE;
strcpy (ADR (strWriteData[1]), ADR ('14040100'));
strcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
uiReadAnswer[1] := 16; // 16 slot answer
enStepReader1 := enRFIDReaderStep_WRITE;
enRFIDCMD_READ_SYSINFO:
// Read System Info
@@ -193,10 +211,10 @@ CASE enStep OF
// | | Get System Info Cmd
// | Flags (Option = 0, HDR = 0)
// Request Cmd
strcpy (ADR (strWriteData), ADR ('18002B'));
strcpy (ADR (strWriteDatalen), ADR ('0A'));
uiReadAnswer := 1;
enStep := enRFIDStep_WRITE;
strcpy (ADR (strWriteData[1]), ADR ('18002B'));
strcpy (ADR (strWriteDatalen[1]), ADR ('0A'));
uiReadAnswer[1] := 1;
enStepReader1 := enRFIDReaderStep_WRITE;
enRFIDCMD_READ_SBLOCK:
// Read Single Block
@@ -207,15 +225,15 @@ CASE enStep OF
// Request Cmd
//
// Option = 1: Return block security status
strcpy (ADR (strWriteData), ADR ('184020')); // read block #1
strcpy (ADR (strWriteData[1]), ADR ('184020')); // read block #1
uiLength := itoa (usBlockNr, ADR (strTemp));
IF (uiLength = 1) THEN
strcat (ADR (strWriteData), ADR ('0'));
strcat (ADR (strWriteData[1]), ADR ('0'));
END_IF
strcat (ADR (strWriteData), ADR (strTemp));
strcpy (ADR (strWriteDatalen), ADR ('0B'));
uiReadAnswer := 1;
enStep := enRFIDStep_WRITE;
strcat (ADR (strWriteData[1]), ADR (strTemp));
strcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
uiReadAnswer[1] := 1;
enStepReader1 := enRFIDReaderStep_WRITE;
enRFIDCMD_WRITE_SBLOCK:
@@ -225,15 +243,15 @@ CASE enStep OF
// | | Write Single Block Cmd
// | Flags (Option = 0, HDR = 0)
// Request Cmd
strcpy (ADR (strWriteData), ADR ('180021')); // write block #1 (Data = 0x12345678)
strcpy (ADR (strWriteData[1]), ADR ('180021')); // write block #1 (Data = 0x12345678)
uiLength := itoa (usBlockNr, ADR (strTemp));
IF (uiLength = 1) THEN
strcat (ADR (strWriteData), ADR ('0'));
strcat (ADR (strWriteData[1]), ADR ('0'));
END_IF
UDINTtoASC (ADR (strWriteData) + 8, udWriteData);
strcpy (ADR (strWriteDatalen), ADR ('0F'));
uiReadAnswer := 1;
enStep := enRFIDStep_WRITE;
UDINTtoASC (ADR (strWriteData[1]) + 8, udWriteData);
strcpy (ADR (strWriteDatalen[1]), ADR ('0F'));
uiReadAnswer[1] := 1;
enStepReader1 := enRFIDReaderStep_WRITE;
enRFIDCMD_WRITE_AFI:
// Write AFI
@@ -242,10 +260,10 @@ CASE enStep OF
// | | Get System Info Cmd
// | Flags (Option = 0, HDR = 0)
// Request Cmd
strcpy (ADR (strWriteData), ADR ('18002730')); // write AFI (0x30 = Identification)
strcpy (ADR (strWriteDatalen), ADR ('0B'));
uiReadAnswer := 1;
enStep := enRFIDStep_WRITE;
strcpy (ADR (strWriteData[1]), ADR ('18002730')); // write AFI (0x30 = Identification)
strcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
uiReadAnswer[1] := 1;
enStepReader1 := enRFIDReaderStep_WRITE;
enRFIDCMD_WRITE_DFSID:
// Write DSFID
@@ -254,66 +272,66 @@ CASE enStep OF
// | | Write DSFID Cmd
// | Flags (Option = 0, HDR = 0)
// Request Cmd
strcpy (ADR (strWriteData), ADR ('18002918')); // write DSFID 0x18
strcpy (ADR (strWriteDatalen), ADR ('0B'));
uiReadAnswer := 1;
enStep := enRFIDStep_WRITE;
strcpy (ADR (strWriteData[1]), ADR ('18002918')); // write DSFID 0x18
strcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
uiReadAnswer[1] := 1;
enStepReader1 := enRFIDReaderStep_WRITE;
END_CASE
//WRITE
//---------------------------
enRFIDStep_WRITE:
enRFIDReaderStep_WRITE:
// initialize write structure */
//Frame Start
strcpy (ADR (strWriteTelegram), ADR ('01'));
strcpy (ADR (strWriteTelegram[1]), ADR ('01'));
//Length
strcat (ADR (strWriteTelegram), ADR (strWriteDatalen));
strcat (ADR (strWriteTelegram[1]), ADR (strWriteDatalen[1]));
//Const 00 + Start of Payload
strcat (ADR (strWriteTelegram), ADR ('000304'));
strcat (ADR (strWriteTelegram), ADR (strWriteData));
strcat (ADR (strWriteTelegram[1]), ADR ('000304'));
strcat (ADR (strWriteTelegram[1]), ADR (strWriteData[1]));
//Frame End
strcat (ADR (strWriteTelegram), ADR ('0000'));
FUB_FrameWrite.buffer := ADR (strWriteTelegram);
FUB_FrameWrite.buflng := strlen (ADR (strWriteTelegram));
FUB_FrameWrite.enable := 1;
IF (FUB_FrameWrite.status = frmERR_OK) THEN
enStep := enRFIDStep_READ;
FUB_FrameWrite.enable := 0;
uiReadCount := 0;
strcat (ADR (strWriteTelegram[1]), ADR ('0000'));
FUB_FrameWrite1.buffer := ADR (strWriteTelegram[1]);
FUB_FrameWrite1.buflng := strlen (ADR (strWriteTelegram[1]));
FUB_FrameWrite1.enable := 1;
IF (FUB_FrameWrite1.status = frmERR_OK) THEN
enStepReader1 := enRFIDReaderStep_READ;
FUB_FrameWrite1.enable := 0;
uiReadCount[1] := 0;
END_IF
//READ
//---------------------------
enRFIDStep_READ:
enRFIDReaderStep_READ:
// initialize read structure
FUB_FrameRead.enable := 1;
pReadBuffer := FUB_FrameRead.buffer; // get adress OF read buffer */
uiReadBufferLength := FUB_FrameRead.buflng; // get length OF read buffer */
FUB_FrameRead1.enable := 1;
pReadBuffer[1] := FUB_FrameRead1.buffer; // get adress OF read buffer */
uiReadBufferLength[1] := FUB_FrameRead1.buflng; // get length OF read buffer */
IF (FUB_FrameRead.status = frmERR_OK) THEN
IF (FUB_FrameRead1.status = frmERR_OK) THEN
udTemp := 0;
memset (ADR (strReadData), 0, SIZEOF (strReadData));
memcpy (ADR (strReadData), pReadBuffer, uiReadBufferLength); // copy read data into array */
IF (uiReadBufferLength > 7) THEN
strcpy (ADR (strReadTag), ADR (strReadData)); // copy read data into Tag array */
memset (ADR (strReadData[1]), 0, SIZEOF (strReadData[1]));
memcpy (ADR (strReadData[1]), pReadBuffer[1], uiReadBufferLength[1]); // copy read data into array */
IF (uiReadBufferLength[1] > 7) THEN
strcpy (ADR (strReadTag[1]), ADR (strReadData[1])); // copy read data into Tag array */
END_IF
IF (uiReadBufferLength = 16) THEN
udTemp := ASCtoUDINT (ADR (strReadData) + 5, FALSE);
IF (uiReadBufferLength[1] = 16) THEN
udTemp := ASCtoUDINT (ADR (strReadData[1]) + 5, FALSE);
END_IF
IF (uiReadBufferLength =23) THEN
IF (uiReadBufferLength[1] =23) THEN
//TagID Slot
udTemp := ASCtoUDINT (ADR (strReadData) + 2, TRUE);
udTemp2 := ASCtoUDINT (ADR (strReadData) + 2, FALSE);
udTemp := ASCtoUDINT (ADR (strReadData[1]) + 2, TRUE);
udTemp2 := ASCtoUDINT (ADR (strReadData[1]) + 2, FALSE);
END_IF
// initialize release buffer structure */
FUB_FrameReleaseBuffer.enable := 1;
FUB_FrameReleaseBuffer.buffer := pReadBuffer;
FUB_FrameReleaseBuffer.buflng := uiReadBufferLength;
FUB_FrameReleaseBuffer ();
FUB_FrameReleaseBuffer1.enable := 1;
FUB_FrameReleaseBuffer1.buffer := pReadBuffer[1];
FUB_FrameReleaseBuffer1.buflng := uiReadBufferLength[1];
FUB_FrameReleaseBuffer1 ();
uiReadCount := uiReadCount + 1;
uiReadCount[1] := uiReadCount[1] + 1;
(*
IF gTransponder.enTransponderCmd = enTransponderREAD_Data_Wait THEN
gTransponder.udProdIDRdBack := udTemp;
gTransponder.enTransponderCmd := enTransponderREAD_Data2;
@@ -324,27 +342,37 @@ CASE enStep OF
gTransponder.enTransponderCmd := enTransponderWRITE_Data2;
ELSIF gTransponder.enTransponderCmd = enTransponderWRITE_Data2_Wait THEN
gTransponder.enTransponderCmd := enTransponderREAD_Data;
ELSIF udTemp > 0 THEN
gTransponder.udTagID := udTemp;
ELS*)
IF udTemp > 0 THEN
gudToolRFIDRob1Tool1 := udTemp;
END_IF
IF (uiReadCount = uiReadAnswer) THEN
FUB_FrameRead.enable := 0;
enStep := enRFIDStep_IDLE;
enCmd := enRFIDCMD_NONE;
IF (uiReadCount[1] = uiReadAnswer[1]) THEN
FUB_FrameRead1.enable := 0;
enStepReader1 := enRFIDReaderStep_IDLE;
enCmd1 := enRFIDCMD_NONE;
END_IF
END_IF
END_CASE
TON_Read.IN := (enStep = enRFIDStep_IDLE) AND (enCmd = enRFIDCMD_NONE) AND (gTransponder.enTransponderCmd = enTransponderIDLE);
TON_Read.IN := (enStepReader1 = enRFIDReaderStep_IDLE) AND (enCmd1 = enRFIDCMD_NONE);
TON_Read.PT := t#1s;
TON_Read ();
IF TON_Read.Q THEN
enCmd := enRFIDCMD_READ_INVENTORY;
enCmd1 := enRFIDCMD_READ_INVENTORY;
END_IF
//Call FUBs
FUB_FrameRead ();
FUB_FrameWrite ();
FUB_FrameXOpen ();
FUB_FrameRead1 ();
FUB_FrameRead2 ();
FUB_FrameRead3 ();
FUB_FrameRead4 ();
FUB_FrameWrite1 ();
FUB_FrameWrite2 ();
FUB_FrameWrite3 ();
FUB_FrameWrite4 ();
FUB_FrameXOpen1 ();
FUB_FrameXOpen2 ();
FUB_FrameXOpen3 ();
FUB_FrameXOpen4 ();
FUB_UsbNodeGet ();
FUB_UsbNodeListGet ();
FUB_UsbDescriptorGet ();

View File

@@ -6,11 +6,7 @@ TYPE
enRFIDStep_USB_GETNODELIST, (*Get USB Devices*)
enRFIDStep_USB_SEARCHDEVICE, (*Search Reader in Devices*)
enRFIDStep_USB_READDEVDESCR, (*Get Device Descriptor*)
enRFIDStep_USB_DVDEVOPEN, (*Open Reader*)
enRFIDStep_INIT_READER, (*Initialize Reader*)
enRFIDStep_IDLE, (*Wait for commands*)
enRFIDStep_READ, (*READ from Reader*)
enRFIDStep_WRITE (*WRITE to Reader*)
enRFIDStep_IDLE
);
typ_enCmdRFID :
(
@@ -22,4 +18,13 @@ TYPE
enRFIDCMD_WRITE_AFI,
enRFIDCMD_WRITE_DFSID
);
typ_enStepRFIDReader :
( (*Schritte RFID Leser*)
enRFIDReaderStep_INIT, (*Init -> Search Reader*)
enRFIDReaderStep_USB_DVDEVOPEN, (*Open Reader*)
enRFIDReaderStep_INIT_READER, (*Initialize Reader*)
enRFIDReaderStep_IDLE, (*Wait for commands*)
enRFIDReaderStep_READ, (*READ from Reader*)
enRFIDReaderStep_WRITE (*WRITE to Reader*)
);
END_TYPE

View File

@@ -1,34 +1,60 @@
VAR
sizeUsbNode : USINT;
END_VAR
VAR RETAIN
usNodeIx : USINT;
END_VAR
VAR
usFoundReaders : USINT;
usNodeIxR1T1 : USINT; (*Node Index Roboter 1 Werkzeugschlitten 1*)
usNodeIxR1T2 : USINT; (*Node Index Roboter 1 Werkzeugschlitten 2*)
usNodeIxR2T1 : USINT; (*Node Index Roboter 2 Werkzeugschlitten 1*)
usNodeIxR2T2 : USINT; (*Node Index Roboter 2 Werkzeugschlitten 2*)
usBlockNr : USINT;
udSerialNr : ARRAY[0..31] OF UDINT;
uiReadAnswer : UINT;
uiReadBufferLength : UINT;
uiReadCount : UINT;
uiReadAnswer : ARRAY[1..4] OF UINT;
uiReadBufferLength : ARRAY[1..4] OF UINT;
uiReadCount : ARRAY[1..4] OF UINT;
uiLength : UINT;
udAttachDetachCount : UDINT;
udNodeId : UDINT;
udNodeList : ARRAY[0..31] OF UDINT;
pReadBuffer : UDINT;
pReadBuffer : ARRAY[1..4] OF UDINT;
udTemp : UDINT;
udTemp2 : UDINT;
udWriteData : UDINT;
strReadData : STRING[80];
strReadTag : STRING[80];
strDeviceDescr : ARRAY[0..31] OF WSTRING[80];
strDevice : STRING[20];
strWriteData : STRING[80];
strWriteDatalen : STRING[2];
strWriteTelegram : STRING[80];
strReadData : ARRAY[1..4] OF STRING[80];
strReadTag : ARRAY[1..4] OF STRING[80];
strDeviceDescr : ARRAY[1..4] OF WSTRING[80];
strWriteData : ARRAY[1..4] OF STRING[80];
strWriteDatalen : ARRAY[1..4] OF STRING[2];
strWriteTelegram : ARRAY[1..4] OF STRING[80];
strTemp : STRING[2];
enStep : typ_enStepRFID;
enCmd : typ_enCmdRFID;
enStepReader1 : typ_enStepRFIDReader;
enStepReader2 : typ_enStepRFIDReader;
enStepReader3 : typ_enStepRFIDReader;
enStepReader4 : typ_enStepRFIDReader;
enCmd1 : typ_enCmdRFID;
enCmd2 : typ_enCmdRFID;
enCmd3 : typ_enCmdRFID;
enCmd4 : typ_enCmdRFID;
usbDevice : ARRAY[0..31] OF usbNode_typ;
FUB_FrameRead : FRM_read;
FUB_FrameReleaseBuffer : FRM_rbuf;
FUB_FrameWrite : FRM_write;
FUB_FrameXOpen : FRM_xopen;
FUB_FrameRead1 : FRM_read;
FUB_FrameRead2 : FRM_read;
FUB_FrameRead3 : FRM_read;
FUB_FrameRead4 : FRM_read;
FUB_FrameReleaseBuffer1 : FRM_rbuf;
FUB_FrameReleaseBuffer2 : FRM_rbuf;
FUB_FrameReleaseBuffer3 : FRM_rbuf;
FUB_FrameReleaseBuffer4 : FRM_rbuf;
FUB_FrameWrite1 : FRM_write;
FUB_FrameWrite2 : FRM_write;
FUB_FrameWrite3 : FRM_write;
FUB_FrameWrite4 : FRM_write;
FUB_FrameXOpen1 : FRM_xopen;
FUB_FrameXOpen2 : FRM_xopen;
FUB_FrameXOpen3 : FRM_xopen;
FUB_FrameXOpen4 : FRM_xopen;
FUB_UsbNodeGet : UsbNodeGet;
FUB_UsbNodeListGet : UsbNodeListGet;
FUB_UsbDescriptorGet : UsbDescriptorGet;
@@ -38,4 +64,5 @@ VAR CONSTANT
TRANSPONDER_FTDI_VENDOR_ID : UINT := 16#0403;
TRANSPONDER_FTDI_PRODUCT_ID : UINT := 16#6001;
TRANSPONDER_FTDI_BCD : UINT := 16#0600;
NEEDED_DEVICES : USINT := 4; (*4 RFID Leserverbaut*)
END_VAR

View File

@@ -8,6 +8,13 @@ VAR
guiTemperatureENV : UINT; (*Umgebungstemperatur*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*SS1.IF1 - Profibus*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gbST11Robot1Ok : BOOL; (*DP-Kommunkitation zum Roboter OK*)
gbST12Robot2Ok : BOOL; (*DP-Kommunkitation zum Roboter OK*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST1 - Safety PLC*)
(*Signals to Safe PLC*)
(*----------------------------------------------------------------------------------------------------------------*)
@@ -56,50 +63,70 @@ END_VAR
(*IF3.ST2 - Acopos 1045 (Small Grinder Robot 1)*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR1G2 : ACP10AXIS_typ;
gAxR1G2 : ACP10AXIS_typ; (*Roboter 1 Fingerschleifer (Schleifer 2)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST3 - Acopos 1045 (Small Grinder Robot 2)*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR2G2 : ACP10AXIS_typ;
gAxR2G2 : ACP10AXIS_typ; (*Roboter 2 Fingerschleifer (Schleifer 2)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST4 - Acopos P74 (Robot 1 / Tablett 1)*)
(*IF3.ST4 - Acopos P74 (Robot 1 / Toolslay 1)*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR1T1 : ACPinverter_typ;
gAxR1T1 : ACPinverter_typ; (*Roboter 1 Werkzeugschlitten 1*)
giOuPressureR1G1 : INT; (*Preassure Grinder 1 Robot 1(0 to 8192)*)
gbInToolSlay1OutRob1 : BOOL; (*Toolslay 1 Robot 1 is Out (LI1)*)
gbInToolSlay1InRob1 : BOOL; (*Toolslay 1 Robot 1 is In (LI2)*)
gbInGateIsOpenRob1 : BOOL; (*ToolGate Robot 1 is Closed (LI4)*)
gbInKeyReleaseTool : BOOL; (*Temporary Key Release Gripper Robot 1 (LI5)*)
gbInKeyReleaseToolRob1 : BOOL; (*Temporary Key Release Gripper Robot 1 (LI5)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST5 - Acopos P74 (Robot 1 / Tablett 2)*)
(*IF3.ST5 - Acopos P74 (Robot 1 / Toolslay 2)*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR1T2 : ACPinverter_typ;
gAxR1T2 : ACPinverter_typ; (*Roboter 1 Werkzeugschlitten 2*)
giOuPressureR1G2 : INT; (*Preassure Grinder 2 Robot 1 (0 to 8192)*)
gbInToolSlay2OutRob1 : BOOL; (*Toolslay 2 Robot 1 is Out (LI1)*)
gbInToolSlay2InRob1 : BOOL; (*Toolslay 2 Robot 1 is In (LI2)*)
gbInKeyReleasePart : BOOL; (*Temporary Key Release Part Robot 1 (LI5)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST6 - Acopos P74 (Robot 2 / Tablett 1)*)
(*IF3.ST6 - Acopos P74 (Robot 2 / Toolslay 1)*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR2T1 : ACPinverter_typ;
gAxR2T1 : ACPinverter_typ; (*Roboter 2 Werkzeugschlitten 1*)
giOuPressureR2G1 : INT; (*Preassure Grinder 1 Robot 2 (0 to 8192)*)
gbInToolSlay1OutRob2 : BOOL; (*Toolslay 1 Robot 2 is Out (LI1)*)
gbInToolSlay1InRob2 : BOOL; (*Toolslay 1 Robot 2 is In (LI2)*)
gbInKeyReleaseToolRob2 : BOOL; (*Temporary Key Release Gripper Robot 2 (LI5)*)
gbInGateIsOpenRob2 : BOOL; (*ToolGate Robot 2 is Closed (LI4)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST7 - Acopos P74 (Robot 2 / Tablett 2)*)
(*IF3.ST7 - Acopos P74 (Robot 2 / Toolslay 2)*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR2T2 : ACPinverter_typ;
gAxR2T2 : ACPinverter_typ; (*Roboter 2 Werkzeugschlitten 2*)
giOuPressureR2G2 : INT; (*Preassure Grinder 2 Robot 2 (0 to 8192)*)
gbInToolSlay2OutRob2 : BOOL; (*Toolslay 2 Robot 2 is Out (LI1)*)
gbInToolSlay2InRob2 : BOOL; (*Toolslay 2 Robot 2 is In (LI2)*)
gbInKeyReleasePart2 : BOOL; (*Temporary Key Release Part Robot 2 (LI5)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST7 - ACP P74 Belt 1*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR1G1 : ACPinverter_typ; (*Roboter 1 Bandschleifer (Schleifer 1)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF3.ST8 - ACP P74 Belt 2*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR2G1 : ACPinverter_typ; (*Roboter 2 Bandschleifer (Schleifer 1)*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*----------------------------------------------------------------------------------------------------------------*)
(*IF6.ST1 - DI9371*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
@@ -292,24 +319,6 @@ VAR
gbOuDQuickStopGrind2Rob2 : BOOL; (*Quickstop Fingerschleifer Rob2*)
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF1.ST15 - X20BT9100*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gbST15ModuleOk : BOOL;
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF1.ST16 - ACP X64*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR1G1 : ACPinverter_typ;
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*IF1.ST17 - ACP X64*)
(*----------------------------------------------------------------------------------------------------------------*)
VAR
gAxR2G1 : ACPinverter_typ;
END_VAR
(*----------------------------------------------------------------------------------------------------------------*)
(*For Test purpose only*)
VAR
gbInTestChannel1 : BOOL;
@@ -319,3 +328,4 @@ VAR
gbInTestChannel5 : BOOL;
gbInTestChannel6 : BOOL;
END_VAR
(*ToDo*)

View File

@@ -8,15 +8,6 @@ TYPE
udType : UDINT := 1; (*1: Grind, 2: Welded, 3: Boxed to Line*)
udCount : USINT := 30; (*Blades*)
END_STRUCT;
typTransponder : STRUCT (*Type for Transponder handling*)
enTransponderCmd : enTransponderCommand; (*Command for Operating Transponder*)
udTagID : UDINT; (*Unique Transponder ID*)
udProdID : UDINT; (*Unixtimestamp to Write*)
udProdIDRdBack : UDINT; (*Unixtimestamp Read Back*)
udProdNr : UDINT; (*ArticleNr - Bladetype*)
udProdNrRdBack : UDINT; (*ArticleNr - Bladetype*)
udCount : UDINT := 0; (*Blades*)
END_STRUCT;
enTransponderCommand :
( (*Operate Transponder*)
enTransponderIDLE, (*Cyclic Read of Unique ID*)

View File

@@ -1,5 +1,8 @@
VAR
gudToolRFIDRob1Tool1 : UDINT;
gudToolRFIDRob1Tool2 : UDINT;
gudToolRFIDRob2Tool1 : UDINT;
gudToolRFIDRob2Tool2 : UDINT;
gABBLog : typBladeLog;
gBBCLog : typBladeLog;
gTransponder : typTransponder;
END_VAR

View File

@@ -17,6 +17,7 @@ TYPE
usLabelSetupmode1 : USINT;
usLabelSetupmode2 : USINT;
usLayersMainpage : ARRAY[1..7]OF USINT;
usLayersIOState : ARRAY[1..7]OF USINT;
END_STRUCT;
typVCCommands : STRUCT
bErrorReset : BOOL;
@@ -27,6 +28,7 @@ TYPE
bMachineON : BOOL; (*Anlage EIN*)
bMachineONDel : BOOL; (*Anlage EIN Verz<72>gert*)
bMachineHOME : BOOL; (*Anlage in Grundstellung*)
bRestartOK : BOOL; (*Automatik Neustart ist erlaubt*)
bRequestHoming : BOOL := 1; (*Anforderung Grundstellungsfahrt*)
bSetupMode : BOOL; (*Inbetriebnahme (Plausibilit<69>t deaktivieren)*)
enMode : enMACHMODE := enMACH_HOMEPOS; (*Betriebsart*)

View File

@@ -1,5 +1,6 @@
VAR
gusCurrentOpLayer : USINT; (*Aktueller Bedienlayer*)
gusCurrentOpLayer : USINT; (*Aktueller Bedienlayer f<>r Hauptseite*)
gusCurrentOpLayerIO : USINT; (*Aktueller Bedienlayer f<>r IO Seite*)
gMachine1 : typMachine; (*Maschinenstati*)
gMachine2 : typMachine; (*Maschinenstati*)
gMachineCommands1 : typMachineCommands; (*Machinenkommandos*)
@@ -15,6 +16,8 @@ VAR
gbAirOk2 : BOOL;
gbCmdCloseDoorRobot1 : BOOL;
gbCmdCloseDoorRobot2 : BOOL;
gbFinihedRobot1 : BOOL;
gbFinihedRobot2 : BOOL;
END_VAR
(*Constants*)
VAR CONSTANT

View File

@@ -1,4 +1,3 @@
PROGRAM _CYCLIC
// Robot 1 Grinder 1
//Enable IF Module is OK
@@ -20,9 +19,22 @@ PROGRAM _CYCLIC
gAxR1G1.Out.bCmd07_ResetFault := FALSE;
//Belt
gbOuBeltLooseGrind1Rob1 := NOT gCmdTightenBelt1Rob1;
gbOuBeltTightenGrind1Rob1 := gCmdTightenBelt1Rob1;
gbOuBeltLooseGrind1Rob1 := NOT gCmdTightenBelt1Rob1 AND gbSPLCInDoorzoneOkRob1;
gbOuBeltTightenGrind1Rob1 := gCmdTightenBelt1Rob1 AND gbSPLCInDoorzoneOkRob1;
gbOuBeltLooseGrind2Rob1 := NOT gCmdTightenBelt1Rob1;// AND gbSPLCInDoorzoneOkRob1;
gbOuBeltTightenGrind2Rob1 := gCmdTightenBelt1Rob1;//FixMe AND gbSPLCInDoorzoneOkRob1;
//Speed
gAxis[0].Para.rJogVelocity := 2000.0 + 8 * USINT_TO_REAL (gABBRobot1.In.usvGrinder2);
gAxis[0].Para.rAcceleration := 8000.0;
gAxis[0].Para.rDeceleration := 8000.0;
gAxis[1].Para.rJogVelocity := 2000.0 + 8 * USINT_TO_REAL (gABBRobot2.In.usvGrinder2);
gAxis[1].Para.rAcceleration := 8000.0;
gAxis[1].Para.rDeceleration := 8000.0;
//Preassure Grinder 1
//Robot Values 0-200 := 0-100 in 0.5% Steps Valve Max value is 8000 (8192)
giOuPressureR1G1 := gABBRobot1.In.uspGrinder1 * iPreassureStep;

View File

@@ -6,6 +6,5 @@
<Object Type="File">GlobalMachine.var</Object>
<Object Type="Program" Language="IEC">machine</Object>
<Object Type="Program" Language="IEC" Description="Control Grinders">Grinders</Object>
<Object Type="Program" Language="IEC" Description="Temporary Operation">TempMode</Object>
</Objects>
</Package>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<Program xmlns="http://br-automation.co.at/AS/Program">
<Files>
<File Description="Cyclic code">TempMode.st</File>
<File Description="Local variables" Private="true">TempMode.var</File>
</Files>
</Program>

View File

@@ -1,7 +0,0 @@
PROGRAM _CYCLIC
//Temporary Operation of Valves on Robot
gABBRobot1.Out.bReleaseTool := gbInKeyReleaseTool AND gMachine1.bMachineON;
gABBRobot1.Out.bReleasePart := gbInKeyReleasePart AND gMachine1.bMachineON;
END_PROGRAM

View File

@@ -1,18 +0,0 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: TempMode
* File: TempMode.var
* Author: michi
* Created: July 08, 2015
********************************************************************
* Local variables of program TempMode
********************************************************************)
VAR
END_VAR
VAR CONSTANT
END_VAR

View File

@@ -3,10 +3,21 @@ PROGRAM _INIT
bInit := TRUE;
lMachine1 ACCESS ADR (gMachine1);
lMachine2 ACCESS ADR (gMachine2);
lAxisSlay1 ACCESS ADR (gAxis[5]);
lAxisGrind2Rob1 ACCESS ADR (gAxis[0]);
lAxisGrind2Rob2 ACCESS ADR (gAxis[1]);
FUB_CfgGetIPAddr.enable := TRUE;
FUB_AsArLogWrite.ident := arlogBASE_USER_LOG_IDENT;
//Parameter
lAxisGrind2Rob1.Para.rVelocity := 800; // [0.1mm/s]
lAxisGrind2Rob1.Para.rAcceleration := 1000; // [0.1mm/s^2]
lAxisGrind2Rob1.Para.rDeceleration := 1000; // [0.1mm/s^2]
//Parameter
lAxisGrind2Rob2.Para.rVelocity := 800; // [0.1mm/s]
lAxisGrind2Rob2.Para.rAcceleration := 1000; // [0.1mm/s^2]
lAxisGrind2Rob2.Para.rDeceleration := 1000; // [0.1mm/s^2]
END_PROGRAM
@@ -161,17 +172,25 @@ gStatusVCControls.usLayersMainpage[3] := SHL (BOOL_TO_USINT (NOT gMachine1.bMach
//Layer 4 Automatic Opteration Robot 1
gStatusVCControls.usLayersMainpage[4] := SHL (BOOL_TO_USINT (NOT gMachine1.bMachineON OR (gMachine1.enMode <> enMACH_AUTOMATIC)), VC_HIDE_BITPOS);
//Layer 5 Homing Robot 1
gStatusVCControls.usLayersMainpage[5] := SHL (BOOL_TO_USINT (NOT gMachine1.bMachineON OR (gMachine1.enMode <> enMACH_HOMEPOS)), VC_HIDE_BITPOS);
gStatusVCControls.usLayersMainpage[5] := SHL (BOOL_TO_USINT (NOT gMachine1.bMachineON OR (gMachine1.enMode <> enMACH_HOMEPOS)), VC_HIDE_BITPOS);
IF (gusCurrentOpLayerIO < 2) THEN
gusCurrentOpLayerIO := 2;
END_IF
gStatusVCControls.usLayersIOState[2] := SHL (BOOL_TO_USINT (gusCurrentOpLayerIO <> 2), VC_HIDE_BITPOS);
gStatusVCControls.usLayersIOState[3] := SHL (BOOL_TO_USINT (gusCurrentOpLayerIO <> 3), VC_HIDE_BITPOS);
gStatusVCControls.usLayersIOState[4] := SHL (BOOL_TO_USINT (gusCurrentOpLayerIO <> 4), VC_HIDE_BITPOS);
gStatusVCControls.usLayersIOState[5] := SHL (BOOL_TO_USINT (gusCurrentOpLayerIO <> 5), VC_HIDE_BITPOS);
gStatusVCControls.usLayersIOState[6] := SHL (BOOL_TO_USINT (gusCurrentOpLayerIO <> 6), VC_HIDE_BITPOS);
//Alarms
//=================================================
//Fuse 24 V DC
//0 Fuse 24 V DC
gMachineAlarms1.Alarm[0] := NOT gbIn24VOk;
//gMachineAlarms1.Alarm[1] := NOT gbIn24VOk;
//gMachineAlarms2.Alarm[0] := NOT gbIn24VOk;
//Reset Fuse 24V DC
gbOuReset24VError := (gbInResetKeyRob1 OR gbInResetKeyRob2) AND NOT gbIn24VOk;
//Air Robot 1
//1 Air Robot 1
TON_AirOk1.IN := gbInAirOKRob1;
TON_AirOk1.PT := t#2s;
TON_AirOk1 ();
@@ -180,7 +199,7 @@ TON_AirNOk1.IN := gMachine1.bMachineON AND gbSPLCInDoorzoneOkRob1 AND NOT gbInAi
TON_AirNOk1.PT := t#2s;
TON_AirNOk1 ();
gMachineAlarms1.Alarm[1] := TON_AirNOk1.Q;
//Air Robot 2
//1 Air Robot 2
TON_AirOk2.IN := gbInAirOKRob2;
TON_AirOk2.PT := t#2s;
TON_AirOk2 ();
@@ -189,9 +208,26 @@ TON_AirNOk2.IN := gMachine2.bMachineON AND gbSPLCInDoorzoneOkRob2 AND NOT gbInAi
TON_AirNOk2.PT := t#2s;
TON_AirNOk2 ();
gMachineAlarms2.Alarm[1] := TON_AirNOk2.Q;
//Request Homing
gMachineAlarms1.Alarm[2] := lMachine1.bRequestHoming;
gMachineAlarms2.Alarm[2] := lMachine1.bRequestHoming;
//2 Request Homing
gMachineAlarms1.Alarm[2] := lMachine1.bRequestHoming AND gMachine1.bMachineON;
gMachineAlarms2.Alarm[2] := lMachine2.bRequestHoming AND gMachine2.bMachineON;
//3 Wrong Tool built in GrindCtrl
//4 Communcation Robot
gMachineAlarms1.Alarm[4] := NOT gbST11Robot1Ok AND gMachine1.bMachineON;
gMachineAlarms2.Alarm[4] := NOT gbST12Robot2Ok AND gMachine2.bMachineON;
//5 Tool not locked built in GrindCtrl
//6 Grinder 2
gMachineAlarms1.Alarm[6] := (lAxisGrind2Rob1.enStep = enAxSTATE_ERROR) AND gMachine1.bMachineON;
gMachineAlarms2.Alarm[6] := (lAxisGrind2Rob2.enStep = enAxSTATE_ERROR) AND gMachine2.bMachineON;
//7 Robot not Automatic
gMachineAlarms1.Alarm[6] := (gMachine1.enMode = enMACH_AUTOMATIC) AND NOT gABBRobot1.In.bAutomatic AND gMachine1.bMachineON;
gMachineAlarms1.Alarm[7] := (gMachine2.enMode = enMACH_AUTOMATIC) AND NOT gABBRobot2.In.bAutomatic AND gMachine2.bMachineON;
//Cylinder Toolslay 1
@@ -219,6 +255,9 @@ gMachine2.bMachineONDel := TON_MachineOn2.Q;
//Reset E-Stop
gbSPLCOuResetEstopRob1 := EDGEPOS (gbInResetKeyRob1) AND gMachine1.bMachineON AND NOT bInit;
gbSPLCOuResetEstopRob2 := EDGEPOS (gbInResetKeyRob2) AND gMachine2.bMachineON AND NOT bInit;
//Reset E-Stop Robot
gABBRobot1.Out.bResetEStop := gABBRobot1.In.bEStop AND gbInResetKeyRob1 AND gMachine1.bMachineON AND gbSInEStopOkRob1 AND NOT bInit;
gABBRobot2.Out.bResetEStop := gABBRobot2.In.bEStop AND gbInResetKeyRob2 AND gMachine2.bMachineON AND gbSInEStopOkRob2 AND NOT bInit;
//Reset Workzone
gbSPLCOuResetWorkzoneRob1 := (EDGENEG (gbInStartKey1Rob1) OR EDGENEG (gbInStartKey2Rob1)) AND gMachine1.bMachineON;
@@ -226,7 +265,7 @@ gbSPLCOuResetWorkzoneRob2 := (EDGENEG (gbInStartKey1Rob2) OR EDGENEG (gbInStartK
//Reset Doorzone
//FixMe Temporary Mode
gbSPLCOuResetDoorzoneRob1 := (EDGENEG (gbInStartKey1Rob1) OR EDGENEG (gbInStartKey2Rob1)) AND gMachine1.bMachineON;
gbSPLCOuResetDoorzoneRob1 := (EDGENEG (gbInStartKey1Rob1) OR EDGENEG (gbInStartKey2Rob1) OR EDGENEG (gbIDoorKey2Rob1)) AND gMachine1.bMachineON;
//gbSPLCOuResetDoorzoneRob1 := EDGENEG (gbIDoorKey2Rob1) AND gMachine1.bMachineON;
gbSPLCOuResetDoorzoneRob2 := EDGENEG (gbIDoorKey2Rob2) AND gMachine2.bMachineON;
@@ -238,15 +277,126 @@ FOR usi := 10 TO 33 DO
END_IF
END_FOR
//Temporary Operation of Valves on Robot1
TON_ReleaseToolRob1.IN := gbInKeyReleaseToolRob1 AND gMachine1.bMachineON;
TON_ReleaseToolRob1.PT := t#2s;
TON_ReleaseToolRob1 ();
IF TON_ReleaseToolRob1.Q THEN
gABBRobot1.Out.bReleaseTool := TRUE;
END_IF
IF EDGEPOS (gbInKeyReleaseToolRob1) THEN
gABBRobot1.Out.bReleaseTool := FALSE;
END_IF
gABBRobot1.Out.bReleasePart := gbInKeyReleasePart AND gMachine1.bMachineON;
TOF_ResetAxisErrors1.IN := EDGEPOS (gbSPLCInDoorzoneOkRob1);
TOF_ResetAxisErrors1.PT := t#3s;
TOF_ResetAxisErrors1 ();
TOF_ResetAxisErrors2.IN := EDGEPOS (gbSPLCInDoorzoneOkRob2);
TOF_ResetAxisErrors2.PT := t#3s;
TOF_ResetAxisErrors2 ();
//Outputs
//================================================
//Enalbe Grinders
//Power Up and Reset Errors
lAxisGrind2Rob1.bPower := gMachine1.bMachineON AND gbSPLCInDoorzoneOkRob1 AND lAxisGrind2Rob1.DriveStatus.bControllerReady;
lAxisGrind2Rob2.bPower := gMachine2.bMachineON AND gbSPLCInDoorzoneOkRob2 AND lAxisGrind2Rob2.DriveStatus.bControllerReady;
IF EDGEPOS (gVCCommands.bErrorReset) OR (TOF_ResetAxisErrors1.Q AND bBlink0_1) OR EDGEPOS (gbInResetKeyRob1) THEN
lAxisGrind2Rob1.Error.bAcknowledge := (lAxisGrind2Rob1.Error.uiID > 0);
END_IF
IF EDGEPOS (gVCCommands.bErrorReset) OR (TOF_ResetAxisErrors2.Q AND bBlink0_1) OR EDGEPOS (gbInResetKeyRob2) THEN
lAxisGrind2Rob2.Error.bAcknowledge := (lAxisGrind2Rob2.Error.uiID > 0);
END_IF
//Set Quickstop (FixMe)
gbOuDQuickStopGrind2Rob1 := gMachine1.bMachineON AND gbSPLCInDoorzoneOkRob1;
gbOuDQuickStopGrind2Rob2 := gMachine2.bMachineON AND gbSPLCInDoorzoneOkRob2;
//Home
IF NOT lAxisGrind2Rob1.DriveStatus.bHomingOk AND lAxisGrind2Rob1.bPower THEN
lAxisGrind2Rob1.bHome := lAxisGrind2Rob1.DriveStatus.bDriveEnable;
END_IF
IF NOT lAxisGrind2Rob2.DriveStatus.bHomingOk AND lAxisGrind2Rob2.bPower THEN
lAxisGrind2Rob2.bHome := lAxisGrind2Rob2.DriveStatus.bDriveEnable;
END_IF
//Enable Toolslays
//Robot 1
//Robot 2 Toolslay 1
//---------------------------------------
//Enable IF Module is OK
gAxR2T1.Out.bCmd01_DisableVoltage := gAxR2T1.bModuleOK;
gAxR2T1.Out.bCmd02_QuickStop := gAxR2T1.bModuleOK;
//Power Up
IF gAxR2T1.In.bStat00_ReadytoSwitchOn AND gMachine2.bMachineON THEN
gAxR2T1.Out.bCmd00_SwitchOn := TRUE;
gAxR2T1.Out.bCmd03_EnableOperation := TRUE;
END_IF
IF NOT gMachine2.bMachineON OR gAxR2T1.In.bStat06_SwitchedOnDisabled THEN
gAxR2T1.Out.bCmd00_SwitchOn := FALSE;
gAxR2T1.Out.bCmd03_EnableOperation := FALSE;
END_IF
//Robot 2 Toolslay 1
//---------------------------------------
//Enable IF Module is OK
gAxR2T2.Out.bCmd01_DisableVoltage := gAxR2T2.bModuleOK;
gAxR2T2.Out.bCmd02_QuickStop := gAxR2T2.bModuleOK;
//Power Up
IF gAxR2T2.In.bStat00_ReadytoSwitchOn AND gMachine2.bMachineON THEN
gAxR2T2.Out.bCmd00_SwitchOn := TRUE;
gAxR2T2.Out.bCmd03_EnableOperation := TRUE;
END_IF
IF NOT gMachine2.bMachineON OR gAxR2T2.In.bStat06_SwitchedOnDisabled THEN
gAxR2T2.Out.bCmd00_SwitchOn := FALSE;
gAxR2T2.Out.bCmd03_EnableOperation := FALSE;
END_IF
//Reset Error
gAxR1T1.Out.bCmd07_ResetFault := FALSE;
//Handle Door Access
//---------------------------------------
IF EDGEPOS (gbIDoorKey1Rob1) THEN
bOpenDoorRob1 := NOT bOpenDoorRob1;
END_IF;
IF NOT lMachine1.bMachineON OR NOT gbSPLCInDoorzoneOkRob1 THEN
bOpenDoorRob1 := TRUE;
END_IF;
IF EDGEPOS (gbSPLCInDoorzoneOkRob1) THEN
bOpenDoorRob1 := FALSE;
END_IF
IF EDGEPOS (gbIDoorKey1Rob2) THEN
bOpenDoorRob2 := NOT bOpenDoorRob2;
END_IF;
IF NOT lMachine2.bMachineON OR NOT gbSPLCInDoorzoneOkRob2 THEN
bOpenDoorRob2 := TRUE;
END_IF;
IF EDGEPOS (gbSPLCInDoorzoneOkRob2) THEN
bOpenDoorRob2 := FALSE;
END_IF
//Power Up Diagnostic Modules Bumper
gbOuPowerBumperRob1 := TRUE OR gbInBumperRob1Ok;
gbOuPowerBumperRob2 := TRUE OR gbInBumperRob2Ok;
//Hold Doors Closed
gbOuHoldDoorClosedRob1 := gCmdHoldDoorClosedRob1;
gbOuHoldDoorClosedRob2 := gCmdHoldDoorClosedRob2;
//Hold Doors Closed (always in Automatic)
gbOuHoldDoorClosedRob1 := gCmdHoldDoorClosedRob1 OR NOT bOpenDoorRob1;
gbOuHoldDoorClosedRob2 := gCmdHoldDoorClosedRob2 OR NOT bOpenDoorRob2;
//Lamps
//------------------------------------------------
@@ -261,17 +411,27 @@ gbOuLEDResetKeyRob2 := NOT gbSPLCInEstopOkRob2;
// (bSafetyError AND bBlink0_5);
//Door
gbOuDoorMGBLED1Rob1 := gbOuHoldDoorClosedRob1 OR (bOpenDoorRob1 AND bBlink0_5);
gbOuDoorMGBLED2Rob1 := NOT gbSPLCInDoorzoneOkRob1;
gbOuDoorMGBLED1Rob2 := gbOuHoldDoorClosedRob2 OR (bOpenDoorRob1 AND bBlink0_5);
gbOuDoorMGBLED2Rob2 := NOT gbSPLCInDoorzoneOkRob2;
//Start Keys at Tablet
gbOuLEDStartKey1Rob1 := NOT gbSPLCInWorkzoneOkRob1;
gbOuLEDStartKey1Rob2 := NOT gbSPLCInWorkzoneOkRob2;
gbOuLEDStartKey2Rob1 := NOT gbSPLCInWorkzoneOkRob1;
gbOuLEDStartKey2Rob2 := NOT gbSPLCInWorkzoneOkRob2 AND bBlink0_5;
gbOuLEDStartKey2Rob2 := NOT gbSPLCInWorkzoneOkRob2 AND bBlink0_5;
//Signal Tower
gbOuLampGreenSignalTowerRob1 := lMachine1.bMachineON;
gbOuLampRedSignalTowerRob1 := NOT gbSPLCInEstopOkRob1 OR (NOT gbSPLCInWorkzoneOkRob1 AND bBlink0_5);
gbOuAlarmSignalTowerRob1 := gbFinihedRobot1 AND NOT TON_Finished1.Q;
TON_Finished1.IN := gbFinihedRobot1;
TON_Finished1.PT := t#400ms;
TON_Finished1 ();
gbOuLampGreenSignalTowerRob2 := lMachine2.bMachineON;
gbOuLampRedSignalTowerRob2 := NOT gbSPLCInEstopOkRob2 OR (NOT gbSPLCInWorkzoneOkRob1 AND bBlink0_5);

View File

@@ -1,13 +1,15 @@
VAR
lMachine1 : REFERENCE TO typMachine;
lMachine2 : REFERENCE TO typMachine;
lAxisSlay1 : REFERENCE TO typAxis; (*Axis Datastruct *)
lAxisSlay2 : REFERENCE TO typAxis; (*Axis Datastruct *)
lAxisGrind2Rob1 : REFERENCE TO typAxis; (*Axis Datastruct *)
lAxisGrind2Rob2 : REFERENCE TO typAxis; (*Axis Datastruct *)
bInit : BOOL;
usi : USINT;
usj : USINT;
bSignalHorn : BOOL := FALSE;
bSafetyError : BOOL;
bOpenDoorRob1 : BOOL;
bOpenDoorRob2 : BOOL;
usi : USINT;
usj : USINT;
uiErrorsActive : UINT := 0;
uiErrorsActiveLast : UINT := 0;
FUB_CfgGetIPAddr : CfgGetIPAddr;
@@ -20,10 +22,14 @@ VAR
TON_AirOk2 : TON;
TON_AirNOk1 : TON;
TON_AirNOk2 : TON;
TON_HoldingBrakeOpen : TON;
TON_HoldingBrakeClose : TON;
TON_ReleaseToolRob1 : TON;
TON_ReleaseToolRob2 : TON;
TON_MachineOn1 : TON;
TON_MachineOn2 : TON;
TON_Finished1 : TON;
TON_Finished2 : TON;
Tool1DoorCylinderCheck : FUB_CylinderCheck;
Tool2DoorCylinderCheck : FUB_CylinderCheck;
TOF_ResetAxisErrors1 : TOF;
TOF_ResetAxisErrors2 : TOF;
END_VAR

View File

@@ -1,17 +1,7 @@
(********************************************************************
* COPYRIGHT --
********************************************************************
* Program: SafetyAlarms
* File: SafetyAlarms.st
* Author: michi
* Created: April 17, 2013
********************************************************************
* Implementation of program SafetyAlarms
********************************************************************)
PROGRAM _INIT
TON_LightCurtain1.PT := t#20s;
TON_LightCurtain2.PT := t#20s;
TON_LightCurtain1.PT := t#40s;
TON_LightCurtain2.PT := t#40s;
TON_SafetyAreaToolslay1.PT := t#20s;
TON_SafetyAreaToolslay2.PT := t#20s;
@@ -27,11 +17,11 @@ gSafetyAlarm.Alarm[3] := NOT gbSPLCInDoorzoneOkRob2 AND gMachine2.bMachineON;
gSafetyAlarm.Alarm[4] := FALSE;
gSafetyAlarm.Alarm[5] := FALSE;
//Light Curtain 1 Tool 1 left big
TON_LightCurtain1.IN := FALSE;
//Light Curtain Roboter 1
TON_LightCurtain1.IN := NOT gbSInLightBarOkRob1;
TON_LightCurtain1 ();
//Light Curtain 2 Tool 1 left small
TON_LightCurtain2.IN := FALSE;
TON_LightCurtain2.IN := NOT gbSInLightBarOkRob2;
TON_LightCurtain2 ();
//SafetyArea
@@ -41,25 +31,12 @@ TON_SafetyAreaToolslay1 ();
TON_SafetyAreaToolslay2.IN := FALSE; //gbSPLCInEstopOk AND NOT gbSPLCInAreaToolslay2Ok;
TON_SafetyAreaToolslay2 ();
//Hardwareerrors
gbSPLCOuHWSafetyToolSlayRob1OK := TRUE;
gbSPLCOuHWSafetyToolSlayRob2OK := TRUE;
gbSPLCOuHWSafetyGrindersRob1OK := TRUE;
gbSPLCOuHWSafetyGrindersRob2OK := TRUE;
gbSPLCOuHWMainValveRob1OK := TRUE;
gbSPLCOuHWValveCloseGateRob1OK := TRUE;
gbSPLCOuHWMainValveRob2OK := TRUE;
gbSPLCOuHWValveCloseGateRob2OK := TRUE;
//HW Freigabe Fehler
//Netzsch<EFBFBD>tz 1 Roboter 1 T<EFBFBD>r
IF (genST7StatDO1 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[10] := TRUE;
END_IF
IF gbInResetKeyRob1 THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[10] := FALSE;
END_IF
IF (genST7StatDO1 = enSDO_LOCK_ERROR) THEN
@@ -72,13 +49,12 @@ IF (genST7StatDO1 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[12] := FALSE;
END_IF
gbSPLCOuHWSafetyEStop1Rob1OK := NOT gSafetyAlarm.Alarm[12];
gbSPLCOuHWSafetyDoor1Rob1OK := NOT gSafetyAlarm.Alarm[12];
//Netzsch<EFBFBD>tz 2 Roboter 1 T<EFBFBD>r
IF (genST7StatDO2 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[13] := TRUE;
END_IF
IF gbInResetKeyRob1 THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[13] := FALSE;
END_IF
IF (genST7StatDO2 = enSDO_LOCK_ERROR) THEN
@@ -91,13 +67,12 @@ IF (genST7StatDO2 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[15] := FALSE;
END_IF
gbSPLCOuHWSafetyEStop2Rob1OK := NOT gSafetyAlarm.Alarm[15];
gbSPLCOuHWSafetyDoor2Rob1OK := NOT gSafetyAlarm.Alarm[15];
//Netzsch<EFBFBD>tz 1 Roboter 2 T<EFBFBD>r
IF (genST7StatDO3 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[16] := TRUE;
END_IF
IF gbInResetKeyRob2 THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[16] := FALSE;
END_IF
IF (genST7StatDO1 = enSDO_LOCK_ERROR) THEN
@@ -110,13 +85,12 @@ IF (genST7StatDO1 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[18] := FALSE;
END_IF
gbSPLCOuHWSafetyEStop1Rob2OK := NOT gSafetyAlarm.Alarm[18];
gbSPLCOuHWSafetyDoor1Rob2OK := NOT gSafetyAlarm.Alarm[18];
//Netzsch<EFBFBD>tz 2 Roboter 2 T<EFBFBD>r
IF (genST7StatDO4 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[19] := TRUE;
END_IF
IF gbInResetKeyRob2 THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[19] := FALSE;
END_IF
IF (genST7StatDO4 = enSDO_LOCK_ERROR) THEN
@@ -129,14 +103,12 @@ IF (genST7StatDO4 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[21] := FALSE;
END_IF
gbSPLCOuHWSafetyEStop2Rob2OK := NOT gSafetyAlarm.Alarm[21];
gbSPLCOuHWSafetyDoor2Rob2OK := NOT gSafetyAlarm.Alarm[21];
//Netzsch<EFBFBD>tz 1 Roboter 1
//Netzsch<EFBFBD>tz 1 Roboter 1 Not-Halt
IF (genST8StatDO1 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[22] := TRUE;
END_IF
IF gbInResetKeyRob1 THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[22] := FALSE;
END_IF
IF (genST8StatDO1 = enSDO_LOCK_ERROR) THEN
@@ -149,13 +121,12 @@ IF (genST8StatDO1 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[24] := FALSE;
END_IF
gbSPLCOuHWSafetyDoor1Rob1OK := NOT gSafetyAlarm.Alarm[24];
gbSPLCOuHWSafetyEStop1Rob1OK := NOT gSafetyAlarm.Alarm[24];
//Netzsch<EFBFBD>tz 2 Roboter 1 T<EFBFBD>r
//Netzsch<EFBFBD>tz 2 Roboter 1 Not-Halt
IF (genST8StatDO2 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[25] := TRUE;
END_IF
IF gbInResetKeyRob1 THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[25] := FALSE;
END_IF
IF (genST8StatDO2 = enSDO_LOCK_ERROR) THEN
@@ -168,13 +139,12 @@ IF (genST8StatDO2 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[27] := FALSE;
END_IF
gbSPLCOuHWSafetyDoor2Rob1OK := NOT gSafetyAlarm.Alarm[27];
gbSPLCOuHWSafetyEStop2Rob1OK := NOT gSafetyAlarm.Alarm[27];
//Netzsch<EFBFBD>tz 1 Roboter 2 T<EFBFBD>r
//Netzsch<EFBFBD>tz 1 Roboter 2 Not-Halt
IF (genST8StatDO3 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[28] := TRUE;
END_IF
IF gbInResetKeyRob2 THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[28] := FALSE;
END_IF
IF (genST8StatDO1 = enSDO_LOCK_ERROR) THEN
@@ -187,13 +157,12 @@ IF (genST8StatDO1 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[30] := FALSE;
END_IF
gbSPLCOuHWSafetyDoor1Rob2OK := NOT gSafetyAlarm.Alarm[30];
gbSPLCOuHWSafetyEStop1Rob2OK := NOT gSafetyAlarm.Alarm[30];
//Netzsch<EFBFBD>tz 2 Roboter 2 T<EFBFBD>r
//Netzsch<EFBFBD>tz 2 Roboter 2 Not-Halt
IF (genST8StatDO4 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[31] := TRUE;
END_IF
IF gbInResetKeyRob2 THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[31] := FALSE;
END_IF
IF (genST8StatDO4 = enSDO_LOCK_ERROR) THEN
@@ -206,16 +175,171 @@ IF (genST8StatDO4 = enSDO_HW_ERROR) THEN
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[33] := FALSE;
END_IF
gbSPLCOuHWSafetyDoor2Rob2OK := NOT gSafetyAlarm.Alarm[34];
gbSPLCOuHWSafetyEStop2Rob2OK := NOT gSafetyAlarm.Alarm[21];
//Sicherheit Werkzeugschlitten Roboter 1
IF (genST9StatDO1 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[34] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[34] := FALSE;
END_IF
IF (genST9StatDO1 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[35] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[35] := FALSE;
END_IF
IF (genST9StatDO1 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[36] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[36] := FALSE;
END_IF
gbSPLCOuHWSafetyToolSlayRob1OK := NOT gSafetyAlarm.Alarm[36];
//Sicherheit Werkzeugschlitten Roboter 2
IF (genST9StatDO2 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[37] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[37] := FALSE;
END_IF
IF (genST9StatDO2 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[38] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[38] := FALSE;
END_IF
IF (genST9StatDO2 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[39] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[39] := FALSE;
END_IF
gbSPLCOuHWSafetyToolSlayRob2OK := NOT gSafetyAlarm.Alarm[39];
//Sicherheit Schleifmaschinen Roboter 1
IF (genST9StatDO3 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[40] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[40] := FALSE;
END_IF
IF (genST9StatDO3 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[41] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[41] := FALSE;
END_IF
IF (genST9StatDO3 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[42] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[42] := FALSE;
END_IF
gbSPLCOuHWSafetyGrindersRob1OK := NOT gSafetyAlarm.Alarm[42];
//Sicherheit Schleifmaschinen Roboter 2
IF (genST9StatDO4 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[43] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[43] := FALSE;
END_IF
IF (genST9StatDO4 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[44] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[44] := FALSE;
END_IF
IF (genST9StatDO4 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[45] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[45] := FALSE;
END_IF
gbSPLCOuHWSafetyGrindersRob2OK := NOT gSafetyAlarm.Alarm[45];
//Sicherheit Hauptventil Roboter 1
IF (genST10StatDO1 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[46] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[46] := FALSE;
END_IF
IF (genST10StatDO1 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[47] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[47] := FALSE;
END_IF
IF (genST10StatDO1 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[48] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[48] := FALSE;
END_IF
gbSPLCOuHWMainValveRob1OK := NOT gSafetyAlarm.Alarm[48];
//Sicherheit Ventil Schutztor Roboter 1
IF (genST10StatDO1 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[49] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[49] := FALSE;
END_IF
IF (genST10StatDO1 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[50] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[50] := FALSE;
END_IF
IF (genST10StatDO1 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[51] := TRUE;
ELSIF gbInResetKeyRob1 THEN
gSafetyAlarm.Alarm[51] := FALSE;
END_IF
gbSPLCOuHWValveCloseGateRob1OK := NOT gSafetyAlarm.Alarm[51];
//Sicherheit Hauptventil Roboter 2
IF (genST10StatDO3 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[52] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[52] := FALSE;
END_IF
IF (genST10StatDO3 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[53] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[53] := FALSE;
END_IF
IF (genST10StatDO3 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[54] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[54] := FALSE;
END_IF
gbSPLCOuHWMainValveRob2OK := NOT gSafetyAlarm.Alarm[54];
//Sicherheit Ventil Schutztor Roboter 2
IF (genST10StatDO3 = enSDO_RELEASE_ERROR2) THEN
gSafetyAlarm.Alarm[55] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[55] := FALSE;
END_IF
IF (genST10StatDO3 = enSDO_LOCK_ERROR) THEN
gSafetyAlarm.Alarm[56] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[56] := FALSE;
END_IF
IF (genST10StatDO3 = enSDO_HW_ERROR) THEN
gSafetyAlarm.Alarm[57] := TRUE;
ELSIF gbInResetKeyRob2 THEN
gSafetyAlarm.Alarm[57] := FALSE;
END_IF
gbSPLCOuHWMainValveRob2OK := NOT gSafetyAlarm.Alarm[57];
gbSPLCOuHWValveCloseGateRob2OK := TRUE;
//Nothalt bet<EFBFBD>tigt Roboter 1
gSafetyAlarm.Alarm[100] := gbInEStopPressedRob1;
gSafetyAlarm.Alarm[100] := gbInEStopPressedRob1 AND gMachine1.bMachineON;
//Nothalt bet<EFBFBD>tigt Roboter 2
gSafetyAlarm.Alarm[101] := gbInEStopPressedRob2;
gSafetyAlarm.Alarm[101] := gbInEStopPressedRob2 AND gMachine2.bMachineON;
//Nothalt bet<EFBFBD>tigt Roboter 1
gSafetyAlarm.Alarm[102] := NOT gbInEStopPressedRob1 AND NOT gbSInEStopOkRob1;
gSafetyAlarm.Alarm[102] := NOT gbInEStopPressedRob1 AND NOT gbSInEStopOkRob1 AND gMachine1.bMachineON;
//Nothalt bet<EFBFBD>tigt Roboter 2
gSafetyAlarm.Alarm[103] := NOT gbInEStopPressedRob1 AND NOT gbSInEStopOkRob1;
gSafetyAlarm.Alarm[103] := NOT gbInEStopPressedRob1 AND NOT gbSInEStopOkRob1 AND gMachine2.bMachineON;
//Lichtvorhang Roboter 1
gSafetyAlarm.Alarm[104] := TON_LightCurtain1.Q AND gMachine1.bMachineON;
//Lichtvorhang Roboter 2
gSafetyAlarm.Alarm[105] := TON_LightCurtain2.Q AND gMachine2.bMachineON;
//Roboter 1 Not-Aus
gSafetyAlarm.Alarm[106] := gABBRobot1.In.bEStop AND gMachine1.bMachineON;
//Roboter 2 Not-Aus
gSafetyAlarm.Alarm[107] := gABBRobot2.In.bEStop AND gMachine2.bMachineON;
END_PROGRAM

View File

@@ -69,15 +69,19 @@ TOF_ST10_Ch4_WaitAfterError.PT := t#200ms;
TOF_ST10_Ch4_WaitAfterError ();
//Release Signals
gbSPLCOuReleaseSafeOutputRob1 := NOT (genST8StatDO1 = enSDO_RELEASE_ERROR2) AND NOT (genST8StatDO2 = enSDO_RELEASE_ERROR2)
AND NOT (genST10StatDO1 = enSDO_RELEASE_ERROR2);
gbSPLCOuReleaseSafeOutputRob2 := NOT (genST8StatDO3 = enSDO_RELEASE_ERROR2) AND NOT (genST8StatDO4 = enSDO_RELEASE_ERROR2)
AND NOT (genST10StatDO3 = enSDO_RELEASE_ERROR2);
gbSPLCOuReleaseSafeDoorOuRob1 := NOT (genST7StatDO1 = enSDO_RELEASE_ERROR2) AND NOT (genST7StatDO2 = enSDO_RELEASE_ERROR2)
AND NOT (genST9StatDO3 = enSDO_RELEASE_ERROR2);
gbSPLCOuReleaseSafeDoorOuRob2 := NOT (genST7StatDO3 = enSDO_RELEASE_ERROR2) AND NOT (genST7StatDO4 = enSDO_RELEASE_ERROR2)
AND NOT (genST9StatDO4 = enSDO_RELEASE_ERROR2);
//Release Signals only if noe Release Error is active
gbSPLCOuReleaseSafeOutputRob1 := gMachine1.bMachineON AND gbSPLCInEstopOkRob1
AND NOT gSafetyAlarm.Alarm[22] AND NOT gSafetyAlarm.Alarm[25];
gbSPLCOuReleaseSafeOutputRob2 := gMachine1.bMachineON AND gbSPLCInEstopOkRob2
AND NOT gSafetyAlarm.Alarm[28] AND NOT gSafetyAlarm.Alarm[31];
gbSPLCOuReleaseSafeDoorOuRob1 := gMachine1.bMachineON AND gbSPLCInWorkzoneOkRob1
AND NOT gSafetyAlarm.Alarm[10] AND NOT gSafetyAlarm.Alarm[13]
AND NOT gSafetyAlarm.Alarm[34] AND NOT gSafetyAlarm.Alarm[40]
AND NOT gSafetyAlarm.Alarm[46];
gbSPLCOuReleaseSafeDoorOuRob2 := gMachine1.bMachineON AND gbSPLCInWorkzoneOkRob1
AND NOT gSafetyAlarm.Alarm[16] AND NOT gSafetyAlarm.Alarm[19]
AND NOT gSafetyAlarm.Alarm[37] AND NOT gSafetyAlarm.Alarm[43]
AND NOT gSafetyAlarm.Alarm[52];
//Enable Signals to HW
//ST7
gbSOuSafetyAfterDoor1Rob1 := gMachine1.bMachineON AND gbSPLCInWorkzoneOkRob1;
@@ -95,8 +99,8 @@ gbSOuSafetyAfterEStop2Rob2 := gMachine2.bMachineON AND gbSPLCInEstopOkRob2;
//ST9
gbSOuSafetyToolSlayRob1 := gMachine1.bMachineON AND gbSPLCInWorkzoneOkRob1;
gbSOuSafetyToolSlayRob2 := gMachine2.bMachineON AND gbSPLCInWorkzoneOkRob2;
gbSOuSafetyGrindersRob1 := gMachine1.bMachineON AND gbSPLCInEstopOkRob1;
gbSOuSafetyGrindersRob2 := gMachine2.bMachineON AND gbSPLCInEstopOkRob2;
gbSOuSafetyGrindersRob1 := gMachine1.bMachineON AND gbSPLCInWorkzoneOkRob1;
gbSOuSafetyGrindersRob2 := gMachine2.bMachineON AND gbSPLCInWorkzoneOkRob2;
//ST10

View File

@@ -44,18 +44,6 @@
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="31">
<Property Name="Acknowledge" Value="Disabled"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="2">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
@@ -152,6 +140,54 @@
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="4">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="5">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="7">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="6">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="Group">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
@@ -242,35 +278,40 @@
<TextLayer LanguageId="en">
<Text ID="21" Value="Dropout Fuse 24V DC"/>
<Text ID="22" Value="Robot 1: Lack of Air "/>
<Text ID="28" Value="External IO Block (Toolslay 1) not OK"/>
<Text ID="29" Value="Robot 1: Request Homing"/>
<Text ID="30" Value="Wrong Tool"/>
<Text ID="30" Value="Robot 1: Wrong Tool"/>
<Text ID="31" Value="Safetydoor Toolslay 1 not opened"/>
<Text ID="32" Value="Safetydoor Toolslay 1 not closed"/>
<Text ID="33" Value="Safetydoor Toolslay 2 not opened"/>
<Text ID="34" Value="Safetydoor Toolslay 2 not closed"/>
<Text ID="47" Value="Robot 1: Time Violation in Step Motors On"/>
<Text ID="57" Value="Robot 1: Time Violation in Step Start Cycle"/>
<Text ID="252" Value="Robot 1 Communication Error"/>
<Text ID="380" Value="Robot 1 Tool not Locked"/>
<Text ID="466" Value="Robot 1: Not in Automatic Mode"/>
<Text ID="483" Value="Robot 1: Axis Error Grinder 2"/>
<Text ID="20" Value=""/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="21" Value="Sicherungsfall 24 DC"/>
<Text ID="22" Value="Roboter 1: Druckluftüberwachung (Mindestdruck nicht erreicht)"/>
<Text ID="28" Value="Modulfehler I/O Block auf Werkzeug 1"/>
<Text ID="29" Value="Roboter 1: Anforderung Grundstellungsfahrt"/>
<Text ID="30" Value="Falsches Werkzeug eingebaut / angewählt"/>
<Text ID="30" Value="Roboter 1: Falsches Werkzeug eingebaut / angewählt"/>
<Text ID="31" Value="Schutztor bei Werkzeugschlitten 1 öffnet nicht"/>
<Text ID="32" Value="Schutztor bei Werkzeugschlitten 1 schließt nicht"/>
<Text ID="33" Value="Schutztor bei Werkzeugschlitten 2 öffnet nicht"/>
<Text ID="34" Value="Schutztor bei Werkzeugschlitten 2 schließt nicht"/>
<Text ID="47" Value="Roboter 1: Zeitüberwachung in Schritt Motoren Einschalten"/>
<Text ID="57" Value="Roboter 1: Zeitüberwachung in Schritt Programm Start"/>
<Text ID="252" Value="Kommunikationsfehler zum Roboter 1"/>
<Text ID="380" Value="Roboter 1: Werkzeug nicht verriegelt"/>
<Text ID="466" Value="Roboter 1: Controller nicht in Automatikmodus"/>
<Text ID="483" Value="Roboter 1 :Achsfehler Fingerschleifert"/>
<Text ID="20" Value=""/>
</TextLayer>
<IndexMap>
<Index ID="21" Value="0"/>
<Index ID="22" Value="1"/>
<Index ID="28" Value="31"/>
<Index ID="29" Value="2"/>
<Index ID="30" Value="3"/>
<Index ID="31" Value="50"/>
@@ -279,6 +320,10 @@
<Index ID="34" Value="53"/>
<Index ID="47" Value="100"/>
<Index ID="57" Value="101"/>
<Index ID="252" Value="4"/>
<Index ID="380" Value="5"/>
<Index ID="466" Value="7"/>
<Index ID="483" Value="6"/>
<Index ID="20" Value="Group"/>
</IndexMap>
</TextGroup>

View File

@@ -0,0 +1,330 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<AlarmGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="MachineAlarm2">
<Property Name="AcknowledgeImage" Value="None"/>
<Property Name="ActiveBackColor" Value="45"/>
<Property Name="ActiveForeColor" Value="0"/>
<Property Name="AlarmImage" Value="Source[global].Variable[DataSource.Machine.gMachineAlarms2.Alarm]"/>
<Property Name="BypassBackColor" Value="14"/>
<Property Name="BypassForeColor" Value="0"/>
<Property Name="BypassImage" Value="None"/>
<Property Name="DefaultBackColor" Value="15"/>
<Property Name="DefaultForeColor" Value="0"/>
<Property Name="Description" Value="General Machine Alams Robot 2"/>
<Property Name="GroupAlarm" Value="None"/>
<Property Name="ImageOffset" Value="0"/>
<Property Name="Index" Value="2"/>
<Property Name="LatchedBackColor" Value="2"/>
<Property Name="LatchedForeColor" Value="0"/>
<Property Name="Priority" Value="1"/>
<Property Name="QuitBackColor" Value="1"/>
<Property Name="QuitForeColor" Value="0"/>
<Alarms>
<Alarm Index="0">
<Property Name="Acknowledge" Value="Disabled"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="1">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="2">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="3">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="50">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="51">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="52">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="53">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="100">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="101">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="4">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="5">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="6">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="7">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="Group">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
</Alarm>
</Alarms>
<TextGroup>
<TextSnippets>
<TextSnippet ClassId="0x00002002" Name="AxisMasterErr0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisPSErr">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisShaft1Err0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisShaft2Err0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisShaft3Err0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisShaft4Err0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisSlay1Err0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
<TextSnippet ClassId="0x00002002" Name="AxisSlay2Err0">
<Property Name="Alignment" Value="Left"/>
<Property Name="Datapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="FillCharacter" Value=""/>
<Property Name="MaxChars" Value="None"/>
<Property Name="MinChars" Value="None"/>
<Property Name="Persistent" Value="False"/>
</TextSnippet>
</TextSnippets>
<TextLayer LanguageId="en">
<Text ID="338" Value="Dropout Fuse 24V DC"/>
<Text ID="339" Value="Robot 2: Lack of Air "/>
<Text ID="341" Value="Robot 2: Request Homing"/>
<Text ID="342" Value="Robot 2: Wrong Tool"/>
<Text ID="343" Value="Safetydoor Toolslay 1 not opened"/>
<Text ID="344" Value="Safetydoor Toolslay 1 not closed"/>
<Text ID="345" Value="Safetydoor Toolslay 2 not opened"/>
<Text ID="346" Value="Safetydoor Toolslay 2 not closed"/>
<Text ID="347" Value="Robot 2: Time Violation in Step Motors On"/>
<Text ID="348" Value="Robot 2: Time Violation in Step Start Cycle"/>
<Text ID="350" Value="Robot 2 Communication Error"/>
<Text ID="381" Value="Robot 2 Tool not Locked"/>
<Text ID="484" Value="Robot 2: Axis Error Grinder 2"/>
<Text ID="485" Value="Robot 2: Not in Automatic Mode"/>
<Text ID="337" Value=""/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="338" Value="Sicherungsfall 24 DC"/>
<Text ID="339" Value="Roboter 2: Druckluftüberwachung (Mindestdruck nicht erreicht)"/>
<Text ID="341" Value="Roboter 2: Anforderung Grundstellungsfahrt"/>
<Text ID="342" Value="Roboter 2: Falsches Werkzeug eingebaut / angewählt"/>
<Text ID="343" Value="Schutztor bei Werkzeugschlitten 1 öffnet nicht"/>
<Text ID="344" Value="Schutztor bei Werkzeugschlitten 1 schließt nicht"/>
<Text ID="345" Value="Schutztor bei Werkzeugschlitten 2 öffnet nicht"/>
<Text ID="346" Value="Schutztor bei Werkzeugschlitten 2 schließt nicht"/>
<Text ID="347" Value="Roboter 2: Zeitüberwachung in Schritt Motoren Einschalten"/>
<Text ID="348" Value="Roboter 2: Zeitüberwachung in Schritt Programm Start"/>
<Text ID="350" Value="Kommunikationsfehler zum Roboter 2"/>
<Text ID="381" Value="Roboter 2: Werkzeug nicht verriegelt"/>
<Text ID="484" Value="Roboter 2 :Achsfehler Fingerschleifert"/>
<Text ID="485" Value="Roboter 2: Controller nicht in Automatikmodus"/>
<Text ID="337" Value=""/>
</TextLayer>
<IndexMap>
<Index ID="338" Value="0"/>
<Index ID="339" Value="1"/>
<Index ID="341" Value="2"/>
<Index ID="342" Value="3"/>
<Index ID="343" Value="50"/>
<Index ID="344" Value="51"/>
<Index ID="345" Value="52"/>
<Index ID="346" Value="53"/>
<Index ID="347" Value="100"/>
<Index ID="348" Value="101"/>
<Index ID="350" Value="4"/>
<Index ID="381" Value="5"/>
<Index ID="484" Value="6"/>
<Index ID="485" Value="7"/>
<Index ID="337" Value="Group"/>
</IndexMap>
</TextGroup>
</AlarmGroup>

View File

@@ -476,6 +476,342 @@
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="34">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="35">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="36">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="37">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="38">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="39">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="40">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="41">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="42">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="43">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="44">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="45">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="46">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="47">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="48">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="49">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="50">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="51">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="52">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="53">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="54">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="55">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="56">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="57">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="104">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="105">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="106">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="107">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
<Property Name="Bypass" Value="Enabled"/>
<Property Name="Description" Value=""/>
<Property Name="Latched" Value="False"/>
<Property Name="RecordAcknowledge" Value="True"/>
<Property Name="RecordBypass" Value="All"/>
<Property Name="RecordReset" Value="All"/>
<Property Name="RecordTrigger" Value="True"/>
<Property Name="TriggerGroupAlarm" Value="False"/>
</Alarm>
<Alarm Index="Group">
<Property Name="Acknowledge" Value="Possible"/>
<Property Name="AcknowledgeActive" Value="Enabled"/>
@@ -529,6 +865,34 @@
<Text ID="171" Value="E-Stop Operatorzone Robot 2 Pressed"/>
<Text ID="178" Value="E-Stop (Robotcontrol, Teachpendant, Door) Robot 1 Pressed"/>
<Text ID="185" Value="E-Stop (Robotcontrol, Teachpendant, Door) Robot 2 Pressed"/>
<Text ID="190" Value="SDO Safety Toolslay Robot 1 Release Error 2"/>
<Text ID="191" Value="SDO Safety Toolslay Robot 1 Lock Error"/>
<Text ID="192" Value="SDO Safety Toolslay Robot 1 HW Error"/>
<Text ID="193" Value="SDO Safety Toolslay Robot 2 Release Error 2"/>
<Text ID="194" Value="SDO Safety Toolslay Robot 2 Lock Error"/>
<Text ID="195" Value="SDO Safety Toolslay Robot 1 HW Error"/>
<Text ID="202" Value="SDO Safety Grinders Robot 1 Release Error 2"/>
<Text ID="203" Value="SDO Safety Grinders Robot 1 Lock Error"/>
<Text ID="204" Value="SDO Safety Grinders Robot 1 HW Error"/>
<Text ID="205" Value="SDO Safety Grinders Robot 2 Release Error 2"/>
<Text ID="206" Value="SDO Safety Grinders Robot 2 Lock Error"/>
<Text ID="207" Value="SDO Safety Grinders Robot 2 HW Error"/>
<Text ID="220" Value="SDO Safety Mainvalve Robot 1 Release Error 2"/>
<Text ID="221" Value="SDO Safety Mainvalve Robot 1 Lock Error"/>
<Text ID="222" Value="SDO Safety Mainvalve Robot 1 HW Error"/>
<Text ID="223" Value="SDO Safety Valve Gate Robot 1 Release Error 2"/>
<Text ID="224" Value="SDO Safety Valve Gate Robot 1 Lock Error"/>
<Text ID="225" Value="SDO Safety Valve Gate Robot 1 HW Error"/>
<Text ID="232" Value="SDO Safety Mainvalve Robot 2 Release Error 2"/>
<Text ID="233" Value="SDO Safety Mainvalve Robot 2 Lock Error"/>
<Text ID="234" Value="SDO Safety Mainvalve Robot 2 HW Error"/>
<Text ID="235" Value="SDO Safety Valve Gate Robot 2 Release Error 2"/>
<Text ID="236" Value="SDO Safety Valve Gate Robot 2 Lock Error"/>
<Text ID="237" Value="SDO Safety Valve Gate Robot 2 HW Error"/>
<Text ID="244" Value="Lightcurtain Robot 1 interrupted &gt; 40s"/>
<Text ID="246" Value="Lightcurtain Robot 2 interrupted &gt; 40s"/>
<Text ID="308" Value="Robot 1 E-Stop (Reset Again)"/>
<Text ID="309" Value="Robot 2 E-Stop (Reset Again)"/>
<Text ID="66" Value=""/>
</TextLayer>
<TextLayer LanguageId="de">
@@ -570,6 +934,34 @@
<Text ID="171" Value="Nothalt Einlegebereich Roboter 2 betätigt"/>
<Text ID="178" Value="Nothalt (Robotersteuerung, Teachpendant, Tür) Roboter 1 betätigt"/>
<Text ID="185" Value="Nothalt (Robotersteuerung, Teachpendant, Tür) Roboter 2 betätigt"/>
<Text ID="190" Value="SDO Sicherheit Werkzeugschlitten Roboter 1 Freigabefehler 2"/>
<Text ID="191" Value="SDO Sicherheit Werkzeugschlitten Roboter 1 Verriegelungsfehler"/>
<Text ID="192" Value="SDO Sicherheit Werkzeugschlitten Roboter 1 HW-Fehler"/>
<Text ID="193" Value="SDO Sicherheit Werkzeugschlitten Roboter 2 Freigabefehler 2"/>
<Text ID="194" Value="SDO Sicherheit Werkzeugschlitten Roboter 2 Verriegelungsfehler"/>
<Text ID="195" Value="SDO Sicherheit Werkzeugschlitten Roboter 1 HW-Fehler"/>
<Text ID="202" Value="SDO Sicherheit Schleifmaschinen Roboter 1 Freigabefehler 2"/>
<Text ID="203" Value="SDO Sicherheit Schleifmaschinen Roboter 1 Verriegelungsfehler"/>
<Text ID="204" Value="SDO Sicherheit Schleifmaschinen Roboter 1 HW-Fehler"/>
<Text ID="205" Value="SDO Sicherheit Schleifmaschinen Roboter 2 Freigabefehler 2"/>
<Text ID="206" Value="SDO Sicherheit Schleifmaschinen Roboter 2 Verriegelungsfehler"/>
<Text ID="207" Value="SDO Sicherheit Schleifmaschinen Roboter 2 HW-Fehler"/>
<Text ID="220" Value="SDO Sicherheit Hauptventil Roboter 1 Freigabefehler 2"/>
<Text ID="221" Value="SDO Sicherheit Hauptventil Roboter 1 Verriegelungsfehler"/>
<Text ID="222" Value="SDO Sicherheit Hauptventil Roboter 1 HW-Fehler"/>
<Text ID="223" Value="SDO Sicherheit Ventil Schutztor Roboter 1 Freigabefehler 2"/>
<Text ID="224" Value="SDO Sicherheit Ventil Schutztor Roboter 1 Verriegelungsfehler"/>
<Text ID="225" Value="SDO Sicherheit Ventil Schutztor Roboter 1 HW-Fehler"/>
<Text ID="232" Value="SDO Sicherheit Hauptventil Roboter 2 Freigabefehler 2"/>
<Text ID="233" Value="SDO Sicherheit Hauptventil Roboter 2 Verriegelungsfehler"/>
<Text ID="234" Value="SDO Sicherheit Hauptventil Roboter 2 HW-Fehler"/>
<Text ID="235" Value="SDO Sicherheit Ventil Schutztor Roboter 2 Freigabefehler 2"/>
<Text ID="236" Value="SDO Sicherheit Ventil Schutztor Roboter 2 Verriegelungsfehler"/>
<Text ID="237" Value="SDO Sicherheit Ventil Schutztor Roboter 2 HW-Fehler"/>
<Text ID="244" Value="Lichtvorhang Roboter 1 länger als 40s unterbrochen"/>
<Text ID="246" Value="Lichtvorhang Roboter 2 länger als 40s unterbrochen"/>
<Text ID="308" Value="Roboter 1 Notaus (Erneut quittieren)"/>
<Text ID="309" Value="Roboter 2 Notaus (Erneut quittieren)"/>
<Text ID="66" Value=""/>
</TextLayer>
<IndexMap>
@@ -611,6 +1003,34 @@
<Index ID="171" Value="101"/>
<Index ID="178" Value="102"/>
<Index ID="185" Value="103"/>
<Index ID="190" Value="34"/>
<Index ID="191" Value="35"/>
<Index ID="192" Value="36"/>
<Index ID="193" Value="37"/>
<Index ID="194" Value="38"/>
<Index ID="195" Value="39"/>
<Index ID="202" Value="40"/>
<Index ID="203" Value="41"/>
<Index ID="204" Value="42"/>
<Index ID="205" Value="43"/>
<Index ID="206" Value="44"/>
<Index ID="207" Value="45"/>
<Index ID="220" Value="46"/>
<Index ID="221" Value="47"/>
<Index ID="222" Value="48"/>
<Index ID="223" Value="49"/>
<Index ID="224" Value="50"/>
<Index ID="225" Value="51"/>
<Index ID="232" Value="52"/>
<Index ID="233" Value="53"/>
<Index ID="234" Value="54"/>
<Index ID="235" Value="55"/>
<Index ID="236" Value="56"/>
<Index ID="237" Value="57"/>
<Index ID="244" Value="104"/>
<Index ID="246" Value="105"/>
<Index ID="308" Value="106"/>
<Index ID="309" Value="107"/>
<Index ID="66" Value="Group"/>
</IndexMap>
</TextGroup>

File diff suppressed because it is too large Load Diff

View File

@@ -1,190 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.0.14.203"?>
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<DataSource xmlns="http://br-automation.co.at/AS/VC/Project" Name="Internal">
<Property Name="AutoRefresh" Value="True" />
<Property Name="DefaultUpdateTime" Value="200" />
<Property Name="Description" Value="Internal Datasource" />
<Property Name="IsIntern" Value="True" />
<Property Name="TextGroup" Value="None" />
<Property Name="AutoRefresh" Value="True"/>
<Property Name="DefaultUpdateTime" Value="200"/>
<Property Name="Description" Value="Internal Datasource"/>
<Property Name="IsIntern" Value="True"/>
<Property Name="TextGroup" Value="None"/>
<DataPoints>
<Folder Name="Display">
<Property Name="Description" Value="Display Settings" />
<Property Name="FolderType" Value="Struct" />
<Property Name="Description" Value="Display Settings"/>
<Property Name="FolderType" Value="Struct"/>
<DataPoint Name="Brightness">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="Brightness (0 - 100)" />
<Property Name="PLCType" Value="USINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="Brightness (0 - 100)"/>
<Property Name="PLCType" Value="USINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="Contrast">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="Contrast (0 - 100)" />
<Property Name="PLCType" Value="USINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="Contrast (0 - 100)"/>
<Property Name="PLCType" Value="USINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="BackLight">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="" />
<Property Name="Description" Value="0 = backlight off / 1 = backlight on" />
<Property Name="PLCType" Value="USINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value=""/>
<Property Name="Description" Value="0 = backlight off / 1 = backlight on"/>
<Property Name="PLCType" Value="USINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
</Folder>
<Folder Name="Connection">
<Property Name="Description" Value="Connection Parameters" />
<Property Name="FolderType" Value="Struct" />
<Property Name="Description" Value="Connection Parameters"/>
<Property Name="FolderType" Value="Struct"/>
<DataPoint Name="IPAddress">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="IP-Address" />
<Property Name="PLCType" Value="STRING" />
<Property Name="StringLength" Value="65535" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="STRING" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="IP-Address"/>
<Property Name="PLCType" Value="STRING"/>
<Property Name="StringLength" Value="65535"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="STRING"/>
</DataPoint>
<DataPoint Name="NodeNumber">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="Node Number" />
<Property Name="PLCType" Value="USINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="Node Number"/>
<Property Name="PLCType" Value="USINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
</Folder>
<Folder Name="Temperature">
<Property Name="Description" Value="Temperatures" />
<Property Name="FolderType" Value="Struct" />
<Property Name="Description" Value="Temperatures"/>
<Property Name="FolderType" Value="Struct"/>
<DataPoint Name="CPU">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo" />
<Property Name="DPLimit" Value="Default" />
<Property Name="Description" Value="Temperature of Processor" />
<Property Name="PLCType" Value="USINT" />
<Property Name="PLCUnit" Value="Default" />
<Property Name="UnitGroup" Value="Source[global].UnitGroup[Temperatures]" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="SCALED" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo"/>
<Property Name="DPLimit" Value="Default"/>
<Property Name="Description" Value="Temperature of Processor"/>
<Property Name="PLCType" Value="USINT"/>
<Property Name="PLCUnit" Value="Default"/>
<Property Name="UnitGroup" Value="Source[global].UnitGroup[Temperatures]"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="SCALED"/>
</DataPoint>
<DataPoint Name="Room">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo" />
<Property Name="DPLimit" Value="Default" />
<Property Name="Description" Value="Temperature inside case" />
<Property Name="PLCType" Value="USINT" />
<Property Name="PLCUnit" Value="Default" />
<Property Name="UnitGroup" Value="Source[global].UnitGroup[Temperatures]" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="SCALED" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo"/>
<Property Name="DPLimit" Value="Default"/>
<Property Name="Description" Value="Temperature inside case"/>
<Property Name="PLCType" Value="USINT"/>
<Property Name="PLCUnit" Value="Default"/>
<Property Name="UnitGroup" Value="Source[global].UnitGroup[Temperatures]"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="SCALED"/>
</DataPoint>
</Folder>
<Folder Name="DateTime">
<Property Name="Description" Value="System Date and Time" />
<Property Name="FolderType" Value="Struct" />
<Property Name="Description" Value="System Date and Time"/>
<Property Name="FolderType" Value="Struct"/>
<DataPoint Name="Day">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="System Time - Day" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="System Time - Day"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="Hour">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="System Time - Hour" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="System Time - Hour"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="Minute">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="System Time - Minute" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="System Time - Minute"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="Month">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="System Time - Month" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="System Time - Month"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="Second">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="System Time - Second" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="System Time - Second"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="Year">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visualization\Visu1,Visu,Interface,Panel,hugo" />
<Property Name="Description" Value="System Time - Year" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value="Visualization\Visu,Visu,Interface,Panel,hugo,Visualization\Visu1"/>
<Property Name="Description" Value="System Time - Year"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="DayOfWeek">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="" />
<Property Name="Description" Value="System Time - Day of week" />
<Property Name="PLCType" Value="UINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value=""/>
<Property Name="Description" Value="System Time - Day of week"/>
<Property Name="PLCType" Value="UINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
</Folder>
<Folder Name="Memory">
<Property Name="Description" Value="Memory statistic" />
<Property Name="FolderType" Value="Struct" />
<Property Name="Description" Value="Memory statistic"/>
<Property Name="FolderType" Value="Struct"/>
<DataPoint Name="LargestFreeBlock">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="" />
<Property Name="Description" Value="Largest free block in memory" />
<Property Name="PLCType" Value="UDINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value=""/>
<Property Name="Description" Value="Largest free block in memory"/>
<Property Name="PLCType" Value="UDINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="TotalFree">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="" />
<Property Name="Description" Value="Total free memory" />
<Property Name="PLCType" Value="UDINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value=""/>
<Property Name="Description" Value="Total free memory"/>
<Property Name="PLCType" Value="UDINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
<DataPoint Name="TotalInstalled">
<Property Name="ConnectedBySharedResource" Value="False" />
<Property Name="ConnectingVisus" Value="" />
<Property Name="Description" Value="Total memory of system" />
<Property Name="PLCType" Value="UDINT" />
<Property Name="UpdateTime" Value="Default" />
<Property Name="UserID" Value="None" />
<Property Name="VCType" Value="INTEGER" />
<Property Name="ConnectedBySharedResource" Value="False"/>
<Property Name="ConnectingVisus" Value=""/>
<Property Name="Description" Value="Total memory of system"/>
<Property Name="PLCType" Value="UDINT"/>
<Property Name="UpdateTime" Value="Default"/>
<Property Name="UserID" Value="None"/>
<Property Name="VCType" Value="INTEGER"/>
</DataPoint>
</Folder>
</DataPoints>

View File

@@ -21,10 +21,12 @@
<Source File="UnitGroups\Pressure.vcug"/>
<Source File="UnitGroups\Temperatures.vcug"/>
<Source File="UnitGroups\Percentage.vcug"/>
<Source File="UnitGroups\milliseconds.vcug"/>
<Source File="AlarmGroups\AlarmSystem.alcfg"/>
<Source File="AlarmGroups\SystemAlarms.algrp"/>
<Source File="AlarmGroups\MachineAlarm1.algrp"/>
<Source File="AlarmGroups\SafetyAlarms.algrp"/>
<Source File="AlarmGroups\MachineAlarm2.algrp"/>
<Source File="DataSources\Internal.dso"/>
<Source File="DataSources\DataSource.dso"/>
<Source File="ControlVersion.cvinfo"/>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<UnitGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="milliseconds">
<Property Name="DefaultDisplayUnit" Value="Source[embedded].Unit[mstos]"/>
<Property Name="DefaultLimit" Value="None"/>
<Property Name="DefaultPLCUnit" Value="Source[embedded].Unit[PLC_Unit]"/>
<Property Name="Description" Value=""/>
<Property Name="InternalUnitTextIndex" Value="0"/>
<Property Name="RuntimeUnitChange" Value="None"/>
<Property Name="RuntimeUnitCurrentDatapoint" Value="None"/>
<TextGroup Name="TextGroup_1">
<Property Name="Description" Value=""/>
<Property Name="Index" Value="65536"/>
<TextSnippets/>
<TextLayer LanguageId="en">
<Text ID="104699" Value=""/>
<Text ID="104700" Value="%"/>
<Text ID="104701" Value=""/>
<Text ID="104702" Value=""/>
<Text ID="104703" Value=""/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="104699" Value=""/>
<Text ID="104700" Value="s"/>
<Text ID="104701" Value=""/>
<Text ID="104702" Value="ms"/>
<Text ID="104703" Value=""/>
</TextLayer>
<IndexMap>
<Index ID="104699" Value="1"/>
<Index ID="104700" Value="2"/>
<Index ID="104701" Value="3"/>
<Index ID="104702" Value="4"/>
<Index ID="104703" Value="0"/>
</IndexMap>
</TextGroup>
<Units>
<Unit ClassId="0x00000603" Name="mstos">
<Property Name="DefaultPrecisionDatapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="Index" Value="1"/>
<Property Name="Text_Abbreviation_TextGroup" Value="None"/>
<Property Name="Text_Abbreviation_TextIndex" Value="2"/>
<Property Name="Text_Description_TextGroup" Value="None"/>
<Property Name="Text_Description_TextIndex" Value="1"/>
<Property Name="UnitFraction" Value="False"/>
<Property Name="Unit_DefaultPrecision" Value="1"/>
<Property Name="Value[0].Internal" Value="0"/>
<Property Name="Value[0].Scaled" Value="0"/>
<Property Name="Value[1].Internal" Value="1000"/>
<Property Name="Value[1].Scaled" Value="1"/>
</Unit>
<Unit ClassId="0x00000603" Name="PLC_Unit">
<Property Name="DefaultPrecisionDatapoint" Value="None"/>
<Property Name="Description" Value=""/>
<Property Name="Index" Value="0"/>
<Property Name="Text_Abbreviation_TextGroup" Value="None"/>
<Property Name="Text_Abbreviation_TextIndex" Value="4"/>
<Property Name="Text_Description_TextGroup" Value="None"/>
<Property Name="Text_Description_TextIndex" Value="3"/>
<Property Name="UnitFraction" Value="False"/>
<Property Name="Unit_DefaultPrecision" Value="2"/>
<Property Name="Value[0].Internal" Value="0"/>
<Property Name="Value[0].Scaled" Value="0"/>
<Property Name="Value[1].Internal" Value="1"/>
<Property Name="Value[1].Scaled" Value="1"/>
</Unit>
</Units>
<Limits/>
</UnitGroup>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<BitmapGroup xmlns="http://br-automation.co.at/AS/VC/Project" Name="LED_16">
<Property Name="Description" Value="0-gy / 1-gn"/>
<Property Name="Index" Value="10"/>
<Property Name="Translate" Value="False"/>
<BitmapLayer LanguageId="neutral">
<BitmapRef ID="1211" Value="Source[local].Bitmap[gray_16_16]"/>
<BitmapRef ID="1212" Value="Source[local].Bitmap[green_16_16]"/>
</BitmapLayer>
<IndexMap>
<Index ID="1211" Value="0"/>
<Index ID="1212" Value="1"/>
</IndexMap>
</BitmapGroup>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<Bitmap xmlns="http://br-automation.co.at/AS/VC/Project" Name="gray_16_16">
<Property Name="Description" Value=""/>
<Property Name="File" Value="gray_16_16.png"/>
<Property Name="FillAreaColor" Value="0"/>
<Property Name="FillAreaColor32" Value="0"/>
<Property Name="FillAreaDatapoint" Value="1"/>
<Property Name="FillAreaDatapoint[0]" Value="None"/>
<Property Name="FillAreaLeft" Value="0"/>
<Property Name="FillAreaTop" Value="0"/>
<Property Name="FillAreas" Value="0"/>
<Property Name="Index" Value="100"/>
<Property Name="TargetFormat" Value="Png32Bit"/>
</Bitmap>

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<Bitmap xmlns="http://br-automation.co.at/AS/VC/Project" Name="green_16_16">
<Property Name="Description" Value=""/>
<Property Name="File" Value="green_16_16.png"/>
<Property Name="FillAreaColor" Value="0"/>
<Property Name="FillAreaColor32" Value="0"/>
<Property Name="FillAreaDatapoint" Value="1"/>
<Property Name="FillAreaDatapoint[0]" Value="None"/>
<Property Name="FillAreaLeft" Value="0"/>
<Property Name="FillAreaTop" Value="0"/>
<Property Name="FillAreas" Value="0"/>
<Property Name="Index" Value="101"/>
<Property Name="TargetFormat" Value="Png32Bit"/>
</Bitmap>

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<Bitmap xmlns="http://br-automation.co.at/AS/VC/Project" Name="red_16_16">
<Property Name="Description" Value=""/>
<Property Name="File" Value="red_16_16.png"/>
<Property Name="FillAreaColor" Value="0"/>
<Property Name="FillAreaColor32" Value="0"/>
<Property Name="FillAreaDatapoint" Value="1"/>
<Property Name="FillAreaDatapoint[0]" Value="None"/>
<Property Name="FillAreaLeft" Value="0"/>
<Property Name="FillAreaTop" Value="0"/>
<Property Name="FillAreas" Value="0"/>
<Property Name="Index" Value="102"/>
<Property Name="TargetFormat" Value="Png32Bit"/>
</Bitmap>

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<LogicalFont xmlns="http://br-automation.co.at/AS/VC/Project" Name="Huge">
<Property Name="Description" Value="font for header"/>
<Property Name="Index" Value="7"/>
<FontMapping LanguageId="en">
<Property Name="Antialiasing" Value="Default"/>
<Property Name="Bold" Value="False"/>
<Property Name="Family" Value="Arial"/>
<Property Name="Italic" Value="False"/>
<Property Name="Size" Value="16"/>
</FontMapping>
<FontMapping LanguageId="de">
<Property Name="Antialiasing" Value="Default"/>
<Property Name="Bold" Value="False"/>
<Property Name="Family" Value="Arial"/>
<Property Name="Italic" Value="False"/>
<Property Name="Size" Value="16"/>
</FontMapping>
</LogicalFont>

View File

@@ -11,12 +11,12 @@
<TextGroup>
<TextLayer LanguageId="en">
<Text ID="99341" Value="COUNT"/>
<Text ID="103665" Value="Safety\Diag"/>
<Text ID="103665" Value="Diag"/>
<Text ID="103712" Value=""/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="99341" Value="Zähler"/>
<Text ID="103665" Value="Safety\nDiag"/>
<Text ID="103665" Value="Diag"/>
<Text ID="103712" Value=""/>
</TextLayer>
<IndexMap>
@@ -399,7 +399,7 @@
<Property Name="Description" Value=""/>
<Property Name="Locking" Value="Never"/>
<Property Name="Name" Value="Action_0"/>
<Property Name="Page" Value="Source[local].Page[tmpl20_Trend]"/>
<Property Name="Page" Value="Source[local].Page[tmpl20_Info]"/>
<Property Name="Target" Value="Page"/>
</KeyAction>
</KeyActions>
@@ -464,7 +464,7 @@
<Property Name="Description" Value=""/>
<Property Name="Locking" Value="Never"/>
<Property Name="Name" Value="Action_0"/>
<Property Name="Page" Value="Source[local].Page[tmpl13_StafetyDiag]"/>
<Property Name="Page" Value="Source[local].Page[tmpl13_IODiag]"/>
<Property Name="Target" Value="Page"/>
</KeyAction>
</KeyActions>

View File

@@ -59,6 +59,7 @@
<Source File="Fonts\Button.fninfo"/>
<Source File="Fonts\Input.fninfo"/>
<Source File="Fonts\Status.fninfo"/>
<Source File="Fonts\Huge.fninfo"/>
<Source File="Bitmaps\Key_NumPad_pressed.bminfo"/>
<Source File="Bitmaps\Key_NumPad.bminfo"/>
<Source File="Bitmaps\Alarm_AcknowledgeReset.bminfo"/>
@@ -195,6 +196,9 @@
<Source File="Bitmaps\up_down_bw_24.bminfo"/>
<Source File="Bitmaps\up_down_36.bminfo"/>
<Source File="Bitmaps\up_down_bw_36.bminfo"/>
<Source File="Bitmaps\gray_16_16.bminfo"/>
<Source File="Bitmaps\green_16_16.bminfo"/>
<Source File="Bitmaps\red_16_16.bminfo"/>
<Source File="BitmapGroups\AlarmAcknowledgeState.bmgrp"/>
<Source File="BitmapGroups\AlarmBypassState.bmgrp"/>
<Source File="BitmapGroups\AlarmEvent.bmgrp"/>
@@ -206,17 +210,18 @@
<Source File="BitmapGroups\Orange_36.bmgrp"/>
<Source File="BitmapGroups\Orange_24.bmgrp"/>
<Source File="BitmapGroups\Buttons.bmgrp"/>
<Source File="BitmapGroups\LED_16.bmgrp"/>
<Source File="Pages\tmpl10_MainPage.page"/>
<Source File="Pages\tmpl00_StartPage.page"/>
<Source File="Pages\tmpl60_Setup.page"/>
<Source File="Pages\tmpl20_Trend.page"/>
<Source File="Pages\tmpl20_Info.page"/>
<Source File="Pages\tmpl30_AlarmPage.page"/>
<Source File="Pages\tmpl31_AlarmHistoryPage.page"/>
<Source File="Pages\tmpl61_SystemDiagnostics.page"/>
<Source File="Pages\tmpl01_Info.page"/>
<Source File="Pages\tmpl11_Setup.page"/>
<Source File="Pages\tmpl12_Stats.page"/>
<Source File="Pages\tmpl13_StafetyDiag.page"/>
<Source File="Pages\tmpl13_IODiag.page"/>
<Source File="Layers\globalArea.layer"/>
<Source File="Layers\msgBox.layer"/>
<Source File="Layers\Background.layer"/>

View File

@@ -150,7 +150,7 @@
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="287"/>
<Property Name="Left" Value="231"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
@@ -158,14 +158,14 @@
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="345"/>
<Property Name="Top" Value="364"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.GlobalVars.giOuPressureR1G1]"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="84"/>
<Property Name="Width" Value="62"/>
</Control>
<Control ClassId="0x00001004" Name="txtBelt1PRessure">
<Property Name="AlignmentHorizontal" Value="Center"/>
@@ -173,8 +173,8 @@
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="282"/>
<Property Name="Height" Value="20"/>
<Property Name="Left" Value="225"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
@@ -182,8 +182,8 @@
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="8"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="314"/>
<Property Name="Width" Value="100"/>
<Property Name="Top" Value="341"/>
<Property Name="Width" Value="150"/>
</Control>
<Control ClassId="0x00001004" Name="txtProgramActive">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -223,6 +223,27 @@
<Property Name="Top" Value="130"/>
<Property Name="Width" Value="138"/>
</Control>
<Control ClassId="0x00001007" Name="Numeric_2">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="308"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="364"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.GlobalVars.giOuPressureR1G2]"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="62"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="AlarmUp">
@@ -252,7 +273,7 @@
<Layer Name="OpRob1">
<Property Name="BackColor" Value="9"/>
<Property Name="Description" Value="Manual Operation Robot 1"/>
<Property Name="EditingMode" Value="Frozen"/>
<Property Name="EditingMode" Value="Normal"/>
<Property Name="Height" Value="480"/>
<Property Name="Left" Value="0"/>
<Property Name="OutlineColor" Value="0"/>
@@ -269,119 +290,22 @@
<Text ID="101275" Value="Move Hor"/>
<Text ID="102456" Value="Doors"/>
<Text ID="103987" Value="Belt\nGrinder 1"/>
<Text ID="104698" Value="Belt\nGrinder 2"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="101275" Value="Hor. Verfahren"/>
<Text ID="102456" Value="Schutztor\n"/>
<Text ID="102456" Value="Schutztor"/>
<Text ID="103987" Value="Band\nSchleifer 1"/>
<Text ID="104698" Value="Band\nSchleifer 2"/>
</TextLayer>
<IndexMap>
<Index ID="101275" Value="46"/>
<Index ID="102456" Value="43"/>
<Index ID="103987" Value="56"/>
<Index ID="104698" Value="28"/>
</IndexMap>
</TextGroup>
<Controls>
<Control ClassId="0x00001002" Name="btnJogPosShaft1">
<Property Name="AlignmentHorizontal" Value="Right"/>
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[Orange_36]"/>
<Property Name="BitmapIndex" Value="13"/>
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSimulationValue" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="57"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="160"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManJogPosShaft1]"/>
<Property Name="Width" Value="56"/>
</Control>
<Control ClassId="0x00001002" Name="btnJogNegShaft1">
<Property Name="AlignmentHorizontal" Value="Right"/>
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[Orange_36]"/>
<Property Name="BitmapIndex" Value="19"/>
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSimulationValue" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="57"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="216"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManJogNegShaft1]"/>
<Property Name="Width" Value="56"/>
</Control>
<Control ClassId="0x00001002" Name="btnJogPosShaft2">
<Property Name="AlignmentHorizontal" Value="Right"/>
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[Orange_36]"/>
<Property Name="BitmapIndex" Value="13"/>
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSimulationValue" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="149"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="160"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManJogPosShaft2]"/>
<Property Name="Width" Value="56"/>
</Control>
<Control ClassId="0x00001002" Name="btnJogNegShaft2">
<Property Name="AlignmentHorizontal" Value="Right"/>
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[Orange_36]"/>
<Property Name="BitmapIndex" Value="19"/>
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSimulationValue" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="149"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="216"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManJogNegShaft2]"/>
<Property Name="Width" Value="56"/>
</Control>
<Control ClassId="0x00001002" Name="btnJogPosSlay1">
<Property Name="AlignmentHorizontal" Value="Right"/>
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
@@ -396,7 +320,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="78"/>
<Property Name="Left" Value="22"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -421,7 +345,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="143"/>
<Property Name="Left" Value="87"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -439,7 +363,7 @@
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="24"/>
<Property Name="Left" Value="78"/>
<Property Name="Left" Value="22"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -463,7 +387,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="78"/>
<Property Name="Left" Value="22"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -488,7 +412,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="143"/>
<Property Name="Left" Value="87"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -513,7 +437,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="213"/>
<Property Name="Left" Value="157"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -531,7 +455,7 @@
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="24"/>
<Property Name="Left" Value="186"/>
<Property Name="Left" Value="149"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
@@ -540,7 +464,7 @@
<Property Name="TextIndexOffset" Value="43"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="275"/>
<Property Name="Width" Value="100"/>
<Property Name="Width" Value="73"/>
</Control>
<Control ClassId="0x00001002" Name="btnDoor2Down">
<Property Name="AlignmentHorizontal" Value="Right"/>
@@ -556,7 +480,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="213"/>
<Property Name="Left" Value="157"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -581,7 +505,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="300"/>
<Property Name="Left" Value="231"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StatusDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.StatusVCControls.usTightenBeltGrinder1]"/>
@@ -589,7 +513,7 @@
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="156"/>
<Property Name="Top" Value="182"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManTightBelt1R1]"/>
<Property Name="Width" Value="56"/>
</Control>
@@ -607,7 +531,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="300"/>
<Property Name="Left" Value="307"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StatusDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.StatusVCControls.usReleaseBeltGrinder1]"/>
@@ -615,7 +539,7 @@
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="212"/>
<Property Name="Top" Value="182"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManReleaseBelt1R1]"/>
<Property Name="Width" Value="56"/>
</Control>
@@ -626,7 +550,7 @@
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="34"/>
<Property Name="Left" Value="277"/>
<Property Name="Left" Value="208"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
@@ -634,10 +558,10 @@
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="56"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="115"/>
<Property Name="Top" Value="247"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001002" Name="btnTightBelt2">
<Control ClassId="0x00001002" Name="btnStartGrnd1">
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
<Property Name="BitmapIndexDatapoint" Value="None"/>
@@ -647,7 +571,7 @@
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="300"/>
<Property Name="Left" Value="231"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
@@ -656,10 +580,51 @@
<Property Name="TextIndexDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.ManualCommands.bStartGrinder1]"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="268"/>
<Property Name="Top" Value="285"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManStartGrnd1R1]"/>
<Property Name="Width" Value="56"/>
</Control>
<Control ClassId="0x00001002" Name="btnStartGrnd2">
<Property Name="BitmapAlignmentHorizontal" Value="Center"/>
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="44"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="305"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Switch_States]"/>
<Property Name="TextIndex" Value="0"/>
<Property Name="TextIndexDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.ManualCommands.bStartGrinder2]"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="284"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManStartGrnd2R1]"/>
<Property Name="Width" Value="56"/>
</Control>
<Control ClassId="0x00001004" Name="txtBelt2">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="34"/>
<Property Name="Left" Value="283"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="28"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="247"/>
<Property Name="Width" Value="100"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="MachSwitchOn">
@@ -1200,6 +1165,22 @@
</KeyAction>
</KeyActions>
</VirtualKey>
<VirtualKey Name="ManStartGrnd2R1">
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
<KeyActions>
<KeyAction ClassId="0x0000016A">
<Property Name="CompletionDatapoint" Value="None"/>
<Property Name="CompletionValue" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Locking" Value="Never"/>
<Property Name="Name" Value="Action_0"/>
<Property Name="ResetValue" Value="0"/>
<Property Name="SetValue" Value="1"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.ManualCommands.bStartGrinder2]"/>
</KeyAction>
</KeyActions>
</VirtualKey>
</KeyMapping>
</Layer>
<Layer Name="AutomaticRob1">
@@ -1221,9 +1202,13 @@
<TextLayer LanguageId="en">
<Text ID="101808" Value="Step"/>
<Text ID="103976" Value="Robot 1"/>
<Text ID="103977" Value="Step"/>
<Text ID="103978" Value="Step"/>
<Text ID="103977" Value="Toolsate 1"/>
<Text ID="103978" Value="Toolstate 2"/>
<Text ID="104353" Value="Programm Seletion"/>
<Text ID="104584" Value="Counter Current Tool"/>
<Text ID="104585" Value="Cycletime"/>
<Text ID="104704" Value="Reset Counter"/>
<Text ID="105195" Value="Restart OK"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="101808" Value="Schritt"/>
@@ -1231,6 +1216,10 @@
<Text ID="103977" Value="Werzeugstatus 1"/>
<Text ID="103978" Value="Werzeugstatus 2"/>
<Text ID="104353" Value="Programmvorwahl"/>
<Text ID="104584" Value="Schichtzähler"/>
<Text ID="104585" Value="Zykluszeit"/>
<Text ID="104704" Value="Reset Zähler"/>
<Text ID="105195" Value="Neustart Mögl"/>
</TextLayer>
<IndexMap>
<Index ID="101808" Value="4"/>
@@ -1238,6 +1227,10 @@
<Index ID="103977" Value="7"/>
<Index ID="103978" Value="8"/>
<Index ID="104353" Value="5"/>
<Index ID="104584" Value="3"/>
<Index ID="104585" Value="9"/>
<Index ID="104704" Value="10"/>
<Index ID="105195" Value="12"/>
</IndexMap>
</TextGroup>
<Controls>
@@ -1296,7 +1289,7 @@
<Property Name="TextGroup" Value="Source[local].TextGroup[Toolstates]"/>
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="192"/>
<Property Name="Top" Value="198"/>
<Property Name="Width" Value="225"/>
</Control>
<Control ClassId="0x00001004" Name="txtToolstate2">
@@ -1316,7 +1309,7 @@
<Property Name="TextGroup" Value="Source[local].TextGroup[Toolstates]"/>
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="220"/>
<Property Name="Top" Value="226"/>
<Property Name="Width" Value="225"/>
</Control>
<Control ClassId="0x00001004" Name="Text_RobotStep1">
@@ -1324,7 +1317,7 @@
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Font" Value="Source[local].Font[Huge]"/>
<Property Name="Height" Value="40"/>
<Property Name="Left" Value="12"/>
<Property Name="Multiline" Value="Automatic"/>
@@ -1352,7 +1345,7 @@
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="7"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="192"/>
<Property Name="Top" Value="198"/>
<Property Name="Width" Value="127"/>
</Control>
<Control ClassId="0x00001004" Name="Text_ToolState2">
@@ -1370,7 +1363,7 @@
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="8"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="220"/>
<Property Name="Top" Value="226"/>
<Property Name="Width" Value="127"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Programm">
@@ -1379,7 +1372,7 @@
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="25"/>
<Property Name="Height" Value="35"/>
<Property Name="Left" Value="12"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
@@ -1396,8 +1389,8 @@
<Property Name="ButtonsPressedBitmapGroup" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Font" Value="Source[local].Font[Huge]"/>
<Property Name="Height" Value="35"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.enProgramSelection]"/>
<Property Name="Left" Value="150"/>
<Property Name="LeftBitmap" Value="None"/>
@@ -1418,6 +1411,134 @@
<Property Name="Top" Value="159"/>
<Property Name="Width" Value="240"/>
</Control>
<Control ClassId="0x00001007" Name="numShiftCountCurrentTool">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="150"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="261"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.PartCount.udCurrentShiftCounterRob1]"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="49"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Shiftcounter">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="12"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="3"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="261"/>
<Property Name="Width" Value="127"/>
</Control>
<Control ClassId="0x00001007" Name="numCycletime">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="296"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="261"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.GrindCtrl.udCycletimeLast]"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="79"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Shiftcounter1">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="206"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="9"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="261"/>
<Property Name="Width" Value="83"/>
</Control>
<Control ClassId="0x00001002" Name="btnDisableChecks">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="40"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="150"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndex" Value="10"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="292"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ResetCounter]"/>
<Property Name="Width" Value="112"/>
</Control>
<Control ClassId="0x00001004" Name="txt01">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="291"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="12"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="59"/>
<Property Name="Width" Value="101"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_1">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Machine.gMachine1.bRestartOK]"/>
<Property Name="Left" Value="271"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="59"/>
<Property Name="Width" Value="16"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="cmdEnableNextPressStep">
@@ -1452,6 +1573,22 @@
</KeyAction>
</KeyActions>
</VirtualKey>
<VirtualKey Name="ResetCounter">
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
<KeyActions>
<KeyAction ClassId="0x0000016B">
<Property Name="CompletionDatapoint" Value="None"/>
<Property Name="CompletionValue" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Locking" Value="Never"/>
<Property Name="Name" Value="Action_0"/>
<Property Name="ResetValue" Value="0"/>
<Property Name="SetValue" Value="1"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.PartCount.bResetShiftcounterRob1]"/>
</KeyAction>
</KeyActions>
</VirtualKey>
</KeyMapping>
</Layer>
<Layer Name="HomemodeRob1">
@@ -1555,7 +1692,7 @@
<Property Name="OutlineHatched" Value="False"/>
<Property Name="StatusDatapoint" Value="None"/>
<Property Name="Top" Value="0"/>
<Property Name="VisibilityMode" Value="Normal"/>
<Property Name="VisibilityMode" Value="Hidden"/>
<Property Name="Width" Value="800"/>
<Property Name="Z-Order" Value="6"/>
<TextGroup>
@@ -1563,47 +1700,7 @@
<TextLayer LanguageId="de"/>
<IndexMap/>
</TextGroup>
<Controls>
<Control ClassId="0x00001002" Name="btnDisableChecks">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="40"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="545"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
<Property Name="TextIndex" Value="100"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="330"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ManDisableChecks]"/>
<Property Name="Width" Value="112"/>
</Control>
<Control ClassId="0x00001004" Name="Text_2">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Status]"/>
<Property Name="Height" Value="20"/>
<Property Name="IndexDatapoint" Value="None"/>
<Property Name="Left" Value="555"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
<Property Name="TextIndexOffset" Value="102"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="375"/>
<Property Name="Width" Value="225"/>
</Control>
</Controls>
<Controls/>
<KeyMapping>
<VirtualKey Name="ErrorReset">
<Property Name="Description" Value=""/>
@@ -1770,5 +1867,8 @@
<TabSeqItem Index="0" Value="Source[embedded].Layer[MachInformationRob1].Control[AlarmCurrent]"/>
<TabSeqItem Index="1" Value="Source[embedded].Layer[MachInformationRob1].Control[Numeric_1]"/>
<TabSeqItem Index="2" Value="Source[embedded].Layer[AutomaticRob1].Control[drpProgramSelection]"/>
<TabSeqItem Index="3" Value="Source[embedded].Layer[AutomaticRob1].Control[numShiftCountCurrentTool]"/>
<TabSeqItem Index="4" Value="Source[embedded].Layer[AutomaticRob1].Control[numCycletime]"/>
<TabSeqItem Index="5" Value="Source[embedded].Layer[MachInformationRob1].Control[Numeric_2]"/>
</TabSequence>
</Page>

View File

@@ -51,722 +51,11 @@
<Property Name="Width" Value="800"/>
<Property Name="Z-Order" Value="2"/>
<TextGroup>
<TextLayer LanguageId="en">
<Text ID="100157" Value="Pos. Mount"/>
<Text ID="100158" Value="Pos. Press"/>
<Text ID="100159" Value="Presstime"/>
<Text ID="100161" Value="Pressspeed"/>
<Text ID="101263" Value="Min"/>
<Text ID="101264" Value="Max"/>
<Text ID="101265" Value="Pos. Press Slay 1"/>
<Text ID="101277" Value="Empty Speed Press"/>
<Text ID="102841" Value="Pos. Home"/>
<Text ID="103913" Value="Grease after"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="100157" Value="Pos. Vormontage"/>
<Text ID="100158" Value="Pos. Pressen"/>
<Text ID="100159" Value="Presszeit"/>
<Text ID="100161" Value="Pressgeschwindigkeit"/>
<Text ID="101263" Value="Min"/>
<Text ID="101264" Value="Max"/>
<Text ID="101265" Value="Pos. Pressen Werkzeugschlitten"/>
<Text ID="101277" Value="Verfahrgeschw. Presse"/>
<Text ID="102841" Value="Pos. Grundstellung"/>
<Text ID="103913" Value="Fetten nach n Zyklen"/>
</TextLayer>
<IndexMap>
<Index ID="100157" Value="10"/>
<Index ID="100158" Value="11"/>
<Index ID="100159" Value="12"/>
<Index ID="100161" Value="14"/>
<Index ID="101263" Value="1"/>
<Index ID="101264" Value="2"/>
<Index ID="101265" Value="3"/>
<Index ID="101277" Value="4"/>
<Index ID="102841" Value="5"/>
<Index ID="103913" Value="0"/>
</IndexMap>
<TextLayer LanguageId="en"/>
<TextLayer LanguageId="de"/>
<IndexMap/>
</TextGroup>
<Controls>
<Control ClassId="0x00001007" Name="numPosMount">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="170"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Mount">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="10"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="170"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001007" Name="numPosPress">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="200"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_PressPos">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="11"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="200"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001004" Name="Text_PressTime">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="12"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="280"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001018" Name="Dropdown_1">
<Property Name="ButtonsBitmapGroup" Value="None"/>
<Property Name="ButtonsPressedBitmapGroup" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="30"/>
<Property Name="IndexDatapoint" Value="None"/>
<Property Name="Left" Value="102"/>
<Property Name="LeftBitmap" Value="None"/>
<Property Name="LeftTextGroup" Value="None"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxIndex" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinIndex" Value="None"/>
<Property Name="OptionDatapoint" Value="None"/>
<Property Name="RightBitmap" Value="None"/>
<Property Name="RightTextGroup" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Programms]"/>
<Property Name="TextIndexOffset" Value="10"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="107"/>
<Property Name="Width" Value="237"/>
</Control>
<Control ClassId="0x00001007" Name="numPressspeed">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="0.001"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="310"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_PressSpeed">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="14"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="310"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001007" Name="numPosMountMin">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="345"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="170"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numPosMountMin1">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="450"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="170"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numPosPressMin">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="345"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="200"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numPosPressMax">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="450"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="200"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numPressspeed1">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="450"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="0.02"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="0.001"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="310"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Min">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="350"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="1"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="105"/>
<Property Name="Width" Value="95"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Max">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="450"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="2"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="105"/>
<Property Name="Width" Value="95"/>
</Control>
<Control ClassId="0x00001007" Name="numPosPressSlay1">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="None"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="None"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="240"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_PressPosSlay">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="3"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="240"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001007" Name="numPosPressSlay1Min">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="345"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="2.115"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="2"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="240"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numPosPressSlay1Max">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="450"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="2.15"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="2.115"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="240"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numPressspeedEmpty">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="0.1"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="0.001"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="350"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_PressSpeedEmpty">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="4"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="350"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001007" Name="numPosHome">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="0.17"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="0.1"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="140"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Homepos">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="5"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="140"/>
<Property Name="Width" Value="139"/>
</Control>
<Control ClassId="0x00001007" Name="numPresstime">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="240"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="5000"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="0"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="280"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x00001007" Name="numGreaseCycles">
<Property Name="BackColor" Value="59"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="ForeColor" Value="0"/>
<Property Name="Height" Value="30"/>
<Property Name="Input" Value="True"/>
<Property Name="InputCancel" Value="Lost Focus"/>
<Property Name="InputComma" Value="Explicit"/>
<Property Name="InputConfirm" Value="Enter"/>
<Property Name="InputMinus" Value="Normal"/>
<Property Name="InputNext" Value="Enter"/>
<Property Name="InputStart" Value="Any Key"/>
<Property Name="InputTouchpad" Value="Source[local].TouchPad[NumPad]"/>
<Property Name="InputUpDown" Value="Slow"/>
<Property Name="Left" Value="720"/>
<Property Name="MaxDatapoint" Value="None"/>
<Property Name="MaxValue" Value="250"/>
<Property Name="MinDatapoint" Value="None"/>
<Property Name="MinValue" Value="10"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TeachDatapoint" Value="None"/>
<Property Name="Top" Value="240"/>
<Property Name="UnitText" Value="Abbreviation"/>
<Property Name="UnitTextAlignment" Value="Left"/>
<Property Name="UnitTextPosition" Value="Right"/>
<Property Name="UnitTextWidth" Value="0"/>
<Property Name="ValueDatapoint" Value="None"/>
<Property Name="ValueMode" Value="Standard"/>
<Property Name="Width" Value="55"/>
</Control>
<Control ClassId="0x00001004" Name="Text_PressTime1">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="30"/>
<Property Name="Left" Value="565"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="240"/>
<Property Name="Width" Value="150"/>
</Control>
</Controls>
<Controls/>
<KeyMapping>
<VirtualKey Name="CalibTouch">
<Property Name="Description" Value=""/>
@@ -908,120 +197,6 @@
<KeyMapping/>
</Layer>
</Layers>
<MovementOrder>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosMount]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosPress]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosMountMin]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosHome]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosPress]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosPressMin]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosMount]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[Dropdown_1]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosHome]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numGreaseCycles]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosMountMin]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPressspeedEmpty]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPressspeed]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPressspeedEmpty]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPressspeed1]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPresstime]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosMountMin]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosPressMin]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosMount]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosMountMin1]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosHome]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosMountMin1]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosPressMax]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosMountMin]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numGreaseCycles]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosHome]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosPressMin]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Min]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosPress]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosPressMax]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosMountMin]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosPressMax]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Max]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosPressMin]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numGreaseCycles]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosMountMin1]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPressspeed1]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPressspeedEmpty]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPressspeed]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numGreaseCycles]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Max]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosPressSlay1]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPresstime]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Min]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosPress]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosPressSlay1Min]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPressspeed1]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Max]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosPressMin]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosPressSlay1Max]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPressspeed1]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Min]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numGreaseCycles]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosPressMax]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPressspeedEmpty]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Min]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPressspeed]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPosHome]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPosMount]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosMountMin]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numPresstime]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPressspeed]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPressspeed1]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1]"/>
</MovementEntry>
<MovementEntry Control="Source[embedded].Layer[Default].Control[numGreaseCycles]">
<Property Name="Down" Value="Source[embedded].Layer[Default].Control[numPresstime]"/>
<Property Name="Left" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Max]"/>
<Property Name="Right" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1]"/>
<Property Name="Up" Value="Source[embedded].Layer[Default].Control[numPosPressMax]"/>
</MovementEntry>
</MovementOrder>
<TabSequence>
<TabSeqItem Index="0" Value="Source[embedded].Layer[Default].Control[numPosMount]"/>
<TabSeqItem Index="1" Value="Source[embedded].Layer[Default].Control[numPosPress]"/>
<TabSeqItem Index="2" Value="Source[embedded].Layer[Default].Control[Dropdown_1]"/>
<TabSeqItem Index="3" Value="Source[embedded].Layer[Default].Control[numPressspeed]"/>
<TabSeqItem Index="4" Value="Source[embedded].Layer[Default].Control[numPosMountMin]"/>
<TabSeqItem Index="5" Value="Source[embedded].Layer[Default].Control[numPosMountMin1]"/>
<TabSeqItem Index="6" Value="Source[embedded].Layer[Default].Control[numPosPressMin]"/>
<TabSeqItem Index="7" Value="Source[embedded].Layer[Default].Control[numPosPressMax]"/>
<TabSeqItem Index="8" Value="Source[embedded].Layer[Default].Control[numPressspeed1]"/>
<TabSeqItem Index="9" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1]"/>
<TabSeqItem Index="10" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Min]"/>
<TabSeqItem Index="11" Value="Source[embedded].Layer[Default].Control[numPosPressSlay1Max]"/>
<TabSeqItem Index="12" Value="Source[embedded].Layer[Default].Control[numPressspeedEmpty]"/>
<TabSeqItem Index="13" Value="Source[embedded].Layer[Default].Control[numPosHome]"/>
<TabSeqItem Index="14" Value="Source[embedded].Layer[Default].Control[numPresstime]"/>
<TabSeqItem Index="15" Value="Source[embedded].Layer[Default].Control[numGreaseCycles]"/>
</TabSequence>
<MovementOrder/>
<TabSequence/>
</Page>

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<Page xmlns="http://br-automation.co.at/AS/VC/Project" Name="tmpl13_StafetyDiag">
<Page xmlns="http://br-automation.co.at/AS/VC/Project" Name="tmpl13_IODiag">
<Property Name="BackColor" Value="253"/>
<Property Name="Description" Value="Template Start page - shown during boot up"/>
<Property Name="Height" Value="480"/>
@@ -35,7 +35,7 @@
<Property Name="VisibilityMode" Value="Normal"/>
<Property Name="Z-Order" Value="1"/>
</LayerRef>
<Layer Name="Default">
<Layer Name="SafetyIO">
<Property Name="BackColor" Value="9"/>
<Property Name="Description" Value=""/>
<Property Name="EditingMode" Value="Normal"/>
@@ -45,7 +45,7 @@
<Property Name="OutlineDisplayControl" Value="False"/>
<Property Name="OutlineDisplayName" Value="True"/>
<Property Name="OutlineHatched" Value="False"/>
<Property Name="StatusDatapoint" Value="None"/>
<Property Name="StatusDatapoint" Value="Source[global].Variable[DataSource.Machine.gStatusVCControls.usLayersIOState[2]]"/>
<Property Name="Top" Value="0"/>
<Property Name="VisibilityMode" Value="Normal"/>
<Property Name="Width" Value="800"/>
@@ -68,6 +68,7 @@
<Text ID="103947" Value="Close Gate Robot 1"/>
<Text ID="103948" Value="Main Valve Robot 2"/>
<Text ID="103949" Value="Close Gate Robot 2"/>
<Text ID="105053" Value="Robot Comm"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="103683" Value="Sicherheit nach Tür 1 Roboter 1"/>
@@ -86,6 +87,7 @@
<Text ID="103947" Value="Schutztor Roboter 1"/>
<Text ID="103948" Value="Hauptventil Roboter 2"/>
<Text ID="103949" Value="Schutztor Roboter 2"/>
<Text ID="105053" Value="Roboter Komm."/>
</TextLayer>
<IndexMap>
<Index ID="103683" Value="8"/>
@@ -104,6 +106,7 @@
<Index ID="103947" Value="29"/>
<Index ID="103948" Value="30"/>
<Index ID="103949" Value="31"/>
<Index ID="105053" Value="32"/>
</IndexMap>
</TextGroup>
<Controls>
@@ -125,7 +128,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="125"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytST7StateDO2">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -145,7 +148,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="155"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytST7StateDO3">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -165,7 +168,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="185"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytST7StateDO4">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -185,7 +188,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="215"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytST8StateDO1">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -205,7 +208,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="245"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytS82StateDO2">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -225,7 +228,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="275"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytST8StateDO3">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -245,7 +248,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="305"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="tytST8StateDO4">
<Property Name="AlignmentVertical" Value="Top"/>
@@ -265,7 +268,7 @@
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="MultipleTexts"/>
<Property Name="Top" Value="335"/>
<Property Name="Width" Value="195"/>
<Property Name="Width" Value="173"/>
</Control>
<Control ClassId="0x00001004" Name="txt01">
<Property Name="AlignmentVertical" Value="Center"/>
@@ -691,6 +694,28 @@
<Property Name="Top" Value="335"/>
<Property Name="Width" Value="150"/>
</Control>
<Control ClassId="0x00001002" Name="btnRobotCom">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="40"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="25"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndex" Value="32"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="390"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ResetCounter]"/>
<Property Name="Width" Value="112"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="CalibTouch">
@@ -704,6 +729,551 @@
</KeyAction>
</KeyActions>
</VirtualKey>
<VirtualKey Name="ResetCounter">
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
<KeyActions>
<KeyAction ClassId="0x00000161">
<Property Name="CompletionDatapoint" Value="None"/>
<Property Name="CompletionValue" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Locking" Value="Never"/>
<Property Name="Name" Value="Action_0"/>
<Property Name="SetValue" Value="3"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Machine.gusCurrentOpLayerIO]"/>
</KeyAction>
</KeyActions>
</VirtualKey>
</KeyMapping>
</Layer>
<Layer Name="RobotIO">
<Property Name="BackColor" Value="9"/>
<Property Name="Description" Value=""/>
<Property Name="EditingMode" Value="Normal"/>
<Property Name="Height" Value="480"/>
<Property Name="Left" Value="0"/>
<Property Name="OutlineColor" Value="0"/>
<Property Name="OutlineDisplayControl" Value="False"/>
<Property Name="OutlineDisplayName" Value="True"/>
<Property Name="OutlineHatched" Value="False"/>
<Property Name="StatusDatapoint" Value="Source[global].Variable[DataSource.Machine.gStatusVCControls.usLayersIOState[3]]"/>
<Property Name="Top" Value="0"/>
<Property Name="VisibilityMode" Value="Normal"/>
<Property Name="Width" Value="800"/>
<Property Name="Z-Order" Value="3"/>
<TextGroup>
<TextLayer LanguageId="en">
<Text ID="105039" Value="Automatic"/>
<Text ID="105040" Value="E-Stop"/>
<Text ID="105041" Value="Motors On"/>
<Text ID="105042" Value=" Motors Off"/>
<Text ID="105043" Value="Program Run"/>
<Text ID="105044" Value="Home"/>
<Text ID="105045" Value="Robot 1 - Communication"/>
<Text ID="105046" Value="Robot 2 - Communication"/>
<Text ID="105047" Value="Automatic"/>
<Text ID="105048" Value="E-Stop"/>
<Text ID="105049" Value="Motors On"/>
<Text ID="105050" Value=" Motors Off"/>
<Text ID="105051" Value="Program Run"/>
<Text ID="105052" Value="Home"/>
<Text ID="105055" Value="Safe IO"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="105039" Value="Automatik"/>
<Text ID="105040" Value="Not-Halt"/>
<Text ID="105041" Value="Motoren Ein"/>
<Text ID="105042" Value="Motoren Aus"/>
<Text ID="105043" Value="Programm läuft"/>
<Text ID="105044" Value="Grundstellung"/>
<Text ID="105045" Value="Roboter 1 - Kommunikation"/>
<Text ID="105046" Value="Roboter 2 - Kommunikation"/>
<Text ID="105047" Value="Automatik"/>
<Text ID="105048" Value="Not-Halt"/>
<Text ID="105049" Value="Motoren Ein"/>
<Text ID="105050" Value="Motoren Aus"/>
<Text ID="105051" Value="Programm läuft"/>
<Text ID="105052" Value="Grundstellung"/>
<Text ID="105055" Value="Safe IO"/>
</TextLayer>
<IndexMap>
<Index ID="105039" Value="0"/>
<Index ID="105040" Value="1"/>
<Index ID="105041" Value="2"/>
<Index ID="105042" Value="3"/>
<Index ID="105043" Value="4"/>
<Index ID="105044" Value="5"/>
<Index ID="105045" Value="6"/>
<Index ID="105046" Value="7"/>
<Index ID="105047" Value="8"/>
<Index ID="105048" Value="9"/>
<Index ID="105049" Value="10"/>
<Index ID="105050" Value="11"/>
<Index ID="105051" Value="12"/>
<Index ID="105052" Value="13"/>
<Index ID="105055" Value="14"/>
</IndexMap>
</TextGroup>
<Controls>
<Control ClassId="0x00001004" Name="txt01">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="60"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="0"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="90"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_1">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom.lABBRobot.In.bAutomatic]"/>
<Property Name="Left" Value="40"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="90"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt2">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="60"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="1"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="110"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_2">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom.lABBRobot.In.bEStop]"/>
<Property Name="Left" Value="40"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="110"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt3">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="60"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="2"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="130"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_3">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom.lABBRobot.In.bMotorsOn]"/>
<Property Name="Left" Value="40"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="130"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt4">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="60"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="3"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="149"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_4">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom.lABBRobot.In.bMotorsOff]"/>
<Property Name="Left" Value="40"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="149"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt5">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="60"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="4"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="169"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_5">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom.lABBRobot.In.bProgramRun]"/>
<Property Name="Left" Value="40"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="169"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt6">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="60"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="5"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="189"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_6">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom.lABBRobot.In.bHome]"/>
<Property Name="Left" Value="40"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="189"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Robot1">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Huge]"/>
<Property Name="Height" Value="40"/>
<Property Name="Left" Value="12"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="6"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="47"/>
<Property Name="Width" Value="387"/>
</Control>
<Control ClassId="0x00001004" Name="Text_Robot2">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Huge]"/>
<Property Name="Height" Value="40"/>
<Property Name="Left" Value="399"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="7"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="47"/>
<Property Name="Width" Value="387"/>
</Control>
<Control ClassId="0x00001004" Name="txt7">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="440"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="8"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="90"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_7">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom2.lABBRobot.In.bAutomatic]"/>
<Property Name="Left" Value="420"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="90"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt8">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="440"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="9"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="110"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_8">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom2.lABBRobot.In.bEStop]"/>
<Property Name="Left" Value="420"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="110"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt9">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="440"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="10"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="130"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_9">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom2.lABBRobot.In.bMotorsOn]"/>
<Property Name="Left" Value="420"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="130"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt10">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="440"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="11"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="149"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_10">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom2.lABBRobot.In.bMotorsOff]"/>
<Property Name="Left" Value="420"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="149"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt11">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="440"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="12"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="169"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_11">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom2.lABBRobot.In.bProgramRun]"/>
<Property Name="Left" Value="420"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="169"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001004" Name="txt12">
<Property Name="AlignmentVertical" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Font" Value="Source[local].Font[Header]"/>
<Property Name="Height" Value="16"/>
<Property Name="Left" Value="440"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="13"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="189"/>
<Property Name="Width" Value="125"/>
</Control>
<Control ClassId="0x00001005" Name="Bitmap_12">
<Property Name="BitmapGroup" Value="Source[local].BitmapGroup[LED_16]"/>
<Property Name="BitmapIndex" Value="0"/>
<Property Name="BitmapSource" Value="MultipleBitmaps"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="Height" Value="16"/>
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Communication.ABBCom2.lABBRobot.In.bHome]"/>
<Property Name="Left" Value="420"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="189"/>
<Property Name="Width" Value="16"/>
</Control>
<Control ClassId="0x00001002" Name="btnRobotCom">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="40"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="138"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndex" Value="14"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="390"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ResetCounter]"/>
<Property Name="Width" Value="112"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="ResetCounter">
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
<KeyActions>
<KeyAction ClassId="0x00000161">
<Property Name="CompletionDatapoint" Value="None"/>
<Property Name="CompletionValue" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Locking" Value="Never"/>
<Property Name="Name" Value="Action_0"/>
<Property Name="SetValue" Value="2"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Machine.gusCurrentOpLayerIO]"/>
</KeyAction>
</KeyActions>
</VirtualKey>
</KeyMapping>
</Layer>
</Layers>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?AutomationStudio Version="4.1.6.81 SP"?>
<Page xmlns="http://br-automation.co.at/AS/VC/Project" Name="tmpl20_Trend">
<Page xmlns="http://br-automation.co.at/AS/VC/Project" Name="tmpl20_Info">
<Property Name="Description" Value="Template trend page - visualisation of temperature"/>
<Property Name="Height" Value="480"/>
<Property Name="Index" Value="20"/>
@@ -55,33 +55,24 @@
<Text ID="103854" Value=""/>
<Text ID="103855" Value=""/>
<Text ID="103856" Value=""/>
<Text ID="105489" Value="Errormsg"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="103853" Value=""/>
<Text ID="103854" Value=""/>
<Text ID="103855" Value=""/>
<Text ID="103856" Value=""/>
<Text ID="105489" Value="Fehlertext"/>
</TextLayer>
<IndexMap>
<Index ID="103853" Value="2"/>
<Index ID="103854" Value="3"/>
<Index ID="103855" Value="4"/>
<Index ID="103856" Value="5"/>
<Index ID="105489" Value="8"/>
</IndexMap>
</TextGroup>
<Controls>
<Control ClassId="0x00001011" Name="TrendView">
<Property Name="BackColor" Value="249"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="363"/>
<Property Name="Left" Value="21"/>
<Property Name="RefreshTime" Value="200"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="61"/>
<Property Name="TrendConfig" Value="Source[local].Trend[Trend_Torque]"/>
<Property Name="Width" Value="616"/>
</Control>
<Control ClassId="0x0000100D" Name="lineTorqueShaft1">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
@@ -338,16 +329,85 @@
<Property Name="Top" Value="96"/>
<Property Name="Width" Value="112"/>
</Control>
<Control ClassId="0x00001004" Name="labErrorX">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="20"/>
<Property Name="Left" Value="22"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
<Property Name="TextIndexOffset" Value="8"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="109"/>
<Property Name="Width" Value="100"/>
</Control>
<Control ClassId="0x0000100B" Name="String_ErrorX0">
<Property Name="BackColor" Value="59"/>
<Property Name="Border" Value="Source[local].Border[Flat_grey]"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationValue" Value="1234567890123456789012345"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="103"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.gAxis[0].Error.Text[0]]"/>
<Property Name="Width" Value="275"/>
</Control>
<Control ClassId="0x0000100B" Name="String_ErrorX1">
<Property Name="BackColor" Value="59"/>
<Property Name="Border" Value="Source[local].Border[Flat_grey]"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="101"/>
<Property Name="SimulationValue" Value="1234567890123456789012345"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="129"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.gAxis[0].Error.Text[1]]"/>
<Property Name="Width" Value="275"/>
</Control>
<Control ClassId="0x0000100B" Name="String_ErrorX2">
<Property Name="BackColor" Value="59"/>
<Property Name="Border" Value="Source[local].Border[Flat_grey]"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationValue" Value="1234567890123456789012345"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="155"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.gAxis[0].Error.Text[2]]"/>
<Property Name="Width" Value="275"/>
</Control>
<Control ClassId="0x0000100B" Name="String_ErrorX3">
<Property Name="BackColor" Value="59"/>
<Property Name="Border" Value="Source[local].Border[Flat_grey]"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="25"/>
<Property Name="Left" Value="100"/>
<Property Name="SimulationValue" Value="1234567890123456789012345"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="181"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.gAxis[0].Error.Text[3]]"/>
<Property Name="Width" Value="275"/>
</Control>
</Controls>
<KeyMapping/>
</Layer>
</Layers>
<MovementOrder/>
<TabSequence>
<TabSeqItem Index="0" Value="Source[embedded].Layer[Default].Control[TrendView]"/>
<TabSeqItem Index="1" Value="Source[embedded].Layer[Default].Control[numActivePower]"/>
<TabSeqItem Index="2" Value="Source[embedded].Layer[Default].Control[numReActivePower]"/>
<TabSeqItem Index="3" Value="Source[embedded].Layer[Default].Control[numRegeneratedEngergy]"/>
<TabSeqItem Index="4" Value="Source[embedded].Layer[Default].Control[numConsumedEngergy]"/>
<TabSeqItem Index="0" Value="Source[embedded].Layer[Default].Control[numActivePower]"/>
<TabSeqItem Index="1" Value="Source[embedded].Layer[Default].Control[numReActivePower]"/>
<TabSeqItem Index="2" Value="Source[embedded].Layer[Default].Control[numRegeneratedEngergy]"/>
<TabSeqItem Index="3" Value="Source[embedded].Layer[Default].Control[numConsumedEngergy]"/>
<TabSeqItem Index="4" Value="Source[embedded].Layer[Default].Control[String_ErrorX0]"/>
<TabSeqItem Index="5" Value="Source[embedded].Layer[Default].Control[String_ErrorX1]"/>
<TabSeqItem Index="6" Value="Source[embedded].Layer[Default].Control[String_ErrorX2]"/>
<TabSeqItem Index="7" Value="Source[embedded].Layer[Default].Control[String_ErrorX3]"/>
</TabSequence>
</Page>

View File

@@ -67,18 +67,6 @@
<Property Name="Top" Value="83"/>
<Property Name="Width" Value="225"/>
</Control>
<Control ClassId="0x00001001" Name="frmDisplay">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="FillStyle" Value="Transparent"/>
<Property Name="ForeColor" Value="249"/>
<Property Name="Height" Value="253"/>
<Property Name="Left" Value="615"/>
<Property Name="LineWidth" Value="2"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="84"/>
<Property Name="Width" Value="159"/>
</Control>
<Control ClassId="0x00001001" Name="frmNetwork">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
@@ -145,50 +133,6 @@
<Property Name="Top" Value="274"/>
<Property Name="Width" Value="225"/>
</Control>
<Control ClassId="0x00001004" Name="txtDisplaySettings">
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="22"/>
<Property Name="Left" Value="615"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[FrameHeader]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
<Property Name="TextIndexOffset" Value="6008"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="62"/>
<Property Name="Width" Value="159"/>
</Control>
<Control ClassId="0x00001004" Name="txtBrightness">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="20"/>
<Property Name="Left" Value="631"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
<Property Name="TextIndexOffset" Value="6011"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="162"/>
<Property Name="Width" Value="127"/>
</Control>
<Control ClassId="0x00001004" Name="txtContrast">
<Property Name="AlignmentHorizontal" Value="Center"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="Height" Value="20"/>
<Property Name="Left" Value="631"/>
<Property Name="SimulationIndex" Value="0"/>
<Property Name="SimulationValue" Value=""/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
<Property Name="TextIndexOffset" Value="6010"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="250"/>
<Property Name="Width" Value="127"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="pageSDM">
@@ -227,47 +171,6 @@
<IndexMap/>
</TextGroup>
<Controls>
<Control ClassId="0x00001002" Name="cmdTouchCalib">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="37"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="631"/>
<Property Name="Multiline" Value="Automatic"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
<Property Name="TextIndex" Value="6009"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="SingleText"/>
<Property Name="Top" Value="100"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[TouchCalibration]"/>
<Property Name="Width" Value="127"/>
</Control>
<Control ClassId="0x00001002" Name="cmdBrightnessUp">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="32"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="726"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[UpButton]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="183"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[BrightnessPlus]"/>
<Property Name="Width" Value="32"/>
</Control>
<Control ClassId="0x00001008" Name="lstLanguage">
<Property Name="ButtonsBitmapGroup" Value="None"/>
<Property Name="ButtonsPressedBitmapGroup" Value="None"/>
@@ -330,63 +233,6 @@
<Property Name="VirtualKey" Value="Source[local].VirtualKey[LanguageDown]"/>
<Property Name="Width" Value="32"/>
</Control>
<Control ClassId="0x00001002" Name="cmdBrightnessDown">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="32"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="633"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[DownButton]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="183"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[BrightnessMinus]"/>
<Property Name="Width" Value="32"/>
</Control>
<Control ClassId="0x00001002" Name="cmdContrastPlus">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="32"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="726"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[UpButton]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="271"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ContrastPlus]"/>
<Property Name="Width" Value="32"/>
</Control>
<Control ClassId="0x00001002" Name="cmdContrastMinus">
<Property Name="BitmapIndexDatapoint" Value="None"/>
<Property Name="BitmapSource" Value="None"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EmbVirtualKey" Value="None"/>
<Property Name="Height" Value="32"/>
<Property Name="KeyMatrixOffset" Value="None"/>
<Property Name="Left" Value="633"/>
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[DownButton]"/>
<Property Name="TextIndexDatapoint" Value="None"/>
<Property Name="TextSimulationValue" Value="0"/>
<Property Name="TextSource" Value="None"/>
<Property Name="Top" Value="271"/>
<Property Name="VirtualKey" Value="Source[local].VirtualKey[ContrastMinus]"/>
<Property Name="Width" Value="32"/>
</Control>
<Control ClassId="0x0000100B" Name="strNetworkAddress">
<Property Name="AlignmentHorizontal" Value="Right"/>
<Property Name="ControlID" Value="0"/>
@@ -592,40 +438,6 @@
<Property Name="Top" Value="328"/>
<Property Name="Width" Value="93"/>
</Control>
<Control ClassId="0x00001006" Name="barBrightness">
<Property Name="BackColor" Value="251"/>
<Property Name="Border" Value="Source[local].Border[Flat_grey]"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EndValue" Value="100"/>
<Property Name="Height" Value="20"/>
<Property Name="Left" Value="633"/>
<Property Name="Range[0].Color" Value="253"/>
<Property Name="Range[0].Start" Value="0"/>
<Property Name="SimulationValue" Value="20"/>
<Property Name="StartValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="219"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[Internal.Display.Brightness]"/>
<Property Name="Width" Value="124"/>
</Control>
<Control ClassId="0x00001006" Name="barContrast">
<Property Name="BackColor" Value="251"/>
<Property Name="Border" Value="Source[local].Border[Flat_grey]"/>
<Property Name="ControlID" Value="0"/>
<Property Name="Description" Value=""/>
<Property Name="EndValue" Value="100"/>
<Property Name="Height" Value="20"/>
<Property Name="Left" Value="633"/>
<Property Name="Range[0].Color" Value="253"/>
<Property Name="Range[0].Start" Value="0"/>
<Property Name="SimulationValue" Value="60"/>
<Property Name="StartValue" Value="0"/>
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
<Property Name="Top" Value="308"/>
<Property Name="ValueDatapoint" Value="Source[global].Variable[Internal.Display.Contrast]"/>
<Property Name="Width" Value="124"/>
</Control>
</Controls>
<KeyMapping>
<VirtualKey Name="TouchCalibration">

View File

@@ -11,6 +11,7 @@
<Text ID="101915" Value="Wait Program Run"/>
<Text ID="101916" Value="Start Grinding"/>
<Text ID="101917" Value="Wait Finished"/>
<Text ID="105194" Value="Wait for Restart"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="97951" Value="Initialisierung, prüfe Grundstellung"/>
@@ -19,13 +20,15 @@
<Text ID="101915" Value="Warten auf Programm läuft (Roboter)"/>
<Text ID="101916" Value="Start Schleifen (Programmübergabe)"/>
<Text ID="101917" Value="Warten auf Schleifen beendet"/>
<Text ID="105194" Value="Warte auf Neustart (Bauteil)"/>
</TextLayer>
<IndexMap>
<Index ID="97951" Value="0"/>
<Index ID="97952" Value="1"/>
<Index ID="101914" Value="2"/>
<Index ID="101915" Value="3"/>
<Index ID="101916" Value="4"/>
<Index ID="101917" Value="5"/>
<Index ID="97952" Value="2"/>
<Index ID="101914" Value="3"/>
<Index ID="101915" Value="4"/>
<Index ID="101916" Value="5"/>
<Index ID="101917" Value="6"/>
<Index ID="105194" Value="1"/>
</IndexMap>
</TextGroup>

View File

@@ -5,32 +5,32 @@
<Property Name="Index" Value="5"/>
<TextSnippets/>
<TextLayer LanguageId="en">
<Text ID="100152" Value="Vimercati BEL"/>
<Text ID="100153" Value="Preh Centerstack (CBF)"/>
<Text ID="100154" Value="Preh Fondklima (FKA)"/>
<Text ID="104338" Value="DRS Fondfrischluft (FFG)"/>
<Text ID="104340" Value="Magna FoKo"/>
<Text ID="104341" Value="Magna MAL"/>
<Text ID="104344" Value="Alps Sport Rechts (SPR)"/>
<Text ID="104345" Value="Alps Sport Links (SPL)"/>
<Text ID="104346" Value="Alps Luxus Rechts (LUR)"/>
<Text ID="104347" Value="Alps Luxus Links (LUL)"/>
<Text ID="104348" Value="Alps Basis Rechts (BAR)"/>
<Text ID="104349" Value="Alps Basis Links (BAL)"/>
<Text ID="100152" Value="BEL Vimerc."/>
<Text ID="100153" Value="CBF Centerst."/>
<Text ID="100154" Value="FKA Fondklima"/>
<Text ID="104338" Value="FFG Fondfrisch"/>
<Text ID="104340" Value="FoKo Magna"/>
<Text ID="104341" Value="MAL Magna"/>
<Text ID="104344" Value="SPR Sport Re"/>
<Text ID="104345" Value="SPL Sport Li"/>
<Text ID="104346" Value="LUR Luxus Re"/>
<Text ID="104347" Value="LUL Luxus Li"/>
<Text ID="104348" Value="BAR Basis Re"/>
<Text ID="104349" Value="BAL Basis Li"/>
</TextLayer>
<TextLayer LanguageId="de">
<Text ID="100152" Value="Vimercati BEL"/>
<Text ID="100153" Value="Preh Centerstack (CBF)"/>
<Text ID="100154" Value="Preh Fondklima (FKA)"/>
<Text ID="104338" Value="DRS Fondfrischluft (FFG)"/>
<Text ID="104340" Value="Magna FoKo"/>
<Text ID="104341" Value="Magna MAL"/>
<Text ID="104344" Value="Alps Sport Rechts (SPR)"/>
<Text ID="104345" Value="Alps Sport Links (SPL)"/>
<Text ID="104346" Value="Alps Luxus Rechts (LUR)"/>
<Text ID="104347" Value="Alps Luxus Links (LUL)"/>
<Text ID="104348" Value="Alps Basis Rechts (BAR)"/>
<Text ID="104349" Value="Alps Basis Links (BAL)"/>
<Text ID="100152" Value="BEL Vimerc."/>
<Text ID="100153" Value="CBF Centerst."/>
<Text ID="100154" Value="FKA Fondklima"/>
<Text ID="104338" Value="FFG Fondfrisch"/>
<Text ID="104340" Value="FoKo Magna"/>
<Text ID="104341" Value="MAL Magna"/>
<Text ID="104344" Value="SPR Sport Re"/>
<Text ID="104345" Value="SPL Sport Li"/>
<Text ID="104346" Value="LUR Luxus Re"/>
<Text ID="104347" Value="LUL Luxus Li"/>
<Text ID="104348" Value="BAR Basis Re"/>
<Text ID="104349" Value="BAL Basis Li"/>
</TextLayer>
<IndexMap>
<Index ID="100152" Value="10"/>

View File

@@ -18,7 +18,7 @@
<Text ID="103998" Value="Warten auf Motoren EIN (Roboter)"/>
<Text ID="103999" Value="Warten auf Programm läuft (Roboter)"/>
<Text ID="104000" Value="Start Grundstellung (Programmübergabe)"/>
<Text ID="104001" Value="Warten auf Schleifen beendet"/>
<Text ID="104001" Value="Warten auf Grundstellungsfahrt beendet"/>
</TextLayer>
<IndexMap>
<Index ID="99359" Value="0"/>

View File

@@ -1859,4 +1859,12 @@
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
</VirtualKey>
<VirtualKey Name="ManStartGrnd2R1">
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
</VirtualKey>
<VirtualKey Name="ResetCounter">
<Property Name="Description" Value=""/>
<Property Name="VirtualKey_LED" Value="False"/>
</VirtualKey>
</KeyMapping>

View File

@@ -6,7 +6,7 @@
<Parameter ID="Terminal" Value="true" />
<Parameter ID="VncVcObjectName" Value="Visu1" />
<Parameter ID="VncKeyMappingFile" Value="VC\6PPT30.0702-20W.dis" />
<Parameter ID="VncRefreshRate" Value="200" />
<Parameter ID="VncRefreshRate" Value="100" />
</Module>
<Module Name="8AC114.60-2" Type="8AC114.60-2" Version="1.0.0.8">
<Connection Connector="SS" TargetModule="8V1045.00-2" TargetConnector="SS1" />
@@ -24,28 +24,7 @@
<Module Name="8AC122.60-3a" Type="8AC122.60-3" Version="1.0.0.2">
<Connection Connector="SS" TargetModule="8V1045.00-2a" TargetConnector="SS2" />
</Module>
<Module Name="8I64xxxxxxx.00x-1" Type="8I64xxxxxxx.00x-1" Version="1.3.8.1">
<Connection Connector="X2X1" TargetModule="X20BT9100" TargetConnector="X2X1" />
<Parameter ID="FunctionModel" Value="Standard" />
<Parameter ID="Supervision" Value="off" />
<Parameter ID="ACC" Value="3" />
<Parameter ID="DEC" Value="3" />
<Parameter ID="UNS" Value="400" />
<Parameter ID="NCR" Value="63" />
<Parameter ID="NSP" Value="1455" />
<Parameter ID="COS" Value="81" />
<Parameter ID="TCT" Value="0" />
<Parameter ID="STT" Value="3" />
<Parameter ID="ATR" Value="1" />
</Module>
<Module Name="8I64xxxxxxx.00x-1a" Type="8I64xxxxxxx.00x-1" Version="1.3.8.1">
<Connection Connector="X2X1" TargetModule="8I64xxxxxxx.00x-1" TargetConnector="X2X2" />
<Parameter ID="FunctionModel" Value="Standard" />
<Parameter ID="Supervision" Value="off" />
<Parameter ID="ACC" Value="1" />
<Parameter ID="DEC" Value="1" />
</Module>
<Module Name="8I74xxxxxxx.01P-1" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0">
<Module Name="8I74xxxxxxx.01P-1" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0" Description="Toolslay 1 Rob 1">
<Connection Connector="PLK1" TargetModule="8AC114.60-2a" TargetConnector="PLK2" NodeNumber="4" />
<Connection Connector="PLK2" TargetModule="8I74xxxxxxx.01P-1a" TargetConnector="PLK1" NodeNumber="4" />
<Parameter ID="FunctionModel" Value="Standard" />
@@ -55,7 +34,7 @@
<Parameter ID="CTT" Value="0" />
<Parameter ID="QSTD" Value="2" />
</Module>
<Module Name="8I74xxxxxxx.01P-1a" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0">
<Module Name="8I74xxxxxxx.01P-1a" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0" Description="Toolslay 2 Rob 1">
<Connection Connector="PLK1" TargetModule="8I74xxxxxxx.01P-1" TargetConnector="PLK2" NodeNumber="5" />
<Connection Connector="PLK2" TargetModule="8I74xxxxxxx.01P-1b" TargetConnector="PLK1" NodeNumber="5" />
<Parameter ID="FunctionModel" Value="Standard" />
@@ -65,7 +44,7 @@
<Parameter ID="CTT" Value="0" />
<Parameter ID="QSTD" Value="2" />
</Module>
<Module Name="8I74xxxxxxx.01P-1b" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0">
<Module Name="8I74xxxxxxx.01P-1b" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0" Description="Toolslay 1 Rob 2">
<Connection Connector="PLK1" TargetModule="8I74xxxxxxx.01P-1a" TargetConnector="PLK2" NodeNumber="6" />
<Connection Connector="PLK2" TargetModule="8I74xxxxxxx.01P-1c" TargetConnector="PLK1" NodeNumber="6" />
<Parameter ID="FunctionModel" Value="Standard" />
@@ -74,8 +53,9 @@
<Parameter ID="CTT" Value="0" />
<Parameter ID="QSTD" Value="2" />
</Module>
<Module Name="8I74xxxxxxx.01P-1c" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0">
<Module Name="8I74xxxxxxx.01P-1c" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0" Description="Toolslay 2 Rob 2">
<Connection Connector="PLK1" TargetModule="8I74xxxxxxx.01P-1b" TargetConnector="PLK2" NodeNumber="7" />
<Connection Connector="PLK2" TargetModule="8I74xxxxxxx.01P-1d" TargetConnector="PLK1" NodeNumber="7" />
<Parameter ID="FunctionModel" Value="Standard" />
<Parameter ID="Supervision" Value="off" />
<Parameter ID="ACC" Value="1" />
@@ -83,6 +63,29 @@
<Parameter ID="CTT" Value="0" />
<Parameter ID="QSTD" Value="2" />
</Module>
<Module Name="8I74xxxxxxx.01P-1d" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0" Description="Grinder 1 (Big) Rob 1">
<Connection Connector="PLK1" TargetModule="8I74xxxxxxx.01P-1c" TargetConnector="PLK2" NodeNumber="8" />
<Connection Connector="PLK2" TargetModule="8I74xxxxxxx.01P-1e" TargetConnector="PLK1" NodeNumber="8" />
<Parameter ID="FunctionModel" Value="Standard" />
<Parameter ID="Supervision" Value="off" />
<Parameter ID="ACC" Value="3" />
<Parameter ID="DEC" Value="3" />
<Parameter ID="NPR" Value="300" />
<Parameter ID="COS" Value="81" />
<Parameter ID="UNS" Value="400" />
<Parameter ID="NCR" Value="63" />
<Parameter ID="NSP" Value="1455" />
<Parameter ID="TCT" Value="0" />
<Parameter ID="STT" Value="3" />
</Module>
<Module Name="8I74xxxxxxx.01P-1e" Type="8I74xxxxxxx.01P-1" Version="1.1.5.0" Description="Grinder 1 (Big) Rob 2">
<Connection Connector="PLK1" TargetModule="8I74xxxxxxx.01P-1d" TargetConnector="PLK2" NodeNumber="9" />
<Parameter ID="FunctionModel" Value="Standard" />
<Parameter ID="Supervision" Value="off" />
</Module>
<Module Name="8LSA37.R2030D000-3" Type="8LSA37.R2030D000-3" Version="1.0.5.34">
<Connection Connector="MT" TargetModule="8V1045.00-2" TargetConnector="MT1" />
</Module>
<Module Name="8V1045.00-2" Type="8V1045.00-2" Version="1.0.0.2">
<Parameter ID="BothEndSwitchesAreNormallyOpen_r1" Value="on" />
<Parameter ID="QuickStopIsNormallyOpen_r1" Value="on" />
@@ -164,9 +167,6 @@
<Module Name="X20BM11i" Type="X20BM11" Version="1.0.0.0">
<Connection Connector="X2X1" TargetModule="X20BM11h" TargetConnector="X2X2" />
</Module>
<Module Name="X20BM15" Type="X20BM15" Version="1.0.0.0">
<Connection Connector="X2X1" TargetModule="X20BM11i" TargetConnector="X2X2" NodeNumber="15" />
</Module>
<Module Name="X20BM33a" Type="X20BM33" Version="1.0.0.3">
<Connection Connector="X2X1" TargetModule="X20BM36" TargetConnector="X2X2" />
</Module>
@@ -182,30 +182,31 @@
<Module Name="X20BM36" Type="X20BM36" Version="1.0.0.1">
<Connection Connector="X2X1" TargetModule="X20BM11e" TargetConnector="X2X2" NodeNumber="6" />
</Module>
<Module Name="X20BT9100" Type="X20BT9100" Version="1.0.2.3">
<Connection Connector="SS1" TargetModule="X20TB12" TargetConnector="SS" />
<Connection Connector="SL" TargetModule="X20BM15" TargetConnector="SL1" />
<Parameter ID="Supervision" Value="off" />
</Module>
<Module Name="X20CP1583" Type="X20CP1583" Version="1.1.0.0">
<Connector Name="IF2">
<Parameter ID="ActivateDevice" Value="1" />
<Parameter ID="EthInterfaceRedundant" Value="0" />
<Parameter ID="HostName" Value="if2-g11" />
<Parameter ID="Mode" Value="Manual" />
<Parameter ID="InternetAddress" Value="192.168.11.79" />
<Parameter ID="InternetAddress" Value="192.168.30.79" />
<Parameter ID="SubnetMask" Value="255.255.255.0" />
<Group ID="Vnc1" />
</Connector>
<Connector Name="IF3">
<Parameter ID="EplInterfaceRedundant" Value="0" />
<Parameter ID="EplHostName" Value="if3-g11" />
<Parameter ID="CycleTime" Value="1200" />
<Parameter ID="AsyncTimeout" Value="250" />
<Parameter ID="EplEthInterfaceRedundant" Value="0" />
<Parameter ID="HostName" Value="if3-eth-g11" />
<Parameter ID="InternetAddress" Value="192.168.102.79" />
<Parameter ID="SubnetMask" Value="255.255.255.0" />
</Connector>
<Connector Name="IF6">
<Parameter ID="CycleTime" Value="1200" />
</Connector>
<Parameter ID="ConfigurationID" Value="grindrobot_g11_Config2" />
<Parameter ID="PermanentPvSize" Value="4096" />
<Parameter ID="TimerDeviceType" Value="EPLX2X" />
<Parameter ID="TimerDevice" Value="X20CP1583.IF3" />
<Parameter ID="TaskClassIdleTime" Value="2400" />
@@ -226,6 +227,12 @@
<Parameter ID="Cyclic7Tolerance" Value="999600" />
<Parameter ID="Cyclic8Duration" Value="9600" />
<Parameter ID="Cyclic8Tolerance" Value="30000000" />
<Parameter ID="TimeZone" Value="140" />
<Parameter ID="ActivateDaylightSavingTime" Value="1" />
<Parameter ID="ActivateSntp" Value="1" />
<Parameter ID="SntpcServAddr1" Value="ntp0.fau.de" />
<Parameter ID="EthernetHostName" Value="g11" />
<Parameter ID="EthernetDefaultGateway" Value="192.168.100.1" />
<Parameter ID="Temp.ProjectDirectory" Value="E:\src41\grindrobot_g11\" />
<Parameter ID="Temp.ConfigurationName" Value="Config2" />
</Module>
@@ -327,7 +334,6 @@
<Parameter ID="PLCopenInfo" Value="on" />
<Parameter ID="SafeModuleID" Value="6" />
</Module>
<Module Name="X20TB12" Type="X20TB12" Version="1.0.0.0" />
<Module Name="X20TB12a" Type="X20TB12" Version="1.0.0.0" />
<Module Name="X20TB12b" Type="X20TB12" Version="1.0.0.0" />
<Module Name="X20TB12c" Type="X20TB12" Version="1.0.0.0" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 KiB

After

Width:  |  Height:  |  Size: 343 KiB

View File

@@ -7,7 +7,7 @@
********************************************************************
* Declaration of permanent variables
********************************************************************)
VAR_CONFIG
gudPartCountOverallRob1 AT %MD0; (*Gesamtz<74>hler (Array 10-25) Roboter 1*)
gudPartCountOverallRob2 AT %MD64; (*Gesamtz<74>hler (Array 10-25) Roboter 2*)
END_VAR

View File

@@ -16,5 +16,6 @@
<DefaultTargetMemory Tasks="UserROM" />
<Transfer PromptBeforeProject="true" />
<Safety SafetyRelease="1.6" />
<OnlineConfiguration Name="G11-Grindrobot" DeviceType="TCPIP" DeviceParameters="/IF=tcpip /LOPO=11159 /SA=101" ConnectionParameters="/RT=1000 /AM=* /SDT=5 /DAIP=192.168.30.79 /REPO=11159 /ANSL=1 /PT=11169" Description="" />
</Configuration>
</Cpu>

View File

@@ -5,17 +5,22 @@
<TaskClass Name="Cyclic#2" />
<TaskClass Name="Cyclic#3">
<Task Name="ABBCom" Source="Communication.ABBCom.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="ABBCom2" Source="Communication.ABBCom2.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="SafetyStat" Source="Safety.SafetyStates.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="machine" Source="Machine.machine.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="GrindCtrl" Source="Axises.GrindCtrl.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="GrindCtrl2" Source="Axises.GrindCtrl2.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="SafetyAlar" Source="Safety.SafetyAlarms.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="Axisctrl" Source="Axises.Axisctrl.prg" Memory="UserROM" Language="IEC" Debugging="true" />
</TaskClass>
<TaskClass Name="Cyclic#4">
<Task Name="blinker" Source="Common.blinker.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="Grinders" Source="Machine.Grinders.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="TempMode" Source="Machine.TempMode.prg" Memory="UserROM" Language="IEC" Debugging="true" />
<Task Name="RFID_USB" Source="Communication.RFID_USB.prg" Memory="UserROM" Language="IEC" Debugging="true" />
</TaskClass>
<TaskClass Name="Cyclic#5">
<Task Name="PartCount" Source="Axises.PartCount.prg" Memory="UserROM" Language="IEC" Debugging="true" />
</TaskClass>
<TaskClass Name="Cyclic#5" />
<TaskClass Name="Cyclic#6" />
<TaskClass Name="Cyclic#7" />
<TaskClass Name="Cyclic#8" />
@@ -75,13 +80,13 @@
<BinaryObject Name="vcpfx20" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="vctcal" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="vcnet" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="sysconf" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="ashwd" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="arconfig" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="asfw" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="iomap" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="acp10cfg" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="Acp10map" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="acp10cfg" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="iomap" Source="" Memory="UserROM" Language="Binary" />
<BinaryObject Name="asfw" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="arconfig" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="ashwd" Source="" Memory="SystemROM" Language="Binary" />
<BinaryObject Name="sysconf" Source="" Memory="SystemROM" Language="Binary" />
</Binaries>
<Libraries>
<LibraryObject Name="standard" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
@@ -103,5 +108,7 @@
<LibraryObject Name="Acp10par" Source="Libraries.Acp10par.lby" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="NcGlobal" Source="Libraries.NcGlobal.lby" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="powerlnk" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="dvframe" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
<LibraryObject Name="asusb" Source="" Memory="UserROM" Language="Binary" Debugging="true" />
</Libraries>
</SwConfiguration>

View File

@@ -178,14 +178,6 @@ VAR_CONFIG
gbOuDoorMGBLED2Rob2 AT %QX."X20DO9322a".DigitalOutput09;
gbOuDQuickStopGrind2Rob1 AT %QX."X20DO9322b".DigitalOutput06;
gbOuDQuickStopGrind2Rob2 AT %QX."X20DO9322c".DigitalOutput06;
Cyclic#1.gAxR1G1.In.bstat02_Enabled AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_02;
Cyclic#1.gAxR1G1.Out.iLFR_Setpointspeed AT %QW."8I64xxxxxxx.00x-1".LFRD_Output;
Cyclic#1.gAxR1G1.Out.bCmd00_SwitchOn AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_00;
Cyclic#1.gAxR1G1.Out.bCmd01_DisableVoltage AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_01;
Cyclic#1.gAxR1G1.Out.bCmd02_QuickStop AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_02;
Cyclic#1.gAxR1G1.bModuleOK AT %IX."8I64xxxxxxx.00x-1".ModuleOk;
Cyclic#1.gAxR1G1.Out.bCmd03_EnableOperation AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_03;
gbST15ModuleOk AT %IX."X20BT9100".ModuleOk;
gbSPLCOuReleaseSafeDoorOuRob1 AT %QX."X20SL8000".BOOL123;
gbSPLCOuReleaseSafeDoorOuRob2 AT %QX."X20SL8000".BOOL124;
gbInEStopPressedRob1 AT %IX."X20DI9371b".DigitalInput11;
@@ -195,67 +187,14 @@ VAR_CONFIG
gbInStartKey2Rob1 AT %IX."X20DI9371a".DigitalInput06;
gbInStartKey1Rob2 AT %IX."X20DI9371a".DigitalInput07;
gbOuLEDStartKey1Rob1 AT %QX."X20DO9322".DigitalOutput11;
gbOuLEDStartKey2Rob1 AT %QX."X20DO9322".DigitalOutput12;
gbOuLEDStartKey2Rob2 AT %QX."X20DO9322a".DigitalOutput10;
gbOuLEDStartKey2Rob2 AT %QX."X20DO9322".DigitalOutput12;
gbOuLEDStartKey2Rob1 AT %QX."X20DO9322a".DigitalOutput10;
gbOuLEDStartKey1Rob2 AT %QX."X20DO9322a".DigitalOutput11;
gAxR1G1.In.bStat00_ReadytoSwitchOn AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_00;
gAxR1G1.In.bStat01_SwitchedOnReady AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_01;
gAxR1G1.In.bStat03_FaultDetecton AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_03;
gAxR1G1.In.bStat04_VoltageDisabled AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_04;
gAxR1G1.In.bStat05_QuickstopINV AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_05;
gAxR1G1.In.bStat06_SwitchedOnDisabled AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_06;
gAxR1G1.In.bStat07_Alarm AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_07;
gAxR1G1.In.bStat09_ReferenceViaNetwork AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_09;
gAxR1G1.In.bStat10_TargetReferenceReached AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_10;
gAxR1G1.In.bStat11_InternalLimitActive AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_11;
gAxR1G1.In.bStat14_StopViaKey AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_14;
gAxR1G1.In.bStat15_RotationDirection AT %IX."8I64xxxxxxx.00x-1".ETAD_Input_Bool_15;
gAxR1G1.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_00;
gAxR1G1.In.bExtStat01_ParameterConsCheck AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_01;
gAxR1G1.In.bExtStat02_DriveInFault AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_02;
gAxR1G1.In.bExtStat04_SpeedModeActive AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_04;
gAxR1G1.In.bExtStat05_DCInjection AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_05;
gAxR1G1.In.bExtStat06_TransientState AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_06;
gAxR1G1.In.bExtStat07_ThermalTreshold AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_07;
gAxR1G1.In.bExtStat08_Overbraking AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_08;
gAxR1G1.In.bExtStat09_Accelerating AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_09;
gAxR1G1.In.bExtStat10_Decellerating AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_10;
gAxR1G1.In.bExtStat11_I_Limited AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_11;
gAxR1G1.In.bExtStat12_FastStopping AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_12;
gAxR1G1.In.bExtStat13_ExtControlled0 AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_13;
gAxR1G1.In.bExtStat14_ExtCondrolled1 AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_14;
gAxR1G1.In.bExtStat15_OperationDir AT %IX."8I64xxxxxxx.00x-1".ETI_Input_Bool_15;
gAxR1G1.In.iRFRD_Velocity AT %IW."8I64xxxxxxx.00x-1".RFRD_Input;
gAxR1G1.In.iOTR_Torque AT %IW."8I64xxxxxxx.00x-1".OTR_Input;
gAxR1G1.In.uiLCR_Current AT %IW."8I64xxxxxxx.00x-1".LCR_Input;
gAxR1G1.In.uiTHD_ThermalStateDrive AT %IW."8I64xxxxxxx.00x-1".THD_Input;
gAxR1G1.In.uiTHR_ThermalStatMotor AT %IW."8I64xxxxxxx.00x-1".THR_Input;
gAxR1G1.In.bInputLI1 AT %IX."8I64xxxxxxx.00x-1".IOLR_Input_Bool_00;
gAxR1G1.In.bInputLI2 AT %IX."8I64xxxxxxx.00x-1".IOLR_Input_Bool_01;
gAxR1G1.In.bInputLI3 AT %IX."8I64xxxxxxx.00x-1".IOLR_Input_Bool_02;
gAxR1G1.In.bInputLI4 AT %IX."8I64xxxxxxx.00x-1".IOLR_Input_Bool_03;
gAxR1G1.In.bRelay2State AT %IX."8I64xxxxxxx.00x-1".IOLR_Input_Bool_09;
gAxR1G1.In.uiErrorCode AT %IW."8I64xxxxxxx.00x-1".ERRD_Input;
gAxR1G1.In.iLastFault AT %IW."8I64xxxxxxx.00x-1".LFT_Input;
gAxR1G1.Out.bCmd07_ResetFault AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_07;
gAxR1G1.Out.bCmd11_Direction AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_11;
gAxR1G1.Out.bCmd12_StopCommand AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_12;
gAxR1G1.Out.bCmd13 AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_13;
gAxR1G1.Out.bCmd14 AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_14;
gAxR1G1.Out.bCmd15 AT %QX."8I64xxxxxxx.00x-1".CMDD_Output_Bool_15;
gAxR1G1.Out.bCmi00_FactorySettings AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_00;
gAxR1G1.Out.bCmi01_SaveToEEPROM AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_01;
gAxR1G1.Out.bCmi03_ExternalFault AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_03;
gAxR1G1.Out.bCmi04_RampSwitching AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_04;
gAxR1G1.Out.bCmi09_FrequencyReference AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_09;
gAxR1G1.Out.bCmi13_LockOnStandstill AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_13;
gAxR1G1.Out.bCmi15_CheckParameterConsitency AT %QX."8I64xxxxxxx.00x-1".CMI_Output_Bool_15;
gAxR1G1.Out.bOR_Relay2 AT %QX."8I64xxxxxxx.00x-1".IOLR_Output_Bool_09;
giOuPressureR1G1 AT %QW."8I74xxxxxxx.01P-1".AO1R_Output;
giOuPressureR1G2 AT %QW."8I74xxxxxxx.01P-1a".AO1R_Output;
giOuPressureR2G1 AT %QW."8I74xxxxxxx.01P-1b".AO1R_Output;
giOuPressureR2G2 AT %QW."8I74xxxxxxx.01P-1c".AO1R_Output;
gbInKeyReleaseTool AT %IX."8I74xxxxxxx.01P-1".IL1R_Input_Bool_04;
gbInKeyReleaseToolRob1 AT %IX."8I74xxxxxxx.01P-1".IL1R_Input_Bool_04;
gbInKeyReleasePart AT %IX."8I74xxxxxxx.01P-1a".IL1R_Input_Bool_04;
gbInToolSlay1OutRob1 AT %IX."8I74xxxxxxx.01P-1".IL1R_Input_Bool_00;
gbInToolSlay1InRob1 AT %IX."8I74xxxxxxx.01P-1".IL1R_Input_Bool_01;
@@ -268,4 +207,316 @@ VAR_CONFIG
gbSPLCInDoorzoneOkRob2 AT %IX."X20SL8000".BOOL006;
gbSPLCOuReleaseWorkzoneOuRob1 AT %QX."X20SL8000".BOOL127;
gbSPLCOuReleaseWorkzoneOuRob2 AT %QX."X20SL8000".BOOL128;
gAxR1G1.bModuleOK AT %IX."8I74xxxxxxx.01P-1d".ModuleOk;
gAxR1G1.In.bStat00_ReadytoSwitchOn AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_00;
gAxR1G1.In.bStat01_SwitchedOnReady AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_01;
gAxR1G1.In.bstat02_Enabled AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_02;
gAxR1G1.In.bStat03_FaultDetecton AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_03;
gAxR1G1.In.bStat04_VoltageDisabled AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_04;
gAxR1G1.In.bStat05_QuickstopINV AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_05;
gAxR1G1.In.bStat06_SwitchedOnDisabled AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_06;
gAxR1G1.In.bStat07_Alarm AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_07;
gAxR1G1.In.bStat09_ReferenceViaNetwork AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_09;
gAxR1G1.In.bStat10_TargetReferenceReached AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_10;
gAxR1G1.In.bStat11_InternalLimitActive AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_11;
gAxR1G1.In.bStat14_StopViaKey AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_14;
gAxR1G1.In.bStat15_RotationDirection AT %IX."8I74xxxxxxx.01P-1d".ETAD_Input_Bool_15;
gAxR1G1.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_00;
gAxR1G1.In.bExtStat01_ParameterConsCheck AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_01;
gAxR1G1.In.bExtStat02_DriveInFault AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_02;
gAxR1G1.In.bExtStat04_SpeedModeActive AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_04;
gAxR1G1.In.bExtStat05_DCInjection AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_05;
gAxR1G1.In.bExtStat06_TransientState AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_06;
gAxR1G1.In.bExtStat07_ThermalTreshold AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_07;
gAxR1G1.In.bExtStat08_Overbraking AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_08;
gAxR1G1.In.bExtStat09_Accelerating AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_09;
gAxR1G1.In.bExtStat10_Decellerating AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_10;
gAxR1G1.In.bExtStat11_I_Limited AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_11;
gAxR1G1.In.bExtStat12_FastStopping AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_12;
gAxR1G1.In.bExtStat13_ExtControlled0 AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_13;
gAxR1G1.In.bExtStat14_ExtCondrolled1 AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_14;
gAxR1G1.In.bExtStat15_OperationDir AT %IX."8I74xxxxxxx.01P-1d".ETI_Input_Bool_15;
gAxR1G1.In.iRFRD_Velocity AT %IW."8I74xxxxxxx.01P-1d".RFRD_Input;
gAxR1G1.In.iOTR_Torque AT %IW."8I74xxxxxxx.01P-1d".OTR_Input;
gAxR1G1.In.uiLCR_Current AT %IW."8I74xxxxxxx.01P-1d".LCR_Input;
gAxR1G1.In.uiTHD_ThermalStateDrive AT %IW."8I74xxxxxxx.01P-1d".THD_Input;
gAxR1G1.In.uiErrorCode AT %IW."8I74xxxxxxx.01P-1d".ERRD_Input;
gAxR1G1.In.iLastFault AT %IW."8I74xxxxxxx.01P-1d".LFT_Input;
gAxR1G1.Out.bCmd00_SwitchOn AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_00;
gAxR1G1.Out.bCmd01_DisableVoltage AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_01;
gAxR1G1.Out.bCmd02_QuickStop AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_02;
gAxR1G1.Out.bCmd03_EnableOperation AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_03;
gAxR1G1.Out.bCmd07_ResetFault AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_07;
gAxR1G1.Out.bCmd11_Direction AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_11;
gAxR1G1.Out.bCmd12_StopCommand AT %QX."8I74xxxxxxx.01P-1d".CMDD_Output_Bool_08;
gAxR1G1.Out.bCmi00_FactorySettings AT %QX."8I74xxxxxxx.01P-1d".CMI_Output_Bool_00;
gAxR1G1.Out.iLFR_Setpointspeed AT %QW."8I74xxxxxxx.01P-1d".LFRD_Output;
ABBCom2:dpInByte[1] AT %IB."DSQC_352_PROI-01a".Module01Block01Input01;
ABBCom2:dpInByte[2] AT %IB."DSQC_352_PROI-01a".Module01Block01Input02;
ABBCom2:dpInByte[3] AT %IB."DSQC_352_PROI-01a".Module01Block01Input03;
ABBCom2:dpInByte[4] AT %IB."DSQC_352_PROI-01a".Module01Block01Input04;
ABBCom2:dpInByte[5] AT %IB."DSQC_352_PROI-01a".Module01Block01Input05;
ABBCom2:dpInByte[6] AT %IB."DSQC_352_PROI-01a".Module01Block01Input06;
ABBCom2:dpInByte[7] AT %IB."DSQC_352_PROI-01a".Module01Block01Input07;
ABBCom2:dpInByte[8] AT %IB."DSQC_352_PROI-01a".Module01Block01Input08;
ABBCom2:dpInByte[9] AT %IB."DSQC_352_PROI-01a".Module01Block01Input09;
ABBCom2:dpInByte[10] AT %IB."DSQC_352_PROI-01a".Module01Block01Input10;
ABBCom2:dpInByte[11] AT %IB."DSQC_352_PROI-01a".Module01Block01Input11;
ABBCom2:dpInByte[12] AT %IB."DSQC_352_PROI-01a".Module01Block01Input12;
ABBCom2:dpInByte[13] AT %IB."DSQC_352_PROI-01a".Module01Block01Input13;
ABBCom2:dpInByte[14] AT %IB."DSQC_352_PROI-01a".Module01Block01Input14;
ABBCom2:dpInByte[15] AT %IB."DSQC_352_PROI-01a".Module01Block01Input15;
ABBCom2:dpInByte[16] AT %IB."DSQC_352_PROI-01a".Module01Block01Input16;
ABBCom2:dpOutByte[1] AT %QB."DSQC_352_PROI-01a".Module02Block01Output01;
ABBCom2:dpOutByte[2] AT %QB."DSQC_352_PROI-01a".Module02Block01Output02;
ABBCom2:dpOutByte[3] AT %QB."DSQC_352_PROI-01a".Module02Block01Output03;
ABBCom2:dpOutByte[4] AT %QB."DSQC_352_PROI-01a".Module02Block01Output04;
ABBCom2:dpOutByte[5] AT %QB."DSQC_352_PROI-01a".Module02Block01Output05;
ABBCom2:dpOutByte[6] AT %QB."DSQC_352_PROI-01a".Module02Block01Output06;
ABBCom2:dpOutByte[7] AT %QB."DSQC_352_PROI-01a".Module02Block01Output07;
ABBCom2:dpOutByte[8] AT %QB."DSQC_352_PROI-01a".Module02Block01Output08;
ABBCom2:dpOutByte[9] AT %QB."DSQC_352_PROI-01a".Module02Block01Output09;
ABBCom2:dpOutByte[10] AT %QB."DSQC_352_PROI-01a".Module02Block01Output10;
ABBCom2:dpOutByte[11] AT %QB."DSQC_352_PROI-01a".Module02Block01Output11;
ABBCom2:dpOutByte[12] AT %QB."DSQC_352_PROI-01a".Module02Block01Output12;
ABBCom2:dpOutByte[13] AT %QB."DSQC_352_PROI-01a".Module02Block01Output13;
ABBCom2:dpOutByte[14] AT %QB."DSQC_352_PROI-01a".Module02Block01Output14;
ABBCom2:dpOutByte[15] AT %QB."DSQC_352_PROI-01a".Module02Block01Output15;
ABBCom2:dpOutByte[16] AT %QB."DSQC_352_PROI-01a".Module02Block01Output16;
gbST12Robot2Ok AT %IX."DSQC_352_PROI-01a".ModuleOk;
gbST11Robot1Ok AT %IX."DSQC_352_PROI-01".ModuleOk;
gAxR1T1.bModuleOK AT %IX."8I74xxxxxxx.01P-1".ModuleOk;
gAxR1T1.In.bStat00_ReadytoSwitchOn AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_00;
gAxR1T1.In.bStat01_SwitchedOnReady AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_01;
gAxR1T1.In.bstat02_Enabled AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_02;
gAxR1T1.In.bStat03_FaultDetecton AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_03;
gAxR1T1.In.bStat04_VoltageDisabled AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_04;
gAxR1T1.In.bStat05_QuickstopINV AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_05;
gAxR1T1.In.bStat06_SwitchedOnDisabled AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_06;
gAxR1T1.In.bStat07_Alarm AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_07;
gAxR1T1.In.bStat09_ReferenceViaNetwork AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_09;
gAxR1T1.In.bStat10_TargetReferenceReached AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_10;
gAxR1T1.In.bStat11_InternalLimitActive AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_11;
gAxR1T1.In.bStat14_StopViaKey AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_14;
gAxR1T1.In.bStat15_RotationDirection AT %IX."8I74xxxxxxx.01P-1".ETAD_Input_Bool_15;
gAxR1T1.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_00;
gAxR1T1.In.bExtStat01_ParameterConsCheck AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_01;
gAxR1T1.In.bExtStat02_DriveInFault AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_02;
gAxR1T1.In.bExtStat04_SpeedModeActive AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_04;
gAxR1T1.In.bExtStat05_DCInjection AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_05;
gAxR1T1.In.bExtStat06_TransientState AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_06;
gAxR1T1.In.bExtStat07_ThermalTreshold AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_07;
gAxR1T1.In.bExtStat08_Overbraking AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_08;
gAxR1T1.In.bExtStat09_Accelerating AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_09;
gAxR1T1.In.bExtStat10_Decellerating AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_10;
gAxR1T1.In.bExtStat11_I_Limited AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_11;
gAxR1T1.In.bExtStat12_FastStopping AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_12;
gAxR1T1.In.bExtStat13_ExtControlled0 AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_13;
gAxR1T1.In.bExtStat14_ExtCondrolled1 AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_14;
gAxR1T1.In.bExtStat15_OperationDir AT %IX."8I74xxxxxxx.01P-1".ETI_Input_Bool_15;
gAxR1T1.In.iRFRD_Velocity AT %IW."8I74xxxxxxx.01P-1".RFRD_Input;
gAxR1T1.In.iOTR_Torque AT %IW."8I74xxxxxxx.01P-1".OTR_Input;
gAxR1T1.In.uiLCR_Current AT %IW."8I74xxxxxxx.01P-1".LCR_Input;
gAxR1T1.In.uiTHD_ThermalStateDrive AT %IW."8I74xxxxxxx.01P-1".THD_Input;
gAxR1T1.In.uiTHR_ThermalStatMotor AT %IW."8I74xxxxxxx.01P-1".THR_Input;
gAxR1T1.In.uiErrorCode AT %IW."8I74xxxxxxx.01P-1".ERRD_Input;
gAxR1T1.In.iLastFault AT %IW."8I74xxxxxxx.01P-1".LFT_Input;
gAxR1T1.Out.bCmd00_SwitchOn AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_00;
gAxR1T1.Out.bCmd01_DisableVoltage AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_01;
gAxR1T1.Out.bCmd02_QuickStop AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_02;
gAxR1T1.Out.bCmd03_EnableOperation AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_03;
gAxR1T1.Out.bCmd07_ResetFault AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_07;
gAxR1T1.Out.bCmd12_StopCommand AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_08;
gAxR1T1.Out.bCmd11_Direction AT %QX."8I74xxxxxxx.01P-1".CMDD_Output_Bool_11;
gAxR1T1.Out.iLFR_Setpointspeed AT %QW."8I74xxxxxxx.01P-1".LFRD_Output;
gAxR1T1.Out.bCmi00_FactorySettings AT %QX."8I74xxxxxxx.01P-1".CMI_Output_Bool_00;
gAxR1T1.Out.bCmi01_SaveToEEPROM AT %QX."8I74xxxxxxx.01P-1".CMI_Output_Bool_01;
gAxR1T2.bModuleOK AT %IX."8I74xxxxxxx.01P-1a".ModuleOk;
gAxR1T2.In.bStat00_ReadytoSwitchOn AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_00;
gAxR1T2.In.bStat01_SwitchedOnReady AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_01;
gAxR1T2.In.bstat02_Enabled AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_02;
gAxR1T2.In.bStat03_FaultDetecton AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_03;
gAxR1T2.In.bStat04_VoltageDisabled AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_04;
gAxR1T2.In.bStat05_QuickstopINV AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_05;
gAxR1T2.In.bStat06_SwitchedOnDisabled AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_06;
gAxR1T2.In.bStat07_Alarm AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_07;
gAxR1T2.In.bStat09_ReferenceViaNetwork AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_09;
gAxR1T2.In.bStat10_TargetReferenceReached AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_10;
gAxR1T2.In.bStat11_InternalLimitActive AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_11;
gAxR1T2.In.bStat14_StopViaKey AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_14;
gAxR1T2.In.bStat15_RotationDirection AT %IX."8I74xxxxxxx.01P-1a".ETAD_Input_Bool_15;
gAxR1T2.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_00;
gAxR1T2.In.bExtStat01_ParameterConsCheck AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_01;
gAxR1T2.In.bExtStat02_DriveInFault AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_02;
gAxR1T2.In.bExtStat04_SpeedModeActive AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_04;
gAxR1T2.In.bExtStat05_DCInjection AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_05;
gAxR1T2.In.bExtStat06_TransientState AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_06;
gAxR1T2.In.bExtStat07_ThermalTreshold AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_07;
gAxR1T2.In.bExtStat08_Overbraking AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_08;
gAxR1T2.In.bExtStat09_Accelerating AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_09;
gAxR1T2.In.bExtStat10_Decellerating AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_10;
gAxR1T2.In.bExtStat11_I_Limited AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_11;
gAxR1T2.In.bExtStat12_FastStopping AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_12;
gAxR1T2.In.bExtStat13_ExtControlled0 AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_13;
gAxR1T2.In.bExtStat14_ExtCondrolled1 AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_14;
gAxR1T2.In.bExtStat15_OperationDir AT %IX."8I74xxxxxxx.01P-1a".ETI_Input_Bool_15;
gAxR1T2.In.iRFRD_Velocity AT %IW."8I74xxxxxxx.01P-1a".RFRD_Input;
gAxR1T2.In.iOTR_Torque AT %IW."8I74xxxxxxx.01P-1a".OTR_Input;
gAxR1T2.In.uiLCR_Current AT %IW."8I74xxxxxxx.01P-1a".LCR_Input;
gAxR1T2.In.uiTHD_ThermalStateDrive AT %IW."8I74xxxxxxx.01P-1a".THD_Input;
gAxR1T2.In.uiTHR_ThermalStatMotor AT %IW."8I74xxxxxxx.01P-1a".THR_Input;
gAxR1T2.In.uiErrorCode AT %IW."8I74xxxxxxx.01P-1a".ERRD_Input;
gAxR1T2.In.iLastFault AT %IW."8I74xxxxxxx.01P-1a".LFT_Input;
gAxR2T1.bModuleOK AT %IX."8I74xxxxxxx.01P-1b".ModuleOk;
gAxR2T1.In.bStat00_ReadytoSwitchOn AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_00;
gAxR2T1.In.bStat01_SwitchedOnReady AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_01;
gAxR2T1.In.bstat02_Enabled AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_02;
gAxR2T1.In.bStat03_FaultDetecton AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_03;
gAxR2T1.In.bStat04_VoltageDisabled AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_04;
gAxR2T1.In.bStat05_QuickstopINV AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_05;
gAxR2T1.In.bStat06_SwitchedOnDisabled AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_06;
gAxR2T1.In.bStat07_Alarm AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_07;
gAxR2T1.In.bStat09_ReferenceViaNetwork AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_09;
gAxR2T1.In.bStat10_TargetReferenceReached AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_10;
gAxR2T1.In.bStat11_InternalLimitActive AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_11;
gAxR2T1.In.bStat14_StopViaKey AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_14;
gAxR2T1.In.bStat15_RotationDirection AT %IX."8I74xxxxxxx.01P-1b".ETAD_Input_Bool_15;
gAxR2T1.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_00;
gAxR2T1.In.bExtStat01_ParameterConsCheck AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_01;
gAxR2T1.In.bExtStat02_DriveInFault AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_02;
gAxR2T1.In.bExtStat04_SpeedModeActive AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_04;
gAxR2T1.In.bExtStat05_DCInjection AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_05;
gAxR2T1.In.bExtStat06_TransientState AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_06;
gAxR2T1.In.bExtStat07_ThermalTreshold AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_07;
gAxR2T1.In.bExtStat08_Overbraking AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_08;
gAxR2T1.In.bExtStat09_Accelerating AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_09;
gAxR2T1.In.bExtStat10_Decellerating AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_10;
gAxR2T1.In.bExtStat11_I_Limited AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_11;
gAxR2T1.In.bExtStat12_FastStopping AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_12;
gAxR2T1.In.bExtStat13_ExtControlled0 AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_13;
gAxR2T1.In.bExtStat14_ExtCondrolled1 AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_14;
gAxR2T1.In.bExtStat15_OperationDir AT %IX."8I74xxxxxxx.01P-1b".ETI_Input_Bool_15;
gAxR2T1.In.iRFRD_Velocity AT %IW."8I74xxxxxxx.01P-1b".RFRD_Input;
gAxR2T1.In.iOTR_Torque AT %IW."8I74xxxxxxx.01P-1b".OTR_Input;
gAxR2T1.In.uiLCR_Current AT %IW."8I74xxxxxxx.01P-1b".LCR_Input;
gAxR2T1.In.uiTHD_ThermalStateDrive AT %IW."8I74xxxxxxx.01P-1b".THD_Input;
gAxR2T1.In.uiTHR_ThermalStatMotor AT %IW."8I74xxxxxxx.01P-1b".THR_Input;
gbInToolSlay1OutRob2 AT %IX."8I74xxxxxxx.01P-1b".IL1R_Input_Bool_00;
gbInToolSlay1InRob2 AT %IX."8I74xxxxxxx.01P-1b".IL1R_Input_Bool_01;
gbInGateIsOpenRob2 AT %IX."8I74xxxxxxx.01P-1b".IL1R_Input_Bool_03;
gAxR2T1.In.uiErrorCode AT %IW."8I74xxxxxxx.01P-1b".ERRD_Input;
gAxR2T1.In.iLastFault AT %IW."8I74xxxxxxx.01P-1b".LFT_Input;
gAxR2T2.bModuleOK AT %IX."8I74xxxxxxx.01P-1c".ModuleOk;
gAxR2T2.In.bStat00_ReadytoSwitchOn AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_00;
gAxR2T2.In.bStat01_SwitchedOnReady AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_01;
gAxR2T2.In.bstat02_Enabled AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_02;
gAxR2T2.In.bStat03_FaultDetecton AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_03;
gAxR2T2.In.bStat04_VoltageDisabled AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_04;
gAxR2T2.In.bStat05_QuickstopINV AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_05;
gAxR2T2.In.bStat06_SwitchedOnDisabled AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_06;
gAxR2T2.In.bStat07_Alarm AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_07;
gAxR2T2.In.bStat09_ReferenceViaNetwork AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_09;
gAxR2T2.In.bStat10_TargetReferenceReached AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_10;
gAxR2T2.In.bStat11_InternalLimitActive AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_11;
gAxR2T2.In.bStat14_StopViaKey AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_14;
gAxR2T2.In.bStat15_RotationDirection AT %IX."8I74xxxxxxx.01P-1c".ETAD_Input_Bool_15;
gAxR2T2.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_00;
gAxR2T2.In.bExtStat01_ParameterConsCheck AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_01;
gAxR2T2.In.bExtStat02_DriveInFault AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_02;
gAxR2T2.In.bExtStat04_SpeedModeActive AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_04;
gAxR2T2.In.bExtStat05_DCInjection AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_05;
gAxR2T2.In.bExtStat06_TransientState AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_06;
gAxR2T2.In.bExtStat07_ThermalTreshold AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_07;
gAxR2T2.In.bExtStat08_Overbraking AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_08;
gAxR2T2.In.bExtStat09_Accelerating AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_09;
gAxR2T2.In.bExtStat10_Decellerating AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_10;
gAxR2T2.In.bExtStat11_I_Limited AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_11;
gAxR2T2.In.bExtStat12_FastStopping AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_12;
gAxR2T2.In.bExtStat13_ExtControlled0 AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_13;
gAxR2T2.In.bExtStat14_ExtCondrolled1 AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_14;
gAxR2T2.In.bExtStat15_OperationDir AT %IX."8I74xxxxxxx.01P-1c".ETI_Input_Bool_15;
gAxR2T2.In.iRFRD_Velocity AT %IW."8I74xxxxxxx.01P-1c".RFRD_Input;
gAxR2T2.In.iOTR_Torque AT %IW."8I74xxxxxxx.01P-1c".OTR_Input;
gAxR2T2.In.uiLCR_Current AT %IW."8I74xxxxxxx.01P-1c".LCR_Input;
gAxR2T2.In.uiTHD_ThermalStateDrive AT %IW."8I74xxxxxxx.01P-1c".THD_Input;
gAxR2T2.In.uiTHR_ThermalStatMotor AT %IW."8I74xxxxxxx.01P-1c".THR_Input;
gbInToolSlay2OutRob2 AT %IX."8I74xxxxxxx.01P-1c".IL1R_Input_Bool_00;
gbInToolSlay2InRob2 AT %IX."8I74xxxxxxx.01P-1c".IL1R_Input_Bool_01;
gbInKeyReleasePart2 AT %IX."8I74xxxxxxx.01P-1c".IL1R_Input_Bool_04;
gAxR2G1.bModuleOK AT %IX."8I74xxxxxxx.01P-1e".ModuleOk;
gAxR2G1.In.bStat00_ReadytoSwitchOn AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_00;
gAxR2G1.In.bStat01_SwitchedOnReady AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_01;
gAxR2G1.In.bstat02_Enabled AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_02;
gAxR2G1.In.bStat03_FaultDetecton AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_03;
gAxR2G1.In.bStat04_VoltageDisabled AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_04;
gAxR2G1.In.bStat05_QuickstopINV AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_05;
gAxR2G1.In.bStat06_SwitchedOnDisabled AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_06;
gAxR2G1.In.bStat07_Alarm AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_07;
gAxR2G1.In.bStat09_ReferenceViaNetwork AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_09;
gAxR2G1.In.bStat10_TargetReferenceReached AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_10;
gAxR2G1.In.bStat11_InternalLimitActive AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_11;
gAxR2G1.In.bStat14_StopViaKey AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_14;
gAxR2G1.In.bStat15_RotationDirection AT %IX."8I74xxxxxxx.01P-1e".ETAD_Input_Bool_15;
gAxR2G1.In.bExtStat00_EEPROM_NonVolatile AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_00;
gAxR2G1.In.bExtStat01_ParameterConsCheck AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_01;
gAxR2G1.In.bExtStat02_DriveInFault AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_02;
gAxR2G1.In.bExtStat04_SpeedModeActive AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_04;
gAxR2G1.In.bExtStat05_DCInjection AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_05;
gAxR2G1.In.bExtStat06_TransientState AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_06;
gAxR2G1.In.bExtStat07_ThermalTreshold AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_07;
gAxR2G1.In.bExtStat08_Overbraking AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_08;
gAxR2G1.In.bExtStat09_Accelerating AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_09;
gAxR2G1.In.bExtStat10_Decellerating AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_10;
gAxR2G1.In.bExtStat11_I_Limited AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_11;
gAxR2G1.In.bExtStat12_FastStopping AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_12;
gAxR2G1.In.bExtStat13_ExtControlled0 AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_13;
gAxR2G1.In.bExtStat14_ExtCondrolled1 AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_14;
gAxR2G1.In.bExtStat15_OperationDir AT %IX."8I74xxxxxxx.01P-1e".ETI_Input_Bool_15;
gAxR2G1.In.iRFRD_Velocity AT %IW."8I74xxxxxxx.01P-1e".RFRD_Input;
gAxR2G1.In.iOTR_Torque AT %IW."8I74xxxxxxx.01P-1e".OTR_Input;
gAxR2G1.In.uiLCR_Current AT %IW."8I74xxxxxxx.01P-1e".LCR_Input;
gAxR2G1.In.uiTHD_ThermalStateDrive AT %IW."8I74xxxxxxx.01P-1e".THD_Input;
gAxR2G1.In.uiTHR_ThermalStatMotor AT %IW."8I74xxxxxxx.01P-1e".THR_Input;
gAxR2G1.In.uiErrorCode AT %IW."8I74xxxxxxx.01P-1e".ERRD_Input;
gAxR2G1.In.iLastFault AT %IW."8I74xxxxxxx.01P-1e".LFT_Input;
gAxR1T2.Out.bCmd00_SwitchOn AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_00;
gAxR1T2.Out.bCmd01_DisableVoltage AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_01;
gAxR1T2.Out.bCmd02_QuickStop AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_02;
gAxR1T2.Out.bCmd03_EnableOperation AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_03;
gAxR1T2.Out.bCmd07_ResetFault AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_07;
gAxR1T2.Out.bCmd12_StopCommand AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_08;
gAxR1T2.Out.bCmd11_Direction AT %QX."8I74xxxxxxx.01P-1a".CMDD_Output_Bool_11;
gAxR1T2.Out.iLFR_Setpointspeed AT %QW."8I74xxxxxxx.01P-1a".LFRD_Output;
gAxR1T2.Out.bCmi00_FactorySettings AT %QX."8I74xxxxxxx.01P-1a".CMI_Output_Bool_00;
gAxR1T2.Out.bCmi01_SaveToEEPROM AT %QX."8I74xxxxxxx.01P-1a".CMI_Output_Bool_01;
gAxR2T1.Out.bCmd00_SwitchOn AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_00;
gAxR2T1.Out.bCmd01_DisableVoltage AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_01;
gAxR2T1.Out.bCmd02_QuickStop AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_02;
gAxR2T1.Out.bCmd03_EnableOperation AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_03;
gAxR2T1.Out.bCmd07_ResetFault AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_07;
gAxR2T1.Out.bCmd12_StopCommand AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_08;
gAxR2T1.Out.bCmd11_Direction AT %QX."8I74xxxxxxx.01P-1b".CMDD_Output_Bool_11;
gAxR2T1.Out.bCmi00_FactorySettings AT %QX."8I74xxxxxxx.01P-1b".CMI_Output_Bool_00;
gAxR2T1.Out.bCmi01_SaveToEEPROM AT %QX."8I74xxxxxxx.01P-1b".CMI_Output_Bool_01;
gAxR2T1.Out.iLFR_Setpointspeed AT %QW."8I74xxxxxxx.01P-1b".LFRD_Output;
gAxR2T2.Out.bCmd00_SwitchOn AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_00;
gAxR2T2.Out.bCmd01_DisableVoltage AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_01;
gAxR2T2.Out.bCmd02_QuickStop AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_02;
gAxR2T2.Out.bCmd03_EnableOperation AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_03;
gAxR2T2.Out.bCmd07_ResetFault AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_07;
gAxR2T2.Out.bCmd12_StopCommand AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_08;
gAxR2T2.Out.bCmd11_Direction AT %QX."8I74xxxxxxx.01P-1c".CMDD_Output_Bool_11;
gAxR2T2.Out.bCmi00_FactorySettings AT %QX."8I74xxxxxxx.01P-1c".CMI_Output_Bool_00;
gAxR2T2.Out.bCmi01_SaveToEEPROM AT %QX."8I74xxxxxxx.01P-1c".CMI_Output_Bool_01;
gAxR2T2.Out.iLFR_Setpointspeed AT %QW."8I74xxxxxxx.01P-1c".LFRD_Output;
gAxR2G1.Out.bCmd00_SwitchOn AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_00;
gAxR2G1.Out.bCmd01_DisableVoltage AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_01;
gAxR2G1.Out.bCmd02_QuickStop AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_02;
gAxR2G1.Out.bCmd03_EnableOperation AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_03;
gAxR2G1.Out.bCmd07_ResetFault AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_07;
gAxR2G1.Out.bCmd12_StopCommand AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_08;
gAxR2G1.Out.bCmd11_Direction AT %QX."8I74xxxxxxx.01P-1e".CMDD_Output_Bool_11;
gAxR2G1.Out.iLFR_Setpointspeed AT %QW."8I74xxxxxxx.01P-1e".LFRD_Output;
gAxR2G1.Out.bCmi00_FactorySettings AT %QX."8I74xxxxxxx.01P-1e".CMI_Output_Bool_00;
gAxR2G1.Out.bCmi01_SaveToEEPROM AT %QX."8I74xxxxxxx.01P-1e".CMI_Output_Bool_01;
END_VAR

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<?AutomationStudio Version=?>
<NcMapping NcSwId="Acp10" DisabledNodesAreHidden="False">
<NcObject Name="gAxR1G2" ModuleId="8V1045.00-2" Type="ncAXIS" Channel="1" AcoposSimulation="Off" InitParameter="gAxR1G2i" AcoposParameter="gAxR1G2a" Disabled="FALSE" ModuleDisabled="FALSE" />
<NcObject Name="8V1045.00-2_ncV_AXIS1" ModuleId="8V1045.00-2" Type="ncV_AXIS" Channel="1" Disabled="TRUE" ModuleDisabled="FALSE" />
<NcObject Name="gAxR2G2" ModuleId="8V1045.00-2a" Type="ncAXIS" Channel="1" AcoposSimulation="Off" InitParameter="gAxR2G2i" AcoposParameter="gAxR2G2a" Disabled="FALSE" ModuleDisabled="FALSE" />
<NcObject Name="8V1045.00-2a_ncV_AXIS1" ModuleId="8V1045.00-2a" Type="ncV_AXIS" Channel="1" Disabled="TRUE" ModuleDisabled="FALSE" />
<NcObject Name="gAxR1G2" ModuleId="8V1045.00-2" Type="ncAXIS" Channel="1" AcoposSimulation="Off" InitParameter="gAxR1G2i" AcoposParameter="gAxR1G2a" Disabled="FALSE" ModuleDisabled="FALSE" />
<NcObject Name="8V1045.00-2_ncV_AXIS1" ModuleId="8V1045.00-2" Type="ncV_AXIS" Channel="1" Disabled="TRUE" ModuleDisabled="FALSE" />
</NcMapping>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<BusConfiguration Version="4.0" ARVersion="V4.08" SafetyRelease="1.6" Communication="/IF=tcpip /LOPO=11159 /SA=1 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.11.79 /REPO=11159 /ANSL=1 /PT=11169 /PORT=50000">
<BusConfiguration Version="4.0" ARVersion="V4.08" SafetyRelease="1.6" Communication="/IF=tcpip /LOPO=11159 /SA=101 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.30.79 /REPO=11159 /ANSL=1 /PT=11169 /PORT=50000">
<Module ID="IF3.ST1" Name="X20SL8000" Hardware="X20SL8000" SafeLogicID="1" SafeModuleID="1" HWC_Revision="1.6.5.0" FrontFoto="X20SL8000.front.png" Icon="hw_x20sl.ico" HWTypeCode="5" HWC_LastEdit="12.11.2014 14:14:04" ProjectSL="1" Description-de="X20 SafeLOGIC, POWERLINK V2, 24V" Description-en="X20 SafeLOGIC, POWERLINK V2, 24V" AdditionalSADR="20" CommissioningLocal="1" PasswordSupport="true" FunctionMode="1" TypicalSafeInputSize="1" TypicalSafeOutputSize="1" TypicalInputSize="132" TypicalOutputSize="132" CRC-de="570432085" CRC-en="852658896" CRC-fr="3081900840" CRC-data="591144801" CRC-default="2333503117" FromSafetyRelease="1.6" ToSafetyRelease="1.6">
<Template ID="TableSources" Type="UDINT">
<Parameter ID="0" Name-en="NOT used" Name-de="NICHT verwendet" Name-fr="inutilisée" />

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?AutomationStudio Version=4.1.6.81 SP?>
<BusConfiguration Version="4.0" ARVersion="V4.08" SafetyRelease="1.6" Communication="/IF=tcpip /LOPO=11159 /SA=1 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.11.79 /REPO=11159 /ANSL=1 /PT=11169 /PORT=50000">
<BusConfiguration Version="4.0" ARVersion="V4.08" SafetyRelease="1.6" Communication="/IF=tcpip /LOPO=11159 /SA=101 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.30.79 /REPO=11159 /ANSL=1 /PT=11169 /PORT=50000">
<Module ID="IF3.ST1" Name="X20SL8000" Hardware="X20SL8000" SafeLogicID="1" SafeModuleID="1" HWC_Revision="1.6.5.0" FrontFoto="X20SL8000.front.png" Icon="hw_x20sl.ico" HWTypeCode="5" HWC_LastEdit="12.11.2014 14:14:04" ProjectSL="1" Description-de="X20 SafeLOGIC, POWERLINK V2, 24V" Description-en="X20 SafeLOGIC, POWERLINK V2, 24V" AdditionalSADR="20" CommissioningLocal="1" PasswordSupport="true" FunctionMode="1" TypicalSafeInputSize="1" TypicalSafeOutputSize="1" TypicalInputSize="132" TypicalOutputSize="132" CRC-de="570432085" CRC-en="852658896" CRC-fr="3081900840" CRC-data="591144801" CRC-default="2333503117" FromSafetyRelease="1.6" ToSafetyRelease="1.6">
<Template ID="TableSources" Type="UDINT">
<Parameter ID="0" Name-en="NOT used" Name-de="NICHT verwendet" Name-fr="inutilisée" />

View File

@@ -8,13 +8,13 @@ CommunicationMode=1
SortOrder=0
ASVarWidth=239
ViewMode=0
SADRWidth=100
SortColumn=0
SADRWidth=100
DescriptionWidth=100
ChannelWidth=250
SplitterPosition=321
SDVarWidth=189
SplitterPosition=612
StateWidth=100
SDVarWidth=189
[Manual]
Timeout=1000
Port=50000
@@ -28,10 +28,10 @@ POWERLINKAddress=13
[CPUToSL]
Timeout=1000
Name=tcpip
IPAddress=192.168.11.79
IPAddress=192.168.30.79
Host=
IPMode=1
UseDA=0
Destination=
Source=1
Source=101
Port=50000

View File

@@ -32,7 +32,7 @@ Idx/Sub Chnl Off/Size
0xC400, 0x02, long, 0x00006065 (24677),
0xC400, 0x03, long, 0x00001DC0 (7616),
0xC400, 0x04, long, 0x00010100 (65792),
0xC400, 0x07, long, 0x55A2166E (1436685934),
0xC400, 0x07, long, 0x55B60D85 (1437994373),
0xC400, 0x08, short, 0x0008 (8),
0xC400, 0x0A, long, 0x00000000 (0),
0xC400, 0x0B, s_dom, 0x00000000 (0),
@@ -41,7 +41,7 @@ Idx/Sub Chnl Off/Size
0x100C, 0x02, byte, 0x05 (5),
0x101B, 0x01, byte, 0x00 (0),
0x100D, 0x00, long, 0x00002710 (10000), NoCrc
0x1018, 0x07, long, 0x55A2166E (1436685934), NoCrc
0x1018, 0x07, long, 0x55B60D85 (1437994373), NoCrc
0x1200, 0x01, short, 0x0001 (1), NoCrc
0x1200, 0x02, short, 0x0001 (1), NoCrc
0x1200, 0x03, byte, 0x02 (2),
@@ -179,7 +179,7 @@ Idx/Sub Chnl Off/Size
0x04, 0x00, 0x1D, 0x00, 0x04, 0x00, 0x00, 0x00,
NoCrc
0x1018, 0x06, stru_bnc, 0x0100,
0x6E, 0x16, 0xA2, 0x55, 0xAA, 0x69, 0x3F, 0xD9,
0x85, 0x0D, 0xB6, 0x55, 0xAA, 0x69, 0x3F, 0xD9,
0xB8, 0x39, 0x69, 0xDF, 0xB7, 0x27, 0xDD, 0x99,
0x17, 0x30, 0xC6, 0x05, 0x2D, 0x02, 0xC0, 0x39,
0x45, 0xC5, 0x9D, 0xA3, 0x0B, 0x82, 0xDE, 0x68,
@@ -219,7 +219,7 @@ Idx/Sub Chnl Off/Size
0xC401, 0x02, long, 0x00006065 (24677),
0xC401, 0x03, long, 0x0000AEC8 (44744),
0xC401, 0x04, long, 0x00010100 (65792),
0xC401, 0x07, long, 0x55A2166E (1436685934),
0xC401, 0x07, long, 0x55B60D85 (1437994373),
0xC401, 0x08, short, 0x0008 (8),
0xC401, 0x0A, long, 0x00000000 (0),
0xC401, 0x0B, s_dom, 0x00000000 (0),
@@ -227,7 +227,7 @@ Idx/Sub Chnl Off/Size
0x100C, 0x01, long, 0x0001D4C0 (120000),
0x100C, 0x02, byte, 0x05 (5),
0x100D, 0x00, long, 0x00002710 (10000), NoCrc
0x1018, 0x07, long, 0x55A2166E (1436685934), NoCrc
0x1018, 0x07, long, 0x55B60D85 (1437994373), NoCrc
0x1200, 0x01, short, 0x0001 (1), NoCrc
0x1200, 0x02, short, 0x0001 (1), NoCrc
0x1200, 0x03, byte, 0x02 (2),
@@ -237,16 +237,16 @@ Idx/Sub Chnl Off/Size
0x01, 0x00, 0xC0, 0xC6, 0x2D, 0x00, 0x01, 0x02,
0x02, 0x10, 0x27, 0x00, 0x00, 0xA0, 0x86, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00,
0xC4, 0x09, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x2C, 0x01,
0x00, 0x00, 0xA0, 0x86, 0x01, 0x00, 0x10, 0x27,
0x00, 0x00, 0x01, 0x02, 0x02, 0x2C, 0x01, 0x00,
0x10, 0x27, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00,
0x60, 0xE3, 0x16, 0x00, 0x01, 0x02, 0x00, 0x10,
0x27, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x10, 0x27,
0x00, 0x00, 0xA0, 0x86, 0x01, 0x00, 0xC0, 0xC6,
0x2D, 0x00, 0x01, 0x04, 0x02, 0x10, 0x27, 0x00,
0x00, 0xA0, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0xA0, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0,
0x00, 0x00, 0x03, 0x00, 0xE8, 0x03, 0x00, 0x00,
0xA0, 0x86, 0x01, 0x00, 0x60, 0xE3, 0x16, 0x00,
0x01, 0x04, 0x00, 0xE8, 0x03, 0x00, 0x00, 0xA0,
0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x86,
0x01, 0x00, 0x60, 0xE3, 0x16, 0x00, 0x02, 0x04,
@@ -263,9 +263,9 @@ Idx/Sub Chnl Off/Size
0xA0, 0x86, 0x01, 0x00, 0x60, 0xE3, 0x16, 0x00,
0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0,
0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x86,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x86, 0x01,
0x03, 0x02, 0x10, 0x27, 0x00, 0x00, 0xA0, 0x86,
0x01, 0x00, 0xA0, 0x86, 0x01, 0x00, 0x01, 0x04,
0x02, 0x10, 0x27, 0x00, 0x00, 0xA0, 0x86, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
@@ -305,7 +305,7 @@ Idx/Sub Chnl Off/Size
0xC000, 0x08, long, 0x60000808 (1610614792),
0xC000, 0x00, byte, 0x08 (8),
0x1018, 0x06, stru_bnc, 0x0008,
0x6E, 0x16, 0xA2, 0x55, 0x02, 0xE9, 0x3A, 0x97,
0x85, 0x0D, 0xB6, 0x55, 0x8D, 0xB0, 0x25, 0x2B,
NoCrc
>> End of Module
@@ -314,7 +314,7 @@ Idx/Sub Chnl Off/Size
0xC402, 0x02, long, 0x00006065 (24677),
0xC402, 0x03, long, 0x00001DBE (7614),
0xC402, 0x04, long, 0x00010100 (65792),
0xC402, 0x07, long, 0x55A2166E (1436685934),
0xC402, 0x07, long, 0x55B60D85 (1437994373),
0xC402, 0x08, short, 0x0008 (8),
0xC402, 0x0A, long, 0x00000000 (0),
0xC402, 0x0B, s_dom, 0x00000000 (0),
@@ -322,7 +322,7 @@ Idx/Sub Chnl Off/Size
0x100C, 0x01, long, 0x0001D4C0 (120000),
0x100C, 0x02, byte, 0x05 (5),
0x100D, 0x00, long, 0x00002710 (10000), NoCrc
0x1018, 0x07, long, 0x55A2166E (1436685934), NoCrc
0x1018, 0x07, long, 0x55B60D85 (1437994373), NoCrc
0x1200, 0x01, short, 0x0001 (1), NoCrc
0x1200, 0x02, short, 0x0001 (1), NoCrc
0x1200, 0x03, byte, 0x02 (2),
@@ -353,7 +353,7 @@ Idx/Sub Chnl Off/Size
0xC000, 0x01, long, 0x60000108 (1610613000),
0xC000, 0x00, byte, 0x01 (1),
0x1018, 0x06, stru_bnc, 0x0008,
0x6E, 0x16, 0xA2, 0x55, 0x0C, 0xF0, 0x84, 0xBE,
0x85, 0x0D, 0xB6, 0x55, 0x0C, 0xF0, 0x84, 0xBE,
NoCrc
>> End of Module
@@ -362,7 +362,7 @@ Idx/Sub Chnl Off/Size
0xC403, 0x02, long, 0x00006065 (24677),
0xC403, 0x03, long, 0x00001DBE (7614),
0xC403, 0x04, long, 0x00010100 (65792),
0xC403, 0x07, long, 0x55A2166E (1436685934),
0xC403, 0x07, long, 0x55B60D85 (1437994373),
0xC403, 0x08, short, 0x0008 (8),
0xC403, 0x0A, long, 0x00000000 (0),
0xC403, 0x0B, s_dom, 0x00000000 (0),
@@ -370,7 +370,7 @@ Idx/Sub Chnl Off/Size
0x100C, 0x01, long, 0x0001D4C0 (120000),
0x100C, 0x02, byte, 0x05 (5),
0x100D, 0x00, long, 0x00002710 (10000), NoCrc
0x1018, 0x07, long, 0x55A2166E (1436685934), NoCrc
0x1018, 0x07, long, 0x55B60D85 (1437994373), NoCrc
0x1200, 0x01, short, 0x0001 (1), NoCrc
0x1200, 0x02, short, 0x0001 (1), NoCrc
0x1200, 0x03, byte, 0x02 (2),
@@ -401,7 +401,7 @@ Idx/Sub Chnl Off/Size
0xC000, 0x01, long, 0x60000108 (1610613000),
0xC000, 0x00, byte, 0x01 (1),
0x1018, 0x06, stru_bnc, 0x0008,
0x6E, 0x16, 0xA2, 0x55, 0xD2, 0x4E, 0x81, 0x79,
0x85, 0x0D, 0xB6, 0x55, 0xD2, 0x4E, 0x81, 0x79,
NoCrc
>> End of Module
@@ -410,7 +410,7 @@ Idx/Sub Chnl Off/Size
0xC404, 0x02, long, 0x00006065 (24677),
0xC404, 0x03, long, 0x00001DBE (7614),
0xC404, 0x04, long, 0x00010100 (65792),
0xC404, 0x07, long, 0x55A2166E (1436685934),
0xC404, 0x07, long, 0x55B60D85 (1437994373),
0xC404, 0x08, short, 0x0008 (8),
0xC404, 0x0A, long, 0x00000000 (0),
0xC404, 0x0B, s_dom, 0x00000000 (0),
@@ -418,7 +418,7 @@ Idx/Sub Chnl Off/Size
0x100C, 0x01, long, 0x0001D4C0 (120000),
0x100C, 0x02, byte, 0x05 (5),
0x100D, 0x00, long, 0x00002710 (10000), NoCrc
0x1018, 0x07, long, 0x55A2166E (1436685934), NoCrc
0x1018, 0x07, long, 0x55B60D85 (1437994373), NoCrc
0x1200, 0x01, short, 0x0001 (1), NoCrc
0x1200, 0x02, short, 0x0001 (1), NoCrc
0x1200, 0x03, byte, 0x02 (2),
@@ -449,7 +449,7 @@ Idx/Sub Chnl Off/Size
0xC000, 0x01, long, 0x60000108 (1610613000),
0xC000, 0x00, byte, 0x01 (1),
0x1018, 0x06, stru_bnc, 0x0008,
0x6E, 0x16, 0xA2, 0x55, 0xD4, 0xF6, 0x9C, 0x01,
0x85, 0x0D, 0xB6, 0x55, 0xD4, 0xF6, 0x9C, 0x01,
NoCrc
>> End of Module
@@ -458,7 +458,7 @@ Idx/Sub Chnl Off/Size
0xC405, 0x02, long, 0x00006065 (24677),
0xC405, 0x03, long, 0x00001DBE (7614),
0xC405, 0x04, long, 0x00010100 (65792),
0xC405, 0x07, long, 0x55A2166E (1436685934),
0xC405, 0x07, long, 0x55B60D85 (1437994373),
0xC405, 0x08, short, 0x0008 (8),
0xC405, 0x0A, long, 0x00000000 (0),
0xC405, 0x0B, s_dom, 0x00000000 (0),
@@ -466,7 +466,7 @@ Idx/Sub Chnl Off/Size
0x100C, 0x01, long, 0x0001D4C0 (120000),
0x100C, 0x02, byte, 0x05 (5),
0x100D, 0x00, long, 0x00002710 (10000), NoCrc
0x1018, 0x07, long, 0x55A2166E (1436685934), NoCrc
0x1018, 0x07, long, 0x55B60D85 (1437994373), NoCrc
0x1200, 0x01, short, 0x0001 (1), NoCrc
0x1200, 0x02, short, 0x0001 (1), NoCrc
0x1200, 0x03, byte, 0x02 (2),
@@ -497,7 +497,7 @@ Idx/Sub Chnl Off/Size
0xC000, 0x01, long, 0x60000108 (1610613000),
0xC000, 0x00, byte, 0x01 (1),
0x1018, 0x06, stru_bnc, 0x0008,
0x6E, 0x16, 0xA2, 0x55, 0x17, 0x10, 0xB8, 0x63,
0x85, 0x0D, 0xB6, 0x55, 0x17, 0x10, 0xB8, 0x63,
NoCrc
>> End of Module

View File

@@ -1,3 +1,3 @@
[ONLINE]
INFO_DLG_PLACEMENT=0,1,-1,-1,-1,-1,30,22,516,396
CNTRL_DLG_PLACEMENT=0,1,1520,84,-1,-1,1403,287,1576,509
CNTRL_DLG_PLACEMENT=0,1,1520,84,-1,-1,1317,222,1490,444

View File

@@ -8,4 +8,4 @@ VarInOut=1
Retain=0
[CRC]
RETAIN=1
PROJECT=3172047075
PROJECT=925417626

View File

@@ -94,4 +94,4 @@ FUNCTION FW 00077 MUL_S 0x00000000
FUNCTION_BLOCK FW 00078 PULSE_GEN 0x00000000
FUNCTION_BLOCK FW 00079 PULSE_GEN_S 0x00000000
FUNCTION_BLOCK FW 00081 SF_EmergencyStop_V1_00 0x00000000
PROGRAM USER 00080 Main 0x00000021
PROGRAM USER 00080 Main 0x00000026

View File

@@ -1,6 +1,6 @@
[GLOBAL]
FILE_VERSION=0.1
CREATED_AT=12.07.2015 09:25:34
CREATED_AT=27.07.2015 12:52:52
NUM_OF_DIAGS=6
[DIAG0000]

View File

@@ -1,2 +1,2 @@
[TIME_STAMP]
RES_DATA=1436685934
RES_DATA=1437994373

Some files were not shown because too many files have changed in this diff Show More