C Schwerlastmodell SW/0

Aus ITP
Zur Navigation springen Zur Suche springen

Allgemeines

Für die meisten Bahnbrücken muss neben dem LM71 auch das Lastmodell SW/0 nachgewiesen werden. Dabei sind je Gleis die zwei möglichen Exzentrizitäten sowie die zwei möglichen Geschwindigkeiten zu untersuchen.

Die nachstehende Grafik zeigt die 7 "Grenzstellungen" der beiden Streckenlasten. Hier kommen die Werkzeuge:

loop

    if
    elseif
    elseif
    ...
    else
    endif

endloop

zum Einsatz.

Bei den logischen Vergleichen muss ganz streng "geklammert" werden!

Grafik

Laststellungen SW/0

Die Phase 1 und 7 muss man üblicherweise nicht so unterteilen. Da sollte es genügen, die volle Länge "a" zu belasten.

Block SW0

#define sw0

let#x #dx

loop#i 49

       if (#x<#a)  $ nur erster Teil und der auch nur teilweise drauf
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #x
               #include last1
               let#x #x+#dx
       elseif ((#x<=(#a+#c))&(#x>#a)) $ erster Teil komplett drauf, zweiter Teil noch vollkommen außerhalb
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a
               #include last1
               let#x #x+#dx
       elseif ((#x<=(2*#a+#c))&(#x>#a+#c)) $ zweiter Teil teilweise drauf
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a
               let#l2 #x-#a-#c
               #include last1
               #include last2
               let#x #x+#dx
       elseif ((#x>(2*#a+#c))&(#x<#l)) $ zweiter Teil vollständig  drauf
               $ hier nur theoretisch; diese Bedingung ist hier niemlas erfüllt,
               $ da #l<2*#a+#c
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a
               let#l2 #a
               #include last1
               #include last2
               let#x #x+#dx
       elseif ((#x<=(#l+#a))&(#x>#l)) $ erster Teil bereits teilweise wieder runter
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l1 #a-(#x-#l)
               let#l2 #a
               #include last1ue
               #include last2
               let#x #x+#dx
       elseif ((#x<=(#l+#a+#c))&(#x>#l+#a)) $ erster Teil vollkommen drüber, zweiter Teil noch nicht am Ende
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l2 #a
               #include last2
               let#x #x+#dx
       else    ((#x<=(#l+#a+#c+#a))&(#x>#l+#a+#c)) $ zweiter Teil nur noch teilweise drauf
               let#lfnr #lfnr+1
               lf nr #lfnr typ SW0 bez 'SW0 #text_v #text_y LF #lfnr'
               let#l2 (#a+#c+#a)-(#x-#l)
               #include last2ue
               let#x #x+#dx
       endif

endloop

#enddef

#include sw0