Zeiten und zähler über op7 steuern

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo erstmal

ich bin neu hier und hätte da mal eine frage

ich möchte einen x belibigen timer über ein op7 aufrufen
dort die aktuelle zeit ablesen und einen neuen wert eingen können
das selbe möchte ich mit zähler machen

es ist eine s7 steuerung an einer 300 cpu
 
Nimm unter ProTool beim anlgen

-> Standardprojekt verwenden

im Bild z_system_men ist unter Steuern Variable das was Du suchst.

Kannst aber auch einfach "Sonderbildanwahl"
das Bild steuern variable einfügen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
die zeit die ich dort eingben möchte soll der timer bis zu nächsten änderung beibehalten

das heist ich müsste dem timer z.b einen db.dbw10
als zeitwert forgeben
 
Hallo,

also ich hoffe Dein Anliegen richtig verstanden zu haben:

Wir haben oft das Problem, daß der Kunde Zeitwerte (Ein-,Ausschalt- Verzögerungsdauer usw.) verändert haben will, d.h. in herkömmlicher Programmierung muss der Softi ran und den Wert anpassen.
Das kann mitunter nervig werden, darum habe ich einen DB folgendermassen deklariert:

Code:
DATA_BLOCK "DB100_TIMER"
TITLE =Zeitwerte
VERSION : 0.1


  STRUCT 	
   T : ARRAY  [0 .. 255 ] OF STRUCT 	
    ZEITWERT : S5TIME ;	
   END_STRUCT ;	
  END_STRUCT ;

Die 255 des Arrays entspricht der Anzahl der möglichen Timer der SPS
(in o.g. Bsp. eine 315 L2-DP).
Am HMI Gerät wurde ein Bild erstellt mit einem Eingabefeld und einer Smybolischen Auswahlliste. Dem Eingabefeld ist eine nicht steuerungsgebundene INT-Variable (MUX-TIMER genannt) zugeweisen welche zeitgleich die Indexvariable der Auswahlliste ist. Diese wird über die Option 'Lineare Umrechnung' (Wertebreich Bediengerät 0-255 / Wertebereich Steuerung 0-510) "zurechtgebogen".
Zusätzlich gibt es ein Eingabefeld in welchem der Zeitwert für die gewählte Timernummer vorgegeben/abgelsen werden kann (referenziert auf den DB100, DBW = MUX-TIMER).
Nun kann man am HMI-Gerät den Timer wählen z.B. 5, das Datenwort im DB100 wird Dank 'linearer Umrechnung' auf DBW10 referenziert)

Im SPS-Code nun anstatt

Code:
L S5T#1s
U E1.0
SV T5

L DB100.DBW10
U E1.0
SV T5

Der Textliste weist Du am HMI-Gerät nur Txte zu die der Bediener tatsächlich "sichtbar" als veränderbar erkennen soll, durch das INT-Eingabefeld kannst Du aber trotzdem für alle vorhandenen Timer Zeitwerte im DB100 hinterlegen. Analog geht das natürlich auch für Zähler.

Schönen Tag noch
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das hat geklapt

vielen dank

einen frage hätte ich aber noch

kann ich die laufendezeit auch anzeigen lassen ohne jedem timer
ausgangsseitig einen db zuzuweisen ?
 
ist kein problem:

einfach ein steuerungsgebundenes Ausgabefeld erstellen (dezimale Anzeige,
gleiche Kommastellen wie bei Zeiteingabefeld!),Variablentyp TIMER,
Bereich T und diesen auf die MUX-TIMER Variable referenzieren.

Gleiches geht für Zähler.

Schönes We
 
Das scheint so nicht zu funktionieren

als lineare umrechnung kann ich beim op7 keinen wertebereich einfügen
sonder muß die zahl mutiplizieren mit 2

das hat zu folge das die angezeitgte zeit nicht dem timer entspricht
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, beim OP7 vergiss die lineare Umrechnung:

Die Variable des Eingabefeldes zur Auswahl der zu beobachtenden/verändernen Zeit belegst die unter Funktionen mit
'Umrechnung Linear1', Paramter a=2, Parameter b=0 auf die steuerungs-
ungebundene Variable MUX_TIMER

Dann das Eingabefeld für den Zeitwert auf den entsprechenden DB mit
Datenwort auf MUX_TIMER referenzieren.
Das Ausgabefeld für die aktuelle Zeitanzeige als neue Variable ACT_TIME
auf Bereich T mit Zielvariable MUX_TIMER stellen.

Klappt bei mir so mit OP7.

Cu, Florian
 
Zurück
Oben