TIA Kommunikation zwischen einer 1516-3PN/DP und einer 315 2PN/DP mit CP343-1 Lean

Dagobert1987

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

Verbaute Hardware:
- S7-1516-3PN/DP mit 128 DI und 64 DO (TIA V13)
- S7-315 2PN/DP mit CP343-1 Lean (TIA V12)
- 4x TP2200

Ich habe folgendes Problem:
Es muss eine Verbindung von der 1500er auf die 300er aufgebaut werden. Das Programm der 300er kann nicht in TIA 13 Integriert werden. Der Kunde hat mir eine Liste mit den Bausteinen gegeben, welche Ausgelesen werden sollen und was da an Infos passieren soll. Er hat einen CP 343-1 Lean nachgerüstet. Dieser hat die IP 192.168.0.30 Die 1500er hat die Adresse 192.168.0.1 Die 4 HMIs haben die Adressen .2 -.5. Die 1500er soll also Aktiver Part fungieren und sich die Daten via Unspezifizeriter Verbindung aus der 300er hollen. Hierzu haben wir gedacht sollte mit Put und Get gehen. Nix is. Die Verbindung hat immer den Status "0001". Wir haben schon alle erdänklichen Einstellungen in der 1500er durch. Bei Unspezifisch muss doch nur auf der "Master" seite alles eingestellt werden oder muss auf der Slave Seite auch was eingestellt werden? Ein Stopp der 300er muss unter allen Umständen Verhindert werden (würde schnell richtig ins Geld gehen ...). Die 1500er dient als Datenaufbereiter und Bereitsteller für die HMIs.

Leider hat der Post auch nicht die Erleuchtung gebracht:
http://www.sps-forum.de/simatic/71843-verbindung-s7-1500-zu-s7-300-a.html

Ich bedanke mich schon mal im Vorraus.

Patrick
 
das ist zwar eine kommunikation zwischen 3xx und pc-lean sollte bei der 1500 aber auch nicht viel anders sein.
http://www.sps-forum.de/simatic/781...7-verbindung-fb14-fb-15-put-g.html#post544763
die cp-lean kann nur server sein, also nicht aktiv am geschehen teilnehmen. dort muss auch nichts bei den verbindungen projektiert werden.
auf dieser seite kann eigentlich nichts passieren. es sei denn du schreibst in den falschen db :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich habe mal eine der cpu's nach tia migriert inkl. hardware.
das klappt problemlos.
anschliesend auf 1500er das klappt auch aber in den parametriertem bausteinen erwartet tia nun beim aufruf von get an addr1 einen absoluten any-zeiger.
ka wie man das bei einer 1500er macht.
 
anschliesend auf 1500er das klappt auch aber in den parametriertem bausteinen erwartet tia nun beim aufruf von get an addr1 einen absoluten any-zeiger.
ka wie man das bei einer 1500er macht.

Any funktioniert bei der 1500 wie gehabt. Allerdings darf der DB nicht optimiert sein (der an sd1).
Steht denn die S7 verbindung? Nicht vergessen die 1500 sitzt in Slot1 (hier nicht relevant da die 1500 ja aktiv sein soll)

Wenn man von der 300 auf die 1500 zugreifen will, muss die Schutzstufe für PUT/GET noch deaktiviert werden.

Code:
p#db3.dbx 0.0 byte 2

Ich habe bei den ersten Versuchen die Quelle des übertragungsdbs in der 1500 und in der 300 genau gleich übersetzt. In der 1500 muss aber in der Quelle noch stehen.

