FM 350-2 Zählerwert nach CPU-Start

fbeine

Level-2
Beiträge
134
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen alle zusammen,

ich habe folgendes Problem.

Ich bestimme eine Position durch das Zählen von Motorumdrehungen. Dafür habe ich die Zählerbaugruppe FM350-2 eingesetzt, ich nutze nur den Zählwert, keine weiteren Funktionen der FM.

Mein Problem liegt darin, dass ich den Zählwert verliere, wenn die Maschine morgens mit dem Hauptschalter eingeschaltet wird.

Unter Objekteigenschaften der Zählerkarte im Hardwaremanager habe ich unter den Reiter "Grundparameter" die "Reaktion auf CPU Stopp" auf "abbruch" stehen, damit steht der Zähler auf Null, ist in Run und zählt auch wenn ich die Maschine einschalte.

Wenn ich aber die "Reaktion auf CPU Stopp" auf "letzten Wert" umstelle und die CPU nach dem überspielen des HW startet, geht die FM in Fehler, zeigt aber den letzten Wert an ....

vieleicht habt ihr eine Idee, wie ich das Problem lösen kann.

Gruß Frank
 
Hallo Frank,
ich hatte das gleich Problem vor ein paar Jahren. Gelöst habe ich das ganze indem ich den Zählerstand in jedem Zyklus zwischengespeichert habe und dann nach dem Anlauf der CPU den FM 350 mit diesem Wert
gesetzt habe.(aufruf eines FC's zum setzen) Ich kann leider nicht nachschauen wie ich das vor ein paar Jahren geschrieben habe weil ich
zur Zeit in Urlaub bin.

Gruß
Joe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Joe,

du hast recht, man muss bei Bedarf die Werte mit den Write-Fc (FC3) in die Zählerkarte schreiben.

Was ich vorhatte, den Grundparameter "Reaktion auf CPU Stopp" auf "letzten Wert" zu stellen geht nicht.
Nach Aussage von Siemens wird das unterbunden, weil wenn man im ausgeschalteten Zustand von hand irgendetwas verstellt, aber nach dem Neustart sagt, das Teil ist in Position, es bei Maschinen-Start zu Maschinendefekten kommen könnte. Ist ja eigendlich logisch.
Stellt sich nur die Frage, warum sowas in der Software für die FM350-2 angeboten wird :confused:

Gruß
Frank
 
Nach dem Neustart (STOP/RUN) Übergang wird die Baugruppe neu parametriert und der Zählwert genullt. Wäre das anders und der TÜV sieht das gibt es etwas auf die Mütze. Wenn man sich den WErt zyklisch speichert baut sich mit der Zeit ein Versatz auf. Mann muß mit einem Inkrementalgeber immer neu referenzieren. Wenn du das nicht willst dann kauf dir ne SM338 und einen Absgeber.
Mit dem Parameter Reaktion bei CPU Stop wird das verhalten wenn die CPU in STOP ist beschrieben. Wenn CPU in Stop ist zählt die Karte weiter und schaltet Ausgänge.
 
Hallo
Ich möchte die Zählerwerte vorgeben und stoße auf folgendes Problem. Ich lade die alten Zählerwerte im OB100 in die LoadVal (DB??.DB52, DB??.DB56 usw.) Nun müßte ich diese Daten in den Aktualwert DB??.DB148, DB??.DB156 usw. kopieren, was bei einzelen Zähler auch möglich ist. Sobald ich aber mehrere Zähler beschreiben möchte wird nur noch der letzte Zähler beschrieben. Hat jemand einen Lösungsweg?
Gruß Jochen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich möchte die Zählerwerte vorgeben und stoße auf folgendes Problem. Ich lade die alten Zählerwerte im OB100 in die LoadVal (DB??.DB52, DB??.DB56 usw.) Nun müßte ich diese Daten in den Aktualwert DB??.DB148, DB??.DB156 usw. kopieren, was bei einzelen Zähler auch möglich ist. Sobald ich aber mehrere Zähler beschreiben möchte wird nur noch der letzte Zähler beschrieben. Hat jemand einen Lösungsweg?
Gruß Jochen

wie sieht der code aus, der das realisieren soll? (bitte benutze beim einfügen die [ code] [ /code] - tags; ohne führendes leerzeichen)
 
Kann im Moment das Projekt nicht einsehen. Andere Lösungswege wären mir aber auch sehr willkommen. Vielleicht gehe ich einen zu komplizierten Weg!?
 
Kann im Moment das Projekt nicht einsehen. Andere Lösungswege wären mir aber auch sehr willkommen. Vielleicht gehe ich einen zu komplizierten Weg!?

ich glaube keiner hier kann deinen weg burteilen, wenn er erstmal nur im dunkel stochern muß um herauszufinden an welcher stelle vielleicht ein VKE 1 statt 0 ist oder so ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist mir schon völlig klar. Darum frage ich ja auch nach einen anderen Lösungsansatz. Mein Programmauszug kann ich leider erst morgen einstellen und die Zeit drängt (wie das ja leider meistens der Fall ist).
 
Werte schreiben

Hi,
wie, kopierst du die Werte einfach da rein?
Normalerweise geht das über die Schreib- bzw. Lesefunktionen FCs(die mitgelieferten).

Gruss: Vladi
 
Habe es geschafft. Programm im OB100 (DB1 ist der abgeleitet von UDT1)

L DB1.DBD 148 // Schreibauftrag für Zähler 0 alten Wert laden
T DB1.DBD 52
L DB1.DBD 156 // Schreibauftrag für Zähler 1 alten Wert laden
T DB1.DBD 56
L DB1.DBD 164 // Schreibauftrag für Zähler 2 alten Wert laden
T DB1.DBD 60
L DB1.DBD 172 // Schreibauftrag für Zähler 3 alten Wert laden
T DB1.DBD 64
L DB1.DBD 180 // Schreibauftrag für Zähler 4 alten Wert laden
T DB1.DBD 68
L DB1.DBD 188 // Schreibauftrag für Zähler 5 alten Wert laden
T DB1.DBD 72
L DB1.DBD 196 // Schreibauftrag für Zähler 6 alten Wert laden
T DB1.DBD 76
L DB1.DBD 204 // Schreibauftrag für Zähler 7 alten Wert laden
T DB1.DBD 80

Im FC19 programmiert:
NW1:
CALL FC 83 //CNT2_WR
DB_NO :=W#16#1
RET_VAL:=#lh_int
NOP 0

NW2:
UN M 210.0 //HM 1-Zyklus
SPB a030
SPA a031
a030: S M 210.0
L 42
T DB1.DBB 0
a031: NOP 0


Die 42 steht für aktuellen Zählerstand ändern (alle 8 Känale)
Das war ja einfach!!!

Jochen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
geschafft heißt, es funktioniert nehm ich an? dann kannste ja den beitrag da oben noch mit [ code] [ /code] versehen (ohne fürhendes leerzeichen) ... dann können es nachfolgende generationen auch übersichtlicher in augenschein nehmen ...
 
Zurück
Oben