TIA PEW mit flexibler Adresse

Zuviel Werbung?
-> Hier kostenlos registrieren
Hat einiges für sich. es werden die Namen der eingänge, die aus einem DB kommen automatisch in die HMI geladen. Wir müssen nur noch aufkopieren bei neuen Anlagen. So können mittels Indexer- Verfahrens auch 1000e E/As auch auf kleinen Panels (bis 7" hinab) dargestellt werden. Forcen ist auch nur mit derfiniertem Benutzerlevel möglich
Und noch was: für den IO- Check bei der IBN habe ich noch keinen komfortableren Weg gefunden: mit einem Standard- Tablet mit Smart- Client durch die Anlage spaziert und INIs eingestellt oder Aktoren tippen usw.
 
kannst du das etwas näher beschreiben? Aus Deinem Post geht das nicht hervor. Der Zugriff auf das PAE ist kein Peripheriezugriff.
Es ging doch darum, wie ich in einem geschlossenen FB auf Eingänge oder Ausgänge lesen/schreiben kann- oder?

Das machen wir eben mit Peek/Poke. Am Bausteineingang geben wir die Startadresse des zu lesenden/schreibenden Wortes an. Und am Bausteinausgang sind dann die einzelnen Bits zur Verarbeitung im Programm.

Oder meinst du was andres?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und noch was: für den IO- Check bei der IBN habe ich noch keinen komfortableren Weg gefunden: mit einem Standard- Tablet mit Smart- Client durch die Anlage spaziert und INIs eingestellt oder Aktoren tippen usw.
Äh, beim IO-Check nur die Eingänge zu forcen ist ja wohl nicht Sinn der Sache?!
Da MUSS der Sensor betätigt werden und AN DER STEUERUNG geprüft werden, ob der Eingang schaltet.
 
Es ging doch darum, wie ich in einem geschlossenen FB auf Eingänge oder Ausgänge lesen/schreiben kann- oder?
Nicht direkt. Es geht um den PERIPHERIE-Zugriff im abgeschlossenen FB.

Das machen wir eben mit Peek/Poke. Am Bausteineingang geben wir die Startadresse des zu lesenden/schreibenden Wortes an. Und am Bausteinausgang sind dann die einzelnen Bits zur Verarbeitung im Programm.
PEEK/POKE habe ich noch nicht verwendet.

Oder meinst du was andres?
s.o.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Äh, beim IO-Check nur die Eingänge zu forcen ist ja wohl nicht Sinn der Sache?!
Da MUSS der Sensor betätigt werden und AN DER STEUERUNG geprüft werden, ob der Eingang schaltet.
Beim IO- Check sehe ich auf meinem Faceplate, ob der Eingang richtig in der Steuerung ankommt. Und für Testzwecke kann ich den Eingang auch Forcen, dass er im Programm ankommt, obwohl er real nicht in der SPS ankommt. Zum Beispiel bei einem FAT der Schaltschränke, wo es die Hardware noch nicht gibt und ich aber im Programm schon meinen Ablauf oder Fehlermeldungen usw. testen will.
Ebenso für Ausgänge: Beim IO- Check kann ich so einen Aktor ansteuern, obwohl das SPS- Programm den Ausgang (noch) nicht schaltet.
 
Beim IO- Check sehe ich auf meinem Faceplate, ob der Eingang richtig in der Steuerung ankommt. Und für Testzwecke kann ich den Eingang auch Forcen, dass er im Programm ankommt, obwohl er real nicht in der SPS ankommt. Zum Beispiel bei einem FAT der Schaltschränke, wo es die Hardware noch nicht gibt und ich aber im Programm schon meinen Ablauf oder Fehlermeldungen usw. testen will.
Ebenso für Ausgänge: Beim IO- Check kann ich so einen Aktor ansteuern, obwohl das SPS- Programm den Ausgang (noch) nicht schaltet.

Hier ein Beispiel:
Links ein Faceplate für die Eingänge, Rechts eines für die Ausgänge.

Ganz links und ganz rechts sieht man den Zustand der Peripherie (mit den Adressen);
in der Mitte bei den Klartexten sieht man, was im Programm ankommt (ohne Forcen aktiv natürlich der selbe Zustand wie an der Peripherie)
Mit dem F- Button kann ich das Forcen aktivieren und dann mit S/R den Wert manipulieren; (Dabei wird natürlich im Meldesystem eine Meldung generiert, das Forcen aktiviert ist, damit man es nicht vergessen kann)

1709818759637.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aha. Das wusste ich noch nicht, dass man mit PEEK auf den Peripherieeingang zugreifen kann (nur 1500).
Wir verwenden auch nur die 1500. Standard 1510SP bis 1514SP. Oder bei größeren Sachen die 1515SP Open- Controller. Damit reduzieren wir den Wildwuchs und die Lagerkosten.
(Ausnahmen bestätigen natürlich die Regel: auch 1200, aber ganz selten)
 
Kann man mit PEEK auch auf F-Eingangsbereiche zugreifen?
Hab ich noch nicht versucht, da A) kein Bedarf und B) würd ich micht nicht trauen, da eben F. 😪

