TIA TP700 Comfort lädt nicht alle Rezepturdaten runter / Datensatz Befehl 70 wird genullt

ChristianVogel

Level-2
Beiträge
434
Reaktionspunkte
55
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider heute schon zum zweiten Mal eine Anfrage an Euch... ;)

Folgendes: Ich habe ein TP700 Comfort, darin habe ich eine Rezeptur erstellt, die 500 Datensätze hat und 3 Werte beinhaltet. Sind keine reale Daten sondern Testdaten die eben immer um +1 höher sind als der vorherige Datensatz, aber egal... Ich habe wie gesagt 3 Variablen drinnen, 1x String[20] 2x Word.

Nun habe ich eine Software die mir über die Datensatzzuweisung eigentlich jeweils einen Datensatz von der HMI in die PLC schieben sollte, also wenn ich in den Bereichszeiger die Werte für Rezeptur und Datensatz anlege und danach den "Befehl 70" in den ersten Bereichszeiger schiebe, dann lädt das Panel tatsächlich die Rezeptur runter, ABER nicht immer komplett! Die Bereichszeiger werden alle wieder auf 0 gestellt, aber der Inhalt der Variablen der Rezeptur ist teilweise noch der Inhalt vom letzten Abrufen...

Manchmal wird der String und 1x Word gefüllt, manchmal die beiden Word und der String nicht, oder 1x Word... nicht ganz nachvollziehbar wo da das Problem hängt...

Das Panel kommuniziert mit einer S7-1214C, ist da irgendwas zu langsam/schnell, oder gibt es eine Prüfung der Daten, bevor die Bereichszeiger wieder genullt werden, ist da irgendwo was einstellbar? Eine Art CRC oder sowas? Oder in den Systemeinstellungen der HMI?

Ich habe die Bereichszeiger schon X-Mal benutzt aber sowas hatte ich bisher noch nicht... :confused:

Ich werde jetzt hoffentlich niemanden vom Lindenstraße-kucken abhalten :ROFLMAO:

Gruß Christian
 
Sind die Werte in den Rezeptur-Datensätzen vielleicht schon nicht korrekt? (Wie sind die Werte in die Rezepturen im HMI gekommen?)
Passiert es mit dem selben Datensatz, daß mal die eine und mal eine andere Variable nicht gelesen wird?
Sind die Werte vielleicht erst im nächsten OB1-Zyklus komplett?

Gibt es weitere HMI im Netzwerk? Schreibt noch eine andere HMI in den Steuerungsauftrag?
Schreiben andere Programmteile der PLC in die Rezepturvariablen?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PS: Hast Du vor auslösen des Steuerungsauftrags 70 im Bereichszeiger "Datensatz" das Statuswort im 4. Wort auf 0 geschrieben? Und erhältst Du die "Übertragung fehlerfrei beendet"-Meldung (Wert: 4) in dem Statuswort vom HMI? Werden Rezepturnummer und Datensatznummer im Bereichszeiger "Datensatz" korrekt eingetragen?

Harald
 
Guten Morgen Harald,

vielen Dank für die ganzen Antworten soweit, AALLSSOO:

1. Die Rezepturen habe ich mit WinCC eingegeben, im Reiter Datensätze kann ich diese ja mit Autoausfüllen recht einfach erstellen.
2. Die Datensätze sind ja alle vollständig, wenn ich den Leseauftrag ein zweites Mal ausführe, werden die restlichen Variablen gefüllt
3. ...also wenn ich die Variablenansicht mehrere Minuten offen lasse, passiert da garnichts, der OB1 müsste da ja schon ein paar mal durchgelaufen sein... ;)
4. weitere Geräte gibt es nicht, ich habe hier nur das nackte TP700 und eine CPU auf dem Tisch liegen, ich habe in diesem Fall nur die Aufgabe so einen Baustein zu programmieren. Da funkt mir also kein weiteres Gerät dazwischen.
5. Das 4. Statuswort hatte ich bisher nicht ausgewertet [schäm]... Ich hatte bisher das erfolgreiche Schreiben der Daten mit dem Nullen der ersten 3 Worte als erledigt betrachtet. Das ist nicht korrekt???

