Step 7 Kommuniaktion über Put/Get zu langam ?

srosenbe

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

ich bin derzeit an meiner Bachelorarbeit und habe ein kleines Problem.
Ich bin derzeit dabei eine alte Anlage mit einem neuen Anlagenteil zu verbinden.

An der alten Anlage befindet sich eine S7-300/CPU313C mit einer Erweiterung CP343-1.
An dem neuen Anlagenteil ist eine S7300/CPU315 PN/DP mit einigen Baugruppen für die Steuerung der neue Sensoren/Motoren/... des neuen Anlagenteils.

Nun habe ich diese beiden Baugruppen über einen Switch Scalance X005 verbunden.
Es soll nun eine Kommunikation über Put/Get erfolgen. Es sollen einige DINT Werte und ein Paar einzelne Bits übertragen werden. Insgesammt habe ich ein Array mit DINT mit 20Variablen erstellt für die Kommunikation.

An der alten Steuerung befand sich eine Lichtschranke, welche auf einen normalen Eingang geführt war und sobald Material über ein Transportband kam, startete die Maschine einen Ablauf, Material blieb liegen und wurde bearbeitet (Säge).
Diese Lichtschranke wurde nun durch einen Laser ersetzt, welcher zusätzlich noch die dicke des Materials misst. Da die alte Steuerung über keine Baugruppe zur Aufnahme von Analogwerten verfügte, hängt dieser Laser nun an der Steuerung des neuen Anlageteils. Hier befinden sich sowieso mehrere Laser und ein Analogeingang war eben noch frei, also wurde dieser Laser dort noch beigepackt.
Wenn der Laser nun erkennt, dass sich etwas unter ihm befindet, hat er die gleiche Funktion wie die alte Lichtschranke.
Ich möchte nun ein Bit über Put/Get an die alte Steuerung schicken und sagen : Material kommt, mit dem sägen beginnen.
Nun habe ich das Problem das die Sägeschnitte an der falschen Position gemacht werden !

Ich bin über den Simatic-Manager ins alte Programm rein und bin online gegangen. Dort habe ich festgestellt, dass mein gesendetes Bit ca. 1-2 Sekunden nachdem es eigentlich ausgelöst hat erst als logische 1 am PC erscheint. Okay, die Visualisierung ist nie so schnell wie in Real, aber 1-2 Sekunden ist doch recht viel, oder ? Kann es nun sein, dass das Bit zu spät ankommt und daher die Lichtschranke zu spät auslöst und das Material somit zu weit transportiert wird ?
Ich habe mir auch die alte Lichtschranke online angeguckt und diese geht sofort auf logisch 1 in der Visualisierung. Da diese ja nicht den "Umweg" über die neue Steuerung machen muss, sondern direkt als ein Eingang an der alten hängt, dachte ich mir das es vllt. an der Kommunikation liegen muss.

Kann dies sein ? Ist Put/Get vllt. in diesem Fall nicht die Richtige Wahl um ein Bit zeitkritisch zu übertragen ? Die anderen DINT Werte sind nicht zeitkritisch, aber der Laser der als Lichtschranke fungiert, sollte ja eigentlich direkt da sein und nicht erst auslösen wenn das Material schon 10cm weiter transportiert wurde.

Hoffe ihr könnt mir bei meinem Problem helfen. Wie schon gesagt, es ist meine Bachelorarbeit und mit der Kommunikation von 2 Steuerungen hatte ich noch nie zu tun.

Danke schonmal !!
 
Hi,
normalerweise sollte Put/Get bei der Datenmenge etwas schneller laufen als 2 Sekunden, je nach restlicher Kommunikationslast der Steuerungen. Wie werden die Bausteine den angestoßen, evtl. per Taktflanke?

Alternativ könntest du evtl. eine Profinet-Kopplung zwischen den beiden realisieren. Ob das möglich ist hängt vom genauen Typ deiner CPs ab. Such doch mal den Typ / Bestellnummer raus.

Profinet nutzt zwar prinzipiell das gleiche Medium wie Put/Get, aber sollte von der CPU vorrangig vor der restlichen Kommunikation behandelt werden. Zumindest kannst du bei Profinet eine definiertes Aktualisierungsintervall einstellen, und bekommst mitgeteilt wenn die Daten in dem Intervall nicht eintreffen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas,

erstmal danke für deine Antwort.

Also an der alten Steuerung befindet sich eine CP343-1 Bestellnummer: 6GK7343-1EX11-0XE0
und die neue Steuerung ist eine CPU315-2 PN/DP Bestellnummer: 6ES7315-2EH14-0AB0

und wie schon geschrieben befindet sich dazwischen ein Scalance X005.
An diesem befindet sich dann auch der PC mit WinCC Runtime, worüber der neue Anlagenteil bedient wird.

Angestoßen wird das ganze doch über den Taktmerker den ich erstellt habe. M500 laut Applikationsbeispiel.
Also wie du siehst bin ich darin nicht so fit. Ist das erste mal das ich 2 Steuerungen Kommunizieren lasse. Daher habe ich mir das Applikationsbeispiel von der Siemens Homepage geladen und die kurze Anleitung dazu durchgearbeitet. Dort stand dann Taktmerker M500 erstellen zum anstoßen.
Ich werde mich damit wohl mal noch etwas genauer beschäftigen müssen.
 
Zuletzt bearbeitet:
Wenn es auf Geschwindigkeit drauf ankommt, dann mußt Du das PUT so schnell wie möglich anstoßen:
In Pseudocode:
PUT.REQ := NOT(PUT.DONE) AND NOT(PUT.ERROR)

Harald
 
Hallo Harald,

also diesen Baustein umschreiben :

UN M 500.6
S #PLC1_COM.PUT_REQ
U(
O #PLC1_COM.PUT_ERROR
O #PLC1_COM.PUT_DONE
)
R #PLC1_COM.PUT_REQ
NOP 0
 
Wenn Siemens das Anstoßen der Bausteine mit Taktmerkern macht, dann doch hoffentlich nur überlagert zu den Statuswerten (Done, Error) der Bausteine.
Welches Beispiel ist denn gemeint?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erstmal Danke an alle die mir hier helfen wollten.


@Thomas : Ich hatte es mit diesem Beispiel hier versucht. http://support.automation.siemens.c...objaction=csview&extranet=standard&viewreg=WW

@ Ottmar und Magier : Danke für den Tipp mit den 1,6 Sekunden. Hätte ich auch selbst drauf kommen müssen. Da war ja mal was mit den Zeiten ;)

Aber um auf alle Fälle sicher zu gehen habe ich noch ein Kabel gezogen und dann Ausgang und Eingang über ein Koppelrelais verbunden. Beim Testen gab es nun keine Probleme mehr. Ich lasse nun nur noch die nicht zeitkritischen Daten über die Put/Get Kommunikation laufen.

Vielen Dank euch !
 
Zurück
Oben