Sinec L1-Bus Datentransfer

raggasoulman

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

wer kann mir Tipps für folgendes Beispiel geben und meine wenigen Kenntnisse voran treiben.

Es sollen Daten bzw. Störmeldungsmerker von einer U95 zu einer 115U übermittelt werden. Leider
werden diese nicht wie gewünscht übertragen.

Meine Frage lautet: Muss man in meinem Fall mehrere Empfangsfächer initialisieren oder sind in den Anweisungen Programmierfehler?

Wie man erkennen kann werden im FB 20 die Empfangs-und Sendefächer initialisiert und im FB 21 soll der Datentransfer stattfinden.

Ich hoffe es findet sich Jemand der sich mit dem L1-Bus bzw. mit dessen Programmierung auskennt und mir irgendwie weiterhelfen kann.

Gruß aus Dortmund
Torsten




FB20
Initialisierung L1-Bus-Schnittstelle der CPU (Adressen CPU-Besy mitteilen)

0006 :A DB 200
0007 :
0008 :L DW 10
0009 :T MW 200 PG/DATEN - Adresse am L1->
000A :
000B :L KC DB DATENBYTE =
000D :T MW 202 Type Koordinierungs-Byte >
000E :L KY 200,11 DB 200 , DW 11 =
0010 :T MW 203 Nr. Koordinierungs-Byte >
0011 :
0012 :L KC DB DATENBYTE =
0014 :T MW 205 Type Koordinierungs-Byte >
0015 :L KY 200,12 DB 200 , DW 12 =
0017 :T MW 206 Nr. Koordinierungs-Byte >
0018 :
0019 :L KC DB DATENBYTE =
001B :T MW 208 Type Sende-Fach
001C :L KY 200,20 DB 200 , DW 20 =
001E :T MW 209 Sende-Fach
001F :
0020 :L KC DB DATENBYTE =
0022 :T MW 211 Type Empfangs-Fach
0023 :L KY 200,30 DB 200 , DW 30 =
0025 :T MW 212 Empfangs-Fach
0026 :
0027 :L KH EED5 Ende Quelle = MB 213
0029 :L KH EA7F Ziel = Systemdatenbereich
002B :TNB 14 14 Byte langer Block-Tran>
002C :
002D :***




FB21 L1-Bus Senden und Empfangen

Netzwerk 6 Master-Uhrzeit Empfangen
:
:L DL 11 Koordinierungs-Byte Empfang
:T MB 200 holen
:
:U M 200.7 kein Empfang
:SPB =M001 --> dann nicht auswerten
:
:L DR 30 Quelle der empfangenen Sendung
:L KB 0 Nr.0 entspricht Master
:><F
:SPB =M001 Quelle ist nicht der Master
:
:SPA FB 235 Stellwerte umspeichern
Name :COPY115U
ZIEL : KY 200,54
QUEL : KY 200,32
ZAHL : KF +4
:
:
:L DW 48 Statuswort der Uhr
:T MW 202 holen
:
:UN M 203.2
:S M 203.2 Stellwerte uebernehmen
:
:L MW 202 Statuswort der Uhr
:T DW 48 sichern
:
:
:UN M 200.7
:S M 200.7 Empfangs-Erlaubnis setzen
:
:L MB 200 Koordinierungs-Byte Empfang
:T DL 11 sichern
:
M001 :***
Netzwerk 7 Stoerungen von 95U empfangen
:
:L DL 11 Koordinierungs-Byte Empfang
:T MB 200 holen
:
:U M 200.7 kein Empfang
:SPB =M001 --> dann nicht auswerten
:
:L DR 30 Quelle der empfangenen Sendung
:L KB 5 Nr.5 entspricht 95U
:><F
:SPB =M001 Quelle ist nicht 95U
:
: Stoerungen 95U auf Merker legen
:L DW 32
:T MW 230
:
:L DW 33
:T MW 232
:
:L DW 34
:T MW 234
:
:L DW 35
:T MW 236
:
:L DW 36
:T MW 238
:
:UN M 200.7
:S M 200.7 Empfangs-Erlaubnis setzen
:
:L MB 200 Koordinierungs-Byte Empfang
:T DL 11 sichern
:***
 