Wenn die ersten 3 Worte genullt werden, heisst das dann vom Panel "Habe verstanden, sende die Daten", oder heißt das "Habe fertig", dann hatte ich diese Funktion bisher nicht volltändig ausprogrammiert... Im Prinzip wird sich dann meine Schrittkette irgendwo etwas überschlagen nehme ich an...?

Gruß Christian
 
ich sehe grade, dass laut meiner Onlinehilfe das 4. Wort beim AUftrag 70 nicht verwendet wird. Muss ich den "Status 4" im Bereichszeiger "Datensatz auswerten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du solltest den schon auswerten, wenn ich recht erinnere gibt es auch Meldungen zurück, wenn etwas nicht klappt.
Wenn du in der Hilfe von TIA nach "Steuerungsauftrag" suchst, findest du die ganzen Aufträge inkl. der Verwendung.
Leider hab ich gerade kein Win offen, um schnell mal nachzusehen.
 
Du solltest den schon auswerten, wenn ich recht erinnere gibt es auch Meldungen zurück, wenn etwas nicht klappt.
Wenn du in der Hilfe von TIA nach "Steuerungsauftrag" suchst, findest du die ganzen Aufträge inkl. der Verwendung.
Leider hab ich gerade kein Win offen, um schnell mal nachzusehen.

Moin Ralle,

ich habe mir schon die Onlinehilfe duchgelesen, Suche ich nach "Ablauf der Übertragung bei Steuerungsauftrag", finde ich auch alles kein Thema. Da lese ich auch: Das Bediengerät setzt den Status "Übertragung beendet". -->> Aber wo setzt das HMI den Status?

Aktuell habe ich den Eindruck, dass sich meine Schrittkette überschlägt durch eben des Auslassens der Statusmeldung. Bisher hatte ich wie gesagt die 0-Werte der ersten 3 Worte als "Übertragung beendet" angesehen, ein Fehler wie sich jetzt rausstellt!

Setzt das HMI den Status im Bereichszeiger Datensatz??? Wie gesagt im 4. Wort "Steuerungsauftrag" tut sich garnichts...
 
Ich hab das in einem FB in iner Schrittkette abgehandelt.
Hier mal der Code zur Orientierung.
Wichtig für dich Schritt 40 und 50.

Code:
//Hier wird ein Temperaturrezept per Auftrag geladen


//Flanke Start
#_R_TRIG_Start(CLK:=#Start,
             Q=> #_FP_Start);


//Reset Schrittkette
IF #Reset THEN
    #_Stepnumber := 60;
END_IF;




//Start Schrittkette
IF #_FP_Start THEN
    #_Stepnumber := 1;
    #_Busy := True;
    #_Ready := False;
    #_Error := False;
END_IF;


