Added hot and cold plates
- Started spinner chuck io's
This commit is contained in:
72
PLC/01_Stationen/HeatCoolPlates/FB_HotPlate.TcPOU
Normal file
72
PLC/01_Stationen/HeatCoolPlates/FB_HotPlate.TcPOU
Normal file
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="FB_HotPlate" Id="{317a2373-f886-4e32-b683-81b726d00aac}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_HotPlate
|
||||
VAR_INPUT
|
||||
xEnable : BOOL;
|
||||
rTargetTemp : REAL;
|
||||
rDeadBand : REAL := 5.0;
|
||||
|
||||
xConfirmAlarms : BOOL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
uiNextFreeSlot : UINT;
|
||||
uiNextReadySlot : UINT;
|
||||
END_VAR
|
||||
VAR
|
||||
_xEnableHotplate AT %Q* : BOOL;
|
||||
|
||||
_axSlotFree : ARRAY [0..(GVL_HeatCoolConfig.HEAT_COOL_PLATES_NUM_SLOTS - 1)] OF BOOL;
|
||||
_tonSlotTimer : ARRAY[0..(GVL_HeatCoolConfig.HEAT_COOL_PLATES_NUM_SLOTS - 1)] OF TON;
|
||||
|
||||
// Temp sensor
|
||||
_fbTempSensor : FB_AnalogInput('Temp sensor');
|
||||
_stTempSensorConfig : ST_ANALOG_IO_CONFIG := (sUnit := '°C', rPVMin := -200, rPVMax := 850, iAIMin := -2000, iAIMax := 8500);
|
||||
_stTempSEnsorEWConfig : ST_ANALOG_EW_CONFIG := (
|
||||
stLevels := (
|
||||
rErrorMin := -2000,
|
||||
rErrorMax := 8500,
|
||||
rWarningMin := -1000,
|
||||
rWarningMax := 7500),
|
||||
stDelays := (
|
||||
timErrorHighOn := T#1S,
|
||||
timErrorLowOn := T#1S,
|
||||
timWarningHighOn := T#1S,
|
||||
timWarningLowOn := T#1S,
|
||||
timHardwareSignalLevelOff := T#1S));
|
||||
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Call sensor fbs
|
||||
_fbTempSensor(
|
||||
stAnalogIOConfig:= _stTempSensorConfig,
|
||||
stAnalogEWConfig:= _stTempSEnsorEWConfig,
|
||||
xReleaseErrors:= TRUE,
|
||||
xReleaseLimitErrors:= FALSE,
|
||||
xReleaseHardwareErrors:= TRUE,
|
||||
xConfirmAlarms:= xConfirmAlarms,
|
||||
stHMIInterface=> );
|
||||
|
||||
|
||||
// Control temperature with two point controller
|
||||
IF _fbTempSensor.rScaledValue < (rTargetTemp - rDeadBand) THEN
|
||||
_xEnableHotplate := TRUE;
|
||||
END_IF
|
||||
|
||||
IF _fbTempSensor.rScaledValue >= (rTargetTemp) THEN
|
||||
_xEnableHotplate := FALSE;
|
||||
END_IF
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="M_AddItem" Id="{9707459a-6558-487c-b730-c9dc92d598ed}">
|
||||
<Declaration><![CDATA[METHOD M_AddItem
|
||||
VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
Reference in New Issue
Block a user