<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Awlsim project file generated by awlsim-0.65.0-pre -->
<awlsim_project date_create="2015-03-19 19:32:01.899746"
                date_modify="2018-06-22 21:17:20.002473"
                format_version="1">
	<!-- CPU core configuration -->
	<cpu>
		<!-- CPU core feature specification -->
		<specs call_stack_size="256"
		       nr_accus="2"
		       nr_counters="256"
		       nr_flags="2048"
		       nr_inputs="128"
		       nr_localbytes="1024"
		       nr_outputs="128"
		       nr_timers="256"
		       parenthesis_stack_size="7" />

		<!-- CPU core configuration -->
		<config clock_memory_byte="-1"
		        cycle_time_limit_us="1000000"
		        ext_insns_enable="0"
		        mnemonics="0"
		        ob_startinfo_enable="0"
		        run_time_limit_us="-1" />
	</cpu>

	<!-- AWL/STL language configuration -->
	<language_awl>
		<!-- AWL/STL source code -->
		<source enabled="1"
		        name="OB1"
		        type="0"><![CDATA[
ORGANIZATION_BLOCK OB 1
	VAR_TEMP
		OB1_EV_CLASS   : BYTE;          // Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
		OB1_SCAN_1     : BYTE;          // 1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
		OB1_PRIORITY   : BYTE;          // Priority of OB execution
		OB1_OB_NUMBR   : BYTE;          // 1 (Organization block 1, OB 1)
		OB1_RESERVED_1 : BYTE;
		OB1_RESERVED_2 : BYTE;
		OB1_PREV_CYCLE : INT;           // Cycle time of previous OB 1 scan (milliseconds)
		OB1_MIN_CYCLE  : INT;           // Minimum cycle time of OB 1 (milliseconds)
		OB1_MAX_CYCLE  : INT;           // Maximum cycle time of OB 1 (milliseconds)
		OB1_DATE_TIME  : DATE_AND_TIME; // Date and time OB 1 started
	END_VAR
BEGIN
	CALL	"tauchbad_aufruf", DB 1
END_ORGANIZATION_BLOCK

]]></source>

		<!-- AWL/STL source code -->
		<source enabled="1"
		        name="Tauchbad"
		        type="0"><![CDATA[
FUNCTION_BLOCK "tauchbad"
TITLE =
VERSION : 0.1


VAR_INPUT
  anlage_aus : BOOL ;	
  taster_korb : BOOL ;	
  endlage_oben : BOOL ;	
  endlage_unten : BOOL ;	
  anzahl_tauchvorgaenge : INT ;	
  verweilzeit : TIME ;	
END_VAR
VAR_OUTPUT
  korb_ab : BOOL ;	
  korb_auf : BOOL ;	
  auto_aktiv : BOOL ;	
END_VAR
VAR
  zaehler : "CTD";	
  zeit_TON : "TON";	
  abfahrt : BOOL ;	
  automatik : BOOL ;	
END_VAR
VAR_TEMP
  anzahl_erreicht : BOOL ;	
  zeit_abgelaufen : BOOL ;	
END_VAR
BEGIN
NETWORK
TITLE =Zaehler der Tauchvorgaenge

      UN    #anlage_aus; 
      U     #endlage_unten; 
      =     L      1.0; 
      BLD   103; 
      UN    #anlage_aus; 
      U     #endlage_oben; 
      U     #taster_korb; 
      =     L      1.1; 
      BLD   103; 
      CALL #zaehler (
           CD                       := L      1.0,
           LOAD                     := L      1.1,
           PV                       := #anzahl_tauchvorgaenge,
           Q                        := #anzahl_erreicht);

      NOP   0; 
NETWORK
TITLE =Verweilzeit an unterer Endlage

      UN    #anlage_aus; 
      U     #endlage_unten; 
      =     L      1.0; 
      BLD   103; 
      CALL #zeit_TON (
           IN                       := L      1.0,
           PT                       := #verweilzeit,
           Q                        := #zeit_abgelaufen);

      NOP   0; 
NETWORK
TITLE =Signalerzeugung: Korb abfahrt/auffahrt

      U(    ; 
      UN    #anlage_aus; 
      U     #taster_korb; 
      U     #endlage_oben; 
      U     #anzahl_erreicht; 
      O     ; 
      UN    #anlage_aus; 
      U     #endlage_oben; 
      UN    #anzahl_erreicht; 
      )     ; 
      S     #abfahrt; 
      UN    #anlage_aus; 
      U     #endlage_unten; 
      U     #zeit_abgelaufen; 
      R     #abfahrt; 
      NOP   0; 
NETWORK
TITLE =Ausgangszuweisung: Abfahrt/Auffahrt

      U     #abfahrt; 
      =     L      1.0; 
      U     L      1.0; 
      UN    #anlage_aus; 
      =     #korb_ab; 
      UN    L      1.0; 
      UN    #anlage_aus; 
      =     #korb_auf; 
NETWORK
TITLE =Signalerzeugung: Anzeige Automatikbetrieb

      U(    ; 
      U     #anzahl_erreicht; 
      U     #endlage_oben; 
      O     #anlage_aus; 
      )     ; 
      R     #automatik; 
      UN    #anlage_aus; 
      U     #taster_korb; 
      U     #endlage_oben; 
      S     #automatik; 
      U     #automatik; 
      =     #auto_aktiv; 
END_FUNCTION_BLOCK

FUNCTION_BLOCK "tauchbad_aufruf"
TITLE =
VERSION : 0.1


VAR
  bad1 : "tauchbad";	
  bad2 : "tauchbad";	
  bad3 : "tauchbad";	
END_VAR
BEGIN
NETWORK
TITLE =

      U     E      1.0; 
      =     L      0.0; 
      BLD   103; 
      U     E      1.1; 
      =     L      0.1; 
      BLD   103; 
      U     E      2.1; 
      =     L      0.2; 
      BLD   103; 
      U     E      3.1; 
      =     L      0.3; 
      BLD   103; 
      CALL #bad1 (
           anlage_aus               := L      0.0,
           taster_korb              := L      0.1,
           endlage_oben             := L      0.2,
           endlage_unten            := L      0.3,
           anzahl_tauchvorgaenge    := EW    10,
           verweilzeit              := T#5S,
           korb_ab                  := A      4.1,
           korb_auf                 := A      4.4,
           auto_aktiv               := A      5.1);
      NOP   0; 
NETWORK
TITLE =

      U     E      1.0; 
      =     L      0.0; 
      BLD   103; 
      U     E      1.2; 
      =     L      0.1; 
      BLD   103; 
      U     E      2.2; 
      =     L      0.2; 
      BLD   103; 
      U     E      3.2; 
      =     L      0.3; 
      BLD   103; 
      CALL #bad2 (
           anlage_aus               := L      0.0,
           taster_korb              := L      0.1,
           endlage_oben             := L      0.2,
           endlage_unten            := L      0.3,
           anzahl_tauchvorgaenge    := EW    12,
           verweilzeit              := T#10S,
           korb_ab                  := A      4.2,
           korb_auf                 := A      4.5,
           auto_aktiv               := A      5.2);
      NOP   0; 
