TIA FUP : zeichenkette erstellen und in einem E/A Feld auf dem TP1500 anzeigen lassen ?

whsbremen

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
Ich habe ein Problem mit der Visualisierung von Merkern.


Ich habe ein Programm geschrieben dass 35-Polige Stecker durchprüft und folgendes anzeigt:


-ist die Ader die aus dem anderen Ende des Kabels kommt korrekt verschaltet ?
-Liegt ein leiterschluss/Kurzschluss vor ?
- ist die Ader mit einer anderen Vertauscht/Verdreht wurden ?


Habe das Programm über den Beobachtungsmodus getestet und es funktionierte .
Sprich wenn ein Fehler in der Verschaltung vorliegt bleibt das Programm an einer Stelle des Programms stehen :
Das heisst ein Merker wird 1 gesetzt der dann zb den Namen trägt:"Ader 3 & 5 sind vertauscht".
Er erkennt so jeden Fehler nun kommt jedoch mein Problem:
Ich habe für jede Ader ein E/A Feld auf meinem TP1500 comfort Panel erstellt.
Dieses Feld soll beschrieben werden mit einem der 20 möglichen Fehler pro Ader (zb. 3&6 vertauscht,3&7 gebrückt ,3&20 vertauscht).
Also pro Ader 10-20 mögliche Merker ( dabei kann immer nur einer [1] werden).Der der 1 wird soll seinen Namen in das E/A Feld schreiben.


Muss dazu sagen ich programmiere Tia portal V15 und habe mein Programm in FUP geschrieben(Firmenvorgabe).


Hat irgendjemand eine idee wie ich das anstellen kann? finde im Internet leider meist nur AWL und SCL Hilfen .


Ralle: Beitrag verschoben in Unterforum TIA
 
Zuletzt bearbeitet von einem Moderator:
Es gibt mehrere Verfahren, abe dies ist der meist 'normale':
In WinCC erstellst du eine Textliste der über ein Zahlenwert gesteuert wird.
Z.B:
0: Test nicht durchgeführt.
1: Test durchgeführt. Keine Fehler gefunden.
2: Test durchgeführt. Fehler - Ader 3 & 5 sind vertäuscht.
usw.
Dann erstellst du ein Symbolische Ausgabefeld, und verlinkt dies mit der Textliste und den Variabel der steuert welchen Text angezeigt werden muss.
Über die Variabel steuert der SPS die Text.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Viel dank schonmal Jesper :)
habe jetzt eine Liste erstellt für die erste Ader.
Es gibt 20 mögliche Zustände( 20 merker nur 1 kann kommen)
Wie stellst du dir denn das Hochzählen der Variablen vor ?
sollte jeder merker eine Variable haben?

mfg
 
Da, wo Du die einzelnen Merker zuweist, einfach jeweils noch ein MOVE hinten dran: x -> VariableFürTextliste
 
Es gibt auch eine Variante wo die Textliste über einen Bitmuster gesteuert wird.
Mir ist aber einfacher mit ein Zahlenwert. Ist eine Geschmacksache.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du müsstest auch überlegen, ob Du eine Textliste mit 35 * 20 = 700 Einträgen machen willst oder eine universelle für jede Ader passende Textliste mit vielleicht 50 Einträgen plus die Adernummer als zusätzliche Variable.

Harald
 
Sprich wenn ein Fehler in der Verschaltung vorliegt bleibt das Programm an einer Stelle des Programms stehen :
Das heisst ein Merker wird 1 gesetzt der dann zb den Namen trägt:"Ader 3 & 5 sind Vertauscht".
Er erkennt so jeden Fehler nun kommt jedoch mein Problem:
Ich habe für jede Ader ein E/A Feld auf meinem TP1500 comfort Panel erstellt.
Dieses Feld soll beschrieben werden mit einem der 20 möglichen Fehler pro Ader (zb. 3&6 vertauscht,3&7 Gebrückt ,3&20 Vertauscht).
Also pro Ader 10-20 mögliche Merker ( dabei kann immer nur einer [1] werden).Der der 1 wird soll seinen Namen in das E/A Feld schreiben.
Ich verstehe leider nicht, wie Du auf 10..20 mögliche Fehler pro Pin (pro Ader?) kommst. Auch finde ich es mutig, als FehlerFall ein exaktes Vertauschen von 2 Pins einzuplanen. Möge das tatsächliche Chaos nie grösser werden, als die Vertauschung zweier Pins!
Ist das Kabel denn auch 35-polig, wie der Stecker?
Ich unterstelle mal, dass das zu prüfende Kabel an beiden Enden mit Steckern versehen ist.
Um nicht das Prüfkonzept eines Tages umwerfen zu müssen, würde ich von vorn herein einplanen, dass die Stecker an beiden Enden gewollte Brücken zwischen zwei oder mehr Pins enthalten können, die nicht über Adern mit dem anderen Stecker verbunden sind bzw. sein dürfen.

Für jeden SteckerPin gibt es 4 Möglichkeiten, die ich farblich unterscheiden würde, z.B.:

- grün (0): OK
- blau (1): fehlende Verbindung
- rot (2): unzulässige Verbindung
- gelb (3): fehlende und ausserdem unzulässige Verbindung (dies könnte die eine Hälfte einer "Vertauschung" sein)

Als Texte würde ich sinngemäss folgende 7 anpeilen:

- OK

- unzulässige Verbindung(en) zwischen Pin xx von Stecker1 und Pin(s) yy, ... von Stecker1
- unzulässige Verbindung(en) zwischen Pin xx von Stecker1 und Pin(s) yy, ... von Stecker2
- unzulässige Verbindung(en) zwischen Pin xx von Stecker2 und Pin(s) yy, ... von Stecker2

- fehlende Verbindung(en) zwischen Pin xx von Stecker1 und Pin(s) yy, ... von Stecker1
- fehlende Verbindung(en) zwischen Pin xx von Stecker1 und Pin(s) yy, ... von Stecker2
- fehlende Verbindung(en) zwischen Pin xx von Stecker2 und Pin(s) yy, ... von Stecker2

und evtl. noch (der Vollständigkeit halber?)

- unzulässige Verbindung(en) zwischen Pin xx von Stecker2 und Pin(s) yy, ... von Stecker1
- fehlende Verbindung(en) zwischen Pin xx von Stecker2 und Pin(s) yy, ... von Stecker1

die jedoch zu leicht vermeidbaren MehrfachNennungen desselben Fehlers führen würden.

Eigentlich benötigt man dafür nur die zwei Texte bzw. TextVorlagen:

- 'unzulässige Verbindung(en) zwischen Pin xx von Stecker qq und Pin(s) yy von Stecker zz'
- 'fehlende Verbindung(en) zwischen Pin xx von Stecker qq und Pin(s) yy von Stecker zz'
(und den Text 'OK')
in denen die "Stichworte" (Platzhalter) 'xx', 'yy', 'qq' und 'zz' dann individuell ausgetauscht werden - wobei 'yy' eine Liste von mehreren PinNrn sein kann oder nur 1 PinNr.
Die Liste von mehreren PinNrn - stelle ich mir vor - würde vor dem Austauschen mit dem Platzhalter fertig aufbereitet.

Für jeden Pin für jede mögliche Kombination von Fehlern einen eigenen Merker zu reservieren, halte ich für zu aufwändig und letztlich auch zu unübersichtlich.
Wie viele Merker hast Du denn eingeplant?

 
Ich wurde es vereinfachen, so dass pro Ader nur diese Möglichkeiten gibts:
0: 0: Test nicht durchgeführt.
1: Test durchgeführt. Keine Fehler gefunden.
101: Test durchgeführt. Fehler, Kreuzverbunden mit Ader 1.
102: Test durchgeführt. Fehler, Kreuzverbunden mit Ader 2.
103: Test durchgeführt. Fehler, Kreuzverbunden mit Ader 3.
..
120: Test durchgeführt. Fehler, Kreuzverbunden mit Ader 20.

Dann kannst du denselbe Textliste für sämtliche Ader verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde auf die ganze Textsache komplett verzichten:

Es gab früher mal so ganz günstige Tester: Sender am einen Ende schickt wie ein Lauflicht je einen Impuls nach und nach an jede Ader.
Das Auswertegerät am anderen Ende hatte einfach LED die dann der Reihe nach aufleuchten mussten.

Das würde ich einfach genau so auf der Visu darstellen, links 20 "LED" die den Sendeimpuls darstellen und rechts 20 die das Ende darstellen.

Die Auswertung wird dann auch relativ einfach, 20 Schritte, die getaktet durchlaufen, wenn jeweils die Richtige Ader kommt -> Merker Ader x setzen, nach dem letzten Schritt müssen alle Merker gesetzt sein -> Ok

Wenn nicht OK, dann einfach das endlos weiter laufen lassen (ev. mit verminderter Geschwindigkeit) dann kann man an den "LED" ganz leicht erkennen wo der Fehler ist.
 
Zeichenketten lassen sich mit Concat erstellen. Leider nur in SCL
Wobei man natürlich eine SCL Funktion schreiben kann die man 35 mal in FUP aufruft. Damit ist dem Wunsch des Kunden ja Genüge getan. Ich würde aber in jedem Fall die Übertragung von Zeichenketten über die HMI Verbindung vermeiden. Ein UDT mit den 4 Stati in ein Array of UDT von 1..35 in einem DB und schon hat eine saubere Struktur und das lässt sich im E/A Feld mit Textliste wunderbar visualisieren.


Gesendet von iPhone mit Tapatalk
 
Warum mit Texte spielen wenn man es grafisch darstellen kann ?
Ich wurde Winnman's Idée mit die LEDs erweitern.

Einfach ein 20x20 Matrix anzeigen, und mit Farben visualisieren. Wenn OK, dann zeigen die 1-zu-1 Vebindungen OK mit grün. Wenn nicht OK, dann zeigen die falsche Verbindungen n.i.O mit rot.
Etwas in diesen Stil. Hier gibt es ein Querverbindung zwischen Adern 4 und 7:
 

Anhänge

  • test_20x20_wires.png
    test_20x20_wires.png
    8,4 KB · Aufrufe: 15
Zurück
Oben