CASE #_Stepnumber OF
 1:  // kein Auftrag aktiv?


    IF (#Auftrag = 0) THEN
        #_Stepnumber := 10;
    END_IF;
    
 10:  // Auftrag starten


    #Auftrag := 70; //Datensatz in Steuerung schreiben
    #Rezeptnummer := #Rezeptnummer_Temperatur;
    #Datensatznummer := #TemperaturdatensatzNr;
    #HMI_RezepturDatensatz := #TemperaturdatensatzNr;
    #_Busy := True;
    #_Ready := False;
    #_Stepnumber:= 20;
    #HMI_Bearbeitungsstatus := 0;


 20: //Auftrag fertig?


    IF (#Auftrag = 0) THEN
        #_Stepnumber := 30;
    END_IF;


 30: //Ladevariable toggeln, um in HMI das Laden des Rezepturnamens zu atarten
    
    //Toggeln HMI Lesen Start
    #HMI_Datensatzlesen_Start := NOT(#HMI_Datensatzlesen_Start); 
    #_Stepnumber := 40; 
 
 40: //Laden gestartet ?   
    
    //Bearbeitungsstatus = 2 --> wird gerade ausgeführt 
    IF #HMI_Bearbeitungsstatus = 2 THEN
        #_Stepnumber := 50;
    END_IF;
   
 50: //Laden mit IO oder NIO beendet
    
    IF #HMI_Bearbeitungsstatus = 4 THEN
        #_Error := False;
        #_Stepnumber := 60;
    END_IF;
    IF #HMI_Bearbeitungsstatus = 12 THEN
        #_Error := True;
        #_Stepnumber := 60;
    END_IF;        


60: //Fertig


    #_Busy := False;
    #_Ready := True;


ELSE  // Statement section ELSE
     #Busy := False;
END_CASE;


//Ende
IF #_FP_Start AND (#Auftrag = 0)  THEN
    #Start := False;
    #_FP_Start := False;
END_IF;


//Timeout
#IEC_Timer_Delay(IN:= #_Busy,
                 PT:= t#5s);


//Outputs
#Error_Tabelle_existiert_nicht := #_Error OR #IEC_Timer_Delay.Q;
#Busy := #_Busy;
#Ready := #_Ready;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Setzt das HMI den Status im Bereichszeiger Datensatz??? Wie gesagt im 4. Wort "Steuerungsauftrag" tut sich garnichts...
Ja, hier muß man aufpassen weil es wird über 2 Bereichszeiger kommuniziert.
Im Bereichszeiger "Steuerungsauftrag" teilt man dem HMI mit, daß ein Datensatz in die SPS geschrieben werden soll. Sobald das HMI den Auftrag "annimmt" wird hier die Nummer des Steuerungsauftrags auf 0 zurückgesetzt.
Im Bereichszeiger "Datensatz" teilt das HMI nun den Abarbeitungsstatus der Datensatz-Übertragung im 4. Wort mit. Die Übertragung ist erst beendet wenn da das Bit .2 gesetzt ist (eine 4 oder 12 drinsteht). Vor Auslösen des Steuerungsauftrags 70 muß man in dieses Statuswort eine 0 reinschreiben.

Harald
 
Zuletzt bearbeitet:
Hallo Harald und Ralle!

Vielen Dank für Eure Hilfe, aber irgendwo habe ich hier was verbockt... Ich habe definitiv in der "Übertragung" keinen Fehler, sobald ich Manuell den Befehl 70 gebe, sendet mir das Panel die Daten vollständig und korrekt, d.h. ich gebe Euch recht, wenn ich meinen Fehler in meiner Schrittkette suchen muß, weil ich die Rückmeldung vom Bedienpanel aktuell NICHT auswerte.

2018-03-26.png

Ich habe nun auch mal alle meine verfügbaren Platzhalter in meinem Standard-HMI-DB eingegeben...

2018-03-26 (1).png

die sehen im DB so aus

2018-03-26 (2).jpg

Aber Knackpunkt ist der, dass >>> Harald schreibt: "Im Bereichszeiger "Datensatz" teilt das HMI nun den Abarbeitungsstatus der Datensatz-Übertragung im 4. Wort mit. Die Übertragung ist erst beendet wenn da das Bit .2 gesetzt ist (eine 4 oder 12 drinsteht). Vor Auslösen des Steuerungsauftrags 70 muß man in dieses Statuswort eine 0 reinschreiben."<<< Das Problem ist, dass sich bei mir in diesem Wort und im gesamten Bereichszeiger "Datensatz" garnichts bewegt... kein einziges Bit blinkt oder wird statisch gesetzt...

In meinem Fall müsste ich ja in der Variable ""HMI_DataExchange_DB_V1.0".Bereichsz_Geraet_Datensatz[3]" hier dann den Status "2#0000_0000_0000_0100" sehen, alle Bereichszeiger zeigen mir lediglich "2#0000_0000_0000_0000" an...

Da ist doch bestimmt noch irgendwo ein Häckchen zu setzen, oder?

Gruß
Christian
 
Zuletzt bearbeitet:
Hast Du im HMI eventuell mehrere HMI-Verbindungen und die Bereichszeiger sind in der falschen Verbindung projektiert?
Ist in der Rezeptur "Koordinierte Übertragung der Datensätze" aktiviert? Ist da auch die richtige Verbindung angegeben?
Hast Du schon mal das Panel "alles komplett" übersetzt und ins Panel geladen?

Ich habe definitiv in der "Übertragung" keinen Fehler, sobald ich Manuell den Befehl 70 gebe, sendet mir das Panel die Daten vollständig und korrekt
Werden da auch die korrekte Rezepturnummer und Datensatznummer im Bereichszeiger "Datensatz" eingetragen? Dann deutet das allerdings darauf hin, daß im Panel alles richtig eingestellt ist. Suche mal im SPS-Programm, ob da alle Zugriffe auf die Bereichszeiger und die Rezepturvariablen zum richtigen Zeitpunkt stattfinden. Hast Du eigentlich in der SPS einen Datensatz-Puffer für die Rezepturvariablen, von wo aus Du die Werte nach Datensatz-Empfang erst noch in die eigentlichen Zielvariablen kopieren mußt, oder hast Du die Rezepturvariablen direkt auf die Zielvariablen projektiert?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Harald,

Hast Du im HMI eventuell mehrere HMI-Verbindungen und die Bereichszeiger sind in der falschen Verbindung projektiert?
-> Nur eine Verbindung, Bereichszeiger sollten passen.

Ist in der Rezeptur "Koordinierte Übertragung der Datensätze" aktiviert? Ist da auch die richtige Verbindung angegeben?
-> Das ist mit neu, wo kann ich den sowas einstellen? In den Eigenschaften der Rezeptur finde ich sowas nicht...

Hast Du schon mal das Panel "alles komplett" übersetzt und ins Panel geladen?
-> Ja, wenn ich an den Bereichszeigern oder an Systemeinstellungen was ändere mache ich das generell.

Werden da auch die korrekte Rezepturnummer und Datensatznummer im Bereichszeiger "Datensatz" eingetragen? Dann deutet das allerdings darauf hin, daß im Panel alles richtig eingestellt ist. Suche mal im SPS-Programm, ob da alle Zugriffe auf die Bereichszeiger und die Rezepturvariablen zum richtigen Zeitpunkt stattfinden.
-> Wird alles passen eingetragen. mir fehlt hier dann ja lediglich das Feedback vom Panel das mir sagt "Status 4 = Habe fertig"

Hast Du eigentlich in der SPS einen Datensatz-Puffer für die Rezepturvariablen, von wo aus Du die Werte nach Datensatz-Empfang erst noch in die eigentlichen Zielvariablen kopieren mußt, oder hast Du die Rezepturvariablen direkt auf die Zielvariablen projektiert?
-> Nachdem ich die Daten zur SPS geschrieben habe, UND das Panel die Bereichszeiger wieder auf Null gesetzt hat [hier würde ich das fehlende Feedback vom Panel einbinden], kopiere ich die Daten auf eine Zielvariable im DB, wo ich diese später weiterverarbeiten wollte.


--->>> Ich glaube ich werde meine Schrittkette an den betreffenden Stellen, wo ich den "Dienst 70" anstoße, einfach mal mit ein paar Zeitgliedern "ausbremsen". Sollte dann der Baustein sauber durchlaufen und die im Zielbereich sauber ankommen (wird zwar eine fummelige Kontrollarbeit sein), dann kommt der Baustein dort ins Stolpern, wo ich die geschriebenen Daten abgreife :cry:. Das Problem würde ich nicht ganz nachvollziehen können, da die zuvor beschriebene Vorgehensweise schon etliche Male praktiziert wurde... Nur eben ohne Wiederholungen und ohne zeitliche Relevanz, bisher wurde ein Parameter geladen, bis der Werker/Maschine diese Daten gebraucht hatte, vergingen mehrere Sekunden/Minuten, da war in der Vergangenheit das Panel natürlich sicher fertig geworden mit dem Leseauftrag...
 
Ist in der Rezeptur "Koordinierte Übertragung der Datensätze" aktiviert? Ist da auch die richtige Verbindung angegeben?
-> Das ist mit neu, wo kann ich den sowas einstellen? In den Eigenschaften der Rezeptur finde ich sowas nicht...
in den Eigenschaften der Rezeptur > Synchronisation

siehe TIA Hilfe:
Index > Bereichszeiger, Datensatz > Synchronisation von Rezepturdatensätzen mit der Steuerung
oder
Index > Koordinierte Übertragung

Ich weiß nicht ob es für die Bereichszeiger-Kommunikation für TIA angepasste Hilfen oder Handbücher gibt, doch hier in diesem Handbuch ist die Kommunikation ziemlich detailliert beschrieben:
Handbuch HMI WinCC flexible 2008 Kommunikation Teil 1
Kapitel 2.4.1.7 Bereichszeiger "Steuerungsauftrag", Seite 101 ff
Kapitel 2.4.1.8 Bereichszeiger "Datensatz", Seite 104 ff
Seite 108: Ablauf bei Schreiben in die Steuerung durch Steuerungsauftrag "DAT → SPS" (Nr. 70)

Harald
 
die angestaute Wut, lässt sich kaum noch mit Koffein betäuben... :sm10:

also: Ich habe die Einstellungen gefunden, NACHDEM ich mal alle Fenster und Menus aufgeklappt habe! Dazu habe ich in der Online-Hilfe nach "Koordinierte Übertragung" gesucht und die ersten Einträge bringen mich auch zu "Übertragung mit Synchronisation"...

So, nun sehe ich auch die Bits im vierten Wort auf "4" umspringen, und die ersten beiden Wörter bringen mir auch das Feedback, dass der korrekte Datensatz runtergeladen wurde, ABER meine 3 Variablen die ich mit den Werten füllen will, sind nach wie vor nicht korrekt gefüllt! Immer nur sporadisch, mal eine, mal 2, mal alle 3... Ich dreh ab!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal testweise eine komplett neue Rezeptur projektieren mit komplett neuen Rezepturvariablen in einem komplett neuen DB. In der SPS nur den neuen DB anlegen aber nichts programmieren.
Dann mit einer Variablen-Beobachtungstabelle die Werte in den Bereichszeigern per Hand steuern und die HMI-Reaktion beobachten.

Wenn da das selbe Verhalten ---> Siemens Support anrufen, möglicherweise wissen die, ob da ein Bug in TIA vorliegt oder was bei Dir falsch läuft

Harald
 
Hallo Harald und Ralle, und auch die anderen hier die wo das interessieren tut... :ROFLMAO:

ich wollte mich nochmal kurz melden, die letzten beiden Wochen hatte ich lediglich abends Zeit mich um diesen Rezeptur-Knackpunkt zu kümmern. Das Problem bestand weiterhin, dass beim Auslösen des "Steuerungsauftrag 70" die betreffende Rezeptur nur "Brockenweise" in die Ziel-Variablen der Rezeptur geschrieben wurde. Folgende Fortschritte habe ich "vollbracht"...

ALSO:
- Neue Rezeptur angelegt -> Kein Erfolg :sad:
- Andere Ziel-Variablen mit der Rezeptur beschrieben -> Kein Erfolg :sad:
- Anderen DB verwendet, optimiert/nicht optimiert -> Kein Erfolg :sad:
- Anderes Bedienpanel genommen (Vermutung vielleicht zu 'langsam'?) -> Kein Erfolg :sad: mit TP1900 Comfort (vorher TP700 Comfort)
- Andere CPU genommen (Vermutung vielleicht zu 'langsam'?) -> Kein Erfolg :sad: mit CPU 1513 (vorher 1214C)
- Anderen Switch genommen (Verzweiflungstausch, mehr gab es nicht...) -> Kein Erfolg :sad:
- Komplette VISU minimalistisch neu angelegt -> Kein Erfolg :sad:
- Schrittkette nochmal und nochmal und nochmal durchgeschaut und sogar Lokal-Variablen neu benamst (Vermutung Tippfehler) -> Kein Erfolg :sad:
- Andere Rezepturnummer für "Suchdaten" genommen -> ERFOLG! :confused::confused::confused::confused::confused:

Also UFFBASSE: Wenn ich Daten aus einer Rezeptur mit dem Steuerungsauftrag 70 in die Steuerung runterschreiben will, DANN MUSS diese die Nummer "1" haben!!!!! Jetzt habe ich das Problem, dass meine "Nutzdaten" in der Rezeptur "2" stehen, jetzt kommen diese nur Brockenweise an... Ich drehe hier noch ab, kann das wahr sein??? Oder ist das tatsächlich eine Funktion/Bug/Unfug...???

Ich habe nun folgendes gemacht:

1. Ich beschreibe die Variablen meiner Rezeptur im DB am Anfang meiner Schrittkette mit "Blödsinndaten" die einfach nicht sein können...
Var1 [String 20] 'kein_Text'
Var2 WORD 32767
Var3 WORD 32767
2. Ich löse die Daten mit Steuerungsauftrag 70 aus, und Warte bis die 3 Bereichszeiger wieder auf 0 stehen
3. Ich prüfe ob die 3 Variablen sich gegenüber den "Blödsinndaten" verändert haben
4. Sind die Daten der Rezeptur ALLE anders als die "Blödsinndaten" wurde die Rezeptur komplett runtergeschrieben...
5. Sind die Daten der Rezeptur NICHT ALLE anders als die "Blödsinndaten", also mindestens eine noch von den Variablen mit "Blödsinndaten" gefüllt, dann springe ich zurück und löse solange die Schleife mit dem "Steuerungsauftrag 70" aus, bis eben alle "Blödsinndaten" mit realen Rezepturinformationen ersetzt wurden!

==>> Der Knaller ist der nun der: Ich brauche manchmal bis zu 24 Anläufen!!!! bis grade mal 3 Variablen komplett gefüllt wurden! (Ich habe da einen Info-Zähler mitlaufen...) Das heißt im Klartext, wenn ich meine möglichen 500 Datensätze runterladen möchte, brauche ich circa 45 Minuten!

Ich hatte Kontakt mit einem wieder sehr netten und geduldigen Support-Spezi, aber sowas telefonisch/Mail durchzukauen ist doch sehr schwer, aber mit diesen Erkenntnissen muss ich da nochmal vorstellig werden.

- Gibt es da tatsächlich eine "bevorzugte" Rezeptur? Oder eine andere Vorgehensweise, wenn die Rezeptur-Nummer mal nicht 1 sein sollte?
- Es wäre egal, ob ich hier eine synchronisierte oder nicht synchronisierte Bearbeitung nehme, geht mit beiden nicht! im Gegenteil: Ich bekomme den "Status 4" geliefert, obwohl die Variablen definitiv NICHT geschrieben wurden...

...ich begreife das nicht wirklich! :sb9:


...ein wirklich ganz besonderer Dank zur Problemlösung, geht in diesem Fall an die vielen viele Gummibärchen und Schlümpfe die dafür Ihr Leben lassen mussten!

Gruß Christian.
 
Also UFFBASSE: Wenn ich Daten aus einer Rezeptur mit dem Steuerungsauftrag 70 in die Steuerung runterschreiben will, DANN MUSS diese die Nummer "1" haben!!!!! Jetzt habe ich das Problem, dass meine "Nutzdaten" in der Rezeptur "2" stehen, jetzt kommen diese nur Brockenweise an...
Heißt das, daß wenn Du einen Datensatz der Rezeptur Nummer 1 anforderst dann funktioniert es korrekt und wenn Du einen Datensatz einer anderen Rezeptur mit anderer Nummer anforderst dann funktioniert es nur manchmal? Das dürfte nicht so sein. (Zur Zeit habe ich leider kein Comfort Panel um Dein Problem nachzustellen.)

Ich habe definitiv in der "Übertragung" keinen Fehler, sobald ich Manuell den Befehl 70 gebe, sendet mir das Panel die Daten vollständig und korrekt, d.h. ich gebe Euch recht, wenn ich meinen Fehler in meiner Schrittkette suchen muß, weil ich die Rückmeldung vom Bedienpanel aktuell NICHT auswerte.
Funktionierte das auch nur mit der Rezeptur Nummer 1?

Bekommst Du irgendwelche Systemmeldungen am TP700? Wie schnell wiederholst Du den Steuerungsauftrag 70 bei Misserfolg?

Workaround: Beim TP700 kann man Datensätze anstatt mit Steuerungsauftrag 70 auch durch einfaches Ändern/Triggern von "normalen" HMI-Variablen anfordern und beim Trigger die Systemfunktion "SchreibeDatensatzInSteuerung" (SetDataRecordToPLC) aufrufen. Sollte das auch nicht korrekt funktionieren dann könntest Du was programmieren mit "ImportiereDatensaetze" (Lesen der Rezeptur aus der csv-Datei in die HMI-Rezepturvariablen) und "SchreibeDatensatzvariablenInSteuerung" (schreiben der Rezepturvariablen in die SPS).

Wenn Du im TP700 eine Rezepturanzeige projektierst - kannst Du damit die Rezepturdatensätze korrekt in die SPS schreiben?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Harald,

das ist richtig, lasse ich meine Schrittkette die Daten aus der Rezeptur Nummer 1 laden, dann läuft das ganze ohne Probleme. Ich habe tatsächlich alle 500 Datensätze in meinem DB abgeschaut und in jedem sind definitiv die Daten drin die sollten! Lege ich diese Rezeptur auf die Nummer 2,3,...8 dann geht das nichtmehr, dafür greifen dann die Rezepturdaten wieder die ich auf die Rezeptur 1 gelegt habe...

Da ich meine Schrittkette etwas bremse, liegen zwischen Vorgabe Bereichszeiger 2+3 und dem Schreiben der 70 im Bereichszeiger 1 auf jeden Fall 50ms, nach dem Nullen der 3 Bereichszeiger nochmal 100ms und bis wiederum zur Vorgabe Bereichszeiger 2+3 und dem Schreiben der 70 im Bereichszeiger 1 insgesamt ~200ms nehme ich an. Sofern der komplette Schritt auf Anhieb durchlaufen sollte, zur Vorgabe Bereichszeiger 2+3 und dem Schreiben der 70 im Bereichszeiger 1 auf jeden Fall 50ms, bei Neustart der Schrittkette circa 800ms bis alles von vorne losgeht... Da besteht dann später durchaus Optimierungsbedarf, da bei 500 Datensätzen das doch eine ganze Weile gehen kann, circa 40-50 Minuten.

Mit den Steuermöglichkeiten der Comfortpanels habe ich mich mal befasst, auch mit den "SchreibeDatensatzInSteuerung" etc. , aber dieser Baustein soll unter anderem auch bei älteren Panels KTP600, TP177,... verwendet werden. Hier zwar mit weniger Datensätzen, aber die Funktion sollte die selbe sein und diese älteren Bedienpanels unterstützen leider nicht alle Funktionen, die sind in meinem TIA dann ausgegraut...

Ich habe die Rezepturanzeige projektiert, zur Kontrolle und Dateneingabe/-änderung, mit dem Button "Sende zur Steuerung" läuft generell jede Rezeptur einwandfrei, aber in dieser Maske wird später kein Werker arbeiten. Der Ablauf wird ja so sein, dass die Daten im HMI gepflegt werden, gelegentlich in die Steuerung geladen, und dann per Automatismus geladen und gesendet, so der Plan.

Gruß Christian
 
Hallo ...
Habe "genau das selbe Problem" mit ner 1200'er und nem TP700. (Naja fast zumindest)

Nutze nicht die Rezepturverwaltung, sondern lege meine Rezepturdaten in Dateien auf einer SD-Karte ab.
Der Effekt ist der selbe!
Alle Daten werden korrekt in der Datei abgelegt. Das Problem liegt beim Laden!!!
Das erste Laden führt zu teilweisem "Ablöschen" (nullen) verschiedener Variablen (ohne Muster oder Sinn und Verstand)
Beim Zweiten Laden der GLEICHEN Datei ist dann alles gut!!!

Hast du schon mal explezit geprüft ob ein zweites Laden alle Variablen iO schreibt?
 
N'abend NBerger,

bin ich ja schon fast beruhigt, dass ich nicht als einziger diese Probleme habe... Wie in meinem letzten Antrowrt schon geschrieben, ich lasse den Schreibebefehl 70 auch mehrfach kommen bis alle Variablen gefüllt sind, zumindest nicht mit "Standardwerten".

Aber ich werde da auf jeden Fall nochmal den Service bemühen!

An einer älteren Projektierung habe ich grade nochmal nachgeschaut: Ein altes KTP600 hat eine ähnlich Funktion, mit 12 Variablen, dort läuft das schreiben einwandfrei!!! Seit 3 Jahren läuft die Anlage und bisher wurden da keine Fehlermeldungen an mich herangetragen... Mysteriös!
 
Zurück
Oben