NETWORK
TITLE =

      U     E      1.0; 
      =     L      0.0; 
      BLD   103; 
      U     E      1.3; 
      =     L      0.1; 
      BLD   103; 
      U     E      2.3; 
      =     L      0.2; 
      BLD   103; 
      U     E      3.3; 
      =     L      0.3; 
      BLD   103; 
      CALL #bad3 (
           anlage_aus               := L      0.0,
           taster_korb              := L      0.1,
           endlage_oben             := L      0.2,
           endlage_unten            := L      0.3,
           anzahl_tauchvorgaenge    := EW    14,
           verweilzeit              := T#15S,
           korb_ab                  := A      4.3,
           korb_auf                 := A      4.6,
           auto_aktiv               := A      5.3);
      NOP   0; 
END_FUNCTION_BLOCK


]]></source>

		<!-- AWL/STL source code -->
		<source enabled="1"
		        name="DB"
		        type="0"><![CDATA[
DATA_BLOCK DB 1
	"tauchbad_aufruf"
BEGIN
	
END_DATA_BLOCK

]]></source>
	</language_awl>

	<!-- Symbol table configuration -->
	<symbols>
		<!-- symbol table source code -->
		<source enabled="1"
		        name="symbol table"
		        type="3"><![CDATA[
126,array_db                DB 60       DB 60                                                                                     
126,array_uebung            FC 60       FC 60                                                                                     
126,BLKMOV                  SFC 20      SFC 20    Copy Variables                                                                  
126,CREAT_DB                SFC 22      SFC 22    Create Data Block                                                               
126,CTD                     SFB 1       SFB 1     Count Down                                                                      
126,CTU                     SFB 0       SFB 0     Count Up                                                                        
126,date_and_time_db        DB 20       DB 20                                                                                     
126,date_and_time_uebung    FC 8        FC 8                                                                                      
126,db_dynamisch            FC 20       FC 20                                                                                     
126,db_zugriff              FC 7        FC 7                                                                                      
126,dbtest_fb               FB 40       FB 40                                                                                     
126,dbtest_fc               FC 10       FC 10                                                                                     
126,DEL_DB                  SFC 23      SFC 23    Delete Data Block                                                               
126,DELETE                  FC 104      FC 104    Delete String                                                                   
126,DT_DAY                  FC 107      FC 107    DT to DAY                                                                       
126,flankenerkennung        FB 20       FB 20                                                                                     
126,impulszaehler           FB 30       FB 30                                                                                     
126,impulszaehler_aufruf    FB 31       FB 31                                                                                     
126,laufbandsteuerung       FC 3        FC 3                                                                                      
126,laufbandsteuerung_aufrufFC 4        FC 4                                                                                      
126,Motor                   UDT 99      UDT 99                                                                                    
126,multiinst_aufruf        FB 100      FB 100                                                                                    
126,pufferspeicher          FC 5        FC 5                                                                                      
126,pufferspeicher_aufruf   FC 6        FC 6                                                                                      
126,READ_CLK                SFC 1       SFC 1     Read System Clock                                                               
126,Rollfeld_Motor_aufruf   FC 53       FC 53                                                                                     
126,Rollfeld_Motor_FC       FC 52       FC 52                                                                                     
126,Rollfeld_Motoren        DB 51       DB 51                                                                                     
126,SB_DT_DT                FC 34       FC 34     Subtract DT - DT                                                                
126,stoeranzeige_fb         FB 1        FB 1                                                                                      
126,stoeranzeige_fc         FC 1        FC 1                                                                                      
126,string_db               DB 50       DB 50                                                                                     
126,string_uebung           FC 50       FC 50                                                                                     
126,taktgenerator           FB 15       FB 15                                                                                     
126,taktgenerator_aufruf    FB 16       FB 16                                                                                     
126,tauchbad                FB 10       FB 10                                                                                     
126,tauchbad_aufruf         FB 11       FB 11                                                                                     
126,TEST_DB                 SFC 24      SFC 24    Test Data Block                                                                 
126,TON                     SFB 4       SFB 4     Generate an On Delay                                                            
126,TP                      SFB 3       SFB 3     Generate a Pulse                                                                
126,zaehler_fc              FC 2        FC 2                                                                                      

]]></source>
	</symbols>

	<!-- Core server link configuration -->
	<core_link>
		<!-- Locally spawned core server -->
		<spawn_local enable="1"
		             interpreters="$DEFAULT"
		             port_range_begin="4183"
		             port_range_end="8278" />

		<!-- Remote server connection -->
		<connect host="localhost"
		         port="4151"
		         timeout_ms="3000" />

		<!-- Transport tunnel -->
		<tunnel local_port="-1"
		        type="0">
			<ssh executable="ssh"
			     port="22"
			     user="pi" />
		</tunnel>
	</core_link>

	<!-- Graphical user interface configuration -->
	<gui>
		<editor autoindent="1"
		        paste_autoindent="1"
		        validation="1" />
	</gui>
</awlsim_project>
