TIA Protool zu TIA - Bildnummer mit Unterbildern?

Codesys_123

Level-2
Beiträge
37
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und guten Morgen,

ich hätte eine Frage bezüglich der Bildnummer von Bildern mit "Unterbildern" (nenne ich einfach mal so) bei Protool (bzw. wie ich das Ganze dann in TIA abbilde).

Wir nutzen aktuell ein OP7 mit Protool an einer bestehenden Anlage. Dies soll durch ein KP400 und TIA ersetzt werden.

Die Konvertierung hat soweit geklappt. Ich stolpere jedoch aktuell über die Bildnummern. Im Protool-Projekt war es so, dass die Handbedienbilder in Unterfenster aufgeteilt worden sind. (siehe Bild)
protool_fenster_pfeil.jpg
Im TIA Portal bekommen nun diese Unterfenster eine eigene Bildnummer, da es eigene Bilder werden. Dementsprechend vergibt TIA auch einfach neue Bildnummern.

Im Steuerungsprogramm wird aber zwischen "Bildnummer" und einer "RegistrationNR" unterschieden.
Page_Reg_Nr.PNG

Die Datenbereiche liegen voll im Bereichszeigerbereich, jedoch kommen im Simulator nur die Werte der Bildnummer rüber, wenn ich das teste. Die anderen Wörter ändern sich nicht (ehemals 2 Wörter [Protool] werden zu 5 Wörten [WinCC, bzw. TIA]).

Kann mir da vielleicht jemand Hilfestellung geben? Wie würde man das idealerweise lösen?
Und antworten mit "Ja, dann musst die neuen Bildnummern festlegen und damit arbeiten" hätte ich nicht so gerne :) Wenn es denn aber keine andere Möglichkeit gäbe, wäre das auch eine Info die mich weiterbringt.

Danke und schönen Gruß!
 
Kann mir da vielleicht jemand Hilfestellung geben? Wie würde man das idealerweise lösen?

Evtl. wäre es eine Lösung, zwei Variablen zu nutzen:
Bildnummer : INT;
Unterbild : INT;

Und dann bei jedem Bild unter Eigenschaften bei Bildaufruf die Funktion Wert setzen nutzen

Also z.B. im KP400 wird Bild 43 aufgerufen ( was im OP17 Bild 12 Unterbild 7 war )
Setze Wert Variable "Bildnummer" = 12
Setze Wert Variable "Unterbild" = 7
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo DealteMikeAir,

sowas hätte ich mir jetzt auch vorgestellt. Muss dann in den sauren Apfel beißen und mit einer zusätzlichen Variable arbeiten. Schade dass so eine grundlegende Funktion nicht konvertierbar ist...

Grüße
 
Hallo,

evtl. kannst Du ja die Bildnummer im KP400 etwas anpassen.

Code:
z.B.:

OP7                                                  KP400
[COLOR=#333333]Bildnummer    RegistrationNR             [/COLOR][COLOR=#333333]Bildnummer[/COLOR]
17                  1                                171
17                  2                                172
17                  3                                173

18                  1                                181

oder wenn Du mehr als 9 Unterbilder hast (Reg-Nr 10-99) dann:
Code:
OP7                                                  KP400
[COLOR=#333333]Bildnummer    RegistrationNR[/COLOR][COLOR=#333333]Bildnummer[/COLOR]
17                  21                               1721
17                  22                               1722
17                  23                               1723

18                  31                               1831

dann brauchst Du nur die Bildnummer neu berechnen bzw. auseinanderpflücken.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Peter,

vielen Dank erstmal für deine Gedanken.

Ich habe leider ein größeres Problem mit der neuen Nummerierung, wie ich gerade weiter festgestellt habe!
In der Architektur des SPS-Programms wurde die Handbedienung wie folgt implementiert:

Es wird zu Beginn des Handbausteins die Bildnummer abgefragt. Mal angenommen, diese Nummer wäre beispielsweise eine 11. Nun muss, während die Bildnummer 11 bleibt(!!!), die "Unternummer" zwischen 1-99 sein, um per Sprungbefehl zum passenden Bedienteil zu springen. Sobald ich also die Hauptbildnummer ändere und nicht mehr bei 11 bin, sondern z.B. 1101 (für Unterbild 1, Hauptbild 11) haut der ganze Aufbau im Programm nicht mehr hin.

So gesehen muss ich ja jetzt neue eindeutige Nummern vergeben (wie in deinem Beispiel oberhalb) und muss dann im Programm nach tatsächlicher Hauptbildnummer unterscheiden und ggfs. springen. Also die alte Unterbildnummer rausschmeißen und alles nur in Abhängigkeit der Hauptbildnummer bearbeiten.

Himmel...
 
Evtl. wäre es eine Lösung, zwei Variablen zu nutzen:
Bildnummer : INT;
Unterbild : INT;

Und dann bei jedem Bild unter Eigenschaften bei Bildaufruf die Funktion Wert setzen nutzen

Also z.B. im KP400 wird Bild 43 aufgerufen ( was im OP17 Bild 12 Unterbild 7 war )
Setze Wert Variable "Bildnummer" = 12
Setze Wert Variable "Unterbild" = 7

Gibt es dann keinen Konflikt mit dem Teil des Bereichszeigers, in dem die Bildnummer steht? Oder wäre das bei dir auch schon eine neue Variable und du würdest gar nicht mehr auf den Bereichszeiger gucken?
 
Also in meinem Fall damals habe ich den Bereichszeiger Bildnummer deaktiviert und dann per Setze Wert in die 2 Worte reingeschrieben,
wo Protool vorher den Bereichszeiger reingeschrieben hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Codesys_123,

ja, diese Lösung ist einfach, aber Du musst in jeden Bild die Nummern zuweisen.

Wenn Du die Bildnummer von Terminal woanders hinlegst und dann aus dieser Nummer BildNr und RegNr (die alten Variablen, wo das alte Panel rein geschrieben hat) berechnest, bist Du fertig.
 
Zuletzt bearbeitet:
Hallo Peter,

vielen Dank erstmal für deine Gedanken.

Ich habe leider ein größeres Problem mit der neuen Nummerierung, wie ich gerade weiter festgestellt habe!
In der Architektur des SPS-Programms wurde die Handbedienung wie folgt implementiert:

Es wird zu Beginn des Handbausteins die Bildnummer abgefragt. Mal angenommen, diese Nummer wäre beispielsweise eine 11. Nun muss, während die Bildnummer 11 bleibt(!!!), die "Unternummer" zwischen 1-99 sein, um per Sprungbefehl zum passenden Bedienteil zu springen. Sobald ich also die Hauptbildnummer ändere und nicht mehr bei 11 bin, sondern z.B. 1101 (für Unterbild 1, Hauptbild 11) haut der ganze Aufbau im Programm nicht mehr hin.

So gesehen muss ich ja jetzt neue eindeutige Nummern vergeben (wie in deinem Beispiel oberhalb) und muss dann im Programm nach tatsächlicher Hauptbildnummer unterscheiden und ggfs. springen. Also die alte Unterbildnummer rausschmeißen und alles nur in Abhängigkeit der Hauptbildnummer bearbeiten.

Himmel...

Wenn Sie die bildnummeren wie oben brauch ist ist doch einfach die alte Haupbildnummeren und unterbild nur zu berechne.
Code:
L Bildnummer_Neu
L 100
/I
T Haupbildnummer_alt

L Bildnummer_Neu
L 100
Mod
T Unterbildnummer_alt
 
Zurück
Oben