Files
2026-07-06 12:57:53 +02:00

1593 lines
45 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Engineering version="V20" />
<SW.Blocks.FC ID="0">
<AttributeList>
<AutoNumber>false</AutoNumber>
<HeaderAuthor>IBAE</HeaderAuthor>
<HeaderFamily>DLISTE</HeaderFamily>
<HeaderName>DatenIn</HeaderName>
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
<Section Name="Input">
<Member Name="SSDB" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Datenlisten-DB</MultiLanguageText>
</Comment>
</Member>
<Member Name="SSDW" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Datenlisten-1.DW</MultiLanguageText>
</Comment>
</Member>
</Section>
<Section Name="Output">
<Member Name="RE_VAL" Datatype="Byte">
<Comment>
<MultiLanguageText Lang="de-DE">Rückmeldung</MultiLanguageText>
</Comment>
</Member>
</Section>
<Section Name="InOut" />
<Section Name="Temp">
<Member Name="Quelle" Datatype="Any">
<Comment>
<MultiLanguageText Lang="de-DE">Zeiger, wo Rein-Daten sind</MultiLanguageText>
</Comment>
</Member>
<Member Name="Ziel" Datatype="Any">
<Comment>
<MultiLanguageText Lang="de-DE">Zeiger, FIFO-Stelle</MultiLanguageText>
</Comment>
</Member>
<Member Name="Kopf" Datatype="Byte">
<Comment>
<MultiLanguageText Lang="de-DE">Datenliste-Kennnung (DA)</MultiLanguageText>
</Comment>
</Member>
<Member Name="Datensatzlaenge" Datatype="Byte">
<Comment>
<MultiLanguageText Lang="de-DE">Datensatzlänge in Word (01 - F0) F0=128</MultiLanguageText>
</Comment>
</Member>
<Member Name="Listenlaenge" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Länge der Datenliste (maximale Anzahl der Datensätze)</MultiLanguageText>
</Comment>
</Member>
<Member Name="Stammdaten" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Stammdatenlänge in Word (1 - 9)</MultiLanguageText>
</Comment>
</Member>
<Member Name="IndDB" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Indizierter DB (nur bei Stammdaten = 1 erlaubt !!!)</MultiLanguageText>
</Comment>
</Member>
<Member Name="IndDB_Laenge" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Länge des indizierten DB in Einträge (nur bei Stammdaten = 1 erlaubt !!!)</MultiLanguageText>
</Comment>
</Member>
<Member Name="IndDaten_Offset" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Offset für indizierte Daten (nur bei Stammdaten = 1 erlaubt !!!)</MultiLanguageText>
</Comment>
</Member>
<Member Name="Suchzeiger" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Speicherung des letzten Zugriffs / Suchzeiger</MultiLanguageText>
</Comment>
</Member>
<Member Name="Belegt14" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">reserviert von Sort-Datenliste</MultiLanguageText>
</Comment>
</Member>
<Member Name="Reserve16" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Reserve</MultiLanguageText>
</Comment>
</Member>
<Member Name="Reserve18" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Reserve</MultiLanguageText>
</Comment>
</Member>
<Member Name="DBDatenliste" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Datenlisten-DB</MultiLanguageText>
</Comment>
</Member>
<Member Name="SFC_RET_VAL" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Rückmeldung SFC-Aufruf</MultiLanguageText>
</Comment>
</Member>
<Member Name="SFC_DB_LENGTH" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Rückmeldung SFC-Aufruf</MultiLanguageText>
</Comment>
</Member>
<Member Name="Datenlisten_Ende" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Ende der Datenliste</MultiLanguageText>
</Comment>
</Member>
<Member Name="Schleife" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Loopzähler</MultiLanguageText>
</Comment>
</Member>
<Member Name="SFC_WRITE_PROT" Datatype="Bool">
<Comment>
<MultiLanguageText Lang="de-DE">Rückmeldung SFC-Aufruf</MultiLanguageText>
</Comment>
</Member>
</Section>
<Section Name="Constant" />
<Section Name="Return">
<Member Name="Ret_Val" Datatype="Void" />
</Section>
</Sections></Interface>
<MemoryLayout>Standard</MemoryLayout>
<Name>DatenReset</Name>
<Namespace />
<Number>87</Number>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="1" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="2" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>COPYRIGHT by Ingenieurbüro A.Emmert
Ortsstr.33, D-869925 Fuchstal (Germany)
Tel.: 0049(0)8243-1254
Version: ILS2100 / 06.11.2009
Datenblock in Datenliste resetten
SSDB: Datenlisten-DB
SSDW: Datenlisten-1.DW
RE_VAL: Rückmeldungen:
Bit0: Kein Datenlistenbereich / falscher Kopfinhalt / Endekennung
Bit1: SFC20-Aufruf mit Fehler
Bit2: Frei
Bit3: Frei
Bit4: Frei
Bit5: Frei
Bit6: Frei
Bit7: Frei
</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<SW.Blocks.CompileUnit ID="3" CompositionName="CompileUnits">
<AttributeList>
<NetworkSource><StatementList xmlns="http://www.siemens.com/automation/Openness/SW/NetworkSource/StatementList/v5">
<StlStatement UId="22">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDB" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="24">
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBDatenliste" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="58">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="27">
<LineComment>
<Text> CALL TEST_DB</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="21">
<LineComment>
<Text> DB_NUMBER :=#DBDatenliste</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="28">
<LineComment>
<Text> RET_VAL :=#SFC_RET_VAL</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="29">
<LineComment>
<Text> DB_LENGTH :=#SFC_DB_LENGTH</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="30">
<LineComment>
<Text> WRITE_PROT :=#SFC_WRITE_PROT</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="47">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="48">
<StlToken Text="CALL" />
<Access Scope="Call">
<CallInfo Name="TEST_DB_TO_ATTR_DB" BlockType="FC">
<Parameter Name="DB_Number" Section="Input" Type="Word">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBDatenliste" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="RetVal" Section="Output" Type="Int">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_RET_VAL" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="DB_Length" Section="Output" Type="Word">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_DB_LENGTH" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="Write_Prot" Section="Output" Type="Bool">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_WRITE_PROT" />
</Symbol>
</Access>
</Parameter>
</CallInfo>
</Access>
</StlStatement>
<StlStatement UId="34">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="35">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_RET_VAL" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="37">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0000</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="39">
<StlToken Text="NE_I" />
</StlStatement>
<StlStatement UId="40">
<StlToken Text="O" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_WRITE_PROT" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="42">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlisten-Bereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="45">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
</StatementList></NetworkSource>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="4" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="5" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="6" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="7" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Schnittstellen-DB sinnvoll ?</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.CompileUnit>
<SW.Blocks.CompileUnit ID="8" CompositionName="CompileUnits">
<AttributeList>
<NetworkSource><StatementList xmlns="http://www.siemens.com/automation/Openness/SW/NetworkSource/StatementList/v5">
<StlStatement UId="46">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#1004</ConstantValue>
</Constant>
<LineComment>
<Text>Kennung 10 + Word=04</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="49">
<StlToken Text="T" />
<Access Scope="Address">
<Address Area="Local" Type="Word" BitOffset="0" />
<LineComment>
<Text>Any-Kennung, Datentyp</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="52">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#000A</ConstantValue>
</Constant>
<LineComment>
<Text>10 Dw´s holen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="55">
<StlToken Text="T" />
<Access Scope="Address">
<Address Area="Local" Type="Word" BitOffset="16" />
<LineComment>
<Text>Wiederholungen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="58">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDB" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="60">
<StlToken Text="T" />
<Access Scope="Address">
<Address Area="Local" Type="Word" BitOffset="32" />
<LineComment>
<Text>DB_Nummer</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="63">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
<LineComment>
<Text>Adresse</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="66">
<StlToken Text="SLD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="68">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>DWord</ConstantType>
<ConstantValue>16#8400_0000</ConstantValue>
</Constant>
<LineComment>
<Text>Kennung: Daten</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="71">
<StlToken Text="OD" />
</StlStatement>
<StlStatement UId="72">
<StlToken Text="T" />
<Access Scope="Address">
<Address Area="Local" Type="DWord" BitOffset="48" />
<LineComment>
<Text>Kennung, Adresse</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="75">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="76">
<StlToken Text="CALL" />
<Access Scope="Call">
<Instruction Name="BLKMOV" Version="1.1">
<Token Text="," />
<LineComment>
<Text>1.-10.DW Datenliste holen</Text>
</LineComment>
<TemplateValue Name="blk_type" Type="Type">Variant</TemplateValue>
<Parameter Name="SRCBLK">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Quelle" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="RET_VAL">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_RET_VAL" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="DSTBLK">
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Any</ConstantType>
<ConstantValue>P#L20.0 WORD 10</ConstantValue>
</Constant>
</Access>
</Parameter>
</Instruction>
</Access>
</StlStatement>
<StlStatement UId="83">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="84">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_RET_VAL" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="86">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0000</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="88">
<StlToken Text="NE_I" />
</StlStatement>
<StlStatement UId="89">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err1" />
</Access>
</StlStatement>
<StlStatement UId="91">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
</StatementList></NetworkSource>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="9" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="A" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Quelle-Pointer erzeugen:</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="B" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="C" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Datenlistekopf holen</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.CompileUnit>
<SW.Blocks.CompileUnit ID="D" CompositionName="CompileUnits">
<AttributeList>
<NetworkSource><StatementList xmlns="http://www.siemens.com/automation/Openness/SW/NetworkSource/StatementList/v5">
<StlStatement UId="92">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Kopf" />
</Symbol>
<LineComment>
<Text>Datenliste-Kopf</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="95">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Byte</ConstantType>
<ConstantValue>16#DA</ConstantValue>
</Constant>
<LineComment>
<Text>= Datenlistekennung ?</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="98">
<StlToken Text="NE_I" />
<LineComment>
<Text>Nein !</Text>
</LineComment>
</StlStatement>
<StlStatement UId="100">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="103">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="104">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>1</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="106">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
<LineComment>
<Text>Datenblocklänge</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="109">
<StlToken Text="GT_I" />
</StlStatement>
<StlStatement UId="110">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="113">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="114">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>128</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="116">
<StlToken Text="GT_I" />
</StlStatement>
<StlStatement UId="117">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="120">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="121">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>1</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="123">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Listenlaenge" />
</Symbol>
<LineComment>
<Text>Max.Anzahl von Datenblöcken</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="126">
<StlToken Text="GT_I" />
</StlStatement>
<StlStatement UId="127">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="130">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="131">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>1</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="133">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Stammdaten" />
</Symbol>
<LineComment>
<Text>Anzahl der Stammdaten</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="136">
<StlToken Text="GT_I" />
</StlStatement>
<StlStatement UId="137">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="140">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="141">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>9</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="143">
<StlToken Text="GT_I" />
</StlStatement>
<StlStatement UId="144">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="147">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="148">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Stammdaten" />
</Symbol>
<LineComment>
<Text>Anzahl der Stammdaten</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="151">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
<LineComment>
<Text>Datenblocklänge</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="154">
<StlToken Text="GT_I" />
</StlStatement>
<StlStatement UId="155">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlistebereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="158">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="159">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Listenlaenge" />
</Symbol>
<LineComment>
<Text>Länge der Datenliste</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="162">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
<LineComment>
<Text>Datenblocklänge</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="165">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="166">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>2</ConstantValue>
</Constant>
<LineComment>
<Text>DB byteorientiert</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="169">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="170">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>20</ConstantValue>
</Constant>
<LineComment>
<Text>Speichern ab 10.DW</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="173">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="175">
<StlToken Text="ADD_I" />
</StlStatement>
<StlStatement UId="176">
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datenlisten_Ende" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="178">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="181">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="182">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="183">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBDatenliste" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="186">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="187">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datenlisten_Ende" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="189">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_DB_LENGTH" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="191">
<StlToken Text="GT_I" />
<LineComment>
<Text>Datenlisten-DB ist zu kurz!</Text>
</LineComment>
</StlStatement>
<StlStatement UId="193">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlisten-Bereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="196">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="197">
<StlToken Text="L" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
</Access>
</StlStatement>
<StlStatement UId="199">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#DAEE</ConstantValue>
</Constant>
<LineComment>
<Text>Datenliste-Endekennung ?</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="202">
<StlToken Text="NE_I" />
<LineComment>
<Text>Nein !</Text>
</LineComment>
</StlStatement>
<StlStatement UId="204">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Datenlisten-Bereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="207">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
</StatementList></NetworkSource>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="E" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="F" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="10" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="11" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Zeigerüberprüfung</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.CompileUnit>
<SW.Blocks.CompileUnit ID="12" CompositionName="CompileUnits">
<AttributeList>
<NetworkSource><StatementList xmlns="http://www.siemens.com/automation/Openness/SW/NetworkSource/StatementList/v5">
<StlStatement UId="208">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="IndDB" />
</Symbol>
<LineComment>
<Text>Indizierter DB</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="211">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>0</ConstantValue>
</Constant>
<LineComment>
<Text>=0 ?</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="214">
<StlToken Text="EQ_I" />
<LineComment>
<Text>Kein indizierter DB !</Text>
</LineComment>
</StlStatement>
<StlStatement UId="216">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Nw05" />
</Access>
</StlStatement>
<StlStatement UId="218">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="219">
<LineComment>
<Text> CALL TEST_DB</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="22">
<LineComment>
<Text> DB_NUMBER :=#IndDB</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="23">
<LineComment>
<Text> RET_VAL :=#SFC_RET_VAL</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="24">
<LineComment>
<Text> DB_LENGTH :=#SFC_DB_LENGTH</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="25">
<LineComment>
<Text> WRITE_PROT :=#SFC_WRITE_PROT</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="30">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="31">
<StlToken Text="CALL" />
<Access Scope="Call">
<CallInfo Name="TEST_DB_TO_ATTR_DB" BlockType="FC">
<Parameter Name="DB_Number" Section="Input" Type="Word">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="IndDB" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="RetVal" Section="Output" Type="Int">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_RET_VAL" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="DB_Length" Section="Output" Type="Word">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_DB_LENGTH" />
</Symbol>
</Access>
</Parameter>
<Parameter Name="Write_Prot" Section="Output" Type="Bool">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_WRITE_PROT" />
</Symbol>
</Access>
</Parameter>
</CallInfo>
</Access>
</StlStatement>
<StlStatement UId="42">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="226">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="227">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_RET_VAL" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="229">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0000</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="231">
<StlToken Text="NE_I" />
</StlStatement>
<StlStatement UId="232">
<StlToken Text="O" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_WRITE_PROT" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="234">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Nw05" />
<LineComment>
<Text>kein Indizier-DB vorhanden</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="237">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="238">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="240">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="243">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="244">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="245">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="IndDB" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="248">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="249">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_DB_LENGTH" />
</Symbol>
<LineComment>
<Text>In Bytes angegeben</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="252">
<LabelDeclaration>
<Label Name="L400" />
</LabelDeclaration>
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="255">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="256">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="258">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Byte" Area="DB" Register="AR1" BitOffset="0" />
<LineComment>
<Text>Inhalte löschen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="261">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="262">
<StlToken Text="ADDAR1" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>ARef</ConstantType>
<ConstantValue>P#1.0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="264">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="265">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="267">
<StlToken Text="LOOP" />
<Access Scope="Label">
<Label Name="L400" />
</Access>
</StlStatement>
<StlStatement UId="269">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="270">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
</StatementList></NetworkSource>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="13" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="14" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="15" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="16" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Indizierung löschen ?</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.CompileUnit>
<SW.Blocks.CompileUnit ID="17" CompositionName="CompileUnits">
<AttributeList>
<NetworkSource><StatementList xmlns="http://www.siemens.com/automation/Openness/SW/NetworkSource/StatementList/v5">
<StlStatement UId="271">
<LabelDeclaration>
<Label Name="Nw05" />
</LabelDeclaration>
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="274">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>12</ConstantValue>
</Constant>
<LineComment>
<Text>6.Dw</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="277">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="280">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="281">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="282">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBDatenliste" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="285">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="286">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="288">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
<LineComment>
<Text>Letzte Speicherung löschen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="291">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="292">
<StlToken Text="ADDAR1" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>ARef</ConstantType>
<ConstantValue>P#8.0</ConstantValue>
</Constant>
<LineComment>
<Text>Jetzt ab 10.Dw</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="295">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="296">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="298">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Listenlaenge" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="300">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="301">
<LabelDeclaration>
<Label Name="L500" />
</LabelDeclaration>
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="304">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="305">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="307">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
<LineComment>
<Text>Inhalte löschen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="310">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="311">
<StlToken Text="ADDAR1" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>ARef</ConstantType>
<ConstantValue>P#2.0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="313">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="314">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="316">
<StlToken Text="LOOP" />
<Access Scope="Label">
<Label Name="L500" />
</Access>
</StlStatement>
<StlStatement UId="318">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="319">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
</StatementList></NetworkSource>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="18" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="19" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="1A" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="1B" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Datenliste löschen</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.CompileUnit>
<SW.Blocks.CompileUnit ID="1C" CompositionName="CompileUnits">
<AttributeList>
<NetworkSource><StatementList xmlns="http://www.siemens.com/automation/Openness/SW/NetworkSource/StatementList/v5">
<StlStatement UId="320">
<StlToken Text="SET" />
<LineComment>
<Text>VKE = 1 ohne Fehler !!!</Text>
</LineComment>
</StlStatement>
<StlStatement UId="322">
<StlToken Text="JU" />
<Access Scope="Label">
<Label Name="Ok" />
</Access>
</StlStatement>
<StlStatement UId="324">
<LabelDeclaration>
<Label Name="Err0" />
</LabelDeclaration>
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0001</ConstantValue>
</Constant>
<LineComment>
<Text>Kein Fifobereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="328">
<StlToken Text="JU" />
<Access Scope="Label">
<Label Name="Err" />
</Access>
</StlStatement>
<StlStatement UId="330">
<LabelDeclaration>
<Label Name="Err1" />
</LabelDeclaration>
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0010</ConstantValue>
</Constant>
<LineComment>
<Text>SFC20-Aufruf mit Fehler</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="334">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="335">
<LabelDeclaration>
<Label Name="Err" />
</LabelDeclaration>
<StlToken Text="CLR" />
<LineComment>
<Text>VKE = 0 bei Fehler !!!</Text>
</LineComment>
</StlStatement>
<StlStatement UId="338">
<LabelDeclaration>
<Label Name="Ok" />
</LabelDeclaration>
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="RE_VAL" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="341">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="342">
<StlToken Text="SAVE" />
<LineComment>
<Text>VKE in BIE-Bit speichern </Text>
</LineComment>
</StlStatement>
<StlStatement UId="344">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
</StatementList></NetworkSource>
<ProgrammingLanguage>STL</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="1D" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="1E" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="1F" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="20" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Fehlerausgabe / RET_VAL</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.CompileUnit>
<MultilingualText ID="21" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="22" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text>Datenlisten-Modul</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.FC>
</Document>