Code:
DATA_BLOCK "S7_CHO_UV_Süd_Lokalsteuerung"
[COLOR=#ff0000]{ S7_Optimized_Access := 'FALSE' }[/COLOR]
AUTHOR : StD
VERSION : 1.0
NON_RETAIN


STRUCT
 
Zuletzt bearbeitet:
Also es geht darum, aus einem DB in der 300er in einen gleichen Baustein in der 1500er zu schreiben (Datenaufbau und Größe sind gleich!)

Code:
      UN    "GET_DB_1_BHKW".REQ
      S     "GET_DB_1_BHKW".REQ

      O     "GET_DB_1_BHKW".ERROR
      O     "GET_DB_1_BHKW".NDR
      R     "GET_DB_1_BHKW".REQ

      CALL  GET , "GET_DB_1_BHKW"
         remote_type:=Remote
         local_type:=Variant
         REQ    :=
         ID     :=w#16#100
         NDR    :=
         ERROR  :=
         STATUS :=
         ADDR_1 :=P#DB41.DBX0.0 BYTE 200
         ADDR_2 :=P#DB136.DBX18.0 BYTE 131
         ADDR_3 :=P#DB137.DBX18.0 BYTE 131
         ADDR_4 :=P#DB140.DBX18.0 BYTE 131
         RD_1   :=P#DB41.DBX0.0 BYTE 200
         RD_2   :=P#DB136.DBX18.0 BYTE 131
         RD_3   :=P#DB137.DBX18.0 BYTE 131
         RD_4   :=P#DB140.DBX18.0 BYTE 131

Eingestellt ist das so:

attachment.php


attachment.php
 

Anhänge

  • 001.jpg
    001.jpg
    69,3 KB · Aufrufe: 96
  • 002.jpg
    002.jpg
    32,1 KB · Aufrufe: 91
Ist das BHKW eine S7-300? Die CPU steckt da sicher nicht in Steckplatz 11 sondern in 2
deaktivier auch SIMATIC-ACC

mfG René

Ja BHKW ist eine 315 2PN/DP an Steckplatz 11 ist der CP 343-1 Lean die anderen Steckplätze sind mit I/Os belegt

Simatic-ACC hatten wir zwischendurch auch schon deaktiviert. Keinen Unterschied Festzustellen.
 
Da die Daten auf die du zugreifen willst, sich aber auf der CPU befinden musst du auch den Steckplatz der CPU angeben. Wo der CP steckt ist irrelevant.

mfg René
 
Fehler 4 ist eben sehr allgemein gehalten. sind die DBs lokal und entfernt vorhanden (online)? Ist der lokale DB wirklich "nicht optimiert"?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kannst du mal das aktuelle programm online stellen (also wieder nur den Kommunikationsteil)?
Status wird weggesichert?
REQ wird zyklisch angestossen?

Code:
#PUT_Instance(REQ:=#request,
              ID:=W#16#100,
              ADDR_1:=p#db6.dbx0.0 byte 44,
              SD_1:=p#db6.dbx0.0 byte 44);


IF #PUT_Instance.ERROR THEN
    #put_err_status_sav := #PUT_Instance.STATUS;
END_IF;


IF #PUT_Instance.DONE THEN
    #put_done_status_sav := #PUT_Instance.STATUS;
END_IF;


#request := true;
IF #PUT_Instance.ERROR OR #PUT_Instance.DONE OR #Requestreset.Q THEN
    #request := false;
END_IF;


#Requestreset(IN:=#request,
              PT:=t#5s);


#GET_Instance(REQ:=#getrequest,
              ID:=W#16#100,
              ADDR_1:=p#db7.dbx0.0 byte 44,
              RD_1:=p#db7.dbx0.0 byte 44);


IF #GET_Instance.ERROR THEN
    #get_err_status_sav := #GET_Instance.STATUS;
END_IF;


IF #GET_Instance.NDR THEN
    #get_done_status_sav := #GET_Instance.STATUS;
END_IF;


#getrequest := true;
IF #GET_Instance.ERROR OR #GET_Instance.NDR OR #get_Requestreset.Q THEN
    #getrequest := false;
END_IF;


#get_Requestreset(IN := #getrequest,
              PT := t#5s);

mfG René

edit: kleines Beispiel wie Put/Get aufgebaut werden könnte.
 
So ist Put und Get Programmiert, aktuell versuchen wir aber erstmal Get zum laufen zu bekommen, deswegen ist Put etwas zu groß

attachment.php


attachment.php
 

Anhänge

  • Get.jpg
    Get.jpg
    58,9 KB · Aufrufe: 37
  • Put.jpg
    Put.jpg
    71,2 KB · Aufrufe: 35
Zuletzt bearbeitet:
Zurück
Oben