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

1573 lines
44 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>FIFO</HeaderFamily>
<HeaderName>FifoIn</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">Schnittstellen-DB</MultiLanguageText>
</Comment>
</Member>
<Member Name="SSDW" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Schnittstellen-1.DW</MultiLanguageText>
</Comment>
</Member>
<Member Name="PARA" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Aufrufparameter (Durchlaufspeicher?)</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="Kopf" Datatype="Byte">
<Comment>
<MultiLanguageText Lang="de-DE">Fifo-Kennung (FF)</MultiLanguageText>
</Comment>
</Member>
<Member Name="Datensatzlaenge" Datatype="Byte">
<Comment>
<MultiLanguageText Lang="de-DE">Datensatzlänge in Word (1 - 128)</MultiLanguageText>
</Comment>
</Member>
<Member Name="FifoLaenge" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Länge des Fifo (maximale Anzahl der Datensätze)</MultiLanguageText>
</Comment>
</Member>
<Member Name="Bringzeiger" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Zeiger, wohin nächster Eintrag gespeichert wird</MultiLanguageText>
</Comment>
</Member>
<Member Name="Holzeiger" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Zeiger, woher nächste Daten geholt werden</MultiLanguageText>
</Comment>
</Member>
<Member Name="Anzahl" Datatype="Int">
<Comment>
<MultiLanguageText Lang="de-DE">Anzahl der Datensätze (eingetragene)</MultiLanguageText>
</Comment>
</Member>
<Member Name="Status" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Status des Fifo</MultiLanguageText>
</Comment>
</Member>
<Member Name="DBFifo" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">FIFO-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="Fifo_Ende" Datatype="Word">
<Comment>
<MultiLanguageText Lang="de-DE">Ende des Fifo</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>FifoReset</Name>
<Namespace />
<Number>82</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
Fifo resetten
SSDB: FIFO-DB
SSDW: FIFO-1.DW
PARA: Aufrufparameter 00XX:
XX: 00 = Normaler FIFO (alles löschen)
D0 = Durchlaufspeicher (alles mit Nullen füllen)
D1 = Durchlaufspeicher (alles mit FFFF füllen)
Rückmeldungen:
Bit0: Kein Fifobereich / 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="DBFifo" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="26">
<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 :=#DBFifo</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="29">
<LineComment>
<Text> RET_VAL :=#SFC_RET_VAL</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="30">
<LineComment>
<Text> DB_LENGTH :=#SFC_DB_LENGTH</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="31">
<LineComment>
<Text> WRITE_PROT :=#SFC_WRITE_PROT</Text>
</LineComment>
<StlToken Text="COMMENT" />
</StlStatement>
<StlStatement UId="49">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="50">
<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="DBFifo" />
</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 Fifobereich</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#0006</ConstantValue>
</Constant>
<LineComment>
<Text>6 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.-6.DW FIFO 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#L10.0 WORD 6</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>Fifokopfdaten 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>Fifo-Kopf</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="95">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Byte</ConstantType>
<ConstantValue>16#FF</ConstantValue>
</Constant>
<LineComment>
<Text>= Fifokennung ?</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 Fifobereich</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 Fifobereich</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 Fifobereich</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="FifoLaenge" />
</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 Fifobereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="130">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="131">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="FifoLaenge" />
</Symbol>
<LineComment>
<Text>Länge FIFO (in Word)</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="134">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
<LineComment>
<Text>Datenblocklänge</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="137">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="138">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>2</ConstantValue>
</Constant>
<LineComment>
<Text>DB byteorientiert</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="141">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="142">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>40</ConstantValue>
</Constant>
<LineComment>
<Text>Speichern ab 20.DW</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="145">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="147">
<StlToken Text="ADD_I" />
</StlStatement>
<StlStatement UId="148">
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Fifo_Ende" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="150">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="153">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="154">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="155">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBFifo" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="158">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="159">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Fifo_Ende" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="161">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SFC_DB_LENGTH" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="163">
<StlToken Text="GT_I" />
<LineComment>
<Text>Fifo-DB ist zu kurz!</Text>
</LineComment>
</StlStatement>
<StlStatement UId="165">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Fifo-Bereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="168">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="169">
<StlToken Text="L" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
</Access>
</StlStatement>
<StlStatement UId="171">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#FFEE</ConstantValue>
</Constant>
<LineComment>
<Text>Fifo-Endekennung ?</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="174">
<StlToken Text="NE_I" />
<LineComment>
<Text>Nein !</Text>
</LineComment>
</StlStatement>
<StlStatement UId="176">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="Err0" />
<LineComment>
<Text>kein Fifobereich</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="179">
<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="180">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="182">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>4</ConstantValue>
</Constant>
<LineComment>
<Text>Ab 2.Dw</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="185">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="188">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="189">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="190">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBFifo" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="193">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="194">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="196">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="FifoLaenge" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="198">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="199">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>18</ConstantValue>
</Constant>
<LineComment>
<Text>18 Datenwörter (wortorientiert)</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="202">
<LabelDeclaration>
<Label Name="L400" />
</LabelDeclaration>
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="205">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="206">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="208">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
</Access>
</StlStatement>
<StlStatement UId="210">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="211">
<StlToken Text="ADDAR1" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>ARef</ConstantType>
<ConstantValue>P#2.0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="213">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="214">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="216">
<StlToken Text="LOOP" />
<Access Scope="Label">
<Label Name="L400" />
</Access>
</StlStatement>
<StlStatement UId="218">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="219">
<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>Fifo-Daten 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="220">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="PARA" />
</Symbol>
<LineComment>
<Text>Aufrufparameter </Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="223">
<StlToken Text="SRW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>4</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="225">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#000D</ConstantValue>
</Constant>
<LineComment>
<Text>Durchlaufspeicher ?</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="228">
<StlToken Text="NE_I" />
<LineComment>
<Text>Nein !</Text>
</LineComment>
</StlStatement>
<StlStatement UId="230">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="N006" />
</Access>
</StlStatement>
<StlStatement UId="232">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="233">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="235">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>4</ConstantValue>
</Constant>
<LineComment>
<Text>Speichern ab 4.DW</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="238">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="241">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="242">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="243">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBFifo" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="246">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="247">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="249">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>40</ConstantValue>
</Constant>
<LineComment>
<Text>1.Speicherzelle</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="252">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
<LineComment>
<Text>Bringzeiger</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="255">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="16" />
<LineComment>
<Text>Holzeiger</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="258">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="259">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="FifoLaenge" />
</Symbol>
<LineComment>
<Text>Fifo ist voll</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="262">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="32" />
<LineComment>
<Text>Anzahl</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="265">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="266">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="PARA" />
</Symbol>
<LineComment>
<Text>Aufrufparameter </Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="269">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#00D1</ConstantValue>
</Constant>
<LineComment>
<Text>Durchlaufspeicher mit FFFF füllen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="272">
<StlToken Text="NE_I" />
<LineComment>
<Text>Nein !</Text>
</LineComment>
</StlStatement>
<StlStatement UId="274">
<StlToken Text="JC" />
<Access Scope="Label">
<Label Name="N006" />
</Access>
</StlStatement>
<StlStatement UId="276">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="277">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="FifoLaenge" />
</Symbol>
<LineComment>
<Text>Fifo ist voll</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="280">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="64" />
<LineComment>
<Text>1.Zusatz-Dw (Anzahl der Daten)</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="283">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="284">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0011</ConstantValue>
</Constant>
<LineComment>
<Text>Daten vorhanden/kommen raus</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="287">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="112" />
<LineComment>
<Text>4.Zusatz-Dw (Status)</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="290">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="291">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="SSDW" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="293">
<StlToken Text="ADD" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>40</ConstantValue>
</Constant>
<LineComment>
<Text>Ab 20.Dw</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="296">
<StlToken Text="SLW" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Int</ConstantType>
<ConstantValue>3</ConstantValue>
</Constant>
<LineComment>
<Text>Pointer erzeugen</Text>
</LineComment>
</Access>
</StlStatement>
<StlStatement UId="299">
<StlToken Text="LAR1_ACCU1" />
</StlStatement>
<StlStatement UId="300">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="301">
<StlToken Text="OPEN_DB" />
<Access Scope="Address">
<Indirect Width="Block" Area="DB">
<Access Scope="LocalVariable">
<Symbol>
<Component Name="DBFifo" />
</Symbol>
</Access>
</Indirect>
</Access>
</StlStatement>
<StlStatement UId="304">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="305">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Datensatzlaenge" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="307">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="FifoLaenge" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="309">
<StlToken Text="MUL_I" />
</StlStatement>
<StlStatement UId="310">
<LabelDeclaration>
<Label Name="L500" />
</LabelDeclaration>
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="313">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="314">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>16#FFFF</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="316">
<StlToken Text="T" />
<Access Scope="Address">
<Indirect Width="Word" Area="DB" Register="AR1" BitOffset="0" />
</Access>
</StlStatement>
<StlStatement UId="318">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="319">
<StlToken Text="ADDAR1" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>ARef</ConstantType>
<ConstantValue>P#2.0</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="321">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="322">
<StlToken Text="L" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="Schleife" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="324">
<StlToken Text="LOOP" />
<Access Scope="Label">
<Label Name="L500" />
</Access>
</StlStatement>
<StlStatement UId="326">
<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>Durchlaufspeicher ?</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="327">
<LabelDeclaration>
<Label Name="N006" />
</LabelDeclaration>
<StlToken Text="SET" />
<LineComment>
<Text>VKE = 1 ohne Fehler !!!</Text>
</LineComment>
</StlStatement>
<StlStatement UId="330">
<StlToken Text="L" />
<Access Scope="LiteralConstant">
<Constant>
<ConstantType>Word</ConstantType>
<ConstantValue>2#0000_0000_0000_0000</ConstantValue>
</Constant>
</Access>
</StlStatement>
<StlStatement UId="332">
<StlToken Text="JU" />
<Access Scope="Label">
<Label Name="Ok" />
</Access>
</StlStatement>
<StlStatement UId="334">
<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="338">
<StlToken Text="JU" />
<Access Scope="Label">
<Label Name="Err" />
</Access>
</StlStatement>
<StlStatement UId="340">
<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="344">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="345">
<LabelDeclaration>
<Label Name="Err" />
</LabelDeclaration>
<StlToken Text="CLR" />
<LineComment>
<Text>VKE = 0 bei Fehler !!!</Text>
</LineComment>
</StlStatement>
<StlStatement UId="348">
<LabelDeclaration>
<Label Name="Ok" />
</LabelDeclaration>
<StlToken Text="T" />
<Access Scope="LocalVariable">
<Symbol>
<Component Name="RE_VAL" />
</Symbol>
</Access>
</StlStatement>
<StlStatement UId="351">
<StlToken Text="EMPTY_LINE" />
</StlStatement>
<StlStatement UId="352">
<StlToken Text="SAVE" />
<LineComment>
<Text>VKE in BIE-Bit speichern </Text>
</LineComment>
</StlStatement>
<StlStatement UId="354">
<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>Fifo-Modul</Text>
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.FC>
</Document>