Navigation:  SPS > Unterschiede der TrySim-SPS zur S7 > Abweichend implementierte Eigenschaften >

Out-Parameter von Funktionen

Vorherige SeiteKapitelübersichtNächste Seite

 

Das Folgende betrifft nur Funktionen, nicht Funktionsbausteine.

 

In einer S7 haben Out-Parameter entgegen den Regeln der IEC 1131 bereits beim Aufruf einen definierten Wert. Sie verhalten sich eigentlich wie In-Out-Parameter. Dies verführt einige Programmierer dazu, Out-Parameter wie In-Out-Parameter zu verwenden, z.B. indem ein Out-Parameter in vielen Durchläufen gar nicht bearbeitet wird und nur gelegentlich zurückgesetzt wird. Wir halten diese Praxis für sehr gefährlich. denn es ist nicht garantiert, dass spätere Ausgabestände einer CPU das gleiche Verhalten zeigen. Die Folge wäre, dass ein Programm nach Ausfall einer CPU auf einer neuen CPU nicht mehr läuft. Siemens kann man in einem solchen Fall keine Schuld zuweisen: die neue CPU verhält sich ja gemäß IEC 1131. Auch die Portierung des Programms auf ein anderes System, das sich IEC konform verhält, wird durch diesen Mißbrauch der Out-Parameter sehr viel aufwändiger als vorhergesehen.

 

In TrySim haben daher die Out-Parameter beim Aufruf einer Funktion regelgemäß keinen definierten Wert. Dies kann dazu führen, dass ein Programm, welches auf einer S7 prima läuft, Probleme bereitet, wenn es von der TrySim-internen-SPS bearbeitet wird.

 

Für die Nutzer der Standard- und Professional-Version bieten wir für EUR 100,- die Option an, das falsche Verhalten der realen S7 in diesem Punkt exakt nachzubilden. Wir tun dies ungern, aber der Kunde ist König.

 

Was oben über die Out-Parameter gesagt worden ist, gilt sinngemäß auch für die In-Parameter. Hier liegt bei der S7 allerdings ein klarer Verstoß gegen die Bestimmungen der IEC 1131 vor: Ein In-Parameter darf in einer Funktion nicht so verändert werden können, dass der aufrufende Baustein danach mit anderen Daten rechnen muss. Die Versuchung, einem In-Parameter in einer Funktion einen neuen Wert zuzuweisen ist aber relativ gering, daher ist hier nur in Ausnahmefällen mit Problemen zu rechnen. TrySim verhält sich in diesem Punkt IEC 1131 - konform.

 

Abweichend implementierte Eigenschaften

Parameter-Aktualisierung bei Funktionen

 

S7-300 und S7-400 sind eingetragene Warenzeichen der Siemens AG.