WAGO an S7

SPS-Guru

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Siematic mit WAGO-Knoten und LOGO via Profibus und AS-Inerface

Guten Morgen;
wir haben hier bei der Programmierung einer WAGO-Klemme (750-333 mit 750-655) über Profibus an Siemens SPS (CPU315F-2 PN/DP) ein kleines Problem.
Wir bekommen ein "ein" Signal auf der Ausgangskarte (DI16/DO16xDC24V) am Ausgang A0.4, obwohl die WAGO-Klemme kein Signal ausgiebt.

Woran kann das liegen?
Wenn wir ein Sensor an der WAGO-Klemme anschließen, wird dies ganz normal bei einem "ein" Signal an der SPS am Ausgang A0.6 angezeigt.

Im OB1 haben wir folgendes Programm geschrieben:
L EB 4 //Lade Eingabebyte
T AB 0 // Transferieren in Anzeigebyte

Zeil unserer Aufabe ist es über einen Taster, der an der LOGO! mit AS-Interface angeschlossen ist und somit ein "ein" Signal ausgiebt auf die WAGO-Klemme zu geben und von dort via Profibus auf die Siemens SPS zu übertragen und dies "ein" Signal an der Siemens SPS an der Ausgangskarte an der LED anzeigen zu lassen.

Leider weiss unser Dozent auch nicht die Lösung, da der Kurs neu ist und wir sollen die Aufgabe eigenständig mit Hilfestellung von unterscheidlichen Quellen schaffen.
 

Anhänge

  • Konfiguration.JPG
    Konfiguration.JPG
    115,1 KB · Aufrufe: 79
  • Programmierung.JPG
    Programmierung.JPG
    150,8 KB · Aufrufe: 61
  • Logo!.JPG
    Logo!.JPG
    98,7 KB · Aufrufe: 70
  • WAGO-Klemme.JPG
    WAGO-Klemme.JPG
    103,5 KB · Aufrufe: 77
Zuletzt bearbeitet:
Hi,

ah probiere mal EB8 da Byte 0&1 nur Statusinformationen und Byte 2&3 Registerinformationen sind. ;)

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, dass hat uns einen kleinen Schritt weitergebracht.
Wir haben jetzt Feierabend und werden uns Montag weiter den Problem zuwenden...

Mal schauen, wie weit wir da kommen und was noch so an Fehlern anfällt.
Schönes Wochenende!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zugriff auf Prozessdaten
Das Lesen und Schreiben von Bit-, Byte-, Word- und DWord-Werten kann
direkt im Prozessabbild erfolgen.
Die Verwendung komplexer Klemmen mit einer Datenbreite von mehr als 4
Byte (zB. 750-404 „Vor- Rückwärtszähler“) erfordert das konsistente Lesen
und Schreiben.
Das konsistente Lesen bzw. Schreiben von 3 Byte oder mehr als 4 Byte von
bzw. in einem DP-Normslave erfordert die Verwendung der Funktionsbausteine
SFC14 und SFC15.
Die maximale Länge ist CPU-spezifisch festgelegt
und der CPU-Dokumentation zu entnehmen.
Folgende Parameter werden an die Funktionsbausteine übergeben:
- LADDR: Startadresse im DP-NormSlave.
- RECORD: Lokaler Speicherbereich.
- RET_VAL: Adresse zur Ausgabe von Fehlermeldungen.
Der Zielbereich muß die gleiche Länge aufweisen, wie die mit Step7 projektierte
Baugruppe.
SFC14 „DPRD_DAT“ (read consistent data from a DP-normslave):
Ermöglicht das Lesen konsistenter Daten von einem DP-Normslave.
Nach erfolgreichem Lesezugriff sind die Daten von LADDR in dem Zielbereich(
RECORD) eingetragen.
SFC15 „DPWD_DAT“ (write consistent data to a DP-normslave):
Ermöglicht das Schreiben konsistenter Daten zu einem DP-Normslave.
Nach erfolgreichem Schreibzugriff sind die durch RECORD bezeichneten Daten
im Zielbereich(LADDR) eingetragen.
Beispiel:
6 Byte von L2DP ab Adresse EB100(0x64) lesen und nach MB100 schreiben.
CALL SFC 14
LADDR := W#16#64 Lesen von Adresse EB100
RET_VAL:= MW20 Fehlermeldungen nach MW20
RECORD := P#M 100.0 BYTE 6 Schreibe 6 Byte in MB100
Beispiel:
5 Byte von MB120 lesen und nach L2DP ab Adresse AB80(0x50) schreiben.
CALL SFC 15
LADDR := W#16#50 Schreiben an Adresse AB80
RECORD := P#M 120.0 BYTE 5 Lesen 5 Byte aus MB100
RET_VAL:= MW24 Fehlermeldungen nach MW24

Da haben wir den Salat
 

Anhänge

  • Konfiguration.JPG
    Konfiguration.JPG
    117,3 KB · Aufrufe: 67
