FB aufrufen, DB als Eingangsvariable?

jackjones

Level-1
Beiträge
214
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
kann ich in einem FB als Eingangsvariable einen DB angeben?
Ich muss einen FB mehrmals aufrufen, und jedes mal auf einen anderen DB zu greifen, und auch auf mehrere Werte in dem DB. Daher würde ich den DB gerne laden mit:

AUF DBXX

Kann ich den jeweiligen DB irgendwie in den Eingangsvariablen deklarieren? DBW und DBD geht ja, aber geht auch ein ganzer DB? Als Char, evt?


So eventuell?

AUF #DB_IN

Wie muss #DB_IN deklariert sein? Als Char?
 
Code:
L I_DBNummer
T Temp_DBNummer
 
Auf DB [Temp_DBNummer]
mhh in der Zeile
Auf DB [Temp_DBNummer]

wirklich mit den eckigen Klammern? Den Ausdruck kenne ich noch garnicht. Oder :

Code:
AUF DB#Temp_DBNummer?
 
Code:
L I_DBNummer
T Temp_DBNummer
 
Auf DB [Temp_DBNummer]
mhh in der Zeile
Auf DB [Temp_DBNummer]

wirklich mit den eckigen Klammern? Den Ausdruck kenne ich noch garnicht. Oder :

Code:
AUF DB#Temp_DBNummer?
Probier es einfach aus und Du wirst sehen: Es funktioniert so wie AUDSU geschrieben hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
      L     10
      T     #dbnr
      AUF   DB [#dbnr]

Funktioniert bei mir. DB10 stehet im DB-Register
Ich habe keinen Eingangsparameter gemacht, sondern fest 10 geschrieben, muss aber auch funktioniern

Gruss
Audsuperuser
 
Super, Danke!!!

Nun noch eine letzte Frage zu dem Thema, eventuell hast du noch lust mir diese zu beantworten.

Code:
L 10
T #temp_DB

AUF 5[#temp_DB]

Würde damit der DB510 aufgerufen werden?
 
Super, Danke!!!

Nun noch eine letzte Frage zu dem Thema, eventuell hast du noch lust mir diese zu beantworten.

Code:
L 10
T #temp_DB
 
AUF 5[#temp_DB]

Würde damit der DB510 aufgerufen werden?
Hast Du kein Step7 am Start? :confused:
Durch einfaches selbstprobieren würdest Du doch herausbekommen dass das nicht geht.:rolleyes:
.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ne bin noch nicht in der Firma.
Und später kann ich auch nicht "der" Anlage rumprobieren. Die darf auf keinen Fall in Stop gehen ;p

Schade das es nicht geht...
Aber ich könnte ja folgendes machen:

Code:
L #in_DB        //Als INT Wert=10
L 500
+I
T #temp_db   //Ergibt 510, sofern in_DB 10 ist...

AUF [#temp_db]
 
Ne bin noch nicht in der Firma.
Und später kann ich auch nicht "der" Anlage rumprobieren. Die darf auf keinen Fall in Stop gehen ;p

Schade das es nicht geht...
Aber ich könnte ja folgendes machen:

Code:
L #in_DB        //Als INT Wert=10
L 500
+I
T #temp_db   //Ergibt 510, sofern in_DB 10 ist...
 
AUF [#temp_db]

Müsste so funktionieren, aber wenn die SPS nicht auf Stop gehen soll, schau dass Du den entsprechen DB auf der SPS hast, oder das die OBs vorhanden sind.

Gruss
Audsuperuser
 
Zurück
Oben