Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Speichern von Werten in einem Datenbaustein

  1. #1
    Registriert seit
    01.10.2007
    Beiträge
    13
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    mein Anliegen ist folgendes:

    Ich will einen Funktionsbaustein erstellen, der auf einen Wert in einem Datenbaustein zugreift und diesen wieder an einer anderen Adresse in dem selbem Datenbaustein ablegt.

    Am Ende soll es so aussehen:

    Im OB will ich eine Verknüpfung zu dem FB. Wenn ich ein bestimmtes Eingangssignal erhalte, soll dieser FB den Wert aus dem Datenbaustein von der Adresse 90 laden und an der Adresse 62 dieses DB wieder ablegen. Die Werte sind vom Typ Word (W#16#0)

    Das wars eigentlich, mein Problem ist, dass ich mich noch nicht so besonders mit der S7 vertraut bin, und noch nicht einmal weiß, ob man Werte überhaupt im Datenbaustein ablegen kann.

    Mir wäre am meisten geholfen wenn jemand sich die Mühe macht, mir die Vorgehensweise genau zu erklären.

    Schon mal vielen Dank im vorraus
    Robert
    Zitieren Zitieren Speichern von Werten in einem Datenbaustein  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Kein Problem ...
    Der Befehl dafür heißt :

    L DBW 90
    T DBW 62
    wenn der DB schon mit AUF DB .. aufgeschlagen wurde. Sonst :

    L DB10.DBW 90
    T DB10.DBW 62
    oder eine andere DB-Nummer deiner Wahl ...

  3. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    robertganss (02.10.2007)

  4. #3
    robertganss ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.10.2007
    Beiträge
    13
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Genau das hatte ich schon versucht!

    vielleicht ist mein problem auch, dass der DB schon mit einem FB verbunden ist. Dieser DB war bei einer Bedienungssoftware für einen Schrittmotor dabei. Die Frage ist jetzt, wie und ob ich diesen Datenbaustein von einem Instanz_DB zu einem Globalen ändern kann, ohne dass ich die Funktionsweise zwischen dem dazugehörigen FB 10 und dem DB 101 zerstöre ?!

  5. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Du programmierst das dann entweder hinter (oder vor) dem FB-Aufruf in dem aufrufenden Baustein oder wenn der FB von dir ist (oder du den Quellcode hast) dann in demselben. Innerhalb des FB's läuft das Laden und Transferieren dann nur symbolisch - also :
    L Wert_1_xyz
    T Wert_2_abc
    ... oder wie immer die DW's benannt sind ...

  6. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    robertganss (02.10.2007)

  7. #5
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard

    Ich würde den Instanz-DB in Ruhe lassen, um die weitere Funktion des Schrittmotors nicht zu gefährden

    Mach eine Kopie davon, oder wenn es nur ein einzelner Wert ist, kopiere eben nur diesen in einen neuen DB.

    Wie, steht ja schon oben...
    __
    Mit freundlichem Gruß Peter

    ...Wir sind Alle Zeitreisende. Die überwiegende Mehrzahl schafft allerdings täglich nur einen Tag.... (Jasper Fforde: "In einem andern Buch")

  8. Folgender Benutzer sagt Danke zu PeterEF für den nützlichen Beitrag:

    robertganss (02.10.2007)

  9. #6
    robertganss ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.10.2007
    Beiträge
    13
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das sind alles sehr hilfreiche Tipps, aber warum ich diesen Wert in dem DB ändern will:
    Der FB greift auf diesen Wert zu und die Ansteuerung des Schrittmotors weiss damit, welchen Fahrauftrag er starten soll. Ich muss also zwangsweise diesen einen Wert verändern, damit ich z.b. nach abschluss des ersten Fahrauftrages, welcher in der Ansteuerung des Motors gespeichert ist, der Ansteuerung mitteilen kann welchen Fahrauftrag diese als nächstes starten soll.

    Ich will also gezielt diesen Wert z.b. in einer Schrittkette beliebig verändern können.

    Mich würde auch interessieren, wie das funktioniert, dass man im OB einen FB aufruft und dieser dort dann als symbol mit eigen progrmmierten Eingängen erscheint. Wie ich einen Fb in den OB lad, weiss ich, aber nicht, wie man bestimmten Befehlen des FB einen Eingang seines Symboles im OB zuordnet !

    vielen Dank

  10. #7
    robertganss ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.10.2007
    Beiträge
    13
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich wollte noch mitteilen, dass ich den Quellcode des FB10 sehen und verändern kann!

  11. #8
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Hallo Robertgans,

    geht es hier auch um den Kollmorgen.
    Was für eine Schrittkettenprogramierung nimmst Du denn , Graph oder von Hand.
    Wenn das von Hand programmiert wird kannst Du einfach an deinen Schrittmerker ein Move setzen, welches dir den Fahrauftrag in den DB schreibt.
    Bei Graph setzt Du z.B einen Merker (auch wenn das manchen nicht gefällt), der dann in deinem Baustein für den Motor per Move den Wert in den DB schreibt.

  12. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    robertganss (02.10.2007)

  13. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Das wäre aber schon komisch, wenn man von außen im Instanz-DB Daten umkopieren muß. Hat den Der FB keine IN-Parameter, mit denen man die entsprechenden Funktionen auswählt und Aktionen auslöst?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  14. #10
    robertganss ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.10.2007
    Beiträge
    13
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also der FB10, mit dem man den Motor ansteuern kann hat keinen Eingang oder ähnliches um einen Fahrauftrag anzuwählen.
    Der FB10 nutzt auch eigentlich den DB110 (und nopch zwei andere Bausteine SF15 und SF16 oder so, aber die will und kann ich auch nicht ändern, dort stehen für sps nur die parameter für die ansteuerung für den servostar drin) für die Ansteuerung des Motors.Der DB101, bei dem ich teile der Daten ändern möchte ist ein "NUTZ.DB" (so wird er von der Firma genannt) und dient extra dazu in zu benutzen und umzuschreiben, der FB10 holt sich nur die Startwerte aus dem DB101, z.b. eben welchen FAhrauftrag er starten soll, wenn eben der Eingang "Start_MT" gesetzt wird!

    Ich hab jetzt einen FB geschrieben um bestimmte Daten in dem DB 101 ändern zu können, aber es funkt noch nicht richtig:

    In meinem FB steht:

    U #Fahrauftrag1
    L 1
    T DB101.DBW62.0

    U #Fahrauftrag2
    L 2
    T DB101.DBW62.0
    usw.

    bis Fahrauftrag 4. dann hab ich noch die 4 Fahraufträge oben bei "IN" als BOOL deklariert.

    Als ich diesen Baustein dann im OB aufrufen wollte, muss man ja noch einen DB oben angeben, aber der war dann nur rot! was hab ich falsch gemacht ??? (siehe anhang)
    Angehängte Grafiken Angehängte Grafiken

Ähnliche Themen

  1. Online Datenbaustein mit Werten in Excel
    Von NAT_SS im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 06.08.2015, 16:33
  2. Step 7, Datenbaustein online speichern
    Von WIX im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.11.2010, 13:29
  3. Zeiten zyklisch in einem DB speichern
    Von Sebastian im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.03.2006, 15:58
  4. speichern bei einem ereignis
    Von Anonymous im Forum Hochsprachen - OPC
    Antworten: 11
    Letzter Beitrag: 20.12.2005, 13:42
  5. wie lege ich daten in einem Datenbaustein mit arrays ab ?
    Von Tom100 im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 03.06.2005, 09:03

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •