Schreiben auf Profibus mit FB23 (SETIO_PART)

MaMoe2909

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich versuche, auf einen Profibusteilnehmer die Ausgänge im Byte x+5 mit FF zu schreiben.
Dazu habe ich einen FB23 gefunden und parametriert:

Code:
CALL  "SETIO_PART" , DB30
       ID     :=DW#16#B
       OFFSET :=5
       LEN    :=1
       STATUS :=MD50
       ERROR  :=M100.0
       OUTPUTS:=MB30

leider werde ich mit einem STOP der CPU 315 2PN/DP bestraft, obwohl der DB30 in der Steuerung vorhanden ist.

In der Hilfe steht etwas davon, man müsse:

... dem OB, in dem der FB 23 "SETIO_PART" aufgerufen wird, ein
Teilprozessabbild der Ausgänge zuordnen...
...Falls Ihre CPU keine
Teilprozessabbilder kennt oder Sie den FB 23 im OB 1 aufrufen wollen, müssen
Sie vor Aufruf des FB 23 den zugehörigen DP-Normslave bzw. das zugehörige
PROFINET IO-Device in das Prozessabbild der Ausgänge aufnehmen.

und genau da verlassen mich meine Kenntnisse...

Kann mir jemand einen Tip geben, was ich tun kann?

Viele Grüße
Marc
 
1.) In den Diagnosepuffer der CPU schauen, warum die CPU in Stop gegangen ist.
Ich tippe darauf, daß der Aktualparameter an ID nicht passt. Wenn Siemens schreibt "logische Adresse", dann ist in der Regel die "Diagnoseadresse" der Baugruppe oder Modul gemeint.
2.) einen (leeren) OB121 in die CPU laden, dann sollte die CPU nicht mehr in Stop gehen und Du kannst den Fehlerwert von STATUS ansehen.

Warum benutzt Du den FB23?
Warum schreibst Du nicht einfach auf das Byte AB16 bzw. die Adresse welche Du meinst?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Diagnoseadresse ist die 2042 (#7FA), die OB's sind drin :-(

Leider hat die Baugruppe von Hause aus nur EB 256...259 bzw. AB 256...259.

Laut Hersteller sind aber mehr als 16 Byte zum Parametrieren möglich und in der HW-Konfig kann ich die weiteren Bytes auch übertragen.

- Ich finde es aber unpraktisch zum an- und ausschalter des Laser jedesmal eine andere HW-Konfig zu übertragen...

Gruß
Marc
 
Also ich finde es zumindest sehr ungewöhnlich, mit dem FB23 (SETIO_PART) Baugruppen zu parametrieren. Ich schätze, da läuft was falsch...
Kannst Du etwas weiter ausholen und uns umgangssprachlich erklären, was Du mit welchem Laser (Hersteller, Typ) eigentlich machen willst?

Harald
 
ich versuche, auf einen Profibusteilnehmer die Ausgänge im Byte x+5 mit FF zu schreiben.
Ich finde es aber unpraktisch zum an- und ausschalter des Laser jedesmal eine andere HW-Konfig zu übertragen...

Was willst du eigentlich ?
Die Ausgänge für den Profibus Slave schreiben ?
Oder, den HW Konfig für den Profibus Slave ändern ? (und in den Fall, warum denn eigentlich ?).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also es handelt sich um einen Laser-Distanzmesser (TR Electronic, LBB500).

Ich kann am PEW258 die aktuelle Entfernung auslesen und kann über das PAW 258 einen Offset setzen.
Nun soll der Laser von der SPS Ein- und Ausgeschaltet werden können. Dazu gibt der Hersteller an, im Byte "x+5" den Messzyklus von "00" (Dauermessung) auf "FF" zu ändern.

Diese Umschaltung ist wohl nur per Profibus, nicht über die Ein- und Ausgänge möglich.

Ich hoffe, ich konnte Licht ins Dunkel bringen...

Gruß
Marc
 
L b#16#ff
t pqb263

edit: Und in deutsch:
L b#16#ff
t pab263

noch ein edit:
Ich vermute dass das meist korrekte ist den ganzen addressbereich von den Laser auf einmal zu übertragen (konsistent).
Dafür verwendest du ein Zwischenspeicher um die Daten zu bearbeiten, und dann übertragst du die Daten mittels SFC15 DPWR_DAT. Gleichmässig mit SFC14 DPRD_DAT um die Daten von den Laser konsistent zu lesen.
Manche "intelligente" Profibusteilnehmer meckert wenn man versucht ein Datenbereich das Konsistent Konfiguriert ist, nicht-konsistent zu schreiben oder lesen.
 
Zuletzt bearbeitet:
Vielen Dank!

Die Äänderung "pqb" -> "pab" hatte ich schon beim Eigeben "übersetzt" :)

Habe jetzt Antwort vom Hersteller, der mir mitteilt, dass er ein Ein- und Ausschalten des Lasers NICHT vorgesehen hat. Demnach wäre alles andere schon ein tieferer Eingriff.

Trotz allen VIELEN DANK für eure Unterstützung.

Viele Grüße
Marc
 
Zurück
Oben