Step 7 Meterimpuls

KUW

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Schoenen guten Tag zusammen.

Habe folgendes Problem (CPU 416F 3PN DP):
In einer Papierverarbeiteden MAschine wird durch einen Baustein (FB) ein Meterimpuls erzeugt, sprich jeden Laufmeter Papier kommt ein Impuls heraus.
Die Anlage faehrt max. 600 m/min = 10 m/s. Sprich eine maximal Frequenz von 10 Hz, bzw. alle 100 ms wird ein Impuls erzeugt.
Dieser Impuls soll ueber einen Digitalen Ausgang an eine weiter Anlage gegeben werden.

Der FB wird im OB37 (25 ms) aufgerufen.

Dort habe ich folgendes programmiert:

U DB5.DBX16.0 // Impuls Bit aus dem FB
S M 37.0 // Meterimpuls Merker

Diesen Merker verarbeite ich dann im OB 1 weiter:

U M 37.0 // Meterimpuls Merker
= A 5119.0 // Ausgabe des Meterimpulses an die Fremdanlage

U A 5119.0 // Ausgabe des Meterimpulses an die Fremdanlage
R M 37.0 // Meterimpuls Merker

Soweit so gut, allerdings gehen mir immer impulse am Ausgang verloren, beispielsweise bei einer Laenge von 4500 m kommen nur 4100 Impulse an die Fremdanlage.

Was ich bis jetzt mittels Analyser herausgefunden habe:
Es kommt ab und zu vor, das der Merker gesetzt wird, der dann den Ausgang schreibt, der steht dann fuer einen Zyklus an.
Der Merker wird dann wieder gesetzt, der Ausgang ist aber noch "1", somit kommt ja kein impuls heraus.

Die Zykluszeit der Steuerung ligt zwischen 50 und 94 ms, somit sollte es eigentlich funktionieren.
Ich habe keinen Dunst wieso das so ist,bzw. denke ich das es eventuell doch etwas mit den Zykluszeiten zu tun hat. Habe schon tausend Sachen probiert, alles ohne erfolg.

Habe dan ganze genauso bei einer anderen aehnlichen Anlage umgesetzt, funktioniert dort tadellos. Einzige unterschiede dort sind, dass der Zeit-OB alle 20 ms aufgerufen wird und das die Zykluszeit der Steurung kuerzer ist, liegt zwischen 17 und 55 ms.

Hat jemnad ne Idee, bzw. kann meinen Denkapparat ankurbeln?!
Bin echt am verzweifeln.:x
 
Code:
U DB5.DBX16.0   //  Impuls Bit aus dem FB
S M 37.0             // Meterimpuls Merker
Diesen Merker verarbeite ich dann im OB 1 weiter:
U M 37.0             // Meterimpuls Merker
= A 5119.0         // Ausgabe des Meterimpulses an die Fremdanlage
U A 5119.0         // Ausgabe des Meterimpulses an die Fremdanlage
R M 37.0            // Meterimpuls Merker

Bin echt am verzweifeln.:mad:

Ich muss sagen, ich auch. Bei der Art von Programmierung ist eine CPU 416F 3PN DP eine unsägliche Ressoursenverschwendung. Die Baugruppe kostet 10 000€. Dafür hätte ich mir jemanden eingekauft, der in der Lage wäre, wenigstens eine bescheidene Basis an sachgerechten Mitteln in der Programmierung und in der Hardwareplanung anzubringen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die hilfreiche Antwort. CPU, Anlage etc. sind alles gegebene Sachen, ist nun mal so. Ja ich weiß das ich nicht der cleverste Programmierer bin, aber vielleicht hat ja doch jemand eine hilfreiche Idee für mich. Vielen Dank.
 
Danke für die hilfreiche Antwort. CPU, Anlage etc. sind alles gegebene Sachen, ist nun mal so. Ja ich weiß das ich nicht der cleverste Programmierer bin, aber vielleicht hat ja doch jemand eine hilfreiche Idee für mich. Vielen Dank.

Der Punkt ist, des hat einfach mal was mit Selbstachtung zu tun. Jobs, die nur schieflaufen können, lehne ich ab. Bei dir sind Dinge gegeben, die überhaupt gar nicht funktionieren können. Und da muss man ansetzen, und nicht bei der räudigen AWL-Programmierung in irgendwelchen OBs, wos gar nichts zu suchen hat.

Solche Aufgaben löst man mithilfe eines Gebersystems und einer schnellen Zählerbaugruppe. Diese generiert Dir dann die Meterimpulse. Bist du sicher daß es sich um papierverarbeitende Industrie und nicht etwa um eine SPAN/MDF-Anlage handelt ? Dort hätte ich soetwas eher vermutet. Papierverarbeitende Industrie setzt mittlerweile desöfteren PCS7 ein.
 
Zuletzt bearbeitet:
Die Zykluszeit der Steuerung ligt zwischen 50 und 94 ms, somit sollte es eigentlich funktionieren.
Nein, denn Du brauchst für einen Impuls zwei Ausgaben, einmal EINS und einmal Null, bei Zykluszeiten über 50ms wirst Du also die 10Hz nicht zuverlässig schaffen.
Lösung: Den Ausgang direkt im OB37 ansteuern, ungefähr so:
Code:
U DB5.DBX16.0   //  Impuls Bit aus dem FB
= A 5119.0         // Ausgabe des Meterimpulses an die Fremdanlage
L AB 5119        //  Prozessabbild laden
T PAB 5119    // und direkt auf den Ausgang schreiben
und natürlich die Ansteuerung des A5119.0 im OB1 entfernen
Gruß
Erich
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Dieser Impuls soll ueber einen Digitalen Ausgang an eine weiter Anlage gegeben werden.
Wie ist die Zykluszeit der anderen CPU? Wie wird dort der Eingang verarbeitet? Geht das Signal da vielleicht auf einen Hardware-Zähler?
Wie ist die elektrische Verbindung zur anderen Anlage - ist da womöglich ein Koppelrelais dazwischen?

Harald
 
Hallo Erich,
Danke für den Tip, hätte ich auch selbst drauf kommen können ;-).
Läuft mit meinen internen Zählern die ich hochlaufen lasse perfekt. Montag geht es life.

Danke nochmals.
 
Zurück
Oben