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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Merker/Datenbaustein/libnodave S7-200

  1. #1
    Registriert seit
    12.10.2007
    Beiträge
    13
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo nochmal =)

    System ist immernoch Step7-Micro/Win 32 V3.2.4.27, eine S7-200 CPU 224, dazu ein EM223 und ein CP243-1...

    Wenn ich mit libnodave/delphi meine Merker auslesen bzw. setzen will... muss ich die Merker dann erst in einen Datenbaustein schreiben? Und wenn ja... wie mach ich das?

    Kommunikation SPS/PC funktioniert problemlos... und das Test-Programm bei libnodave auch... nur auslesen lässt sich ja da nur irgendwie der DB


    grad erst angefangen mit S7 und schon (fast) die Nase voll
    "Nobody can go back and start a new beginning, but anyone can start today and make a new ending."
    Zitieren Zitieren Merker/Datenbaustein/libnodave S7-200  

  2. #2
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Das ist richtig, du kannst Merker und der gleichen nicht direkt aus der CPU auslesen, sondern musst den Umweg über den Datenbaustein nehmen.

    Bei der 200er Reihe gibt es hier allerdings nur den DB1, der ist Standardmäßig bei jedem Projekt angelegt.
    Du findest ihn üblicherweise Links am Bildschirmrand in der Auswahlleiste zwischen "Statustabelle" und "Systemdatenbaustein".

    Am PC musst du nun, beim OPC Server, einstellen das er die Daten im DB1 abholen soll und in welchem bereich.

    Als Datenbereich musst VB´s verwenden.

    So kannst du zum Beispiel den Status eines bestimmten Merkerbyte vom SPS Programm aus in ein Variablenbyte übertragen:

    LD M0.0
    MOVB MB1, VB1

    Auf das VB1 kannst du dann über den OPC Server vom PC aus zugreifen.
    Hier kann die Programmierung jedoch je nach eingesetztem Hersteller variieren.

    Vielliecht kann dir auch dieser Beitrag helfen:

    http://sps-forum.de/showthread.php?t=16225

    Gruß smartie

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

    rampage (07.11.2007)

  4. #3
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von rampage Beitrag anzeigen
    Hallo nochmal =)

    System ist immernoch Step7-Micro/Win 32 V3.2.4.27, eine S7-200 CPU 224, dazu ein EM223 und ein CP243-1...

    Wenn ich mit libnodave/delphi meine Merker auslesen bzw. setzen will... muss ich die Merker dann erst in einen Datenbaustein schreiben? Und wenn ja... wie mach ich das?

    Kommunikation SPS/PC funktioniert problemlos... und das Test-Programm bei libnodave auch... nur auslesen lässt sich ja da nur irgendwie der DB


    grad erst angefangen mit S7 und schon (fast) die Nase voll
    Hääähhh? Das Testprogramm testPPI von Libnodave liest MERKER, und zwar die ersten 16 Merkerbytes. Was die Delphi-Komponente tut weiß ich Moment nicht, aber sicher kann man das einstellen.

  5. Folgender Benutzer sagt Danke zu Zottel für den nützlichen Beitrag:

    rampage (07.11.2007)

  6. #4
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    hallo,
    du kannst merker mit libnodave ansprechen, bei 0.72 von libnodave hauten nur zeiten und zähler nicht richtig hin, aber sonst alles
    @ smartie: libnodave ist kein opc server
    mfg

    dietmar

    Nichts ist so beständig wie ein Provisorium.

  7. Folgender Benutzer sagt Danke zu lorenz2512 für den nützlichen Beitrag:

    rampage (07.11.2007)

  8. #5
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Sorry, ich bin ganz pauschal von einer OPC Verbindung ausgegangen.

    Aber wie heisst es doch so schön : Errare humanum est.

    Gruß smartie

  9. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von smartie Beitrag anzeigen
    Sorry, ich bin ganz pauschal von einer OPC Verbindung ausgegangen.

    Aber wie heisst es doch so schön : Errare humanum est.

    Gruß smartie
    Ja smartieorix, da sieht man doch gleich wieder den Asterix-Fan duchblitzen !
    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

  10. #7
    Avatar von rampage
    rampage ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.10.2007
    Beiträge
    13
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guten Morgen,

    erstmal vielen Dank für eure Antworten...

    Hab das mit dem Delphi Testprogramm nochmals probiert, sobald ich da was anderes einstelle als den DB, dann erscheint unten eine Fehlermeldung sinngemäß "not available for this PLC (200 serie)". Daten werden zwar gelesen, aber es sind immer wieder dieselben aus dem DB, wenn der einmal ausgelesen wurde.

    Den DB kann ich dann aber wie gesagt auslesen. 157 Bytes davon sind ja mit der Konfiguration der CP schon belegt, hab jetzt meine Merker in einem extra Unterprogramm in die VBs des DB übertragen, und zwar von VB160 an (hab nur 8 Merkerbytes belegt), und kann dann über das Delphi Testprogramm die VBs von VB160 an auslesen. Funktioniert einwandfrei

    Vielen Dank an alle Beteiligten!

    Was mir gerade noch aufgefallen ist... ist das richtig, dass meine Symboltabelle weg ist, sobald ich das Programm AUS der CPU lade? Also, die Symboltabelle wird nicht übertragen? Gut, die CPU wird's wahrscheinlich sowieso nur ohne symbolische Adressierung abarbeiten können.

    @smartie:

    Eine Frage zu deinem Beispiel hätte ich nochmal... du hattest ja geschrieben:

    LD M0.0
    MOVB MB1, VB1
    hab das jetzt ohne LD, gemacht, also nur MOVB und meine 8 Merkerbytes untereinander den entsprechenden VBs zugeordnet... was "macht" denn das LD? Das würde doch dann nur den M0.0 laden, oder?


    Gruß, rampage
    "Nobody can go back and start a new beginning, but anyone can start today and make a new ending."

  11. #8
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hi rampage,

    Ja es ist richtig das die Symboltabelle in der SPS nicht hinterlegt wird. Wenn du (oder ein Kunde) also irgendwann wann mal einen Abzug
    von der SPS machst ohne das Originalprogramm zu haben dann hat er keine Symbolik dabei.

    Also am besten das Originalprogramm aufmachen, unter neuer Version speichern und dann "Laden aus CPU" wählen.


    Zu der Sache mit :

    LD M0.0
    MOVB MB1, VB1

    Ich nehme an du progst in AWL?

    Wenn du nämlich die MOV - Funktion benutzt und in FUP oder KOP arbeitest, so bekommst du beim übersetzen einen Fehler.

    LD M0.0 hast zur Folge das die Aktion nur ausgeführt wird wenn M0.0 "1" wird.

    Wenn du nicht mit einem Merker arbeiten willst kanst du auch

    LD SM0.0

    schreiben.

    Der SystemMerker 0.0 hat eine feste "1" und kann für diese Funktionen verwendet werden.


    Gruß smartie

  12. #9
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von rampage Beitrag anzeigen
    Hab das mit dem Delphi Testprogramm nochmals probiert, sobald ich da was anderes einstelle als den DB, dann erscheint unten eine Fehlermeldung sinngemäß "not available for this PLC (200 serie)".
    Stell mal bei "Area:" "Flags" ein, und bei "DB:" eine "0". Per default steht das auf "Datablock" und "1", und nur bei "Datablock" darf in "DB:" was anderes als "0" stehen. Das gilt nicht nur für das Demoprogramm, auch in Deinem eigenen Programm darfst Du nur für Datenblöcke eine DB-Nummer <> 0 verwenden.


    Gruß Axel
    Man muß sparn wo mn knn!

  13. Folgender Benutzer sagt Danke zu afk für den nützlichen Beitrag:

    Tom137 (28.10.2008)

  14. #10
    Avatar von rampage
    rampage ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.10.2007
    Beiträge
    13
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @smartie: aah, jez is die sache klarer mit dem LD

    @afk: hm hab ich grad mal probiert, auf Flags gestellt, und bei DB "0" eingegeben... aber sobald ich "0" eingebe und aus dem Feld herausgehe, stell sich das automatisch wieder auf 1
    "Nobody can go back and start a new beginning, but anyone can start today and make a new ending."

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 24.09.2013, 18:09
  2. Libnodave und Datenbaustein
    Von Deep Blue im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 16.03.2011, 17:26
  3. Merker lesen mit Libnodave
    Von Snoopy123123 im Forum Hochsprachen - OPC
    Antworten: 29
    Letzter Beitrag: 14.07.2009, 17:40
  4. Merker oder Datenbaustein
    Von klauserl im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.11.2007, 00:32
  5. Antworten: 4
    Letzter Beitrag: 23.08.2006, 15:02

Lesezeichen

Berechtigungen

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