IBN changes
added sync units for cabinet temperature, changes in modbus interface to EMS (1.0.4 and 1.0.5), added error counter to modbus communication, lot of changes to kaco (faults, consecutive errors, bms error messages), isolation error ledge, allowed startbalancing when on shutdown, tower light integration
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<SafetyDeviceDesc Crc="1631964590" FileFormatVersion="1.8">
|
<SafetyDeviceDesc Crc="3807308941" FileFormatVersion="1.9">
|
||||||
<AliasDeviceType>
|
<AliasDeviceType>
|
||||||
<Type>16</Type>
|
<Type>16</Type>
|
||||||
<SubType>0</SubType>
|
<SubType>0</SubType>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<SafeAddress>100</SafeAddress>
|
<SafeAddress>100</SafeAddress>
|
||||||
<Watchdog>100</Watchdog>
|
<Watchdog>100</Watchdog>
|
||||||
<ComErrAck Type="Unset" />
|
<ComErrAck Type="Unset" />
|
||||||
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="452853760" CustomFSoEConnectionId="abaabd0a-ce90-4f58-aa2b-1505f1e3352d">
|
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="190853202" CustomFSoEConnectionId="abaabd0a-ce90-4f58-aa2b-1505f1e3352d">
|
||||||
<IO>
|
<IO>
|
||||||
<Name>FSoE Cmd</Name>
|
<Name>FSoE Cmd</Name>
|
||||||
<DataType>USINT</DataType>
|
<DataType>USINT</DataType>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<SafetyDeviceDesc Crc="2131990763" FileFormatVersion="1.8">
|
<SafetyDeviceDesc Crc="4239964616" FileFormatVersion="1.9">
|
||||||
<AliasDeviceType>
|
<AliasDeviceType>
|
||||||
<Type>16</Type>
|
<Type>16</Type>
|
||||||
<SubType>0</SubType>
|
<SubType>0</SubType>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<SafeAddress>101</SafeAddress>
|
<SafeAddress>101</SafeAddress>
|
||||||
<Watchdog>100</Watchdog>
|
<Watchdog>100</Watchdog>
|
||||||
<ComErrAck Type="Unset" />
|
<ComErrAck Type="Unset" />
|
||||||
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="452853760" CustomFSoEConnectionId="0cd2d33d-0aa6-477d-a159-9ea1f745f3fb">
|
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="190853202" CustomFSoEConnectionId="0cd2d33d-0aa6-477d-a159-9ea1f745f3fb">
|
||||||
<IO>
|
<IO>
|
||||||
<Name>FSoE Cmd</Name>
|
<Name>FSoE Cmd</Name>
|
||||||
<DataType>USINT</DataType>
|
<DataType>USINT</DataType>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TargetSystemConfig Crc="1876330355" Version="1.5">
|
<TargetSystemConfig Crc="2701606460" Version="1.5">
|
||||||
<TargetSystemType>HSafetyPLC</TargetSystemType>
|
<TargetSystemType>HSafetyPLC</TargetSystemType>
|
||||||
<TargetSystemSubType>EL6910</TargetSystemSubType>
|
<TargetSystemSubType>EL6910</TargetSystemSubType>
|
||||||
<IsExternalDevice>false</IsExternalDevice>
|
<IsExternalDevice>false</IsExternalDevice>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<TargetSystemObjectName>-42K1 (EL6910)</TargetSystemObjectName>
|
<TargetSystemObjectName>-42K1 (EL6910)</TargetSystemObjectName>
|
||||||
<SoftwareVersion>05 (V01.14) </SoftwareVersion>
|
<SoftwareVersion>05 (V01.14) </SoftwareVersion>
|
||||||
<SerialNumber>4238305</SerialNumber>
|
<SerialNumber>4238305</SerialNumber>
|
||||||
<ProjectCRC>40393</ProjectCRC>
|
<ProjectCRC>48559</ProjectCRC>
|
||||||
<MapProjectCRC>false</MapProjectCRC>
|
<MapProjectCRC>false</MapProjectCRC>
|
||||||
<MapSerialNumber>false</MapSerialNumber>
|
<MapSerialNumber>false</MapSerialNumber>
|
||||||
<VersionNumber>1</VersionNumber>
|
<VersionNumber>1</VersionNumber>
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
<DUT Name="ST_WORD_BMS_ERROR_BITMAP" Id="{33fc17c1-ae64-4c44-aa8c-117a09c656ef}">
|
<DUT Name="ST_WORD_BMS_ERROR_BITMAP" Id="{33fc17c1-ae64-4c44-aa8c-117a09c656ef}">
|
||||||
<Declaration><![CDATA[TYPE ST_WORD_BMS_ERROR_BITMAP :
|
<Declaration><![CDATA[TYPE ST_WORD_BMS_ERROR_BITMAP :
|
||||||
STRUCT
|
STRUCT
|
||||||
bEStop : BIT; // Bit 0
|
bEStop : BIT; // Bit 0
|
||||||
bEthercat : BIT; // Bit 1
|
bEthercat : BIT; // Bit 1
|
||||||
bDCSwitchS1 : BIT; // Bit 2
|
bError : BIT; // Bit 2
|
||||||
bDCSwitchS2 : BIT; // Bit 3
|
bNAProtectionTripped : BIT; // Bit 3
|
||||||
bError : BIT; // Bit 4
|
bEMSHeartbeatError : BIT; // Bit 4
|
||||||
bEMSHeartbeatError : BIT; // Bit 5
|
bSafetyErrorVoltage : BIT; // Bit 5
|
||||||
|
bSafetyErrorPressure : BIT; // Bit 6
|
||||||
|
bSafetyErrorTemperature : BIT; // Bit 7
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
END_TYPE
|
END_TYPE
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
|
<DUT Name="ST_WORD_EMS_CONTROLS_BITMAP" Id="{7d022e67-048d-4e23-8921-2f5f928e5544}">
|
||||||
|
<Declaration><![CDATA[TYPE ST_WORD_EMS_CONTROLS_BITMAP :
|
||||||
|
STRUCT
|
||||||
|
bScheduleActive : BIT;
|
||||||
|
END_STRUCT
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
|
<DUT Name="ST_WORD_STRING_ERROR_BITMAP" Id="{3924c412-c367-4ea8-9118-864977c416ec}">
|
||||||
|
<Declaration><![CDATA[TYPE ST_WORD_STRING_ERROR_BITMAP :
|
||||||
|
STRUCT
|
||||||
|
bDCSwitch : BIT; // Bit 0
|
||||||
|
bInverterError : BIT; // Bit 1
|
||||||
|
bIsolationError : BIT; // Bit 2
|
||||||
|
END_STRUCT
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
|
<DUT Name="U_EMS_CONTROLS_REGISTER" Id="{a1ff95b9-162c-49e5-b53b-4cd068746597}">
|
||||||
|
<Declaration><![CDATA[TYPE U_EMS_CONTROLS_REGISTER :
|
||||||
|
UNION
|
||||||
|
wRegister : WORD;
|
||||||
|
stBitmap : ST_WORD_EMS_CONTROLS_BITMAP;
|
||||||
|
END_UNION
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||||
|
<DUT Name="U_STRING_ERROR_REGISTER" Id="{7b446cc8-a059-4d03-be7a-fed0256cd889}">
|
||||||
|
<Declaration><![CDATA[TYPE U_STRING_ERROR_REGISTER :
|
||||||
|
UNION
|
||||||
|
wRegister : WORD;
|
||||||
|
stBitmap : ST_WORD_STRING_ERROR_BITMAP;
|
||||||
|
END_UNION
|
||||||
|
END_TYPE
|
||||||
|
]]></Declaration>
|
||||||
|
</DUT>
|
||||||
|
</TcPlcObject>
|
||||||
@@ -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="ST_MODBUS_REG_12" Id="{7c428918-2d8d-43ab-8096-edbee8bd4171}">
|
<DUT Name="ST_MODBUS_REG_12" Id="{7c428918-2d8d-43ab-8096-edbee8bd4171}">
|
||||||
<Declaration><![CDATA[{attribute 'analysis' := '-33'}
|
<Declaration><![CDATA[{attribute 'analysis' := '-33'}
|
||||||
{attribute 'pack_mode' := '1'}
|
{attribute 'pack_mode' := '1'}
|
||||||
@@ -14,6 +14,9 @@ STRUCT
|
|||||||
// Addr: 12.004
|
// Addr: 12.004
|
||||||
// Can be removed if cosphi can be written in pos and neg range
|
// Can be removed if cosphi can be written in pos and neg range
|
||||||
eReactivePowerType : E_REACTIVE_POWER_TYPE;
|
eReactivePowerType : E_REACTIVE_POWER_TYPE;
|
||||||
|
|
||||||
|
// Addr: 12.005
|
||||||
|
wBMSControlsRegister : U_EMS_CONTROLS_REGISTER;
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
END_TYPE
|
END_TYPE
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
|
|||||||
@@ -21,6 +21,14 @@ STRUCT
|
|||||||
// (Bit 0 -> Error in string 1 active, Bit 1 -> String 2, etc.)
|
// (Bit 0 -> Error in string 1 active, Bit 1 -> String 2, etc.)
|
||||||
// Addr: 13.003
|
// Addr: 13.003
|
||||||
wStringErrorActive : WORD;
|
wStringErrorActive : WORD;
|
||||||
|
|
||||||
|
// String 1 error active
|
||||||
|
// Addr: 13.004
|
||||||
|
wString1ErrorActive : U_STRING_ERROR_REGISTER;
|
||||||
|
|
||||||
|
// String 2 error active
|
||||||
|
// Addr: 13.005
|
||||||
|
wString2ErrorActive : U_STRING_ERROR_REGISTER;
|
||||||
END_STRUCT
|
END_STRUCT
|
||||||
END_TYPE
|
END_TYPE
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
|
|||||||
@@ -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_CONFIG" Id="{0773bf51-0237-454d-a970-cfd896054edb}">
|
<GVL Name="GVL_CONFIG" Id="{0773bf51-0237-454d-a970-cfd896054edb}">
|
||||||
<Declaration><![CDATA[{attribute 'qualified_only'}
|
<Declaration><![CDATA[{attribute 'qualified_only'}
|
||||||
VAR_GLOBAL CONSTANT
|
VAR_GLOBAL CONSTANT
|
||||||
@@ -293,6 +293,8 @@ VAR_GLOBAL PERSISTENT
|
|||||||
{attribute 'analysis' := '-33'}
|
{attribute 'analysis' := '-33'}
|
||||||
xDummy : BOOL := FALSE;
|
xDummy : BOOL := FALSE;
|
||||||
|
|
||||||
|
udiMaxConsecutiveInvError : UDINT := 10;
|
||||||
|
|
||||||
END_VAR]]></Declaration>
|
END_VAR]]></Declaration>
|
||||||
</GVL>
|
</GVL>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
||||||
@@ -21,7 +21,7 @@ VAR_GLOBAL
|
|||||||
stBMSErrorReg : ST_MODBUS_REG_13;
|
stBMSErrorReg : ST_MODBUS_REG_13;
|
||||||
|
|
||||||
// Confirm alarms through modbus
|
// Confirm alarms through modbus
|
||||||
// Addr: 13.004
|
// Addr: 13.006
|
||||||
wConfirmAlarms : WORD;
|
wConfirmAlarms : WORD;
|
||||||
|
|
||||||
// Addr: 14.000 -> 14.047
|
// Addr: 14.000 -> 14.047
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<WriteProductVersion>true</WriteProductVersion>
|
<WriteProductVersion>true</WriteProductVersion>
|
||||||
<GenerateTpy>false</GenerateTpy>
|
<GenerateTpy>false</GenerateTpy>
|
||||||
<Name>PLC</Name>
|
<Name>PLC</Name>
|
||||||
<ProgramVersion>3.1.4026.17</ProgramVersion>
|
<ProgramVersion>3.1.4026.18</ProgramVersion>
|
||||||
<Application>{afd0b275-de2f-4006-ab0f-6826ccfce7be}</Application>
|
<Application>{afd0b275-de2f-4006-ab0f-6826ccfce7be}</Application>
|
||||||
<TypeSystem>{18a2eab9-0077-4cea-9d3b-9a168bdf0814}</TypeSystem>
|
<TypeSystem>{18a2eab9-0077-4cea-9d3b-9a168bdf0814}</TypeSystem>
|
||||||
<Implicit_Task_Info>{6e35f35d-280b-4da2-9c5b-fc35ab6da425}</Implicit_Task_Info>
|
<Implicit_Task_Info>{6e35f35d-280b-4da2-9c5b-fc35ab6da425}</Implicit_Task_Info>
|
||||||
@@ -68,15 +68,27 @@
|
|||||||
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\ST_WORD_BMS_ERROR_BITMAP.TcDUT">
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\ST_WORD_BMS_ERROR_BITMAP.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\ST_WORD_STRING_ERROR_BITMAP.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\ST_WORD_BMS_WARNING_BITMAP.TcDUT">
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\ST_WORD_BMS_WARNING_BITMAP.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\ST_WORD_EMS_CONTROLS_BITMAP.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_BMS_ERROR_REGISTER.TcDUT">
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_BMS_ERROR_REGISTER.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_STRING_ERROR_REGISTER.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_BMS_WARNING_REGISTER.TcDUT">
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_BMS_WARNING_REGISTER.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_EMS_CONTROLS_REGISTER.TcDUT">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_UNIT_ERROR_REGISTER.TcDUT">
|
<Compile Include="DUTs\Modbus\ErrorWarningRegisters\U_UNIT_ERROR_REGISTER.TcDUT">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -237,12 +249,6 @@
|
|||||||
<DefaultResolution>Tc3_Module, * (Beckhoff Automation GmbH)</DefaultResolution>
|
<DefaultResolution>Tc3_Module, * (Beckhoff Automation GmbH)</DefaultResolution>
|
||||||
<Namespace>Tc3_Module</Namespace>
|
<Namespace>Tc3_Module</Namespace>
|
||||||
</PlaceholderReference>
|
</PlaceholderReference>
|
||||||
<PlaceholderReference Include="UML State Chart Types">
|
|
||||||
<DefaultResolution>UML Statechart Types, 4.2.2.0 (3S - Smart Software Solutions GmbH)</DefaultResolution>
|
|
||||||
<Namespace>UML_SC</Namespace>
|
|
||||||
<SystemLibrary>true</SystemLibrary>
|
|
||||||
<ResolverGuid>d9a6b70a-92f0-4827-8ca3-8ce8a61652d9</ResolverGuid>
|
|
||||||
</PlaceholderReference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="PLC.tmc">
|
<None Include="PLC.tmc">
|
||||||
@@ -2616,7 +2622,7 @@
|
|||||||
<d n="SubKeys" t="Hashtable" />
|
<d n="SubKeys" t="Hashtable" />
|
||||||
<d n="Values" t="Hashtable" ckt="String" cvt="String">
|
<d n="Values" t="Hashtable" ckt="String" cvt="String">
|
||||||
<v>ActiveVisuProfile</v>
|
<v>ActiveVisuProfile</v>
|
||||||
<v>IR0whWr8bwfyBwAAaCbC8QAAAABVAgAA1xHl6QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDJUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA2AC4AMQA1AAUWUAByAG8AZgBpAGwAZQBEAGEAdABhAAZMewAxADYAZQA1ADUAYgA2ADAALQA3ADAANAAzAC0ANABhADYAMwAtAGIANgA1AGIALQA2ADEANAA3ADEAMwA4ADcAOABkADQAMgB9AAcSTABpAGIAcgBhAHIAaQBlAHMACEx7ADMAYgBmAGQANQA0ADUAOQAtAGIAMAA3AGYALQA0AGQANgBlAC0AYQBlADEAYQAtAGEAOAAzADMANQA2AGEANQA1ADEANAAyAH0ACUx7ADkAYwA5ADUAOAA5ADYAOAAtADIAYwA4ADUALQA0ADEAYgBiAC0AOAA4ADcAMQAtADgAOQA1AGYAZgAxAGYAZQBkAGUAMQBhAH0ACg5WAGUAcgBzAGkAbwBuAAsGaQBuAHQADApVAHMAYQBnAGUADQpUAGkAdABsAGUADhpWAGkAcwB1AEUAbABlAG0ATQBlAHQAZQByAA8OQwBvAG0AcABhAG4AeQAQDFMAeQBzAHQAZQBtABESVgBpAHMAdQBFAGwAZQBtAHMAEjBWAGkAcwB1AEUAbABlAG0AcwBTAHAAZQBjAGkAYQBsAEMAbwBuAHQAcgBvAGwAcwATKFYAaQBzAHUARQBsAGUAbQBzAFcAaQBuAEMAbwBuAHQAcgBvAGwAcwAUJFYAaQBzAHUARQBsAGUAbQBUAGUAeAB0AEUAZABpAHQAbwByABUiVgBpAHMAdQBOAGEAdABpAHYAZQBDAG8AbgB0AHIAbwBsABYUVgBpAHMAdQBJAG4AcAB1AHQAcwAXGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABgmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAZCGIAbwBvAGwAGiJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAG0x7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHBxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHRRQAGwAdQBnAGkAbgBHAHUAaQBkAB4WUwB5AHMAdABlAG0ALgBHAHUAaQBkAB9IYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIBRVAHAAZABhAHQAZQBJAG4AZgBvACFMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACIOVQBwAGQAYQB0AGUAcwAjTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAkTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAlFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAmVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACcQTABpAGIAVABpAHQAbABlACgUTABpAGIAQwBvAG0AcABhAG4AeQApHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACo4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQArEnYAaQBzAHUAZQBsAGUAbQBzACwMcwB5AHMAdABlAG0ALUg2AGMAYgAxAGMAZABlADEALQBkADUAZABjAC0ANABhADMAYgAtADkAMAA1ADQALQAyADEAZgBhADcANQA2AGEAMwBmAGEANAAuKEkAbgB0AGUAcgBmAGEAYwBlAFYAZQByAHMAaQBvAG4ASQBuAGYAbwAvTHsAYwA2ADEAMQBlADQAMAAwAC0ANwBmAGIAOQAtADQAYwAzADUALQBiADkAYQBjAC0ANABlADMAMQA0AGIANQA5ADkANgA0ADMAfQAwGE0AYQBqAG8AcgBWAGUAcgBzAGkAbwBuADEYTQBpAG4AbwByAFYAZQByAHMAaQBvAG4AMgxMAGUAZwBhAGMAeQAzMEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwAVgBlAHIAcwBpAG8AbgBJAG4AZgBvADQwTABvAGEAZABMAGkAYgByAGEAcgBpAGUAcwBJAG4AdABvAFAAcgBvAGoAZQBjAHQANRpDAG8AbQBwAGEAdABpAGIAaQBsAGkAdAB5ANAAAhoD0AMBLQTQBQYaB9AHCBoBRQcJCNAACRoERQoLBAQAAAAHAAAAAAAAAAAAAADQDAutAgAAANANAS0O0A8BLRDQAAkaBEUKCwQEAAAABwAAAAAAAAAAAAAA0AwLrQEAAADQDQEtEdAPAS0Q0AAJGgRFCgsEBAAAAAcAAAAAAAAAAAAAANAMC60CAAAA0A0BLRLQDwEtENAACRoERQoLBAQAAAAHAAAAAAAAAAAAAADQDAutAgAAANANAS0T0A8BLRDQAAkaBEUKCwQEAAAABwAAAAAAAAAAAAAA0AwLrQIAAADQDQEtFNAPAS0Q0AAJGgRFCgsEBAAAAAcAAAAAAAAAAAAAANAMC60CAAAA0A0BLRXQDwEtENAACRoERQoLBAQAAAAHAAAAAAAAAAAAAADQDAutAgAAANANAS0W0A8BLRDQAAkaBEUKCwQEAAAABwAAAAAAAAAAAAAA0AwLrQQAAADQDQEtF9APAS0Q0BgZrQFFGhsB0AAbGgJFHAsEBAAAAAIAAAAAAAAAAAAAANAdHi0f0CAhGgJFIiMC0AAkGgVFCgsEAwAAAAMAAAAAAAAACgAAANAlC60AAAAA0AMBLSbQJwEtEdAoAS0Q0AAkGgVFCgsEAwAAAAMAAAAAAAAACgAAANAlC60BAAAA0AMBLSbQJwEtEdAoAS0QmikqAUUAAQLQAAEtK9AAAS0s0AAeLS3QLi8aA9AwC60BAAAA0DELrSQAAADQMhmtANAzLxoD0DALrQIAAADQMQutBgAAANAyGa0A0DQZrQDQNRmtAA==</v>
|
<v>IR0whWr8bwfyBwAAMxnWswAAAABVAgAADu3eawAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDJUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA2AC4AMQA4AAUWUAByAG8AZgBpAGwAZQBEAGEAdABhAAZMewAxADYAZQA1ADUAYgA2ADAALQA3ADAANAAzAC0ANABhADYAMwAtAGIANgA1AGIALQA2ADEANAA3ADEAMwA4ADcAOABkADQAMgB9AAcSTABpAGIAcgBhAHIAaQBlAHMACEx7ADMAYgBmAGQANQA0ADUAOQAtAGIAMAA3AGYALQA0AGQANgBlAC0AYQBlADEAYQAtAGEAOAAzADMANQA2AGEANQA1ADEANAAyAH0ACUx7ADkAYwA5ADUAOAA5ADYAOAAtADIAYwA4ADUALQA0ADEAYgBiAC0AOAA4ADcAMQAtADgAOQA1AGYAZgAxAGYAZQBkAGUAMQBhAH0ACg5WAGUAcgBzAGkAbwBuAAsGaQBuAHQADApVAHMAYQBnAGUADQpUAGkAdABsAGUADhpWAGkAcwB1AEUAbABlAG0ATQBlAHQAZQByAA8OQwBvAG0AcABhAG4AeQAQDFMAeQBzAHQAZQBtABESVgBpAHMAdQBFAGwAZQBtAHMAEjBWAGkAcwB1AEUAbABlAG0AcwBTAHAAZQBjAGkAYQBsAEMAbwBuAHQAcgBvAGwAcwATKFYAaQBzAHUARQBsAGUAbQBzAFcAaQBuAEMAbwBuAHQAcgBvAGwAcwAUJFYAaQBzAHUARQBsAGUAbQBUAGUAeAB0AEUAZABpAHQAbwByABUiVgBpAHMAdQBOAGEAdABpAHYAZQBDAG8AbgB0AHIAbwBsABYUVgBpAHMAdQBJAG4AcAB1AHQAcwAXGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABgmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAZCGIAbwBvAGwAGiJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAG0x7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHBxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHRRQAGwAdQBnAGkAbgBHAHUAaQBkAB4WUwB5AHMAdABlAG0ALgBHAHUAaQBkAB9IYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIBRVAHAAZABhAHQAZQBJAG4AZgBvACFMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACIOVQBwAGQAYQB0AGUAcwAjTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAkTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAlFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAmVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACcQTABpAGIAVABpAHQAbABlACgUTABpAGIAQwBvAG0AcABhAG4AeQApHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACo4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQArEnYAaQBzAHUAZQBsAGUAbQBzACwMcwB5AHMAdABlAG0ALUg2AGMAYgAxAGMAZABlADEALQBkADUAZABjAC0ANABhADMAYgAtADkAMAA1ADQALQAyADEAZgBhADcANQA2AGEAMwBmAGEANAAuKEkAbgB0AGUAcgBmAGEAYwBlAFYAZQByAHMAaQBvAG4ASQBuAGYAbwAvTHsAYwA2ADEAMQBlADQAMAAwAC0ANwBmAGIAOQAtADQAYwAzADUALQBiADkAYQBjAC0ANABlADMAMQA0AGIANQA5ADkANgA0ADMAfQAwGE0AYQBqAG8AcgBWAGUAcgBzAGkAbwBuADEYTQBpAG4AbwByAFYAZQByAHMAaQBvAG4AMgxMAGUAZwBhAGMAeQAzMEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwAVgBlAHIAcwBpAG8AbgBJAG4AZgBvADQwTABvAGEAZABMAGkAYgByAGEAcgBpAGUAcwBJAG4AdABvAFAAcgBvAGoAZQBjAHQANRpDAG8AbQBwAGEAdABpAGIAaQBsAGkAdAB5ANAAAhoD0AMBLQTQBQYaB9AHCBoBRQcJCNAACRoERQoLBAQAAAAHAAAAAAAAAAAAAADQDAutAgAAANANAS0O0A8BLRDQAAkaBEUKCwQEAAAACAAAAAAAAAAAAAAA0AwLrQEAAADQDQEtEdAPAS0Q0AAJGgRFCgsEBAAAAAcAAAAAAAAAAAAAANAMC60CAAAA0A0BLRLQDwEtENAACRoERQoLBAQAAAAIAAAAAAAAAAAAAADQDAutAgAAANANAS0T0A8BLRDQAAkaBEUKCwQEAAAACAAAAAAAAAAAAAAA0AwLrQIAAADQDQEtFNAPAS0Q0AAJGgRFCgsEBAAAAAgAAAAAAAAAAAAAANAMC60CAAAA0A0BLRXQDwEtENAACRoERQoLBAQAAAAHAAAAAAAAAAAAAADQDAutAgAAANANAS0W0A8BLRDQAAkaBEUKCwQEAAAACAAAAAAAAAAAAAAA0AwLrQQAAADQDQEtF9APAS0Q0BgZrQFFGhsB0AAbGgJFHAsEBAAAAAIAAAAAAAAAAAAAANAdHi0f0CAhGgJFIiMC0AAkGgVFCgsEAwAAAAMAAAAAAAAACgAAANAlC60AAAAA0AMBLSbQJwEtEdAoAS0Q0AAkGgVFCgsEAwAAAAMAAAAAAAAACgAAANAlC60BAAAA0AMBLSbQJwEtEdAoAS0QmikqAUUAAQLQAAEtK9AAAS0s0AAeLS3QLi8aA9AwC60BAAAA0DELrSQAAADQMhmtANAzLxoD0DALrQIAAADQMQutBgAAANAyGa0A0DQZrQDQNRmtAA==</v>
|
||||||
</d>
|
</d>
|
||||||
</o>
|
</o>
|
||||||
<v>{8A0FB252-96EB-4DCC-A5B4-B4804D05E2D6}</v>
|
<v>{8A0FB252-96EB-4DCC-A5B4-B4804D05E2D6}</v>
|
||||||
|
|||||||
452
PLC/PLC.tmc
452
PLC/PLC.tmc
File diff suppressed because one or more lines are too long
@@ -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">
|
||||||
<POU Name="FB_Safety" Id="{f74eb8e4-e878-485f-9706-8dd039061a6b}" SpecialFunc="None">
|
<POU Name="FB_Safety" Id="{f74eb8e4-e878-485f-9706-8dd039061a6b}" SpecialFunc="None">
|
||||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Safety
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_Safety
|
||||||
VAR_INPUT
|
VAR_INPUT
|
||||||
@@ -8,6 +8,7 @@ VAR_INPUT
|
|||||||
xTemperaturesInRange AT %I* : BOOL;
|
xTemperaturesInRange AT %I* : BOOL;
|
||||||
|
|
||||||
xReset : BOOL;
|
xReset : BOOL;
|
||||||
|
refuStringErrorsModbus : REFERENCE TO U_BMS_ERROR_REGISTER;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
END_VAR
|
END_VAR
|
||||||
@@ -31,35 +32,20 @@ END_IF
|
|||||||
IF (NOT xVoltagesInRange) AND NOT _xErrorLatched THEN
|
IF (NOT xVoltagesInRange) AND NOT _xErrorLatched THEN
|
||||||
_latchedVoltages := TRUE;
|
_latchedVoltages := TRUE;
|
||||||
_xErrorLatched := TRUE;
|
_xErrorLatched := TRUE;
|
||||||
|
refuStringErrorsModbus.stBitmap.bSafetyErrorVoltage := 1;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF (NOT xPressureInRange) AND NOT _xErrorLatched THEN
|
IF (NOT xPressureInRange) AND NOT _xErrorLatched THEN
|
||||||
_latchedPressures := TRUE;
|
_latchedPressures := TRUE;
|
||||||
_xErrorLatched := TRUE;
|
_xErrorLatched := TRUE;
|
||||||
|
refuStringErrorsModbus.stBitmap.bSafetyErrorPressure := 1;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF (NOT xTemperaturesInRange) AND NOT _xErrorLatched THEN
|
IF (NOT xTemperaturesInRange) AND NOT _xErrorLatched THEN
|
||||||
_latechedTemperatures := TRUE;
|
_latechedTemperatures := TRUE;
|
||||||
_xErrorLatched := TRUE;
|
_xErrorLatched := TRUE;
|
||||||
|
refuStringErrorsModbus.stBitmap.bSafetyErrorTemperature := 1;
|
||||||
END_IF]]></ST>
|
END_IF]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<LineIds Name="FB_Safety">
|
|
||||||
<LineId Id="28" Count="0" />
|
|
||||||
<LineId Id="30" Count="0" />
|
|
||||||
<LineId Id="32" Count="2" />
|
|
||||||
<LineId Id="40" Count="0" />
|
|
||||||
<LineId Id="31" Count="0" />
|
|
||||||
<LineId Id="29" Count="0" />
|
|
||||||
<LineId Id="9" Count="0" />
|
|
||||||
<LineId Id="18" Count="0" />
|
|
||||||
<LineId Id="37" Count="0" />
|
|
||||||
<LineId Id="19" Count="0" />
|
|
||||||
<LineId Id="21" Count="2" />
|
|
||||||
<LineId Id="38" Count="0" />
|
|
||||||
<LineId Id="20" Count="0" />
|
|
||||||
<LineId Id="25" Count="2" />
|
|
||||||
<LineId Id="39" Count="0" />
|
|
||||||
<LineId Id="24" Count="0" />
|
|
||||||
</LineIds>
|
|
||||||
</POU>
|
</POU>
|
||||||
</TcPlcObject>
|
</TcPlcObject>
|
||||||
@@ -56,8 +56,10 @@ VAR_INPUT
|
|||||||
|
|
||||||
xECWcState AT %I* : BOOL;
|
xECWcState AT %I* : BOOL;
|
||||||
|
|
||||||
xIsoErrorL1 AT %I* : BOOL;
|
xIsolationOKL1 AT %I* : BOOL;
|
||||||
xIsoErrorL2 AT %I* : BOOL;
|
xIsolationOKL2 AT %I* : BOOL;
|
||||||
|
|
||||||
|
refuStringErrorsModbus : REFERENCE TO U_STRING_ERROR_REGISTER;
|
||||||
END_VAR
|
END_VAR
|
||||||
VAR_OUTPUT
|
VAR_OUTPUT
|
||||||
// Repair switch closed
|
// Repair switch closed
|
||||||
@@ -218,6 +220,7 @@ VAR
|
|||||||
// Start balancing internal signal
|
// Start balancing internal signal
|
||||||
_xStartBalancing : BOOL;
|
_xStartBalancing : BOOL;
|
||||||
|
|
||||||
|
_xIsoErrorActive : BOOL;
|
||||||
_xIsoError : BOOL;
|
_xIsoError : BOOL;
|
||||||
|
|
||||||
// Iso error timeout
|
// Iso error timeout
|
||||||
@@ -387,6 +390,8 @@ _fbInverter(
|
|||||||
rMaxBattPower:= DINT_TO_REAL(GVL_CONFIG.diMaxStringDischargePower),
|
rMaxBattPower:= DINT_TO_REAL(GVL_CONFIG.diMaxStringDischargePower),
|
||||||
stCurrentValues => stInverterData);
|
stCurrentValues => stInverterData);
|
||||||
|
|
||||||
|
refuStringErrorsModbus.stBitmap.bInverterError := _fbInverter.xError;
|
||||||
|
|
||||||
IF (_iState >= 30) AND (_iState < 40) THEN
|
IF (_iState >= 30) AND (_iState < 40) THEN
|
||||||
rCapacityAH := rCapacityAH + ((stInverterData.rActDCCurrent * 0.01) / 3600);
|
rCapacityAH := rCapacityAH + ((stInverterData.rActDCCurrent * 0.01) / 3600);
|
||||||
rCapacityWH := rCapacityWH + ((stInverterData.rActACPower * 0.01) / 3600);
|
rCapacityWH := rCapacityWH + ((stInverterData.rActACPower * 0.01) / 3600);
|
||||||
@@ -862,7 +867,9 @@ END_IF
|
|||||||
stHMIInterface.eStatus := eStatus;
|
stHMIInterface.eStatus := eStatus;
|
||||||
|
|
||||||
// Reset Safety
|
// Reset Safety
|
||||||
xResetSafetyDCCB := xResetSafety;]]></ST>
|
xResetSafetyDCCB := xResetSafety;
|
||||||
|
|
||||||
|
xCloseDCCB := TRUE;]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Action Name="ClearAlarms" Id="{541a307f-e5d8-4588-8fd3-6f4bdf6a71dd}">
|
<Action Name="ClearAlarms" Id="{541a307f-e5d8-4588-8fd3-6f4bdf6a71dd}">
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -980,8 +987,8 @@ END_IF
|
|||||||
// ISO Error handling
|
// ISO Error handling
|
||||||
// ===============================
|
// ===============================
|
||||||
// Mute iso error when inverter is enabled
|
// Mute iso error when inverter is enabled
|
||||||
_xIsoError := ((NOT xIsoErrorL1) OR (NOT xIsoErrorL2)) AND (NOT _fbInverter.xActive) AND (xDCCBOpen);
|
_xIsoErrorActive := ((NOT xIsolationOKL1) OR (NOT xIsolationOKL2)) AND (NOT _fbInverter.xActive) AND (xDCCBOpen);
|
||||||
_fbTONIsoError(IN := _xIsoError, PT := GVL_CONFIG.timIsoErrorTimeout);
|
_fbTONIsoError(IN := _xIsoErrorActive, PT := GVL_CONFIG.timIsoErrorTimeout);
|
||||||
|
|
||||||
IF _fbTONIsoError.Q AND (NOT _fbIsolationAlarm.bRaised) AND xReleaseErrors THEN
|
IF _fbTONIsoError.Q AND (NOT _fbIsolationAlarm.bRaised) AND xReleaseErrors THEN
|
||||||
_fbIsolationAlarm.Raise(0);
|
_fbIsolationAlarm.Raise(0);
|
||||||
@@ -996,7 +1003,16 @@ IF _fbIsolationAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfir
|
|||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF _fbTONIsoError.Q THEN
|
IF _fbTONIsoError.Q THEN
|
||||||
|
_xIsoError := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF xConfirmAlarms AND (NOT _fbTONIsoError.Q) THEN
|
||||||
|
_xIsoError := FALSE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xIsoError THEN
|
||||||
_xErrorInternal := TRUE;
|
_xErrorInternal := TRUE;
|
||||||
|
refuStringErrorsModbus.stBitmap.bIsolationError := 1;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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">
|
||||||
<POU Name="FB_Unit" Id="{e9bb815b-eb46-4920-800d-910484e58b22}" SpecialFunc="None">
|
<POU Name="FB_Unit" Id="{e9bb815b-eb46-4920-800d-910484e58b22}" SpecialFunc="None">
|
||||||
<Declaration><![CDATA[FUNCTION_BLOCK FB_Unit
|
<Declaration><![CDATA[FUNCTION_BLOCK FB_Unit
|
||||||
VAR_INPUT
|
VAR_INPUT
|
||||||
@@ -1165,6 +1165,13 @@ CASE _iState OF
|
|||||||
_iState := 0;
|
_iState := 0;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
// check for balancing condition
|
||||||
|
IF xStartBalancing AND (NOT _xErrorActive) THEN
|
||||||
|
xShutdownDischargeAllowed := FALSE;
|
||||||
|
xInShutdownDischargeMode := FALSE;
|
||||||
|
_iState := 0;
|
||||||
|
END_IF
|
||||||
|
|
||||||
IF _xErrorActive THEN
|
IF _xErrorActive THEN
|
||||||
_iState := 1000;
|
_iState := 1000;
|
||||||
END_IF
|
END_IF
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
VAR
|
VAR
|
||||||
_xEmergencyStopOk AT %I* : BOOL;
|
_xEmergencyStopOk AT %I* : BOOL;
|
||||||
_xShowAckEmergencyStop AT %Q* : BOOL;
|
_xShowAckEmergencyStop AT %Q* : BOOL;
|
||||||
|
xNAProtectionOK AT %I* : BOOL;
|
||||||
|
_xNAProtectionTripped : BOOL := FALSE;
|
||||||
_xReleaseErrors : BOOL := TRUE;
|
_xReleaseErrors : BOOL := TRUE;
|
||||||
_xReleaseLimitsErrors : BOOL := TRUE;
|
_xReleaseLimitsErrors : BOOL := TRUE;
|
||||||
_xConfirmAlarms : BOOL;
|
_xConfirmAlarms : BOOL;
|
||||||
@@ -46,7 +48,7 @@ VAR
|
|||||||
_tonStartupDelay : TON := (PT := T#10S);
|
_tonStartupDelay : TON := (PT := T#10S);
|
||||||
|
|
||||||
// Small delay for inverter shutdown
|
// Small delay for inverter shutdown
|
||||||
_tonBeginShutdown : TON := (PT := T#30S);
|
_tonBeginShutdown : TON := (PT := T#10S);
|
||||||
|
|
||||||
// Not all strings in automatic mode
|
// Not all strings in automatic mode
|
||||||
_fbNoAutomaticModeAlarm : FB_TcAlarm;
|
_fbNoAutomaticModeAlarm : FB_TcAlarm;
|
||||||
@@ -65,6 +67,9 @@ VAR
|
|||||||
// EMS heartbeat alarm
|
// EMS heartbeat alarm
|
||||||
_fbEMSHeartbeatAlarm : FB_TcAlarm;
|
_fbEMSHeartbeatAlarm : FB_TcAlarm;
|
||||||
|
|
||||||
|
// NA Protection Alarm
|
||||||
|
_fbNAProtectionAlarm : FB_TcAlarm;
|
||||||
|
|
||||||
// First cycle tag
|
// First cycle tag
|
||||||
_xFirstCycle : BOOL := TRUE;
|
_xFirstCycle : BOOL := TRUE;
|
||||||
|
|
||||||
@@ -114,6 +119,7 @@ VAR
|
|||||||
_rtHardwareResetButton : R_TRIG;
|
_rtHardwareResetButton : R_TRIG;
|
||||||
|
|
||||||
_xErrorActive : BOOL;
|
_xErrorActive : BOOL;
|
||||||
|
_xWarningActive : BOOL;
|
||||||
|
|
||||||
// Battery in safety check mode
|
// Battery in safety check mode
|
||||||
_xInSafetyCheckMode : BOOL;
|
_xInSafetyCheckMode : BOOL;
|
||||||
@@ -188,6 +194,9 @@ VAR
|
|||||||
|
|
||||||
_rPowerDH : REAL;
|
_rPowerDH : REAL;
|
||||||
_fbTONDHCycleTime : TON := (PT := T#15M);
|
_fbTONDHCycleTime : TON := (PT := T#15M);
|
||||||
|
|
||||||
|
// tower light
|
||||||
|
_fbTowerLight : FB_TowerLight;
|
||||||
END_VAR
|
END_VAR
|
||||||
]]></Declaration>
|
]]></Declaration>
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -216,11 +225,16 @@ END_VAR
|
|||||||
_afbStrings[1].Name := 'String 2';
|
_afbStrings[1].Name := 'String 2';
|
||||||
|
|
||||||
_fbEMSHeartbeatAlarm.CreateEx(stEventEntry := TC_EVENTS.BMSEvents.EMSHeartbeatTimeout, TRUE, 0);
|
_fbEMSHeartbeatAlarm.CreateEx(stEventEntry := TC_EVENTS.BMSEvents.EMSHeartbeatTimeout, TRUE, 0);
|
||||||
|
|
||||||
|
_fbNAProtectionAlarm.CreateEx(stEventEntry := TC_EVENTS.BMSEvents.NAProtectionTripped, TRUE, 0);
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Reset error flag
|
// Reset error flag
|
||||||
_xErrorActive := FALSE;
|
_xErrorActive := FALSE;
|
||||||
|
|
||||||
|
// Reset warning flag
|
||||||
|
_xWarningActive := FALSE;
|
||||||
|
|
||||||
// Ack alarms from HMI
|
// Ack alarms from HMI
|
||||||
_xConfirmAlarms := GVL_SCADA.stAckAlarmsButton.xRequest;
|
_xConfirmAlarms := GVL_SCADA.stAckAlarmsButton.xRequest;
|
||||||
IF GVL_SCADA.stAckAlarmsButton.xRequest THEN
|
IF GVL_SCADA.stAckAlarmsButton.xRequest THEN
|
||||||
@@ -298,6 +312,34 @@ END_IF
|
|||||||
|
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.stBitmap.bEStop := (NOT _xEmergencyStopOk) OR _fbEStopNotOk.bRaised OR (_fbEStopNotOk.eConfirmationState <> TcEventConfirmationState.Confirmed);
|
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.stBitmap.bEStop := (NOT _xEmergencyStopOk) OR _fbEStopNotOk.bRaised OR (_fbEStopNotOk.eConfirmationState <> TcEventConfirmationState.Confirmed);
|
||||||
|
|
||||||
|
// ===============================
|
||||||
|
// handle NA Protection
|
||||||
|
// ===============================
|
||||||
|
IF _xConfirmAlarms THEN
|
||||||
|
_xNAProtectionTripped := FALSE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF NOT xNAProtectionOK THEN
|
||||||
|
_xNAProtectionTripped := TRUE;
|
||||||
|
IF NOT _fbNAProtectionAlarm.bRaised THEN
|
||||||
|
_fbNAProtectionAlarm.Raise();
|
||||||
|
END_IF
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _xNAProtectionTripped THEN
|
||||||
|
_xErrorActive := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF xNAProtectionOK AND _fbNAProtectionAlarm.bRaised THEN
|
||||||
|
_fbNAProtectionAlarm.Clear(0, FALSE);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbNAProtectionAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND _xConfirmAlarms THEN
|
||||||
|
_fbNAProtectionAlarm.Confirm(0);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.stBitmap.bNAProtectionTripped := _xNAProtectionTripped;
|
||||||
|
|
||||||
// ===============================
|
// ===============================
|
||||||
// Hardware reset button part 1
|
// Hardware reset button part 1
|
||||||
// ===============================
|
// ===============================
|
||||||
@@ -356,13 +398,17 @@ IF _fbTempCabinetBMS.xWarningHigh THEN
|
|||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetBMSHigh := TRUE;
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetBMSHigh := TRUE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
IF _fbTempCabinetBMS.xWarning THEN
|
||||||
|
_xWarningActive := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
IF _fbTempCabinetBMS.xError THEN
|
IF _fbTempCabinetBMS.xError THEN
|
||||||
_xErrorActive := TRUE;
|
_xErrorActive := TRUE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Call string 1
|
// Call string 1
|
||||||
_afbStrings[0](
|
_afbStrings[0](
|
||||||
xEnable := _xEnableString AND GVL_CONFIG.axStringEnabled[0],
|
xEnable := _xEnableString AND GVL_CONFIG.axStringEnabled[0] AND xNAProtectionOK,
|
||||||
xReleaseInverterPower := _xReleaseInverterPower,
|
xReleaseInverterPower := _xReleaseInverterPower,
|
||||||
uiStringNumber := 0,
|
uiStringNumber := 0,
|
||||||
eOperationMode := _eStringOpMode,
|
eOperationMode := _eStringOpMode,
|
||||||
@@ -378,7 +424,12 @@ _afbStrings[0](
|
|||||||
xReleaseManualMode := _xReleaseManualMode,
|
xReleaseManualMode := _xReleaseManualMode,
|
||||||
xConfirmAlarms:= _xConfirmAlarms,
|
xConfirmAlarms:= _xConfirmAlarms,
|
||||||
xAllToManualMode := _xAllComponentsToManualMode,
|
xAllToManualMode := _xAllComponentsToManualMode,
|
||||||
xResetSafety := xSafetyResterTaster);
|
xResetSafety := xSafetyResterTaster,
|
||||||
|
refuStringErrorsModbus := GVL_MODBUS.stBMSErrorReg.wString1ErrorActive);
|
||||||
|
|
||||||
|
IF _afbStrings[0].xWarning THEN
|
||||||
|
_xWarningActive := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
IF _afbStrings[0].xError THEN
|
IF _afbStrings[0].xError THEN
|
||||||
_xErrorActive := TRUE;
|
_xErrorActive := TRUE;
|
||||||
@@ -396,6 +447,10 @@ _fbTempCabinetSCSString1(
|
|||||||
xReleaseHardwareErrors:= _xReleaseErrors,
|
xReleaseHardwareErrors:= _xReleaseErrors,
|
||||||
xConfirmAlarms:= _xConfirmAlarms,
|
xConfirmAlarms:= _xConfirmAlarms,
|
||||||
stHMIInterface=> GVL_SCADA.stHMIInterface[0].stTempCabinetSCS);
|
stHMIInterface=> GVL_SCADA.stHMIInterface[0].stTempCabinetSCS);
|
||||||
|
|
||||||
|
IF _fbTempCabinetSCSString1.xWarning THEN
|
||||||
|
_xWarningActive := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
IF _fbTempCabinetSCSString1.xError THEN
|
IF _fbTempCabinetSCSString1.xError THEN
|
||||||
_xErrorActive := TRUE;
|
_xErrorActive := TRUE;
|
||||||
@@ -405,7 +460,7 @@ END_IF
|
|||||||
// Handle string 1 modbus error and warning
|
// Handle string 1 modbus error and warning
|
||||||
GVL_MODBUS.stBMSErrorReg.wStringErrorActive.0 := _afbStrings[0].xError;
|
GVL_MODBUS.stBMSErrorReg.wStringErrorActive.0 := _afbStrings[0].xError;
|
||||||
GVL_MODBUS.stBMSErrorReg.wStringWarningActive.0 := _afbStrings[0].xWarning;
|
GVL_MODBUS.stBMSErrorReg.wStringWarningActive.0 := _afbStrings[0].xWarning;
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.stBitmap.bDCSwitchS1 := (NOT _afbStrings[0].xRepairSwitchOk);
|
GVL_MODBUS.stBMSErrorReg.wString1ErrorActive.stBitmap.bDCSwitch := (NOT _afbStrings[0].xRepairSwitchOk);
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bSafetyIntlkString1 := (NOT _afbStrings[0].xSafetyIntlksOk);
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bSafetyIntlkString1 := (NOT _afbStrings[0].xSafetyIntlksOk);
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString1Module1High := _afbStrings[0].xTempCabinetModule1Warning;
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString1Module1High := _afbStrings[0].xTempCabinetModule1Warning;
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString1Module2High := _afbStrings[0].xTempCabinetModule2Warning;
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString1Module2High := _afbStrings[0].xTempCabinetModule2Warning;
|
||||||
@@ -415,7 +470,7 @@ GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetSCSString1High := _
|
|||||||
|
|
||||||
// Call string 2
|
// Call string 2
|
||||||
_afbStrings[1](
|
_afbStrings[1](
|
||||||
xEnable := _xEnableString AND GVL_CONFIG.axStringEnabled[1],
|
xEnable := _xEnableString AND GVL_CONFIG.axStringEnabled[1] AND xNAProtectionOK,
|
||||||
xReleaseInverterPower := _xReleaseInverterPower,
|
xReleaseInverterPower := _xReleaseInverterPower,
|
||||||
uiStringNumber := 1,
|
uiStringNumber := 1,
|
||||||
eOperationMode := _eStringOpMode,
|
eOperationMode := _eStringOpMode,
|
||||||
@@ -431,8 +486,13 @@ _afbStrings[1](
|
|||||||
xReleaseManualMode := _xReleaseManualMode,
|
xReleaseManualMode := _xReleaseManualMode,
|
||||||
xConfirmAlarms:= _xConfirmAlarms,
|
xConfirmAlarms:= _xConfirmAlarms,
|
||||||
xAllToManualMode := _xAllComponentsToManualMode,
|
xAllToManualMode := _xAllComponentsToManualMode,
|
||||||
xResetSafety := xSafetyResterTaster);
|
xResetSafety := xSafetyResterTaster,
|
||||||
|
refuStringErrorsModbus := GVL_MODBUS.stBMSErrorReg.wString2ErrorActive);
|
||||||
|
|
||||||
|
IF _afbStrings[1].xWarning THEN
|
||||||
|
_xWarningActive := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
IF _afbStrings[1].xError THEN
|
IF _afbStrings[1].xError THEN
|
||||||
_xErrorActive := TRUE;
|
_xErrorActive := TRUE;
|
||||||
END_IF
|
END_IF
|
||||||
@@ -450,6 +510,10 @@ _fbTempCabinetSCSString2(
|
|||||||
xConfirmAlarms:= _xConfirmAlarms,
|
xConfirmAlarms:= _xConfirmAlarms,
|
||||||
stHMIInterface=> GVL_SCADA.stHMIInterface[1].stTempCabinetSCS);
|
stHMIInterface=> GVL_SCADA.stHMIInterface[1].stTempCabinetSCS);
|
||||||
|
|
||||||
|
IF _fbTempCabinetSCSString2.xWarning THEN
|
||||||
|
_xWarningActive := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
IF _fbTempCabinetSCSString2.xError THEN
|
IF _fbTempCabinetSCSString2.xError THEN
|
||||||
_xErrorActive := TRUE;
|
_xErrorActive := TRUE;
|
||||||
END_IF
|
END_IF
|
||||||
@@ -457,7 +521,7 @@ END_IF
|
|||||||
// Handle string 1 modbus error and warning
|
// Handle string 1 modbus error and warning
|
||||||
GVL_MODBUS.stBMSErrorReg.wStringErrorActive.1 := _afbStrings[1].xError;
|
GVL_MODBUS.stBMSErrorReg.wStringErrorActive.1 := _afbStrings[1].xError;
|
||||||
GVL_MODBUS.stBMSErrorReg.wStringWarningActive.1 := _afbStrings[1].xWarning;
|
GVL_MODBUS.stBMSErrorReg.wStringWarningActive.1 := _afbStrings[1].xWarning;
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.stBitmap.bDCSwitchS2 := (NOT _afbStrings[1].xRepairSwitchOk);
|
GVL_MODBUS.stBMSErrorReg.wString2ErrorActive.stBitmap.bDCSwitch := (NOT _afbStrings[1].xRepairSwitchOk);
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bSafetyIntlkString2 := (NOT _afbStrings[1].xSafetyIntlksOk);
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bSafetyIntlkString2 := (NOT _afbStrings[1].xSafetyIntlksOk);
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString2Module1High := _afbStrings[1].xTempCabinetModule1Warning;
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString2Module1High := _afbStrings[1].xTempCabinetModule1Warning;
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString2Module2High := _afbStrings[1].xTempCabinetModule2Warning;
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.stBitmap.bTCabinetString2Module2High := _afbStrings[1].xTempCabinetModule2Warning;
|
||||||
@@ -669,7 +733,6 @@ FOR _ui := 0 TO (GVL_CONFIG.uiNumberOfStrings-1) DO
|
|||||||
GVL_MODBUS.stModbusEMSComm.stModbusReg11.diTotalACCurrentPhase3 := GVL_MODBUS.stModbusEMSComm.stModbusReg11.diTotalACCurrentPhase3 + REAL_TO_DINT(_afbStrings[_ui].stInverterData.rActtACPhaseCCurrent);
|
GVL_MODBUS.stModbusEMSComm.stModbusReg11.diTotalACCurrentPhase3 := GVL_MODBUS.stModbusEMSComm.stModbusReg11.diTotalACCurrentPhase3 + REAL_TO_DINT(_afbStrings[_ui].stInverterData.rActtACPhaseCCurrent);
|
||||||
END_FOR
|
END_FOR
|
||||||
|
|
||||||
|
|
||||||
// Set Modbus mirror values
|
// Set Modbus mirror values
|
||||||
GVL_MODBUS.stModbusEMSComm.stModbusReg11.diSetpointActivePowerMirror := GVL_MODBUS.stModbusEMSComm.stModbusReg12.diSetpointActivePower;
|
GVL_MODBUS.stModbusEMSComm.stModbusReg11.diSetpointActivePowerMirror := GVL_MODBUS.stModbusEMSComm.stModbusReg12.diSetpointActivePower;
|
||||||
GVL_MODBUS.stModbusEMSComm.stModbusReg11.rSetpointCosPhiMirror := GVL_MODBUS.stModbusEMSComm.stModbusReg12.rSetpointCosPhi;
|
GVL_MODBUS.stModbusEMSComm.stModbusReg11.rSetpointCosPhiMirror := GVL_MODBUS.stModbusEMSComm.stModbusReg12.rSetpointCosPhi;
|
||||||
@@ -887,7 +950,7 @@ END_IF
|
|||||||
|
|
||||||
|
|
||||||
// Call safety fb
|
// Call safety fb
|
||||||
_fbSafety();
|
_fbSafety(refuStringErrorsModbus := GVL_MODBUS.stBMSErrorReg.wBMSErrorActive);
|
||||||
|
|
||||||
// Check if all modules are in auto mode
|
// Check if all modules are in auto mode
|
||||||
IF _xStringsInAutoMode AND _fbNoAutomaticModeAlarm.bRaised THEN
|
IF _xStringsInAutoMode AND _fbNoAutomaticModeAlarm.bRaised THEN
|
||||||
@@ -909,10 +972,19 @@ END_IF
|
|||||||
IF _xConfirmAlarms OR _rtHardwareResetButton.Q THEN
|
IF _xConfirmAlarms OR _rtHardwareResetButton.Q THEN
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.wRegister := 0;
|
GVL_MODBUS.stBMSErrorReg.wBMSErrorActive.wRegister := 0;
|
||||||
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.wRegister := 0;
|
GVL_MODBUS.stBMSErrorReg.wBMSWarningActive.wRegister := 0;
|
||||||
|
GVL_MODBUS.stBMSErrorReg.wString1ErrorActive.wRegister := 0;
|
||||||
|
GVL_MODBUS.stBMSErrorReg.wString2ErrorActive.wRegister := 0;
|
||||||
_xConfirmAlarms := FALSE;
|
_xConfirmAlarms := FALSE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
_fbPowerMeter24V();]]></ST>
|
_fbPowerMeter24V();
|
||||||
|
|
||||||
|
_fbTowerLight(
|
||||||
|
xAutoInStop := FALSE,
|
||||||
|
xWarningActive := FALSE,
|
||||||
|
xWarningConfirmPending := FALSE,
|
||||||
|
xErrorActive := _xErrorActive,
|
||||||
|
xErrorConfirmPending := FALSE);]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
<Action Name="SM_AUTO" Id="{b5166e16-4fea-442b-9560-02c156f9a9ad}">
|
<Action Name="SM_AUTO" Id="{b5166e16-4fea-442b-9560-02c156f9a9ad}">
|
||||||
<Implementation>
|
<Implementation>
|
||||||
@@ -924,7 +996,8 @@ _fbPowerMeter24V();]]></ST>
|
|||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Wait for power command
|
// Wait for power command
|
||||||
IF (ABS(_rAutoPowerRequest) > DINT_TO_REAL(GVL_CONFIG.diMinimumAbsPowerForEnable)) AND (NOT _xStringsErrorActive) AND _xStringsAllInAutomaticMode AND (NOT _xEMSHeartbeatNotOK) THEN
|
IF ((ABS(_rAutoPowerRequest) > DINT_TO_REAL(GVL_CONFIG.diMinimumAbsPowerForEnable)) OR GVL_MODBUS.stModbusEMSComm.stModbusReg12.wBMSControlsRegister.stBitmap.bScheduleActive)
|
||||||
|
AND (NOT _xStringsErrorActive) AND _xStringsAllInAutomaticMode AND (NOT _xEMSHeartbeatNotOK) THEN
|
||||||
_iState := 5;
|
_iState := 5;
|
||||||
_xReleaseInverterPower := FALSE;
|
_xReleaseInverterPower := FALSE;
|
||||||
_xCanChangeMode := FALSE;
|
_xCanChangeMode := FALSE;
|
||||||
@@ -932,8 +1005,8 @@ _fbPowerMeter24V();]]></ST>
|
|||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
5: // Check if power command is within limits
|
5: // Check if power command is within limits
|
||||||
IF _rAutoPowerRequest < DINT_TO_REAL(GVL_CONFIG.diMaxStringDischargePower)
|
IF _rAutoPowerRequest <= DINT_TO_REAL(GVL_CONFIG.diMaxStringDischargePower)
|
||||||
AND _rAutoPowerRequest > DINT_TO_REAL(GVL_CONFIG.diMaxStringChargingPower) THEN
|
AND _rAutoPowerRequest >= DINT_TO_REAL(GVL_CONFIG.diMaxStringChargingPower) THEN
|
||||||
_xEnableString := TRUE;
|
_xEnableString := TRUE;
|
||||||
_xStartBalancing := FALSE;
|
_xStartBalancing := FALSE;
|
||||||
_iState := 10;
|
_iState := 10;
|
||||||
@@ -981,7 +1054,7 @@ _fbPowerMeter24V();]]></ST>
|
|||||||
_xReleaseInverterPower := TRUE;
|
_xReleaseInverterPower := TRUE;
|
||||||
|
|
||||||
// Check if the battery should still be active
|
// Check if the battery should still be active
|
||||||
IF (_rAutoPowerRequest = 0.0) THEN
|
IF (_rAutoPowerRequest = 0.0) AND NOT GVL_MODBUS.stModbusEMSComm.stModbusReg12.wBMSControlsRegister.stBitmap.bScheduleActive THEN
|
||||||
_xNoPowerRequested := TRUE;
|
_xNoPowerRequested := TRUE;
|
||||||
ELSE
|
ELSE
|
||||||
_xNoPowerRequested := FALSE;
|
_xNoPowerRequested := FALSE;
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ VAR
|
|||||||
_fbReadACValues : FB_MBReadRegs;
|
_fbReadACValues : FB_MBReadRegs;
|
||||||
|
|
||||||
// Time for polling for current dc values and check for inverter error
|
// Time for polling for current dc values and check for inverter error
|
||||||
_timPollingDelay : TIME := T#500MS;
|
_timPollingDelay : TIME := T#1S;
|
||||||
|
|
||||||
// Time for setting the current power
|
// Time for setting the current power
|
||||||
_timSetPowerDelay : TIME := T#250MS;
|
_timSetPowerDelay : TIME := T#250MS;
|
||||||
@@ -101,6 +101,12 @@ VAR
|
|||||||
// Inverter alarm
|
// Inverter alarm
|
||||||
_fbErrorInverterAlarm : FB_TcAlarm;
|
_fbErrorInverterAlarm : FB_TcAlarm;
|
||||||
|
|
||||||
|
// Error when reading cyclic data
|
||||||
|
_fbCyclicDataAlarm : FB_TcAlarm;
|
||||||
|
|
||||||
|
// Error when reading heartbeat
|
||||||
|
_fbHeartBeatAlarm : FB_TcAlarm;
|
||||||
|
|
||||||
// Flag if battery limits have been set
|
// Flag if battery limits have been set
|
||||||
_xBatteryLimitsSet : BOOL := FALSE;
|
_xBatteryLimitsSet : BOOL := FALSE;
|
||||||
|
|
||||||
@@ -143,12 +149,48 @@ VAR
|
|||||||
// Current PCU state and alarm messages
|
// Current PCU state and alarm messages
|
||||||
_stPCUState : ST_KACU_PCU;
|
_stPCUState : ST_KACU_PCU;
|
||||||
|
|
||||||
|
// Current PCU cabinet temperature
|
||||||
|
_iCabTemp : INT;
|
||||||
|
|
||||||
|
// Current PCU state and alarm messages
|
||||||
|
_stPCUStateDebug : ST_KACU_PCU;
|
||||||
|
|
||||||
|
// Current PCU state and alarm messages
|
||||||
|
_stPCUStateDebug2 : ST_KACU_PCU;
|
||||||
|
|
||||||
|
_iCurrentErrorCountHB : UDINT := 0; // Error count since last successfull read on writeRequestedState
|
||||||
|
_iErrorCountHB : UDINT := 0; // Total error count on writeRequestedState
|
||||||
|
_iErrorIDHB : UDINT := 0; // Error ID on writeRequestedState
|
||||||
|
_iCurrentErrorCountWRS : UDINT := 0; // Error count since last successfull read on writeRequestedState
|
||||||
|
_iErrorCountWRS : UDINT := 0; // Total error count on writeRequestedState
|
||||||
|
_iErrorIDWRS : UDINT := 0; // Error ID on writeRequestedState
|
||||||
|
_iCurrentErrorCountWPC : UDINT := 0; // Error count since last successfull read on writePowerCommand
|
||||||
|
_iErrorCountWPC : UDINT := 0; // Total error count on writePowerCommand
|
||||||
|
_iErrorIDWPC : UDINT := 0; // Error ID on writePowerCommand
|
||||||
|
_iCurrentErrorCountRCS : UDINT := 0; // Error count since last successfull read on readCurrentState
|
||||||
|
_iErrorCountRCS : UDINT := 0; // Total error count on readCurrentState
|
||||||
|
_iErrorIDRCS : UDINT := 0; // Error ID on readCurrentState
|
||||||
|
_iCurrentErrorCountRPCUS : UDINT := 0; // Error count since last successfull read on readPCUState
|
||||||
|
_iErrorCountRPCUS : UDINT := 0; // Total error count on readPCUState
|
||||||
|
_iErrorIDRPCUS : UDINT := 0; // Error ID on readPCUState
|
||||||
|
_iErrorCountRDCV : UDINT := 0; // Total error count on readDCValues
|
||||||
|
_iErrorIDRDCV : UDINT := 0; // Error ID on readDCValues
|
||||||
|
_iErrorCountRACV : UDINT := 0; // Total error count on readACValues
|
||||||
|
_iErrorIDRACV : UDINT := 0; // Error ID on readACValues
|
||||||
|
_xResetCounter : BOOL := FALSE; // Reset error counter
|
||||||
|
|
||||||
// Error during cyclic reading
|
// Error during cyclic reading
|
||||||
_xErrorCyclicData : BOOL;
|
_xErrorCyclicData : BOOL;
|
||||||
|
_xErrorCyclicDataLedge : BOOL; // cyclic data ledge
|
||||||
|
|
||||||
|
_xHeartBeatNOK : BOOL; // heartbeat error ledge
|
||||||
|
|
||||||
// Internal inverter error
|
// Internal inverter error
|
||||||
_xErrorInverter : BOOL;
|
_xErrorInverter : BOOL;
|
||||||
|
|
||||||
|
// Inverterfault (introduced by NA-Schutz)
|
||||||
|
_xFaultInverter : BOOL;
|
||||||
|
|
||||||
// Inverter name for alarm message
|
// Inverter name for alarm message
|
||||||
_sName : STRING;
|
_sName : STRING;
|
||||||
END_VAR
|
END_VAR
|
||||||
@@ -331,7 +373,7 @@ CASE _iState OF
|
|||||||
|
|
||||||
// Dont set inverter into off state when an internal error occured
|
// Dont set inverter into off state when an internal error occured
|
||||||
// because this will reset the error message
|
// because this will reset the error message
|
||||||
IF _xErrorInverter THEN
|
IF _xErrorInverter OR _xErrorCyclicData OR (NOT xHeartbeatOk) THEN
|
||||||
_iWSetPct := 0;
|
_iWSetPct := 0;
|
||||||
_iState := 1000;
|
_iState := 1000;
|
||||||
END_IF
|
END_IF
|
||||||
@@ -341,9 +383,12 @@ CASE _iState OF
|
|||||||
_iState := 1001;
|
_iState := 1001;
|
||||||
|
|
||||||
1001: // Error state, wait for reset
|
1001: // Error state, wait for reset
|
||||||
IF xReset AND (NOT xEnable) AND (NOT _xErrorCyclicData) AND (NOT _xErrorInverter) THEN
|
IF xReset AND (NOT xEnable) AND (NOT _xErrorInverter) AND (NOT _xErrorCyclicData) AND xHeartbeatOk THEN
|
||||||
_eRequestedState := OFF;
|
_eRequestedState := OFF;
|
||||||
xError := FALSE;
|
xError := FALSE;
|
||||||
|
_xFaultInverter := FALSE;
|
||||||
|
_xErrorCyclicDataLedge := FALSE;
|
||||||
|
_xHeartBeatNOK := FALSE;
|
||||||
_iState := 0;
|
_iState := 0;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
@@ -382,18 +427,44 @@ END_VAR]]></Declaration>
|
|||||||
|
|
||||||
// Create inverter main alarm
|
// Create inverter main alarm
|
||||||
_fbErrorInverterAlarm.CreateEx(stEventEntry := TC_EVENTS.Inverter.InverterError, bWithConfirmation := TRUE, 0);
|
_fbErrorInverterAlarm.CreateEx(stEventEntry := TC_EVENTS.Inverter.InverterError, bWithConfirmation := TRUE, 0);
|
||||||
_fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
_fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);
|
||||||
|
|
||||||
|
// Create inverter heartbeat alarm
|
||||||
|
_fbHeartBeatAlarm.CreateEx(stEventEntry := TC_EVENTS.Inverter.InverterHeartbeatError, bWithConfirmation := TRUE, 0);
|
||||||
|
_fbHeartBeatAlarm.ipArguments.Clear().AddString(_sName);
|
||||||
|
|
||||||
|
// Create inverter cyclic data alarm
|
||||||
|
_fbCyclicDataAlarm.CreateEx(stEventEntry := TC_EVENTS.Inverter.InverterCyclicError, bWithConfirmation := TRUE, 0);
|
||||||
|
_fbCyclicDataAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
||||||
</Implementation>
|
</Implementation>
|
||||||
</Method>
|
</Method>
|
||||||
<Action Name="HandleCyclicData" Id="{4343583a-b80a-437e-8fc8-9963ab894fbc}">
|
<Action Name="HandleCyclicData" Id="{4343583a-b80a-437e-8fc8-9963ab894fbc}">
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[// Reset error flags on reset command
|
<ST><![CDATA[IF _xResetCounter THEN
|
||||||
IF _xErrorCyclicData AND xReset THEN
|
_xResetCounter := FALSE;
|
||||||
_xErrorCyclicData := FALSE;
|
_iCurrentErrorCountHB := 0;
|
||||||
|
_iErrorCountHB := 0;
|
||||||
|
_iErrorIDHB := 0;
|
||||||
|
_iCurrentErrorCountWRS := 0;
|
||||||
|
_iErrorCountWRS := 0;
|
||||||
|
_iErrorIDWRS := 0;
|
||||||
|
_iCurrentErrorCountWPC := 0;
|
||||||
|
_iErrorCountWPC := 0;
|
||||||
|
_iErrorIDWPC := 0;
|
||||||
|
_iCurrentErrorCountRCS := 0;
|
||||||
|
_iErrorCountRCS := 0;
|
||||||
|
_iErrorIDRCS := 0;
|
||||||
|
_iCurrentErrorCountRPCUS := 0;
|
||||||
|
_iErrorCountRPCUS := 0;
|
||||||
|
_iErrorIDRPCUS := 0;
|
||||||
|
_iErrorCountRDCV := 0;
|
||||||
|
_iErrorIDRDCV := 0;
|
||||||
|
_iErrorCountRACV := 0;
|
||||||
|
_iErrorIDRACV := 0;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Fetch cyclic data with polling timer
|
// Fetch cyclic data with polling timer
|
||||||
_tonPollingTimer(IN := TRUE);
|
_tonPollingTimer(IN := TRUE, PT := _timPollingDelay);
|
||||||
|
|
||||||
// Write requested state
|
// Write requested state
|
||||||
_fbWriteRequestedState(
|
_fbWriteRequestedState(
|
||||||
@@ -408,8 +479,14 @@ _fbWriteRequestedState(
|
|||||||
bError=> ,
|
bError=> ,
|
||||||
nErrId=> );
|
nErrId=> );
|
||||||
|
|
||||||
IF (NOT _fbWriteRequestedState.bBusy) AND _fbWriteRequestedState.bError THEN
|
IF (NOT _fbWriteRequestedState.bBusy) THEN
|
||||||
_xErrorCyclicData := TRUE;
|
IF _fbWriteRequestedState.bError THEN
|
||||||
|
_iCurrentErrorCountWRS := _iCurrentErrorCountWRS + 1;
|
||||||
|
_iErrorCountWRS := _iErrorCountWRS + 1;
|
||||||
|
_iErrorIDWRS := _fbWriteRequestedState.nErrId;
|
||||||
|
ELSE
|
||||||
|
_iCurrentErrorCountWRS := 0;
|
||||||
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
@@ -428,8 +505,14 @@ _fbWritePowerCommand(
|
|||||||
bError=> ,
|
bError=> ,
|
||||||
nErrId=> );
|
nErrId=> );
|
||||||
|
|
||||||
IF (NOT _fbWritePowerCommand.bBusy) AND _fbWritePowerCommand.bError THEN
|
IF (NOT _fbWritePowerCommand.bBusy) THEN
|
||||||
_xErrorCyclicData := TRUE;
|
IF _fbWritePowerCommand.bError THEN
|
||||||
|
_iCurrentErrorCountWPC := _iCurrentErrorCountWPC + 1;
|
||||||
|
_iErrorCountWPC := _iErrorCountWPC + 1;
|
||||||
|
_iErrorIDWPC := _fbWritePowerCommand.nErrId;
|
||||||
|
ELSE
|
||||||
|
_iCurrentErrorCountWPC := 0;
|
||||||
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
|
||||||
@@ -449,8 +532,14 @@ _fbReadCurrentState(
|
|||||||
nErrId=> ,
|
nErrId=> ,
|
||||||
cbRead=> );
|
cbRead=> );
|
||||||
|
|
||||||
IF (NOT _fbReadCurrentState.bBusy) AND _fbReadCurrentState.bError THEN
|
IF (NOT _fbReadCurrentState.bBusy) THEN
|
||||||
_xErrorCyclicData := TRUE;
|
IF _fbReadCurrentState.bError THEN
|
||||||
|
_iCurrentErrorCountRCS := _iCurrentErrorCountRCS + 1;
|
||||||
|
_iErrorCountRCS := _iErrorCountRCS + 1;
|
||||||
|
_iErrorIDRCS := _fbReadCurrentState.nErrId;
|
||||||
|
ELSE
|
||||||
|
_iCurrentErrorCountRCS := 0;
|
||||||
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF _eCurrentState = E_KACO_CURRENT_STATE.GRID_CONNECTED OR _eCurrentState = E_KACO_CURRENT_STATE.THROTTLED THEN
|
IF _eCurrentState = E_KACO_CURRENT_STATE.GRID_CONNECTED OR _eCurrentState = E_KACO_CURRENT_STATE.THROTTLED THEN
|
||||||
@@ -476,16 +565,35 @@ _fbReadPCUState(
|
|||||||
nErrId=> ,
|
nErrId=> ,
|
||||||
cbRead=> );
|
cbRead=> );
|
||||||
|
|
||||||
IF (NOT _fbReadPCUState.bBusy) AND _fbReadPCUState.bError THEN
|
IF (NOT _fbReadPCUState.bBusy) THEN
|
||||||
_xErrorCyclicData := TRUE;
|
IF _fbReadPCUState.bError THEN
|
||||||
|
_iCurrentErrorCountRPCUS := _iCurrentErrorCountRPCUS + 1;
|
||||||
|
_iErrorCountRPCUS := _iErrorCountRPCUS + 1;
|
||||||
|
_iErrorIDRPCUS := _fbReadPCUState.nErrId;
|
||||||
|
IF _iCurrentErrorCountRPCUS >= GVL_CONFIG.udiMaxConsecutiveInvError THEN
|
||||||
|
_xErrorCyclicData := TRUE;
|
||||||
|
END_IF
|
||||||
|
ELSE
|
||||||
|
_iCurrentErrorCountRPCUS := 0;
|
||||||
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF (_stPCUState.ePCUState = E_KACO_PCU_STATE.ERROR) OR (_stPCUState.ePCUError <> E_KACO_PCU_ERROR.NO_EVENT) THEN
|
IF ((_stPCUState.ePCUState = E_KACO_PCU_STATE.ERROR) OR (_stPCUState.ePCUError <> E_KACO_PCU_ERROR.NO_EVENT)) AND (_stPCUState.ePCUError <> 11) THEN
|
||||||
_xErrorInverter := TRUE;
|
// ignore undervoltage error when not enabled
|
||||||
|
_stPCUStateDebug := _stPCUState;
|
||||||
|
IF NOT xReleasePower AND _stPCUState.ePCUError = E_KACO_PCU_ERROR.UNDER_VOLT THEN
|
||||||
|
_xErrorInverter := FALSE;
|
||||||
|
ELSE
|
||||||
|
_xErrorInverter := TRUE;
|
||||||
|
_stPCUStateDebug2 := _stPCUState;
|
||||||
|
END_IF
|
||||||
ELSE
|
ELSE
|
||||||
_xErrorInverter := FALSE;
|
_xErrorInverter := FALSE;
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
IF _eCurrentState = E_KACO_CURRENT_STATE.FAULT AND xReleasePower THEN
|
||||||
|
_xErrorInverter := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
// Read current dc values
|
// Read current dc values
|
||||||
_fbReadDCValues(
|
_fbReadDCValues(
|
||||||
@@ -516,6 +624,8 @@ IF (NOT _fbReadDCValues.bBusy) THEN
|
|||||||
stCurrentValues.rActDCCurrent := 0.0;
|
stCurrentValues.rActDCCurrent := 0.0;
|
||||||
stCurrentValues.rActDCVoltage := 0.0;
|
stCurrentValues.rActDCVoltage := 0.0;
|
||||||
stCurrentValues.rActDCPower := 0.0;
|
stCurrentValues.rActDCPower := 0.0;
|
||||||
|
_iErrorCountRDCV := _iErrorCountRDCV + 1;
|
||||||
|
_iErrorIDRDCV := _fbReadDCValues.nErrId;
|
||||||
END_IF
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
@@ -561,9 +671,39 @@ IF (NOT _fbReadACValues.bBusy) THEN
|
|||||||
stCurrentValues.rActApparentPower := 0.0;
|
stCurrentValues.rActApparentPower := 0.0;
|
||||||
stCurrentValues.rActReactivePower := 0.0;
|
stCurrentValues.rActReactivePower := 0.0;
|
||||||
stCurrentValues.rActPowerFactor := 0.0;
|
stCurrentValues.rActPowerFactor := 0.0;
|
||||||
|
_iErrorCountRACV := _iErrorCountRACV + 1;
|
||||||
|
_iErrorIDRACV := _fbReadACValues.nErrId;
|
||||||
END_IF
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
|
IF _iCurrentErrorCountRPCUS >= GVL_CONFIG.udiMaxConsecutiveInvError OR
|
||||||
|
_iCurrentErrorCountRCS >= GVL_CONFIG.udiMaxConsecutiveInvError OR
|
||||||
|
_iCurrentErrorCountWPC >= GVL_CONFIG.udiMaxConsecutiveInvError OR
|
||||||
|
_iCurrentErrorCountWRS >= GVL_CONFIG.udiMaxConsecutiveInvError OR
|
||||||
|
_iCurrentErrorCountHB >= GVL_CONFIG.udiMaxConsecutiveInvError THEN
|
||||||
|
_xErrorCyclicData := TRUE;
|
||||||
|
ELSE
|
||||||
|
_xErrorCyclicData := FALSE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// set fault flag when error active
|
||||||
|
IF _xErrorCyclicData THEN
|
||||||
|
_xErrorCyclicDataLedge := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// handle alarm
|
||||||
|
IF _xErrorCyclicData AND NOT _fbCyclicDataAlarm.bRaised THEN
|
||||||
|
_fbCyclicDataAlarm.Raise();
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF NOT _xErrorCyclicData AND _fbCyclicDataAlarm.bRaised THEN
|
||||||
|
_fbCyclicDataAlarm.Clear(0, FALSE);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbCyclicDataAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xReset THEN
|
||||||
|
_fbCyclicDataAlarm.Confirm(0);
|
||||||
|
END_IF
|
||||||
|
|
||||||
// Reset polling timer
|
// Reset polling timer
|
||||||
IF _tonPollingTimer.Q THEN
|
IF _tonPollingTimer.Q THEN
|
||||||
_tonPollingTimer(IN := FALSE);
|
_tonPollingTimer(IN := FALSE);
|
||||||
@@ -572,12 +712,7 @@ END_IF]]></ST>
|
|||||||
</Action>
|
</Action>
|
||||||
<Action Name="HandleHeartbeat" Id="{eeb5f65a-fd91-4c22-ab2e-3080c24e87fb}">
|
<Action Name="HandleHeartbeat" Id="{eeb5f65a-fd91-4c22-ab2e-3080c24e87fb}">
|
||||||
<Implementation>
|
<Implementation>
|
||||||
<ST><![CDATA[// Reset hearbeat signal only with reset signal
|
<ST><![CDATA[// Self resetting watchdog timer
|
||||||
IF (NOT xHeartbeatOk) AND xReset THEN
|
|
||||||
xHeartbeatOk := TRUE;
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
// Self resetting watchdog timer
|
|
||||||
_tonWatchdogResetTimer(IN := TRUE);
|
_tonWatchdogResetTimer(IN := TRUE);
|
||||||
|
|
||||||
// Timeout should be less than timer interval
|
// Timeout should be less than timer interval
|
||||||
@@ -595,9 +730,37 @@ _fbWriteHearbeatRegister(
|
|||||||
|
|
||||||
// Because there is no heartbeat register to read,
|
// Because there is no heartbeat register to read,
|
||||||
// we will use a successfull write as a valid heartbeat signal
|
// we will use a successfull write as a valid heartbeat signal
|
||||||
IF _fbWriteHearbeatRegister.bError THEN
|
IF NOT _fbWriteHearbeatRegister.bBusy THEN
|
||||||
xHeartbeatOk := FALSE;
|
IF _fbWriteHearbeatRegister.bError THEN
|
||||||
xError := TRUE;
|
_iCurrentErrorCountHB := _iCurrentErrorCountHB + 1;
|
||||||
|
_iErrorCountHB := _iErrorCountHB + 1;
|
||||||
|
_iErrorIDHB := _fbWriteHearbeatRegister.nErrId;
|
||||||
|
IF _iCurrentErrorCountHB >= GVL_CONFIG.udiMaxConsecutiveInvError THEN
|
||||||
|
xHeartbeatOk := FALSE;
|
||||||
|
xError := TRUE;
|
||||||
|
END_IF
|
||||||
|
ELSE
|
||||||
|
_iCurrentErrorCountHB := 0;
|
||||||
|
xHeartbeatOk := TRUE;
|
||||||
|
END_IF
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// set fault flag when error active
|
||||||
|
IF NOT xHeartbeatOk THEN
|
||||||
|
_xHeartBeatNOK := TRUE;
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
// handle alarm
|
||||||
|
IF NOT xHeartbeatOk AND NOT _fbHeartBeatAlarm.bRaised THEN
|
||||||
|
_fbHeartBeatAlarm.Raise();
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF xHeartbeatOk AND _fbHeartBeatAlarm.bRaised THEN
|
||||||
|
_fbHeartBeatAlarm.Clear(0, FALSE);
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
IF _fbHeartBeatAlarm.eConfirmationState = TcEventConfirmationState.WaitForConfirmation AND xReset THEN
|
||||||
|
_fbHeartBeatAlarm.Confirm(0);
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
// Reset timer
|
// Reset timer
|
||||||
@@ -640,7 +803,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbReadRegisters(
|
_fbReadRegisters(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 2,
|
nQuantity:= 2,
|
||||||
nMBAddr:= BATTERY_LIMIT_SF_START,
|
nMBAddr:= BATTERY_LIMIT_SF_START,
|
||||||
cbLength:= SIZEOF(_arBattScalingFactors),
|
cbLength:= SIZEOF(_arBattScalingFactors),
|
||||||
@@ -668,7 +831,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbWriteRegisters(
|
_fbWriteRegisters(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 6,
|
nQuantity:= 6,
|
||||||
nMBAddr:= BATTERY_SET_LIMITS_START,
|
nMBAddr:= BATTERY_SET_LIMITS_START,
|
||||||
cbLength:= SIZEOF(_auiBatteryLimitValues),
|
cbLength:= SIZEOF(_auiBatteryLimitValues),
|
||||||
@@ -695,7 +858,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbWriteRegister(
|
_fbWriteRegister(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 1,
|
nQuantity:= 1,
|
||||||
nMBAddr:= DIS_MIN_V,
|
nMBAddr:= DIS_MIN_V,
|
||||||
cbLength:= SIZEOF(uiMinDisVoltage),
|
cbLength:= SIZEOF(uiMinDisVoltage),
|
||||||
@@ -723,7 +886,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbWriteRegister(
|
_fbWriteRegister(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 1,
|
nQuantity:= 1,
|
||||||
nMBAddr:= CHA_MAX_V,
|
nMBAddr:= CHA_MAX_V,
|
||||||
cbLength:= SIZEOF(uiMaxChaVoltage),
|
cbLength:= SIZEOF(uiMaxChaVoltage),
|
||||||
@@ -751,7 +914,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbWriteRegister(
|
_fbWriteRegister(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 1,
|
nQuantity:= 1,
|
||||||
nMBAddr:= CHA_MAX_A,
|
nMBAddr:= CHA_MAX_A,
|
||||||
cbLength:= SIZEOF(uiMaxChaCurrent),
|
cbLength:= SIZEOF(uiMaxChaCurrent),
|
||||||
@@ -779,7 +942,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbWriteRegister(
|
_fbWriteRegister(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 1,
|
nQuantity:= 1,
|
||||||
nMBAddr:= DIS_MAX_A,
|
nMBAddr:= DIS_MAX_A,
|
||||||
cbLength:= SIZEOF(uiMaxDisCurrent),
|
cbLength:= SIZEOF(uiMaxDisCurrent),
|
||||||
@@ -808,7 +971,7 @@ _fbErrorInverterAlarm.ipArguments.Clear().AddString(_sName);]]></ST>
|
|||||||
_fbWriteRegisters(
|
_fbWriteRegisters(
|
||||||
sIPAddr:= sInverterIPAddr,
|
sIPAddr:= sInverterIPAddr,
|
||||||
nTCPPort:= 502,
|
nTCPPort:= 502,
|
||||||
nUnitID:= 16#FF, // 16#FF for Modbus TCP
|
nUnitID:= 16#01, // 16#FF for Modbus TCP
|
||||||
nQuantity:= 1,
|
nQuantity:= 1,
|
||||||
nMBAddr:= EN_LIMIT,
|
nMBAddr:= EN_LIMIT,
|
||||||
cbLength:= SIZEOF(_uiEnableLimit),
|
cbLength:= SIZEOF(_uiEnableLimit),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<SafetyDeviceDesc Crc="894178923" FileFormatVersion="1.8">
|
<SafetyDeviceDesc Crc="2701968244" FileFormatVersion="1.9">
|
||||||
<AliasDeviceType>
|
<AliasDeviceType>
|
||||||
<Type>16</Type>
|
<Type>16</Type>
|
||||||
<SubType>0</SubType>
|
<SubType>0</SubType>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<DynPortSafeAddress Type="Unset" />
|
<DynPortSafeAddress Type="Unset" />
|
||||||
<Watchdog>100</Watchdog>
|
<Watchdog>100</Watchdog>
|
||||||
<ComErrAck Type="Unset" />
|
<ComErrAck Type="Unset" />
|
||||||
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="190853202" CustomFSoEConnectionId="abaabd0a-ce90-4f58-aa2b-1505f1e3352d">
|
<Messages InputMessageSize="6" OutputMessageSize="6" Tc2ConnectionType="452853760" CustomFSoEConnectionId="abaabd0a-ce90-4f58-aa2b-1505f1e3352d">
|
||||||
<IO>
|
<IO>
|
||||||
<Name>FSoE Cmd</Name>
|
<Name>FSoE Cmd</Name>
|
||||||
<DataType>USINT</DataType>
|
<DataType>USINT</DataType>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<MultiSetting Crc="3276432870" Version="1.2">
|
<MultiSetting Crc="1463580335" Version="1.2">
|
||||||
<ProjectData>
|
<ProjectData>
|
||||||
<Id>1</Id>
|
<Id>1</Id>
|
||||||
<TargetSystem>
|
<TargetSystem>
|
||||||
@@ -154,6 +154,9 @@
|
|||||||
<SubType>EL2912</SubType>
|
<SubType>EL2912</SubType>
|
||||||
<ObjectId>50462856</ObjectId>
|
<ObjectId>50462856</ObjectId>
|
||||||
<SafeAddress>28</SafeAddress>
|
<SafeAddress>28</SafeAddress>
|
||||||
|
<Customizing>
|
||||||
|
<Group Id="87605930-f4c2-4c12-816d-f0103cb2103d" Value="3" />
|
||||||
|
</Customizing>
|
||||||
</TargetSystem>
|
</TargetSystem>
|
||||||
<SafetyAliasDevice>
|
<SafetyAliasDevice>
|
||||||
<SdsId>36</SdsId>
|
<SdsId>36</SdsId>
|
||||||
|
|||||||
@@ -1,22 +1,25 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TargetSystemConfig Crc="355341850" Version="1.5">
|
<TargetSystemConfig Crc="1072418847" Version="1.5">
|
||||||
<TargetSystemType>HSafetyPLC</TargetSystemType>
|
<TargetSystemType>HSafetyPLC</TargetSystemType>
|
||||||
<TargetSystemSubType>EL2912</TargetSystemSubType>
|
<TargetSystemSubType>EL2912</TargetSystemSubType>
|
||||||
<IsExternalDevice>false</IsExternalDevice>
|
<IsExternalDevice>false</IsExternalDevice>
|
||||||
<TargetSystemObjectId>50462744</TargetSystemObjectId>
|
<TargetSystemObjectId>50462744</TargetSystemObjectId>
|
||||||
<TargetSystemObjectName>=STRNG01-15K1 (EL2912)</TargetSystemObjectName>
|
<TargetSystemObjectName>=STRNG01-15K1 (EL2912)</TargetSystemObjectName>
|
||||||
<SoftwareVersion />
|
<SoftwareVersion>01 (V01.04) </SoftwareVersion>
|
||||||
<SerialNumber />
|
<SerialNumber>4210722</SerialNumber>
|
||||||
<ProjectCRC>6170</ProjectCRC>
|
<ProjectCRC>17348</ProjectCRC>
|
||||||
<MapProjectCRC>false</MapProjectCRC>
|
<MapProjectCRC>false</MapProjectCRC>
|
||||||
<MapSerialNumber>false</MapSerialNumber>
|
<MapSerialNumber>false</MapSerialNumber>
|
||||||
<VersionNumber>1</VersionNumber>
|
<VersionNumber>1</VersionNumber>
|
||||||
<FSOEAddress>5</FSOEAddress>
|
<FSOEAddress>5</FSOEAddress>
|
||||||
<DipSwitch />
|
<DipSwitch>5</DipSwitch>
|
||||||
<AmsNetID>10.103.32.50.2.1</AmsNetID>
|
<AmsNetID>10.103.32.50.2.1</AmsNetID>
|
||||||
<AmsPort>1018</AmsPort>
|
<AmsPort>1019</AmsPort>
|
||||||
<ConnectionInfoDataConfigOld>false</ConnectionInfoDataConfigOld>
|
<ConnectionInfoDataConfigOld>false</ConnectionInfoDataConfigOld>
|
||||||
<TakeOverSafetyAliasDeviceNamesInProcessImage>true</TakeOverSafetyAliasDeviceNamesInProcessImage>
|
<TakeOverSafetyAliasDeviceNamesInProcessImage>true</TakeOverSafetyAliasDeviceNamesInProcessImage>
|
||||||
<TakeOverStandardAliasDeviceNamesInProcessImage>true</TakeOverStandardAliasDeviceNamesInProcessImage>
|
<TakeOverStandardAliasDeviceNamesInProcessImage>true</TakeOverStandardAliasDeviceNamesInProcessImage>
|
||||||
<BackupRestore Needed="0" Activated="false" RestoreUserAdministration="false" />
|
<BackupRestore Needed="0" Activated="false" RestoreUserAdministration="false" />
|
||||||
|
<Customizing>
|
||||||
|
<Group Id="87605930-f4c2-4c12-816d-f0103cb2103d" Value="3" />
|
||||||
|
</Customizing>
|
||||||
</TargetSystemConfig>
|
</TargetSystemConfig>
|
||||||
1238
Uniper.tsproj
1238
Uniper.tsproj
File diff suppressed because it is too large
Load Diff
@@ -66,7 +66,7 @@
|
|||||||
</Hides>
|
</Hides>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{533FD64E-DB47-4CEE-B1FE-56FF11855B32}">BMSEvents</Name>
|
<Name GUID="{38B06309-F943-4A07-B886-7794168DA12C}">BMSEvents</Name>
|
||||||
<DisplayName TxtId=""><![CDATA[String event class]]></DisplayName>
|
<DisplayName TxtId=""><![CDATA[String event class]]></DisplayName>
|
||||||
<EventId>
|
<EventId>
|
||||||
<Name Id="1">NotAllCompInAuto</Name>
|
<Name Id="1">NotAllCompInAuto</Name>
|
||||||
@@ -138,6 +138,11 @@
|
|||||||
<DisplayName TxtId=""><![CDATA[Lost connection to EMS]]></DisplayName>
|
<DisplayName TxtId=""><![CDATA[Lost connection to EMS]]></DisplayName>
|
||||||
<Severity>Error</Severity>
|
<Severity>Error</Severity>
|
||||||
</EventId>
|
</EventId>
|
||||||
|
<EventId>
|
||||||
|
<Name Id="15">NAProtectionTripped</Name>
|
||||||
|
<DisplayName TxtId=""><![CDATA[NAProtection tripped]]></DisplayName>
|
||||||
|
<Severity>Error</Severity>
|
||||||
|
</EventId>
|
||||||
<Hides>
|
<Hides>
|
||||||
<Hide GUID="{1D326C00-DF37-4B94-8E0D-C22524EB2E89}"/>
|
<Hide GUID="{1D326C00-DF37-4B94-8E0D-C22524EB2E89}"/>
|
||||||
<Hide GUID="{E7132508-795D-4A6C-AFB1-FED6C1DE44FD}"/>
|
<Hide GUID="{E7132508-795D-4A6C-AFB1-FED6C1DE44FD}"/>
|
||||||
@@ -160,10 +165,12 @@
|
|||||||
<Hide GUID="{99721C04-AF32-4BF0-BB6B-A59D0F9957F2}"/>
|
<Hide GUID="{99721C04-AF32-4BF0-BB6B-A59D0F9957F2}"/>
|
||||||
<Hide GUID="{4B5D56D2-4431-41C5-8F0A-06E1FC56151A}"/>
|
<Hide GUID="{4B5D56D2-4431-41C5-8F0A-06E1FC56151A}"/>
|
||||||
<Hide GUID="{58BB5280-6EA8-4841-8B84-F66A8442CCAE}"/>
|
<Hide GUID="{58BB5280-6EA8-4841-8B84-F66A8442CCAE}"/>
|
||||||
|
<Hide GUID="{533FD64E-DB47-4CEE-B1FE-56FF11855B32}"/>
|
||||||
|
<Hide GUID="{A9772971-CD78-465C-8E48-55EB7EA9B235}"/>
|
||||||
</Hides>
|
</Hides>
|
||||||
</DataType>
|
</DataType>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{A81DA913-2653-4965-B95F-B789E5F910DF}">Inverter</Name>
|
<Name GUID="{0B9A0CFC-36E3-4BF3-A72D-CCEB6A13D525}">Inverter</Name>
|
||||||
<DisplayName TxtId=""><![CDATA[Inverter events]]></DisplayName>
|
<DisplayName TxtId=""><![CDATA[Inverter events]]></DisplayName>
|
||||||
<EventId>
|
<EventId>
|
||||||
<Name Id="1">InverterOverTemp</Name>
|
<Name Id="1">InverterOverTemp</Name>
|
||||||
@@ -210,6 +217,16 @@
|
|||||||
<DisplayName TxtId=""><![CDATA[{0}: Inverter Error]]></DisplayName>
|
<DisplayName TxtId=""><![CDATA[{0}: Inverter Error]]></DisplayName>
|
||||||
<Severity>Error</Severity>
|
<Severity>Error</Severity>
|
||||||
</EventId>
|
</EventId>
|
||||||
|
<EventId>
|
||||||
|
<Name Id="10">InverterHeartbeatError</Name>
|
||||||
|
<DisplayName TxtId=""><![CDATA[{0}: Inverter Heartbeat Error]]></DisplayName>
|
||||||
|
<Severity>Error</Severity>
|
||||||
|
</EventId>
|
||||||
|
<EventId>
|
||||||
|
<Name Id="11">InverterCyclicError</Name>
|
||||||
|
<DisplayName TxtId=""><![CDATA[{0}: Inverter Cyclic Data Error]]></DisplayName>
|
||||||
|
<Severity>Error</Severity>
|
||||||
|
</EventId>
|
||||||
<Hides>
|
<Hides>
|
||||||
<Hide GUID="{28E546A6-2746-43B7-9F65-F66DF048AD33}"/>
|
<Hide GUID="{28E546A6-2746-43B7-9F65-F66DF048AD33}"/>
|
||||||
<Hide GUID="{2C22B9AB-C9C6-4557-8123-18F3D712FA19}"/>
|
<Hide GUID="{2C22B9AB-C9C6-4557-8123-18F3D712FA19}"/>
|
||||||
@@ -222,6 +239,8 @@
|
|||||||
<Hide GUID="{86A2A820-4D64-4C1F-87D8-07667F4EA902}"/>
|
<Hide GUID="{86A2A820-4D64-4C1F-87D8-07667F4EA902}"/>
|
||||||
<Hide GUID="{71BB472B-94DE-4D07-A2C4-A75D33C5049A}"/>
|
<Hide GUID="{71BB472B-94DE-4D07-A2C4-A75D33C5049A}"/>
|
||||||
<Hide GUID="{2B097BE6-5FA1-4489-9C48-249D306057A8}"/>
|
<Hide GUID="{2B097BE6-5FA1-4489-9C48-249D306057A8}"/>
|
||||||
|
<Hide GUID="{A81DA913-2653-4965-B95F-B789E5F910DF}"/>
|
||||||
|
<Hide GUID="{60409EE0-D8AA-478C-8F5C-28E9C977A99A}"/>
|
||||||
</Hides>
|
</Hides>
|
||||||
</DataType>
|
</DataType>
|
||||||
</DataTypes>
|
</DataTypes>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>BMS</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<ImageDatas>
|
<ImageDatas>
|
||||||
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
|
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
|
||||||
</ImageDatas>
|
</ImageDatas>
|
||||||
<Box Id="227" BoxType="9099" BoxFlags="#x00000020">
|
<Box Id="228" BoxType="9099" BoxFlags="#x00000020">
|
||||||
<Name>__FILENAME__</Name>
|
<Name>__FILENAME__</Name>
|
||||||
<ImageId>1000</ImageId>
|
<ImageId>1000</ImageId>
|
||||||
<EtherCAT SlaveType="2" PdiType="#x0005" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="3" FoeType="1" VendorId="#x00000002" ProductCode="#x0c823052" RevisionNo="#x00160000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL3202 2K.Ana. Eingang PT100 (RTD)" Desc="EL3202">
|
<EtherCAT SlaveType="2" PdiType="#x0005" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="3" FoeType="1" VendorId="#x00000002" ProductCode="#x0c823052" RevisionNo="#x00160000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL3202 2K.Ana. Eingang PT100 (RTD)" Desc="EL3202">
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String1</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<ImageDatas>
|
<ImageDatas>
|
||||||
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
|
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff00ff0000ff0000ff0000ff0000ff0000ff00c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
|
||||||
</ImageDatas>
|
</ImageDatas>
|
||||||
<Box Id="226" BoxType="9099" BoxFlags="#x00000020">
|
<Box Id="229" BoxType="9099" BoxFlags="#x00000020">
|
||||||
<Name>__FILENAME__</Name>
|
<Name>__FILENAME__</Name>
|
||||||
<ImageId>1000</ImageId>
|
<ImageId>1000</ImageId>
|
||||||
<EtherCAT SlaveType="2" PdiType="#x0005" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="3" FoeType="1" VendorId="#x00000002" ProductCode="#x0c823052" RevisionNo="#x00160000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL3202 2K.Ana. Eingang PT100 (RTD)" Desc="EL3202">
|
<EtherCAT SlaveType="2" PdiType="#x0005" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="3" FoeType="1" VendorId="#x00000002" ProductCode="#x0c823052" RevisionNo="#x00160000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL3202 2K.Ana. Eingang PT100 (RTD)" Desc="EL3202">
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String2</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String1</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String1</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String1</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String2</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String2</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.12" ClassName="CFlbTermDef" SubType="9099">
|
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4026.18" ClassName="CFlbTermDef" SubType="9099">
|
||||||
<DataTypes>
|
<DataTypes>
|
||||||
<DataType>
|
<DataType>
|
||||||
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
<Name GUID="{18071995-0000-0000-0000-002000000007}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..6] OF BIT</Name>
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
|
||||||
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
|
||||||
<BootStrapData>0010f400f410f400</BootStrapData>
|
<BootStrapData>0010f400f410f400</BootStrapData>
|
||||||
|
<SuName>String2</SuName>
|
||||||
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
<Pdo Name="RTD Inputs Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="3">
|
||||||
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
<Entry Name="Status__Underrange" Index="#x6000" Sub="#x01">
|
||||||
<Type>BIT</Type>
|
<Type>BIT</Type>
|
||||||
|
|||||||
Reference in New Issue
Block a user