TIA Wertvergleich

litlegerman

Level-2
Beiträge
312
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
Ich bin mit V15 an einer S7 314 zugange und habe folgendes Problem:
Die Anlage hat ein HMI auf dem, wie üblich, Werte in einen DB geschrieben werden, die geschieht via Polling im Sekundentakt.
Jetzt soll ein Leit-PC auf die gleichen Werte Lesend/Schreibend zugreifen.
Vorerst, habe ich die Leit-PC einfach die selben DB Einträge zur Verfügung gestellt, also ihn einfach als zusätzliches HMI betrachtet, der einfach auf die gleichen Daten zugreift.
Das klappt auch wohl, aber manchmal übernimmt dieser Leit-PC komplett die Führung, d.h. er schreibt einen Wert z.B. 100 jetzt möchte der Bediener aber den Wert über das HMI auf 120 ändern, dann mach der Leit-PC wieder 100 daraus.
Jetzt hatte ich mir gedacht klar kein Thema... ich vergleiche den jeweiligen Wert (Wert 1 = WertHMI, Wert 2 = WertLeit) mit einem Speicher bei Ungleichheit, schreibe ich ihn dann in den Speicher, so bekomme ich schon mal mit das die Werte sich ändern dann schreibe ich bei dieser Aktion die Werte an beide Positionen und fertig ist die Laube... leider klappt es nicht (zumindest nicht in PLC sim).
Könnt ihr mir weiterhelfen?
 
Wer soll denn das Sagen haben? Der Bediener? Der Leit-PC? Evtl. die SPS?
Was, wenn zwei "gleichzeitig" dasselbe Datum zu ändern versuchen, sich aber nicht auf denselben Wert einigen können?
Es wäre sinnvoll dies zuallererst zu klären!
 
Ich würde versuchen, es so zu machen, dass entweder der Bediener oder der LeitRechner mit seinen Änderungen an der Reihe ist.
Warum den Bediener mühsam etwas Eintippen lassen, wenn es im nächsten Moment vom LeitRechner verworfen wird bzw. werden kann?
Soll dabei etwa eine "Bedienerführung" heraus kommen, die den Bediener überwacht und daran hindert, z.B. zu grosse oder zu kleine Werte einzugeben?
 
Ne ne,
Der Hintergrund ist folgender:
Die Maschine in eine Teilanlage einer Produktionslinie, diese Teilanlagen sollen jetzt über eben diesen Leit-PC verbunden werden, dieser wird auch vom gleichen Bediener, bedient...
soll dann dazu dienen das z.B. die Antriebe aller Teilanalage gleichzeitig beschleunigt werden können.
Aber der Bediener macht dann im nachhinein noch einzelne Einstellungen ander Teilanlage...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Anlage hat ein HMI auf dem, wie üblich, Werte in einen DB geschrieben werden, die geschieht via Polling im Sekundentakt.
Zyklisches Schreiben ist eigentlich nicht üblich. Wieso schreibt das HMI zyklisch auf die DB-Variable? Wenn das HMI nur bei Eingaben oder Wertänderungen (von was?) schreiben würde, dann würden sich das HMI und der Leit-PC nicht so ins Gehege kommen, sie könnten gleichberechtigt den Wert ändern.

Harald
 
Hmmm. Überschneiden sich wirklich die Bereiche, die vom LeitRechner und vom Bediener beeinflusst werden?
Oder meinst Du, der Bediener weiss zu jeder Zeit, was der LeitRechner tut bzw. tun müsste, so dass nicht beide gegeneinander kämpfen werden?

So richtig habe ich noch nicht verstanden, wo's lang gehen soll und versuch's mal hiermit als DiskussionsGrundlage:

Code:
[FONT=courier new]' LPC: Wert vom Leit-PC
' HMI: Wert von HMI-BedienOberfläche
' gemeinsam: zu änderndes Datum
[/FONT]
[FONT=courier new]If HMI = gemeinsam And LPC = gemeinsam Then
'   keine Aktion
ElseIf HMI = gemeinsam [COLOR=#222222][FONT=courier new]OR LPC = HMI [/FONT][/COLOR]Then
    gemeinsam = LPC
ElseIf LPC = gemeinsam Then
    gemeinsam = HMI
ElseIf PrioritätLPC > PrioritätHMI Then
    gemeinsam = LPC
'   ÄnderungsVersuch durch HMI wird verworfen
ElseIf PrioritätLPC < PrioritätHMI Then
    gemeinsam = HMI
'   ÄnderungsVersuch durch LPC wird verworfen
Else
'   Konflikt! Was tun?
    End If
[/FONT]
 
Zuletzt bearbeitet:
Zurück
Oben