Signalstatus von einer S7 in einem OP anzeigen lassen

Erich04

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich bin auf der Suche nach einem Lösungsansatz.
Unsere Maschinen werden im Regelfall mit einer S7 300 in verschiedenen Ausführungen und einem OP / TP , im Regelfall ein OP 177, ausgerüstet.
Ich würde gerne ein Bild entwerfen wo man entweder Bit, Byte oder Wortweise den Zustand der Ein oder Ausgänge sich anzeigen lassen kann.
Man könnte natürlich alle Möglichkeiten separat programmieren, ich möchte aber ein Auswahlfenster haben indem man zwischen Bit Byte und Wort wählen kann und ein Eingabefenster wo man den Bereich, der angezeigt werden soll,
vorwählt. Ich denke ich müsste indirekt auf die Ein oder Ausgänge zugreifen,habe aber im Moment keinen Ansatz.
Vielleicht ist hier Im Forum jemand der mir einen Ansatz bieten kann.
:) :-D
Vielen Dank im voraus
Gruß Erich
 
Wie wäre es...

... wenn du vom Panel einen Wert an die CPU übergibst und diese dann indirekt einen Breich in eine vorbelegte Variable schreibt.

So hättest du die indirekte Anwahl am Panel vermieden (keine Ahnung ob das geht).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für binäre EA ist das Zauberwort Multiplexvariable

Zwei interne Varibalen in die VISU:

AnwahlEingangsbyte
AnwahlAusgangsbyte

Und ein paar Multiplexvariablen:

E X.0 = E[AnwahlEingangsbyte].0
E X.1 = E[AnwahlEingangsbyte].1
E X.2 = E[AnwahlEingangsbyte].2
E X.3 = E[AnwahlEingangsbyte].3
E X.4 = E[AnwahlEingangsbyte].4
E X.5 = E[AnwahlEingangsbyte].5
E X.6 = E[AnwahlEingangsbyte].6
E X.7 = E[AnwahlEingangsbyte].7


A X.0 = A[AnwahlAusgangsbyte].0
A X.1 = A[AnwahlAusgangsbyte].1
A X.2 = A[AnwahlAusgangsbyte].2
A X.3 = A[AnwahlAusgangsbyte].3
A X.4 = A[AnwahlAusgangsbyte].4
A X.5 = A[AnwahlAusgangsbyte].5
A X.6 = A[AnwahlAusgangsbyte].6
A X.7 = A[AnwahlAusgangsbyte].7



Gruß

Frank
 
Erst einmal danke, ich verstehe aber im Moment nicht wie Du das meinst.
Ich dachte ich gebe zu Beispiel im OP folgendes ein:
EB 10, und bekommen dann eben den Status angezeigt.
Das heißt im SPS Programm muss ein Variable sein, die mit den verschiedenen EB beschrieben wird.
 
@Erich
Ich hatte mich auch mal daran versucht, es dann aber nicht weiter verfolgt.
Erstmal solltest Du Dir den Aufbau des Pointerformats anschauen.
Über ein symbolisches EA-Feld mit hinterlegter Textliste und Byte-Variable kannst Du den Speicherbereich definieren (E, A, M, evtl. DB). In einem EA-Feld mit Integer-Variable hinterlegst Du die Adresse (Byteweise sollte ausreichen um einzelne Bits erkennbar zu machen). Aus diesen beiden kannst Du Dir dann in der SPS einen Pointer bauen.
Evtl. kannst Du noch eine Schaltfläche machen, ob Byte, Wort oder Doppelwort angezeigt werden soll, liest dann die entsprechend Länge über den Pointer ein und gibst sie auf eine feste Variable zurück, die Du dann im OP anzeigst.
 
Über ein symbolisches EA-Feld mit hinterlegter Textliste und Byte-Variable kannst Du den Speicherbereich definieren (E, A, M, evtl. DB). In einem EA-Feld mit Integer-Variable hinterlegst Du die Adresse (Byteweise sollte ausreichen um einzelne Bits erkennbar zu machen). Aus diesen beiden kannst Du Dir dann in der SPS einen Pointer bauen.

in einem Uraltprojekt hatte ich sowass auch schon mal, aber dass Programm muß ich erst einmal raussuchen.

Frank
 
Zurück
Oben