Zum glück ist das Wochenende zuende und wir können wieder an unsere S7. Nun hat sich aber wieder der Fehler von Freitag eingeschlichen, obwohl wir die Programmierung wie hier beschrieben geändert haben und es dannach auch lief. Woran kann es liegen, das an der Ausganskarte wieder die LED des Ausangs A0.4 leuchtet, obwohl der Sensor kein Signal aussendet?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...schon mal kontrolliert ob euer EW und AW nicht irgendwo anders bitweise beschrieben wird?
Ja, sie werden nirgendswo anders beschrieben.
Nachdem wir die Hardware Konfiguration erneut hochgeladen haben, funktioniert das ganze auch wieder.

Bloß das mit der LOGO! kriegen wir noch nicht hin. Es wird zwar das Signal der LOGO! am WAGO-Knoten angezeigt via AS-Interface aber die WAGO-Klemme leitet es nicht weiter über den Profibus an dan die SPS.
 
Zuletzt bearbeitet:
Danke, aber wie mache ich das?
Gebe ich "Call SFC14" im OB1 ein (AWL), dann kommt folgendes:
Code:
CALL  "DPRD_DAT"
       [COLOR=red]LADDR  := [/COLOR]
[COLOR=red]    RET_VAL:=[/COLOR]
[COLOR=red]    RECORD :=[/COLOR]
CALL  "DPWR_DAT"
       [COLOR=red]LADDR  :=[/COLOR]
[COLOR=red]    RECORD :=[/COLOR]
[COLOR=red]    RET_VAL:=[/COLOR]

Hab nun ein wenig rumgesucht (Eigeninitiative muss ja auch mal sein), allerdings hab ich absolut keine Ahnun was ich da einsetzen soll. Ich hab was von Merkerbytes gelesen, allerdings bin ich da nicht wirklich schlau draus geworden...

EDIT:
CALL "DPRD_DAT"
LADDR :=W#16#4
RET_VAL:=MW112
RECORD :=P#M 100.0 BYTE 24
Das ist das richtige, womit es nun auch funktioniert.
Der Sensor schaltet das MB 108 und die anderen Eingänge an der LOGO! den MB 109.
Nun eine andere Frage: Wer legt fest, welches MB gesetzt wird?
Also wo wird festgelegt, dass z.b. der Sensor den MB 108 setzt und nicht z.b 101?

Und wie kann ich herausfinden welche MBs an der SPS für die Eingänge stehen?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ah probiere mal EB8 da Byte 0&1 nur Statusinformationen und Byte 2&3 Registerinformationen sind. ;)

Gruss Daniel

Hatte ich doch bereits geschrieben. ;)
Der Rückgabewert (RET_VAL) von DPRD_DAT liegt im selben Bereich wie die Adresse an RECORD, für RET_VAL solltest Du was anderes nehmen z.B. MW126.

Gruss Daniel
 
Also SFC14/15 ist zwar mittelfristig schön, hier aber sicher nicht notwendig.

Wurde der Logo eine ASI-Adresse verpasst? (am einfachsten mit ASI-Adressierungsgerät)

Wurde der ASI-Master auf der Wago bereits in den Normalbetriebsmodus "Geschützter Betrieb" geschaltet, bzw. war die Klemme vorher mit korrekten Bus mal im Projektierungsmodus?
http://www.wago.com/wagoweb/documentation/750/ger_manu/modules/m07500655000de.pdf
Kapitel 4.3

Mfg
Manuel
 
Also SFC14/15 ist zwar mittelfristig schön, hier aber sicher nicht notwendig.

???

Zugriff auf Prozessdaten
Das Lesen und Schreiben von Bit-, Byte-, Word- und DWord-Werten kann
direkt im Prozessabbild erfolgen.
Die Verwendung komplexer Klemmen mit einer Datenbreite von mehr als 4
Byte (zB. 750-404 „Vor- Rückwärtszähler“) erfordert das konsistente Lesen
und Schreiben.
Das konsistente Lesen bzw. Schreiben von 3 Byte oder mehr als 4 Byte von
bzw. in einem DP-Normslave erfordert die Verwendung der Funktionsbausteine
SFC14 und SFC15. Die maximale Länge ist CPU-spezifisch festgelegt

Ist das Handbuch mittelfristig schön veraltet?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
jetzt wenn du mir noch beantwortest wofür du die daten konsistent brauchst, in dem fall? Das sind alles einzelne ein/ausgänge welche ich auf bit-ebene betrachte!
 
Zugriff auf Prozessdaten
Das Lesen und Schreiben von Bit-, Byte-, Word- und DWord-Werten kann
direkt im Prozessabbild erfolgen.

Die Verwendung komplexer Klemmen mit einer Datenbreite von mehr als 4
Byte
(zB. 750-404 „Vor- Rückwärtszähler“) erfordert das konsistente Lesen
und Schreiben.

Das konsistente Lesen bzw. Schreiben von 3 Byte oder mehr als 4 Byte von
bzw. in einem DP-Normslave erfordert die Verwendung der Funktionsbausteine
SFC14 und SFC15. Die maximale Länge ist CPU-spezifisch festgelegt

Wenn ich "in diesem Fall" die Hardware anschaue, sind das 24 byte, oder irre ich mich da?
 

Anhänge

  • Konfiguration.JPG
    Konfiguration.JPG
    117,3 KB · Aufrufe: 8
Edit:

sicherlich kann das auch ohne konsistenz funktionieren.

Doppelwortzugriff möglichst vermeiden.

Wenn der ASI-Master keine Probleme damit hat
 
Zurück
Oben