3964R-Kommunikation zwischen S5 CPU135-U und S7 CPU318-2

Ass0384

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
ich bin gerade dabei, eine 3964R-Kommunikation zwischen einer S5 (CPU135-U, CP544) und einer S7 (CPU 318-2, CP341 RS232C) aufzubauen.
Leider habe ich Schwierigkeiten bei der Programmierung auf der S5-Seite. Ich habe folgende Bausteine eingesetzt und im OB1 programmiert: FB 120 (SEND) und FB 126 (SEND-ALL).

Es sollen vorerst nur Daten an die S7 gesendet werden. In der S7 sind folgende Bausteine benutzt worden: FB7 (RECEIVE DATA / PROVIDE DATA, PtP CP 341).
Ich möchte Daten aus einem Datenbaustein von der S5 in einen DB der S7 senden. Wie programmiere ich die S5 mit diesen (oder anderen!?) Bausteinen, damit die Kommunikation funktioniert?

Vielen Dank vorab für die Hilfestellungen.

Mfg
Ass0384
 
Hallo Ass,

es gibt viele Stellen, an denen Probleme auftreten können. Deshalb erst mal ein paar Fragen:
Wie hast Du den CP544 parametriert?
Wie hast Du den CP341 parametriert?
Gibt einer der CP's eine Fehlermeldung aus?

Auf S5 Seite musst Du ausserdem in den Anlauf-OBs den FB 125 einbauen, damit die CPU sich
mit dem CP synchronisiert.

Grüße
Gebs
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie hast Du den CP544 parametriert?
Die CP544 habe ich über ComPP parametriert. Was willst du da genau wissen?
z.B. Priorität niedrig


Wie hast Du den CP341 parametriert?
Die CP341 habe ich über die Hardwarekonfiguration parametriert.
z.B. Priorität hoch

Habe die Parametrierungswerte, wie Stoppbits etc. kontrolliert und Stimmen bei S5 und S7 überein. Daran kann es eigentlich nicht liegen.

Gibt einer der CP's eine Fehlermeldung aus?
CPs geben keine Fehlermeldung aus.

Musseigentlich an der Programmierung liegen!

MfG
Ass0384
 
Hallo ASS,

wenns die Programmierung der S5 ist, dann ruf den FC 125 in den Anlauf-OB's auf.
AG in Stop nehmen und und wieder in Run. Normalerweise ist auf den CP's eine grüne/rote LED.
Diese sollte im Stop rot sein. Nach dem Anlauf, wenn die Synchronisation funktioniert hat,
ist sie grün. Hab' leider im Moment kein Handbuch zur Hand, um zu prüfen. ob's bei der 544
genauso ist. Werde morgen nochmal nachsehen.

Bis dann.
Grüße
Gebs
 
Hallo,
das mit der Synchronisation klappt. Habe die CP544 schon mal als passiven Partner betrieben. Soll aber jetzt auf aktiv umprogrammiert werden, damit die CP auch von sich aus 3964R-Telegramme versenden kann. Für die aktive Kommunikation benötigt man ja den SEND-Baustein und den SEND-ALL-Baustein, oder? Und wie programmiert man sie? Hast du (Sie) ein S5-Beispielprojekt zufällig parat?

Gruß
Ass0384
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ass,

ein Beispielprogramm hab' ich leider nicht, aber so schwer ist es nicht.
Hier mal auf die schnelle, wie ich machen würde:

Code:
FX 2                                  BIB=

NETZWERK   1            
     NAME :CP544                              ;

0005      :U   M 0.0                          ;Anstossmerker fuer SEND
0006      :SPB FB 120                         ;
0007 NAME :SEND                               ;
0008 SSNR :    KY 000,016                     ;16 = Schnittstellen/Kachel-Nr.
0009 A-NR :    KY 000,001                     ;1 = Auftrags-Nr
000A ANZW :    MW 2                           ;Anzeigenwort
000B QTYP :    KC DB                          ;DB oder DX als Sendefach
000C DBNR :    KY 001,000                     ;Nr des Sendefach-DB/DX
000D QANF :    KF +0                          ;Ab DW 0
000E QLAE :    KF +254                        ;254 Worte
000F PAFE :    MB 4                           ;Parametrierfehler
0010      :                                   ;
0011      :SPA FB 126                         ;
0012 NAME :SEND-A                             ;
0013 SSNR :    KY 000,016                     ;16 = Schnittstellen/Kachel-Nr.
0014 A-NR :    KY 000,000                     ;muss 0 sein fuer SEND-ALL
0015 ANZW :    MW 6                           ;Anzeigenwort
0016 PAFE :    MB 8                           ;Parametrierfehler
0017      :BE                                 ;
Wichtig ist, dass der FB 120 mit einem Anstossmerker bearbeitet wird und der FB 126 zyklisch
durchlaufen wird.
Die SSNR bzw Kachelnummer wird auf dem CP über ein Mäuseklavier eingestellt. Die Nr muss
durch 8 teilbar sein. Die obere Schnittstelle des CP hat dann die eingestellte SSNR,
die untere die SSNR +1.
Die A-Nr. bekommst Du aus dem COM-PP.
Die anderen Parameter hängen davon ab, was Du verschicken willst.