Denke aber, es ist schon möglich, da ja direkt auf eine Adresse zugegriffen wird. Außer natürlich, das F- System blockt das ab oder F- wird im Hintergrund nicht als Standard- Adressbereich behandelt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier ein Beispiel:
Links ein Faceplate für die Eingänge, Rechts eines für die Ausgänge.

Ganz links und ganz rechts sieht man den Zustand der Peripherie (mit den Adressen);
in der Mitte bei den Klartexten sieht man, was im Programm ankommt (ohne Forcen aktiv natürlich der selbe Zustand wie an der Peripherie)
Mit dem F- Button kann ich das Forcen aktivieren und dann mit S/R den Wert manipulieren; (Dabei wird natürlich im Meldesystem eine Meldung generiert, das Forcen aktiviert ist, damit man es nicht vergessen kann)
Sehr schöne Idee mit dem Faceplate.
Lest ihr die Symbolik dynamisch (z.B. mit GetSymbolPath) oder generiert ihr fixe Strukturen mit Strings für jedes I/O-Bit?

Im Classic hatten wir ne Zeitlang nur mit gerouten Strukturen inkl. Negation, Überbrückung, Pos/Neg Flanke usw. gearbeitet.
Für die 1500er machen wir sowas nur noch Funktionsbezogen und haben für fast alles UDTs auf E/A-Ebene.
Manches vermisst man mal, anderes nicht.
 
Sehr schöne Idee mit dem Faceplate.
Lest ihr die Symbolik dynamisch (z.B. mit GetSymbolPath) oder generiert ihr fixe Strukturen mit Strings für jedes I/O-Bit?

Im Classic hatten wir ne Zeitlang nur mit gerouten Strukturen inkl. Negation, Überbrückung, Pos/Neg Flanke usw. gearbeitet.
Für die 1500er machen wir sowas nur noch Funktionsbezogen und haben für fast alles UDTs auf E/A-Ebene.
Manches vermisst man mal, anderes nicht.
Wir holen uns den text von den baustein aus- und eingängen. Das sind wiederum variablen aus globalen DBS, die im programm anstelle der „realen“ IOs verwendet werden.
Das machen wir nicht zyklisch (da hohe cpu- auslastung), sondern nur, wenn das faceplate tatsächlich angezeigt wire und auch dann nur einmalig.
Die namen in den globalen DBs kopieren wir aus dem eplan- export ins tia.
 
Hallo Stups,

habt ihr jetzt Peripherieadressen und Forcen neu erfunden oder wie muss ich das verstehen? Ihr rangiert doch eure E/As nur sinnlos und verwirrend über Datenbausteine und manipuliert diese über eure "schönen Faceplates"? Oder liege ich falsch?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Stups,

habt ihr jetzt Peripherieadressen und Forcen neu erfunden oder wie muss ich das verstehen? Ihr rangiert doch eure E/As nur sinnlos und verwirrend über Datenbausteine und manipuliert diese über eure "schönen Faceplates"? Oder liege ich falsch?
Nein
Nein
Ja
 

Hallo Stups,

habt ihr jetzt Peripherieadressen und Forcen neu erfunden oder wie muss ich das verstehen? Ihr rangiert doch eure E/As nur sinnlos und verwirrend über Datenbausteine und manipuliert diese über eure "schönen Faceplates"? Oder liege ich falsch?
Wenn du mir eine bessere möglichkeit aufzeigen kannst, bin ich gerne bereit, darüber zu diskutieren.
Wenn nicht, bitte ich dich, diesen herablassenden ton bleiben zu lassen.
 
Zurück
Oben