ich hab jetzt nicht alles bis ins detail geprüft,
aber schon bei der belegung der schmiermerker sträuben sich mir
die haare.
du belegst mw202, mw203, mw205, mw206...
die bereiche überlappen sich!
mw202 enthält die merkerbyte 202 und 203
mw203 enthält die merkerbyte 203 und 204
=> bitte erst mal die bereiche für die schmiermerker sauber trennen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Läuft der Bus denn grundsätzlich?
Ist ein CP530 als Busmaster eingesetzt oder wer macht den Busmaster?
Wenn es eine Punkt zu Punktverbindung ist , also nur zwei CPUs, kann ja eine der CPUs der Master sein.
Aber das geht nur mit der zweiten Schnittstelle.
Hast du die ensprechende 95U oder 943/944 mit zweiten PG/L1 Anschluß?
 
Es handelt sich um eine seid 15 Jahren laufende Anlage, es sind 5 CPU´s miteinander verbunden und der Bus läuft ansonsten einwandfrei. Die 95U ist der Slave 5 und die 115U der Slave 4. An der 115U sollen über eine Lauer-Anzeige die vorhandenen Fehler von der 95U angezeigt werden. Und hier liegt das Problem, ich empfange keine Daten.


Vielleicht noch ein kleiner Zusatz, neben den Störmerkern, werden außerdem die Ausfallzeiten und die auftretenden Fehler auf einen Zentralen Drucker dokumentiert und hier funktioniert die Übertragung.

Gruß
Torsten
 
Es handelt sich um eine seid 15 Jahren laufende Anlage, es sind 5 CPU´s miteinander verbunden und der Bus läuft ansonsten einwandfrei. Die 95U ist der Slave 5 und die 115U der Slave 4. An der 115U sollen über eine Lauer-Anzeige die vorhandenen Fehler von der 95U angezeigt werden. Und hier liegt das Problem, ich empfange keine Daten.


Vielleicht noch ein kleiner Zusatz, neben den Störmerkern, werden außerdem die Ausfallzeiten und die auftretenden Fehler auf einen Zentralen Drucker dokumentiert und hier funktioniert die Übertragung.

Gruß
Torsten

hi,
wenn schon mal alles funktioniert hat, kannst du mal beschreiben wo jetzt die programmierten umterschiede sind.

mir fällt jetzt als ursachen ein:

1. der empfänger kann verschiedene daten nicht unterscheiden.
ich glaube es gibt nur EIN empfangsfach.
erst NACH empfang kann man die daten (vielleicht) verschiedenen funktionen zuordnen. (im Längenbyte steht die telegrammlänge)
wir hatten füher immer einen "kopf" am anfang wo typen etc. drin stand.

2. vielleicht sendest du gar nicht, weil immer nur das ursprüngliche telegramm verschickt wird.
deshalb haben wir einen scheibenverteiler gemacht, dort werden die verschiedenen daten der reihe nach gesendet.

3. ist das empfangsfach groß genug?

4. im koodinierungsbyte gibt es ein fehlerbit, im fehlerbyte steht dann(!) dazu der fehlercode, und dessen bedeutung in der siemensdoku.
das koodinierungsbyte gibts beim send und beim receive.

5. wenn es ein "neuer" slave ist, wurde der in die umlaufliste beim master eingetragen. sonst wird der gar nicht abgefragt.
der master ist der chef(!) und fragt an hand der umlaufliste ob der slave etwas zu sagen hat.
es gibt auch einen querverkehr: slave zu einen anderen slave. hatte ich aber noch nie benutzt.

bye
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die schnellen Antworten und für Eure Hilfe.
Ich hatte ja schon beschrieben das der Bus läuft und nach nochmaliger Überprüfung habe ich festgestellt das die Merkerbereiche mit dem Befehl "LKH 0000" totgeschrieben worden sind. Es ist mir erst aufgefallen, nachdem ich andere,freie, Merkerwörter benutzt habe. Die Störmerkerbits wurden einwandfrei übertragen.
Nochmal vielen Dank für Eure Hilfe und ein großes Lob an das Forum.

Gruß Torsten
 
Zurück
Oben