Added Doppelhoeckertest
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
<DUT Name="E_BMS_CONTROL_MODE" Id="{ab000a04-c252-420d-ac1e-2bf611fa911a}">
|
<DUT Name="E_BMS_CONTROL_MODE" Id="{ab000a04-c252-420d-ac1e-2bf611fa911a}">
|
||||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||||
{attribute 'strict'}
|
{attribute 'strict'}
|
||||||
@@ -12,7 +12,8 @@ TYPE E_BMS_CONTROL_MODE :
|
|||||||
MANUAL := 5,
|
MANUAL := 5,
|
||||||
BALANCING := 6,
|
BALANCING := 6,
|
||||||
CYCLING := 7,
|
CYCLING := 7,
|
||||||
PRECHARGE := 8
|
PRECHARGE := 8,
|
||||||
|
DH := 9
|
||||||
);
|
);
|
||||||
END_TYPE
|
END_TYPE
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
<DUT Name="ST_AUTO_HMI_INTERFACE" Id="{2b90c47c-9132-4aec-a172-6289a0ff4dc3}">
|
<DUT Name="ST_AUTO_HMI_INTERFACE" Id="{2b90c47c-9132-4aec-a172-6289a0ff4dc3}">
|
||||||
<Declaration><![CDATA[TYPE ST_AUTO_HMI_INTERFACE :
|
<Declaration><![CDATA[TYPE ST_AUTO_HMI_INTERFACE :
|
||||||
STRUCT
|
STRUCT
|
||||||
stStartAutoButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
stStartAutoButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
||||||
stStopAutoButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
stStopAutoButton : ST_HMI_CONTROL_BUTTON := (xRelease := TRUE);
|
||||||
|
|
||||||
|
{attribute 'OPC.UA.DA' := '1'}
|
||||||
|
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||||
diSetpointAutomatic : DINT;
|
diSetpointAutomatic : DINT;
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
END_TYPE
|
END_TYPE
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.8">
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
<GVL Name="GVL_SCADA" Id="{8186ff04-764f-4b24-8a6b-d0a44d528e6f}">
|
<GVL Name="GVL_SCADA" Id="{8186ff04-764f-4b24-8a6b-d0a44d528e6f}">
|
||||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||||
VAR_GLOBAL
|
VAR_GLOBAL
|
||||||
@@ -22,6 +22,8 @@ VAR_GLOBAL
|
|||||||
xCanChangeControlMode : BOOL;
|
xCanChangeControlMode : BOOL;
|
||||||
|
|
||||||
// Current battery power
|
// Current battery power
|
||||||
|
{attribute 'OPC.UA.DA' := '1'}
|
||||||
|
{attribute 'OPC.UA.DA.Access' := '1'}
|
||||||
diCurrentBatteryPower : DINT;
|
diCurrentBatteryPower : DINT;
|
||||||
|
|
||||||
// Last power charged value
|
// Last power charged value
|
||||||
|
|||||||
504
PLC/PLC.tmc
504
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
@@ -29,6 +29,7 @@ VAR
|
|||||||
_iStateSafetyCheck : INT;
|
_iStateSafetyCheck : INT;
|
||||||
_iStateBalancing : INT;
|
_iStateBalancing : INT;
|
||||||
_iStatePrecharge : INT;
|
_iStatePrecharge : INT;
|
||||||
|
_iStateDH : INT;
|
||||||
|
|
||||||
// Start safety check mode
|
// Start safety check mode
|
||||||
_xStartSafetyCheck : BOOL;
|
_xStartSafetyCheck : BOOL;
|
||||||
@@ -168,6 +169,9 @@ VAR
|
|||||||
|
|
||||||
_xGetPowerMeterData : BOOL;
|
_xGetPowerMeterData : BOOL;
|
||||||
|
|
||||||
|
_rPowerDH : REAL;
|
||||||
|
_fbTONDHCycleTime : TON := (PT := T#15M);
|
||||||
|
|
||||||
//_fbKaco : FB_PowerSupplyKaco('Kaco');
|
//_fbKaco : FB_PowerSupplyKaco('Kaco');
|
||||||
//_xEnableKaco : BOOL;
|
//_xEnableKaco : BOOL;
|
||||||
END_VAR
|
END_VAR
|
||||||
@@ -655,6 +659,75 @@ CASE _eBMSControlMode OF
|
|||||||
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
|
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
|
||||||
END_IF
|
END_IF
|
||||||
SM_PRECHARGE();
|
SM_PRECHARGE();
|
||||||
|
|
||||||
|
E_BMS_CONTROL_MODE.DH:
|
||||||
|
_eStringOpMode := E_STRING_OPERATING_MODE.AUTOMATIC;
|
||||||
|
_xAllComponentsToManualMode := FALSE;
|
||||||
|
_xInSafetyCheckMode := FALSE;
|
||||||
|
_xReleaseManualMode := FALSE;
|
||||||
|
|
||||||
|
// Goto error state if a string has an error
|
||||||
|
IF _xStringsErrorActive THEN
|
||||||
|
_iStateDH := 1000;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
CASE _iStateDH OF
|
||||||
|
0: // Idle, wait for command
|
||||||
|
_rAutoPowerRequest := DINT_TO_REAL(GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic);
|
||||||
|
IF (ABS(_rAutoPowerRequest) > 100.0) THEN
|
||||||
|
_rPowerDH := _rAutoPowerRequest;
|
||||||
|
_fbTONDHCycleTime(IN := TRUE);
|
||||||
|
_iStateDH := 10;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
10: // First power cycle
|
||||||
|
_fbTONDHCycleTime(IN := TRUE);
|
||||||
|
IF _fbTONDHCycleTime.Q THEN
|
||||||
|
_rAutoPowerRequest := 0;
|
||||||
|
GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic := 0;
|
||||||
|
_fbTONDHCycleTime(IN := FALSE);
|
||||||
|
_iStateDH := 20;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
20: // First pause
|
||||||
|
_fbTONDHCycleTime(IN := TRUE);
|
||||||
|
IF _fbTONDHCycleTime.Q THEN
|
||||||
|
_rAutoPowerRequest := _rPowerDH;
|
||||||
|
GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic := REAL_TO_DINT(_rAutoPowerRequest);
|
||||||
|
_fbTONDHCycleTime(IN := FALSE);
|
||||||
|
_iStateDH := 30;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
30: // Second power phase
|
||||||
|
_fbTONDHCycleTime(IN := TRUE);
|
||||||
|
IF _fbTONDHCycleTime.Q THEN
|
||||||
|
_rAutoPowerRequest := 0;
|
||||||
|
GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic := 0;
|
||||||
|
_fbTONDHCycleTime(IN := FALSE);
|
||||||
|
_iStateDH := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
1000: // Error state
|
||||||
|
_rAutoPowerRequest := 0;
|
||||||
|
_rPowerDH := 0;
|
||||||
|
GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic := 0;
|
||||||
|
_fbTONDHCycleTime(IN := FALSE);
|
||||||
|
_iStateDH := 1010;
|
||||||
|
|
||||||
|
1010: // Wait for reset
|
||||||
|
IF _xConfirmAlarms THEN
|
||||||
|
_iStateDH := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
END_CASE
|
||||||
|
//IF (_iState <> 30) OR GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic = 0 THEN
|
||||||
|
|
||||||
|
//END_IF
|
||||||
|
IF (GVL_SCADA.eRequestedControlMode <> _eBMSControlMode) AND (GVL_SCADA.xCanChangeControlMode) THEN
|
||||||
|
_eBMSControlMode := GVL_SCADA.eRequestedControlMode;
|
||||||
|
END_IF
|
||||||
|
SM_AUTO();
|
||||||
|
GVL_SCADA.stAutomaticModeHMI.diSetpointAutomatic := REAL_TO_DINT(_rAutoPowerRequest);
|
||||||
END_CASE
|
END_CASE
|
||||||
|
|
||||||
GVL_SCADA.xCanChangeControlMode := _xCanChangeMode;
|
GVL_SCADA.xCanChangeControlMode := _xCanChangeMode;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<SafetyDeviceDesc Crc="3795836839" FileFormatVersion="1.8">
|
<SafetyDeviceDesc Crc="3184093650" FileFormatVersion="1.9">
|
||||||
<AliasDeviceType>
|
<AliasDeviceType>
|
||||||
<Type>4</Type>
|
<Type>4</Type>
|
||||||
<SubType>3124</SubType>
|
<SubType>3124</SubType>
|
||||||
|
|||||||
@@ -269,7 +269,7 @@
|
|||||||
</System>
|
</System>
|
||||||
<Plc>
|
<Plc>
|
||||||
<Project GUID="{9AE64910-5EB2-4866-93FD-EFE059C38C36}" Name="PLC" PrjFilePath="PLC\PLC.plcproj" TmcFilePath="PLC\PLC.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" CopyTmcToTarget="true" CopyTpyToTarget="false" SymbolicMapping="true">
|
<Project GUID="{9AE64910-5EB2-4866-93FD-EFE059C38C36}" Name="PLC" PrjFilePath="PLC\PLC.plcproj" TmcFilePath="PLC\PLC.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" CopyTmcToTarget="true" CopyTpyToTarget="false" SymbolicMapping="true">
|
||||||
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcHash="{55C23C39-543E-5832-4693-13ED9A590041}" TmcPath="PLC\PLC.tmc">
|
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcHash="{230A3C79-804C-4ED1-6C6E-6C3CE2FDFC9C}" TmcPath="PLC\PLC.tmc">
|
||||||
<Name>PLC Instance</Name>
|
<Name>PLC Instance</Name>
|
||||||
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
||||||
<Vars VarGrpType="2" AreaNo="1">
|
<Vars VarGrpType="2" AreaNo="1">
|
||||||
@@ -278,19 +278,6 @@
|
|||||||
<Name>MAIN._xShowAckEmergencyStop</Name>
|
<Name>MAIN._xShowAckEmergencyStop</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
|
||||||
<Name>MAIN.xSafetyRun</Name>
|
|
||||||
<Comment><![CDATA[ Safety]]></Comment>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN.xSafetyErrAck</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN._xShowErrorOnButton</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
<Var>
|
||||||
<Name>MAIN._afbStrings[0].xCloseDCCB</Name>
|
<Name>MAIN._afbStrings[0].xCloseDCCB</Name>
|
||||||
<Comment><![CDATA[ Signal to close dc circuit breaker]]></Comment>
|
<Comment><![CDATA[ Signal to close dc circuit breaker]]></Comment>
|
||||||
@@ -1295,6 +1282,19 @@
|
|||||||
<Comment><![CDATA[ Motor speed setpoint]]></Comment>
|
<Comment><![CDATA[ Motor speed setpoint]]></Comment>
|
||||||
<Type>INT</Type>
|
<Type>INT</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN.xSafetyRun</Name>
|
||||||
|
<Comment><![CDATA[ Safety]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN.xSafetyErrAck</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN._xShowErrorOnButton</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
</Vars>
|
</Vars>
|
||||||
<Vars VarGrpType="1">
|
<Vars VarGrpType="1">
|
||||||
<Name>PlcTask Inputs</Name>
|
<Name>PlcTask Inputs</Name>
|
||||||
@@ -1302,32 +1302,6 @@
|
|||||||
<Name>MAIN._xEmergencyStopOk</Name>
|
<Name>MAIN._xEmergencyStopOk</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
<Var>
|
|
||||||
<Name>MAIN.xSafetyResterTaster</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN._xHarwareResetButton</Name>
|
|
||||||
<Comment><![CDATA[ Hardware reset button]]></Comment>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN._uiEtherCATState</Name>
|
|
||||||
<Comment><![CDATA[ String EtherCAT state]]></Comment>
|
|
||||||
<Type>UINT</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN._fbSafety.xVoltagesInRange</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN._fbSafety.xPressureInRange</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
|
||||||
<Name>MAIN._fbSafety.xTemperaturesInRange</Name>
|
|
||||||
<Type>BOOL</Type>
|
|
||||||
</Var>
|
|
||||||
<Var>
|
<Var>
|
||||||
<Name>MAIN._afbStrings[0].xECWcState</Name>
|
<Name>MAIN._afbStrings[0].xECWcState</Name>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
@@ -6906,6 +6880,32 @@
|
|||||||
EL30xx also sets this if an underrange or overrange error is present]]></Comment>
|
EL30xx also sets this if an underrange or overrange error is present]]></Comment>
|
||||||
<Type>BOOL</Type>
|
<Type>BOOL</Type>
|
||||||
</Var>
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN.xSafetyResterTaster</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN._xHarwareResetButton</Name>
|
||||||
|
<Comment><![CDATA[ Hardware reset button]]></Comment>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN._uiEtherCATState</Name>
|
||||||
|
<Comment><![CDATA[ String EtherCAT state]]></Comment>
|
||||||
|
<Type>UINT</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN._fbSafety.xVoltagesInRange</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN._fbSafety.xPressureInRange</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
|
<Var>
|
||||||
|
<Name>MAIN._fbSafety.xTemperaturesInRange</Name>
|
||||||
|
<Type>BOOL</Type>
|
||||||
|
</Var>
|
||||||
</Vars>
|
</Vars>
|
||||||
<Contexts>
|
<Contexts>
|
||||||
<Context>
|
<Context>
|
||||||
|
|||||||
Reference in New Issue
Block a user