Elektro-Doc
Level-1
- Beiträge
- 3
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Guten Abend,
habe mich hier gerade registrieren lassen, weil ich trotz jahrelanger Erfahrung mit S7 auf ein Problem gestossen bin, für dass ich keine Erklärung habe.
Bei einer parametriebaren Funktion für eine Sollwert-Rampe sind In-Parameter mit Datenbausteinvariablen beschaltet.
Der aktuelle Sollwert wird über einen InOut-Parameter eingelesen, als neuer Sollwert mit dem alten Sollwert verglichen; dieser wird über eine zeitlich gesteuerte Addition bzw. Subtraktion angepasst und an den aktuellen Sollwert zurückgegeben.
Beschaltung ungefähr so:
Call FC28
IN0= T45
IN1= DB56.dbx60.0 (Regler aktiv)
IN2= DBD102 (Neuer Sollwert)
IN3= DBD106 (Alter Sollwert)
INOUT4= MD216 (Aktueller Sollwert)
INOUT5= M120.2 (Timerstatus)
Frage: Obwohl als IN-Parameter angelegt, ändern sich die Aktualwerte für alten und neuen Sollwert im DB und bei Beschaltung von IN2 und IN3 in Komplettaddressierung (also DB56.DBD102) funktioniert es nicht???
Gibt es innerhalb des Makros "CALL" spezielle Speicherzugriffe, die in diesem besonderen Fall die Beschaltung in Komplettadressierung boykottieren?
Danke für eine Antwort
Stefan
habe mich hier gerade registrieren lassen, weil ich trotz jahrelanger Erfahrung mit S7 auf ein Problem gestossen bin, für dass ich keine Erklärung habe.
Bei einer parametriebaren Funktion für eine Sollwert-Rampe sind In-Parameter mit Datenbausteinvariablen beschaltet.
Der aktuelle Sollwert wird über einen InOut-Parameter eingelesen, als neuer Sollwert mit dem alten Sollwert verglichen; dieser wird über eine zeitlich gesteuerte Addition bzw. Subtraktion angepasst und an den aktuellen Sollwert zurückgegeben.
Beschaltung ungefähr so:
Call FC28
IN0= T45
IN1= DB56.dbx60.0 (Regler aktiv)
IN2= DBD102 (Neuer Sollwert)
IN3= DBD106 (Alter Sollwert)
INOUT4= MD216 (Aktueller Sollwert)
INOUT5= M120.2 (Timerstatus)
Frage: Obwohl als IN-Parameter angelegt, ändern sich die Aktualwerte für alten und neuen Sollwert im DB und bei Beschaltung von IN2 und IN3 in Komplettaddressierung (also DB56.DBD102) funktioniert es nicht???
Gibt es innerhalb des Makros "CALL" spezielle Speicherzugriffe, die in diesem besonderen Fall die Beschaltung in Komplettadressierung boykottieren?
Danke für eine Antwort
Stefan