Grüße
Gebs
 
Hallo,
vielen Dank. Ich werde es mal ausprobieren und mich dann wieder melden.

Eine Frage hätte ich aber noch. Wie programmiert man den Anstossmerker, damit nur im ersten Zyklus der FB120 aufgerufen wird?

MfG
Ass0384
 
Zuletzt bearbeitet:
Hallo Ass,

irgendwo in Deinem Programm wird doch entschieden, dass ein Telegramm geschickt werden soll.
Dort setzt Du einfach einen Merker. Nach dem Aufruf des FB 120 setzt Du ihn dann wieder zurück.

Grüße
Gebs
 
Hallo Ass,

das hängt davon ab, ob der CP schon alle Daten von der CPU erhalten hat, und ob er die Daten
auch schon los werden konnte.
Am besten Du prüfst mit dem Control (ich glaub das ist der FB123), ob die Schnittstelle wieder frei ist,
und setzt dann erst wieder den Anstossmerker.

Grüße
Gebs
 
Sorry, dass ich kein S5-Spezialist bin. Ohne den Control-Baustein blinkt die TXD1-LED langsam rot. Ich weiß langsam nicht mehr, wo der Fehler liegen kann. Bisher setze ich den Anstossmerker vor dem FB120 und setze ihn nach dem FB120 wieder zurück. Welche Auftragsnummer muss bei dem FB120 eingegeben werden. Ich kann die Auftragsnummer in COMPP nicht finden, da ich kein RK512 benutze, sondern 3964R.

MfG
Ass0384
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ass,

wenn die TXD-LED langsam rot blinkt, heisst das, dass der CP nicht synchronisiert ist.

In den OB's 20, 21 und 22 sollte folgendes drinstehen:
Code:
0000      :SPA FB 125                         ; Aufruf HTB Synchron
0001 NAME :SYNCHRON                           ;
0002 SSNR :    KY 000,016                     ; 16 = Schnittstellen-/Kachel-Nummer
0003 BLGR :    KY 000,000                     ; Blockgröße 0 = 256 Byte bei 135U
0004 PAFE :    MB 200                           ; Parametrierfehler
Dann brauchst Du noch einen FB oder FX, der das Senden bearbeitet:
Code:
0005      :SPA FB 123                         ;
0006 NAME :CONTROL                            ;
0007 SSNR :    KY 000,016                     ;16 = Schnittstellen-/Kachel-Nr
0008 A-NR :    KY 000,001                     ;
0009 ANZW :    MW 202                         ;
000A PAFE :    MB 204                         ;
000B      :                                   ;
000C      :                                   ;
000D      :UN  M 201.1                        ;Auftrag laeuft noch!!!
000E      :U   M 199.0                        ;Anstossmerker
000F      :SPB FB 120                         ;
0010 NAME :SEND                               ;
0011 SSNR :    KY 000,016                     ;
0012 A-NR :    KY 000,001                     ;
0013 ANZW :    MW 206                         ;
0014 QTYP :    KC DB                          ;
0015 DBNR :    KY 000,001                     ;
0016 QANF :    KF +0                          ;
0017 QLAE :    KF +254                        ;
0018 PAFE :    MB 208                         ;
0019      :                                   ;
001A      :SPA FB 126                         ;
001B NAME :SEND-A                             ;
001C SSNR :    KY 000,016                     ;
001D A-NR :    KY 000,000                     ;
001E ANZW :    MW 210                         ;
001F PAFE :    MB 212                         ;
0020      :                                   ;
0021      :U   M 211.2                        ;Auftrag fertig ohne Fehler FB126
0022      :O   M 207.2                        ;Auftrag fertig ohne Fehler FB120
0023      :O   M 201.2                        ;Auftrag fertig ohne Fehler FB123
0024      :U   M 199.0                        ;Anstossmerker
0025      :R   M 199.0                        ;Auftragsanstoss loeschen
Den Anstossmerker setzt Du irgendwo in Deinem Programm, wo auch das Telegramm zusammengestellt wird.
Telegramm ok -> Merker setzen.

Nach einem Neustart des AG's und M 199.0 = 0 sollte auf dem CP nur die "RUN"-LED grün leuchten.

Wird jetzt der M 199.0 gesetzt leuchtet die TXD-LED einmal kurz grün auf und ist dann wieder aus.

Vorraussetzung für das alles ist, dass auf S7-Seite der FB7 bearbeitet wird, und die Protokoll-
parametrierung ok ist,

Grüße
Gebs
 
Zurück
Oben