MW
Level-1
- Beiträge
- 1.186
- Reaktionspunkte
- 272
-> Hier kostenlos registrieren
Hallo,
mir ist jetzt mal ein Code von einem Lieferanten unter gejubelt worden über den ich jetzt eine ganze Weile gegrübelt habe und immer noch keinen Sinn erkenne.
Vielleicht kann mir von euch jemand auf die Sprünge helfen.
In einem mehrfach verwendeten FC fand ich im ersten Netzwerk folgenden Code:
Das der DB120 dort geöffnet wird hat in meinen Augen keinen Sinn, macht aber auch keine Probleme, richtig?
Auf diesen Code folgt folgender Abschnitt:
Der Programmierer öffnet immer einen DB, liest dann aber einen Wert der dem FC übergeben wurde und transferiert diesen Wert wieder auf eine Eingangsvariable.
Da die DBs aber online nicht vorhanden sind gibt's immer einen OB121-Aufruf.
Für mich unklar sind dabei zwei Dinge:
- Das Öffnen des DB bringt doch rein gar nichts(außer das er im DB-Register steht) da im Anschluss eine Eingangsvariable geladen wird, richtig?
- Das Schreiben einer IN-Variable(an Schnittstelle fix eingetragen mit z.B. 0.0e+0) auf eine andere IN-Variable(an Schnittstelle steht dort ein Real-Wert aus DB120) ist doch ebenfalls Sinnfrei, richtig?
Die Variable #DW wird Übrigens im weiteren Verlauf des Bausteins nicht mehr verwendet.
mir ist jetzt mal ein Code von einem Lieferanten unter gejubelt worden über den ich jetzt eine ganze Weile gegrübelt habe und immer noch keinen Sinn erkenne.
Vielleicht kann mir von euch jemand auf die Sprünge helfen.
In einem mehrfach verwendeten FC fand ich im ersten Netzwerk folgenden Code:
Code:
AUF DB 120 [COLOR=#ff0000]--> den DB gibt's auf der Steuerung, das Öffnen ist aber Sinnlos[/COLOR]
L #DW [COLOR=#006400]--> FC_IN REAL: beschalten mit Variable "DB120.DBD72"[/COLOR]
T #VALUE -->[COLOR=#006400] FC_TEMP REAL: wird mit dem Wert der Variable aus DB120 beschrieben und im weiteren Code verwendet, ist OK [/COLOR]
Das der DB120 dort geöffnet wird hat in meinen Augen keinen Sinn, macht aber auch keine Probleme, richtig?
Auf diesen Code folgt folgender Abschnitt:
Code:
AUF DB 105 [COLOR=#ff0000]--> DB online nicht vorhanden[/COLOR]
L #ON --> FC_IN REAL: beschalten mit fixem Wert
T #DW --> FC_IN REAL: beschalten mit Variable aus DB120
AUF DB 115 --[COLOR=#ff0000]> DB online nicht vorhanden[/COLOR]
L #OFF --> FC_IN REAL: beschalten mit fixem Wert
T #DW --> FC_IN REAL: beschalten mit Variable aus DB120
AUF DB 107 [COLOR=#ff0000]--> DB online nicht vorhanden[/COLOR]
L #RSL --> FC_IN REAL: beschalten mit fixem Wert
T #DW --> FC_IN REAL: beschalten mit Variable aus DB120
AUF DB 117 [COLOR=#ff0000]--> DB online nicht vorhanden[/COLOR]
L #RTL --> FC_IN REAL: beschalten mit fixem Wert
T #DW --> FC_IN REAL: beschalten mit Variable aus DB120
Der Programmierer öffnet immer einen DB, liest dann aber einen Wert der dem FC übergeben wurde und transferiert diesen Wert wieder auf eine Eingangsvariable.
Da die DBs aber online nicht vorhanden sind gibt's immer einen OB121-Aufruf.
Für mich unklar sind dabei zwei Dinge:
- Das Öffnen des DB bringt doch rein gar nichts(außer das er im DB-Register steht) da im Anschluss eine Eingangsvariable geladen wird, richtig?
- Das Schreiben einer IN-Variable(an Schnittstelle fix eingetragen mit z.B. 0.0e+0) auf eine andere IN-Variable(an Schnittstelle steht dort ein Real-Wert aus DB120) ist doch ebenfalls Sinnfrei, richtig?
Die Variable #DW wird Übrigens im weiteren Verlauf des Bausteins nicht mehr verwendet.
Zuletzt bearbeitet: