# indradrive cs über profiNET mit S7-1200



## schueler1000 (2 Januar 2013)

Hallo...
Ich mache gerade als finale meiner ausbildung eine diplomarbeit.
Hierfür muss ich mit der S7-1200 über profiNET eine positionierung realisieren.Bei dem Regler handelt es sich um einen Bosch Rexroth IndraDrive CS. Habe mich jetzt schon ein bisschen mit dem Regler und der Software auseinander gesetzt, komme jedoch nicht drauf wie ich die Kommunikation SPS seitig und Regler seitig einrichten soll. 
Bitte um Hilfe


----------



## Larry Laffer (3 Januar 2013)

Hallo,
S7-1200 ist nicht so mein Ding ... aber vom Prinzip her :

- du besorgst dir von Bosch-Rexroth die ProfiNet-GSD-Datei für den Regler
- du besorgst dir von Bosch-Rexroth die Indraworks-Software für den Regler
- mit der Indraworks-SW die PN-Schnittstelle des Reglers freischalten und die von dir gewünschten Daten für den Austausch Regler <-> SPS in der Führungskommunikation eintragen
- entsprechend der vorherigen Definition (Anzahl der Worte) die HW-Konfig durchführen
- entsprechend die Daten in die SPS einlesen / von ihr ausgeben

An welcher Stelle hängst du konkret ?

Gruß
Larry


----------



## zako (3 Januar 2013)

Ich will zwar nicht immer über bunte Schaltschränke lästern, aber das ist halt wieder ein Beispiel wo die beiden Hersteller auf Ihre eigenen SPS`n bzw. Antriebe verweisen. 
Da gibt es entsprechende Beispiele und wenn es Probleme gibt, dann wird nicht die Verantwortung hin- und hergeschoben.

Bei einem SINAMICS, der über GSD ins TIA- Portal eingebunden wird, gibt es folgenden Beitrag. Mit dem Bosch Rexroth müsste es ähnlich sein:

http://www.sps-forum.de/showthread....200-via-Profinet-anbinden?p=414464#post414464

Ich bin etwas vorsichtig, da ich mal bei einem Beitrag bzgl. azyklischer Kommunikation untersützt habe, wo es mit einem SIEMENS Micromaster funktioniert hat und mit dem Rexroth dann nicht. Aber die genauen Gründe sind mir nicht bekannt.

Normallerweise, sollte es wie im Beitrag beschrieben funktionieren Vielleicht kann Superkater von seiner Erfahrung berichten.


----------



## Larry Laffer (3 Januar 2013)

@Zako:
in welcher Beziehung steht dein Beitrag zur Frage des TE ?
Ich hatte bisher keine Probleme so etwas (allerdings mit einer S7-300) zu realisieren ...

Gruß
Larry


----------



## zako (3 Januar 2013)

Hallo Larry 


wieso  passt meine Antwort nicht zur Frage? 
Dann sorry


----------



## schueler1000 (3 Januar 2013)

Hallo,
danke erstmals für die schnellen Antworten.
die GSD Datei hab ich mir schon vorher besorgt genauso wie die Software (IndraWorks Ds11V10).
Zurzeit hänge ich am Einstellen des Reglers (vorallem die Austausch-Parameter) bzw verstehe ich bei der SPS-seitigen programmierung folgendes nicht:
Wofür sind die Parameter INDEX (Datensatznummer), Record(Datensatz) bzw. wo schreibe ich meinen Sollwert hin ( Angenommen wenn der Lage Sollwert 150mm sein soll....wohin mit den 150mm??)

Und gleich noch eine andere Frage in diesem Zusammenhang:
Von Bosch gibt es auf der Homepage einen S7-Positionierbaustein, dieser steht aber unter der Kategorie Profibus. Kann ich diesen Baustein auch für mein System mit ProfiNET verwenden?


----------



## Larry Laffer (3 Januar 2013)

Hallo,
den Baustein kenne ich nicht - ich könnte mir aber vorstellen, dass er prinzipiell funktioniert.

Da ich jetzt zu hause bin kann ich dir nicht mit konkreten Bezeichner-Namen kommen, die du in den Datenaustausch eintragen mußt.
Die von dir genannten Parameter brauche ich auf jeden Fall nicht. Ich halte es für gewöhnlich so, dass die SPS die Ziel-Position und den Geschwindigkeits-Sollwert an den Regler übergibt und ich dann über das Regler-Steuerwort dem Regler den Start-Befehl dafür gebe. Manchmal hänge ich auch noch eine Kraft-Begrenzung und/oder eine Beschleunigung da mit rein.

Deine Betriebsart hießt "antriebsgeführtes Positionieren".
Die genannte Eintragungen machst du in der Rubrik "Führungskommunikation". Hier gibt es dann die Unter-Rubriken "vom Regler zur SPS" und "von der SPS zum Regler" (leider heißen die jetzt nicht genau so).
Hier trägst du die genanten Parameter ein - ich kann das aber morgen gerne konkretisieren (an Hand meiner Vorgehensweise).
An Hand der verwendeten Parameter ergibt sich dann die Breite des Daten-Austausches (das schreibt die SW irgendwo im Bild hin) und das mußt du in der GSD-Datei einstellen.

Werden deine Regler schon als PN-Slaves erkannt ? Bzw. hast du schon Verbindung zur SPS (wenn auch halt noch keine sinnvolle Kommunikation) ?

Gruß
Larry


----------



## schueler1000 (3 Januar 2013)

Hallo,
Danke Larry....würdest mir mit deinem Beispiel sehr sehr helfen. 
Neine eine Verbindung vom Regler zur SPS habe ich noch keine...leider.
Die Breite des Daten Austausches muss ich die in den Eigenschaften der GSD Datei einstellen oder am Baustein (LEN Parameter)?


----------



## Larry Laffer (3 Januar 2013)

Ja ... in den Eigenschaften der GSD-Datei.
Ich baue dir da morgen mal mit ein paar Screenshots etwas zusammen.

Dessen ungeachtet solltest du aber den PN schon mal ans Laufen bekommen.
In der Achse hast du den PN-Port freigegeben (mit IndraWorks) ? 
Die IP-Adresse deines Ports (X24,X25 glaube ich) ist unterschiedlich von der der PN-Schnittstelle ? (muss so sein obwohl es eigentlich der gleiche Port ist)
Hast du die Achse als Teilnehmer in deiner HW-Konfig eingetragen ?
Wird dir die Achse als erreichbarer Ethernet-Teilnehmer angezeigt ?

Ansonsten würde ich sagen : bis morgen ...

Gruß
Larry


----------



## schueler1000 (3 Januar 2013)

wenn du meinst den Regler Port auf ProfiNET einstellen dann ja.
Oh ja das mit den IP Adressen wäre dann schonmal der 1. Fehler gewesen.
HW-Kofig wurde gemacht.
Wie kann ich mit die Eerreichbaren Teilnehmer anzeigen lassen?


----------



## Sinix (4 Januar 2013)

schueler1000 schrieb:


> Wie kann ich mit die Eerreichbaren Teilnehmer anzeigen lassen?



Im Projektbaum ziemlich unten "Online Zugänge" -> "Deine Schnittstelle" --> Erreichbare Teilnehmer



schueler1000 schrieb:


> Und gleich noch eine andere Frage in diesem Zusammenhang:
> Von Bosch gibt es auf der Homepage einen S7-Positionierbaustein, dieser steht aber unter der Kategorie Profibus. Kann ich diesen Baustein auch für mein System mit ProfiNET verwenden?



Ich vermute der Baustein ist für Step7 classic, mit deiner 1200er benötigst du aber einen Baustein fürs TIA, eine Migration wird nicht funktionieren, da es in classic keine 1200er gab und diese teilweise abweichende Anweisungen gegenüber S7-300 hat, zB bei den Timern, also der Weg wird nicht funktionieren.

MfG MK


----------



## Larry Laffer (4 Januar 2013)

Hallo,
an die Sache mit der 1200 hatte ich schon gar nicht mehr gedacht. Da hat der MK bezüglich des Beispielcodes natürlich absolut Recht. Vielleicht läßt sich für dich aber dennoch daraus etwas ableiten ...

Gleiches gilt wahrscheinlich auch für meinen Screenshot der HW-Konfig. ich arbeite ja nicht mit TIA (sondern Step7 V5.5) - es geht aber auch hier m.E. um die Inhalte ...

Wichtig für die PN-Geschichte : PN orientiert sich nicht vorrangig an der IP-Adresse sondern an dem Teilnehmer-Namen. Der muss also richtig eingetragen sein / werden ...


----------



## Larry Laffer (4 Januar 2013)

und Fortsetzung mit weiteren Bildern ...

Ich hoffe, damit kommst du an den Start ...

Gruß
Larry


----------



## zako (4 Januar 2013)

... wenn die Antriebsseite richtig eingestellt ist, dann kanst Du ja wie in meinem Link im obigen Beitrag beschrieben, im TIA- Portal die restlichen Einstellungen vornehmen.
Allerdings musst Du Steuerwort und weitere Sollgrößen von der Steuerung vorgeben / Zustände abfragen - also "händisch" ausprogrammieren.


----------



## schueler1000 (4 Januar 2013)

hallo zusammen....
erstmals danke für die Vorlage 
jetzt wird mir auch wenn ich unter online zugänge "erreichbareteilnehmer aktualisieren" mein Regler angezeigt...
könntest du mir bitte auch noch einen Screenshot von deinem SPS Baustein posten? bitte damit ich nichts falsch mache bzw. hab ich da auch noch nicht ganz den durchblick


----------



## Larry Laffer (4 Januar 2013)

... der wird dir wohl nicht so schrecklich viel helfen ...

Ich habe mir einen FB gebaut, der im STAT-Bereich die Sende- und die Empfangsdaten der Kommunikation abbildet - und zwar exakt entsprechend der Einstellungen, die ich in der Führungskommunikation im Regler gemacht habe. Am Anfang hole ich die Daten konsistent ab, verarbeite sie, ggf. wird etwas gesteuert und das Ergebnis schreibe ich dann konsistent zurück.
Ich kann davon ab gleich auch mal eine AWL-Quelle machen ...

Denk blos dran : Du S7-1200 -:- Ich S7-300  :=  ganz unterschiedliche Systeme ...

Gruß
Larry


----------



## Larry Laffer (4 Januar 2013)

so sieht das dann aus :


```
FUNCTION_BLOCK "FB307"
TITLE =UP Steuern Servo Bosch-Rexroth
AUTHOR : 'Larry'
FAMILY : LL_Std
VERSION : 0.1

VAR_INPUT
  Per_Handshake : INT ; //1. Perepherie-Adresse Handshake mit Servo
  Allgemein : BOOL ; //-------------------------------------------------------------------------------
  _Freigabe : BOOL ; //Freigabe Servo-Achse
  _Quit_Stoerung : BOOL ; //Quittierung Störung
  _Ref_Fahrt : BOOL ; //Fahr-Ablauf "Referenz-Fahrt"
  Steuer_Funktionen : BOOL ; //-------------------------------------------------------------------------------
  _Tippen_vor : BOOL ; //Fahren "Tippen vor"
  _Tippen_zur : BOOL ; //Fahren "Tippen zurück"
  _Geschwindigkeit_Tippen : REAL ; //Geschwindigkeit Tipp-Betrieb
  Fahr_Daten : BOOL ; //-------------------------------------------------------------------------------
  _Setze_Fahrdaten : BOOL ; //Fahrdaten übernehmen
  _Start_in_Position : BOOL ; //Fahre auf Position [Fahrdaten]
  _Ziel_Position : REAL ; //- Fahrauftrag : Ziel-Position
  _Geschwindigkeit : REAL ; //- Fahrauftrag : Geschwindigkeit
  _Drehmoment : REAL ; //- Fahrauftrag : Drehmoment
END_VAR
VAR_OUTPUT
  OUT_Servo_bereit : BOOL ; //Servo-Achse bereit
  OUT_Servo_DiagnoseFehler : BOOL ; //Servo-Achse Diagnose-Fehler
  OUT_Servo_Referenz_OK : BOOL ; //Servo-Achse in Referenz
  OUT_Servo_Arbeitsbereich : BOOL ; //Sewrvo-Achse im Arbeitsbereich
  OUT_Set_Daten_OK : BOOL ; //neue Fahr-Daten eingetragen
  OUT_Fahren_Ready : BOOL ; //Fahr-Programm beendet
  OUT_Ist_Position : REAL ; //akt. Position Servo-Achse
END_VAR
VAR
  Servo_Read_Daten : STRUCT  
   Status_Regler : STRUCT  //P-0-4078
    Ist_Betriebsart_1 : BOOL ; //00=Hauptbetriebsart / 01 - 11 = Nebenbetriebsarten
    Ist_Betriebsart_2 : BOOL ; 
    Sollwert_Quit : BOOL ; //1=Fahrbefehl ist übernommen
    Meldung_Zustand_1 : BOOL ; 
    Meldung_Zustand_2 : BOOL ; 
    Meldung_Zustand_3 : BOOL ; 
    betriebsbereit_1 : BOOL ; 
    betriebsbereit_2 : BOOL ; 
    Betriebsmodus_Quit_1 : BOOL ; //10 = Betriebs-Modus
    Betriebsmodus_Quit_2 : BOOL ; 
    Referenz_OK : BOOL ; 
    Stillstand_Achse : BOOL ; 
    Sollwert_erreicht : BOOL ; 
    Kommando_Aenderung : BOOL ; 
    Betriebsmodus_Fehler : BOOL ; 
    Status_Sollwert : BOOL ; //0=Antrieb folgt Vorgabe / 1=nicht
   END_STRUCT ; 
   Fahrbereichs_Endschalter : STRUCT  //P-0-0222
    x10 : BOOL ; 
    x11 : BOOL ; 
    x12 : BOOL ; 
    x13 : BOOL ; 
    x14 : BOOL ; 
    x15 : BOOL ; 
    x16 : BOOL ; 
    x17 : BOOL ; 
    Endschalter_1 : BOOL ; 
    Endschalter_2 : BOOL ; 
    x02 : BOOL ; 
    x03 : BOOL ; 
    x04 : BOOL ; 
    x05 : BOOL ; 
    x06 : BOOL ; 
    x07 : BOOL ; 
   END_STRUCT ; 
   dummi : WORD ; //S-0-0000
   Ist_Position : DINT ; //S-0-0386
   Drehmoment : INT ; //S-0-0084
   Diagnose_Nr : DINT ; //S-0-0390
  END_STRUCT ; 
  Servo_Write_Daten : STRUCT  
   Steuern_Regler : STRUCT  //P-0-4077
    Betriebsart_1 : BOOL ; //00=Hauptbetriebsart / 01 - 11 = Nebenbetriebsarten
    Betriebsart_2 : BOOL ; 
    Res_1 : BOOL ; 
    Res_2 : BOOL ; 
    IPos_Sync : BOOL ; 
    Antrieb_Halt : BOOL ; 
    Antriebs_Freigabe : BOOL ; 
    Regler_Freigabe : BOOL ; 
    Sollwert_Uebernahme : BOOL ; //Toggle
    Betriebsmodus : BOOL ; 
    Referenzfahrt : BOOL ; 
    Positioniermodus : BOOL ; //0=absolut / 1=relativ
    Satzwechsel_Modus : BOOL ; //0=letzte Pos. muss abgeschlossen sein / 1=egal
    Reset_Fehler : BOOL ; 
    Tippen_Pos : BOOL ; 
    Tippen_Neg : BOOL ; 
   END_STRUCT ; 
   Signal_Steuerwort : STRUCT  //S-0-0145
    x10 : BOOL ; 
    x11 : BOOL ; 
    x12 : BOOL ; 
    x13 : BOOL ; 
    x14 : BOOL ; 
    x15 : BOOL ; 
    x16 : BOOL ; 
    x17 : BOOL ; 
    Fahren_auf_Festanschlag : BOOL ; //S-0-0149
    Antrieb_referenzieren : BOOL ; //S-0-0148
    Refrenzbezug_loeschen : BOOL ; //S-0-0191
    x03 : BOOL ; 
    x04 : BOOL ; 
    x05 : BOOL ; 
    x06 : BOOL ; 
    x07 : BOOL ; 
   END_STRUCT ; 
   dummi : WORD ; //S-0-0000
   Ziel_Position : DINT ; //S-0-0282   - 4 NK-Stellen
   Fahr_Geschwindigkeit : DINT ; //S-0-0259   - 4 NK-Stellen
   LR_Kraft_Grenzwert : INT  := 500; //S-0-0092   - 0 NK-Stellen
  END_STRUCT ; 
  Faktor_Anpassung : STRUCT  
   Position : REAL  := 1.000000e+004; 
   Geschwindigkeit : REAL  := 1.000000e+003; 
   Drehmoment : REAL  := 1.000000e+000; 
  END_STRUCT ; 
END_VAR
VAR_TEMP
  Word_Per_Handshake : WORD ; 
  R_Fehler : INT ; 
  W_Fehler : INT ; 
END_VAR
BEGIN
NETWORK
TITLE =Kopplung an Servo-Regler - Auslesen ----------------------------
      L     #Per_Handshake; 
      T     #Word_Per_Handshake; 
      CALL "DPRD_DAT" (
           LADDR                    := #Word_Per_Handshake,
           RET_VAL                  := #R_Fehler,
           RECORD                   := #Servo_Read_Daten);
NETWORK
TITLE =Ziel-Positionen setzen -----------------------------------------
      U     #_Setze_Fahrdaten; 
      UN    #OUT_Set_Daten_OK; 
      SPBN  nSet; 
      L     #_Ziel_Position; 
      L     #Faktor_Anpassung.Position; 
      *R    ; 
      RND+  ; 
      T     #Servo_Write_Daten.Ziel_Position; 
      L     #_Geschwindigkeit; 
      L     #Faktor_Anpassung.Geschwindigkeit; 
      *R    ; 
      RND+  ; 
      T     #Servo_Write_Daten.Fahr_Geschwindigkeit; 
      L     #_Drehmoment; 
      L     #Faktor_Anpassung.Drehmoment; 
      *R    ; 
      RND+  ; 
      T     #Servo_Write_Daten.LR_Kraft_Grenzwert; 
nSet: U     #_Setze_Fahrdaten; 
      =     #OUT_Set_Daten_OK; 
NETWORK
TITLE =Status-Informationen -------------------------------------------
      U     #Servo_Read_Daten.Status_Regler.betriebsbereit_1; 
      U     #Servo_Read_Daten.Status_Regler.betriebsbereit_2; 
      UN    #Servo_Read_Daten.Status_Regler.Betriebsmodus_Fehler; 
      =     #OUT_Servo_bereit; 
NETWORK
TITLE = 
      U     #Servo_Read_Daten.Status_Regler.Referenz_OK; 
      =     #OUT_Servo_Referenz_OK; 
      U     #_Start_in_Position; 
      U     #Servo_Write_Daten.Steuern_Regler.Sollwert_Uebernahme; 
      U     #Servo_Read_Daten.Status_Regler.Sollwert_Quit; 
      U     #Servo_Read_Daten.Status_Regler.Sollwert_erreicht; 
      U     #Servo_Read_Daten.Status_Regler.Stillstand_Achse; 
      =     #OUT_Fahren_Ready; 
NETWORK
TITLE = 
      U(    ; 
      L     #Servo_Read_Daten.Diagnose_Nr; 
      L     DW#16#A0160; 
      <>D   ; 
      )     ; 
      U(    ; 
      L     #Servo_Read_Daten.Diagnose_Nr; 
      L     DW#16#A0161; 
      <>D   ; 
      )     ; 
      U(    ; 
      L     #Servo_Read_Daten.Diagnose_Nr; 
      L     DW#16#A0012; 
      <>D   ; 
      )     ; 
      U(    ; 
      L     #Servo_Read_Daten.Diagnose_Nr; 
      L     DW#16#C1300; 
      <>D   ; 
      )     ; 
      U(    ; 
      L     #Servo_Read_Daten.Diagnose_Nr; 
      L     DW#16#E8260; 
      <>D   ; 
      )     ; 
      =     #OUT_Servo_DiagnoseFehler; 
NETWORK
TITLE = 
      L     #Servo_Read_Daten.Ist_Position; 
      DTR   ; 
      L     #Faktor_Anpassung.Position; 
      /R    ; 
      T     #OUT_Ist_Position; 
NETWORK
TITLE =Steuer-Funktionen ----------------------------------------------
      U     #_Freigabe; 
      UN    #_Quit_Stoerung; 
      =     #Servo_Write_Daten.Steuern_Regler.Antrieb_Halt; 
      =     #Servo_Write_Daten.Steuern_Regler.Antriebs_Freigabe; 
      =     #Servo_Write_Daten.Steuern_Regler.Regler_Freigabe; 
NETWORK
TITLE = 
      U     #_Quit_Stoerung; 
      =     #Servo_Write_Daten.Steuern_Regler.Reset_Fehler; 
NETWORK
TITLE = 
      U     #_Ref_Fahrt; 
      U     #_Freigabe; 
      =     #Servo_Write_Daten.Signal_Steuerwort.Antrieb_referenzieren; 
NETWORK
TITLE = 
      U     #_Start_in_Position; 
      U     #_Freigabe; 
      =     #Servo_Write_Daten.Steuern_Regler.Sollwert_Uebernahme; 
NETWORK
TITLE = 
      CLR   ; 
      =     #Servo_Write_Daten.Steuern_Regler.Positioniermodus; 
      =     #Servo_Write_Daten.Steuern_Regler.Satzwechsel_Modus; 
NETWORK
TITLE = 
      U     #_Tippen_vor; 
      UN    #_Tippen_zur; 
      =     #Servo_Write_Daten.Steuern_Regler.Tippen_Pos; 
      UN    #_Tippen_vor; 
      U     #_Tippen_zur; 
      =     #Servo_Write_Daten.Steuern_Regler.Tippen_Neg; 
      O     #Servo_Write_Daten.Steuern_Regler.Tippen_Pos; 
      O     #Servo_Write_Daten.Steuern_Regler.Tippen_Neg; 
      SPBN  xTip; 
      L     #_Geschwindigkeit_Tippen; 
      L     #Faktor_Anpassung.Geschwindigkeit; 
      *R    ; 
      RND+  ; 
      T     #Servo_Write_Daten.Fahr_Geschwindigkeit; 
      L     100; 
      DTR   ; 
      L     #Faktor_Anpassung.Drehmoment; 
      *R    ; 
      RND+  ; 
      T     #Servo_Write_Daten.LR_Kraft_Grenzwert; 
xTip: NOP   0; 
NETWORK
TITLE =Kopplung an Servo-Regler - Rückschreiben -----------------------
      L     1200; 
      T     #Servo_Write_Daten.LR_Kraft_Grenzwert; 

      CALL "DPWR_DAT" (
           LADDR                    := #Word_Per_Handshake,
           RECORD                   := #Servo_Write_Daten,
           RET_VAL                  := #W_Fehler);
NETWORK
TITLE = 
END_FUNCTION_BLOCK
```


----------



## schueler1000 (4 Januar 2013)

so jetzt habe ich das ganze so eingestellt danke larry
NUR bis jetzt war die datenlänge 2Bytes/2Bytes und mit Änderung der Signalstatus und Signalsteuerworte ging es auf 16/16--> Fehler da anscheinend in der SPS 2/2 standardmässig eingestellt ist kann mir jemand sagen wo ich das imm TIA Portal umstellen kann find es nicht


----------



## Larry Laffer (4 Januar 2013)

Im Beitrag #12 der 1. Screenshot zeigt, wie die HW-Konfiguration sein müßte.
Bei mir sind es jeweils 8 Words - das entspricht den auf Bild "Indraworks_4" zu sehenden je 16 Bytes ...

Ansonsten könntest du ja vielleicht auch mal ein paar Screenshots liefern ... 

Gruß
Larry


----------



## schueler1000 (4 Januar 2013)

So das sind die Screenshots zu dem Fehler welcher mir angezeigt wird


----------



## Larry Laffer (4 Januar 2013)

Ich hätte jetzt eigentlich gerne von deiner HW-Konfig im TIA das Pendant zu dem Bild "HW_KOnfig_1" von mir im Beitrag #12 gesehen. Das hast du nicht geliefert ...
Dann wäre es nett, wenn du mir das Bild "Führungskommunkation Profinet" noch liefern könntest. Außerdem von der "Führungskommunikation Achse" die Bilder "Prozessdaten Ein" und "Prozessdaten Aus".

Vergleiche bitte noch zusätzlich meine Bilder "IndraWorks_2" und "IndraWorks_3" aus dem Beitrag#12 mit den Pendants zu deinen und der Info mit der unterschiedlichen IP-Adresse. Die IP-Adresse "192.168.0.2", die du für "X24/25" vergeben hast gehört eigentlich auf die Profinet-Seite des Reglers und die darf natürlich nicht identisch mit der der CPU sein - jede IP-Adresse darf es nur ein mal geben !!!

Gruß
Larry

Anmerkung nachträglich:
Vielleicht übernimmst du der Einfachheit halber einfach die IP-Adressen, wie ich sie bei mir vergeben habe ...


----------



## schueler1000 (4 Januar 2013)

das mit den IPn werde ich dann machen...
Zurzeit sind sie so: 
SPS-Schnittstelle : 192.168.0.100
Regler: 192.168.0.2
Profinet Schnittstelle IndraWorks: 192.168.0.61

wie hast du sie vergeben?


Hier hab ich alle Kategorien von SPS und Regler als Screenshorts:


----------



## schueler1000 (4 Januar 2013)

Fortsetzung:


----------



## schueler1000 (4 Januar 2013)

so und hier noch Führungsk.-ProfiNET, Prozessdaten EIN und ProzessdatenAUS:


----------



## Larry Laffer (4 Januar 2013)

Hallo nochmal,

du hast bei der Kommunikation als Regler-Ziel-Adresse die IP-Adresse von der X24/X25 eingetragen (192.168.0.2) - das ist falsch. Hier gehört die von der PN-Seite (192.168.0.61) rein. Dann solltest du in der Feldbus-Diagnose auf der PN-Seite sehen können, dass die Kommunikation aktiv ist (unabhängig davon, ob du die Schnittstelle der Führungskommunikation von der SPS richtig versorgst oder nicht) - siehe dazu vielleicht auch noch mal meine Screenshots.

Alles andere scheint, soweit ich es einschätzen kann, korrekt zu sein - du hast es ja auch nach meinem Vorschlag übernommen 

Gruß
Larry


----------



## schueler1000 (7 Januar 2013)

So habe das heute gemacht wie du es mir gesagt dasd und jetzt steht im IndraWorks unter feldbusdiagnose: RUN data exchange active ..... also das müsste passen  danke

Da ich noch keine Erfahrung auf diesem Sektor habe frage ich lieber gleich: Wie soll ich den die SPS seitige ( Sprache FUP) Parametrierung angehen? geht das mit den Standartbausteinen unter dezentrale Peripherie ( Datensatz lesen, Datensatz schreiben)?


----------



## Larry Laffer (7 Januar 2013)

Schön, das die Kommunikation SPS - Regler nun grundsätzlich läuft.
Dann könntest du dich jetzt mit meinem Beispielcode beschäftigen - aber FUP ...???
In dem Code ist jetzt zwar nichts aufregendes drin, trotzdem würde ich mich schwer tun, das in FUP umzusetzen (meine Sprachen sind halt AWL, ein bißchen KOP und SCL).
Da es ja eine Diplomarbeit sein / werden soll - wie wäre es mit SCL ?

Gruß
Larry


----------



## schueler1000 (7 Januar 2013)

ja da mein betreuender Professor leidenschaftlicher FUP Programmierer ist/war hat er mich vor die Wahl gestellt entweder Ihn als unterstützer und FUP oder ohne seine Hilfe und SCL...also muss ich wohl oder übel auch FUP wählen....leider bin selber mehr von SCL begeistert....

Habe im TIA _Portaal bisschen gestöbert und folgende 2 Bausteine gefunden....sind die für die Profinet Kommunikation bestimmt?


----------



## Larry Laffer (7 Januar 2013)

Da ich, wie ich schon schrieb nicht der 1200-Programmierer bin kann ich dir die Frage nicht wirklich beantworten. Von der Bezeichnung her könnte es aber so sein. Da sollte dir aber die S7-Hilfe vom TIA aber auf jeden Fall weiterhelfen können.
Ansonsten mußt du dich entscheiden, ob du mit FUP und deinem Prof oder einem anderen Forums-Mitglied oder mit SCL und Larry weitermachen willst ...

Ich weiß ja nun nicht, was du noch so vorhast ... aber (ich will jetzt keine Grundsatzdiskussion) in meinen Augen ist SCL der richtigere Weg (FUP ist doch eher etwas Old-School). Aber das bleibt jedem selbst überlassen ...

In jedem Fall (bezüglich PN-Kommunikation) müßtest du dir als nächstes das als Datenbereich in der SPS abbilden, was du von Regler-Seite her bekommst bzw. erwartest.
Mit den richtigen Hantierungsbausteinen wird dann der Regler (ob nun FUP oder SCL) mit seinen parametrierten Größen darin abgebildet und du solltest das auch nachvollziehen können.
Vielleicht versuchst du das erstmal ...

Gruß
Larry


----------



## schueler1000 (7 Januar 2013)

Ja indem mir persönlich SCL auch lieber ist wäre ich dir sehr dankbar wenn du mir weiterhelfen könntest...(denn für die bewertung meiner arbeit ist sowieso die funktion entscheidend umd nicht die programmiersprache und wenn es so funktioniert bin ich nicht auf die hilfe meines prof. Angewiesen  ).
Und laut S7 Hilfe dandelt es sich hoerbei um die Normbausteine nach IEC fürs schreiben und lesen von datensätzen von der dezentralen peripherie...


----------



## zako (8 Januar 2013)

Hallo Schueler1000,


im folgenden Beitrag habe ich die Gerätekonfig, Netzsicht und Bausteinaufruf für S7-1200 mit CU305PN als Bitmap angehängt:
http://www.sps-forum.de/showthread....an-S7-1200-via-Profinet-anbinden?p=414464#top

Ähnlich "sollte" es mit dem Bosch Rexroth gehen?


----------



## Larry Laffer (8 Januar 2013)

Hallo,


schueler1000 schrieb:


> Ja indem mir persönlich SCL auch lieber ist wäre ich dir sehr dankbar wenn du mir weiterhelfen könntest ...


kein Problem ... nur würde ich mich freuen, wenn du ab jetzt ein bißchen konstruktiv mitarbeitest ...

Versuch doch mal, meinen Beispielcode in SCL umzubauen und dann das Ergebnis zu posten - auch wenn es nicht funktioniert oder sich nicht kompilieren läßt ...



schueler1000 schrieb:


> ... laut S7 Hilfe dandelt es sich hoerbei um die Normbausteine nach IEC fürs schreiben und lesen von datensätzen von der dezentralen peripherie...


Prima ...  
Dann könntest du hier den von mir schon vorgeschlagenen Weg umsetzen - also das mit dem "im Speicher abbilden und die Daten dort hin schreiben lassen"

Hast du da jetzt schon etwas gemacht ?
Wo stehst du aktuell überhaupt ?

Gruß
Larry


----------



## schueler1000 (12 Januar 2013)

So jetzt endlich habe ich wieder zugang zum PC und Internet... sry das ich so lang nichts posten konnte...
Inzwischen habe ich bereits folgendes erreicht:
Die Kommunikation steht und in der Beobachtungstabelle kann ich bereits den richtigen Wert ablesen( siehe Screenshot)

Mein Problem ist zur zeit die Parametrierung des ReedBausteins von Beitrag #28...
pls help


----------



## schueler1000 (12 Januar 2013)

hier der Screenshot
	

		
			
		

		
	

Anhang anzeigen 19467


----------

