TIA Datensatz in SPS speichern

Invisible

Level-2
Beiträge
96
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

habe viele Beiträge im Forum durchstöbert, aber leider noch keinen mir helfenden Beitrag zu dem Thema entdecken können.
Befinde mich derzeit in der Anfangsphase eines Projektes und mir stellt sich folgende Frage.

Ich habe eine Excel Liste bzw. eine csv-Datei mit verschiedenen Artikeln:

ArtikelnummerMechanikElektromodulKraftLängeTyp
1145881650198010,00 N10,00 mXL
11486240609898050,00 N5,00 mL
515694580810680,00 N8,00 mS
941615132498041,00 N6,00 mM
199951159070960,00 N7,00 mXL
9995469804897020,00 N2,00 mS

Mein Ziel ist es, die verschiedenen Werte wie Kraft Länge und Typ durch Eingabe der Artikelnummer aus dem Datensatz auslesen zu können.
Mein bisheriger Ansatz war es, über das vb -Script in Tia-Portal (V17) die Daten aus der csv datei herauszulesen.

Problem dabei ist, das ich immer eine bestehende Verbindung zu einem Pc benötige, später soll die SPS und die HMI ohne Computer Verbindung in einem Prüfaufbau stehen, somit muss der Datensatz in der SPS gespeichert und über die HMI ausgewählt werden.

genutzt werden soll eine S7-1500 und eine HMI TP700 Comfort

Wie kann ich den Datensatz in der SPS speichern und über die HMI aufrufen?


Hoffe ich hab mich richtig ausgedrückt, Danke vorab!
 
Es gibt 2 Ansätze:

1. Rezeptverwaltung des HMI nutzen.
Das Rezept landet im HMI (Kann dort auch als CSV exporteiret und importiert werden.
Man wählt am HMI einen Datensatz des Rezeptes aus und aktiviert diesen. Dabei landen die Daten in den Daten des mit dem Rezept verbudenen DB (immer nur der ausgewählte Datensatz!)

2. In der SPS geibt es die Bausteine rezipeimport und rezipeexport. /oder name so ähnlich) Damit kann kann man Datensätze. Man kann Struktur und Daten z.Bsp. in 2 DB an- und ablegen. Mit reziprexport kann man die Daten inkl. Struktur in eine CSV exportiere, diese liegt dann auf der SD-Karte des SPS. Import entsprechend anders herum. DWelche Daten man anwählt, darum muß man sich hier selbst kümmern.

Zu beiden Varianten würde ich erstmal in der TIA-Hilfe und im Handbuch des TIA-Portal suchen.
Zu Rezepturen im HMI gibt es auch hier im Forum viel Input.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle, zunächst vielen Dank für deine Antwort.

Ich bin mittlerweile soweit, das ich meine Daten aus der csv. in das Rezept von Tia bekommen habe.
Die Funktionen sind auch alle gegeben.

Nur fehlt mir gerade noch die Möglichkeit, nach dem richtigen Datensatz suchen zu können.
Tia-Portal legt ja automatisch für jeden Datensatz eine eigene Nummer an. Um den richtigen Datensatz auswählen zu können, kann ich in der HMI unter Datensatzname entweder so lange den richtigen suchen, oder unter Nr.: nach der Datensatznummer suchen.

Für meine Projekt, wäre es allerdings notwendig nach der Artikelnummer suchen zu können um den richtigen Datensatz zu laden. Besteht da die Möglichkeit die Variable zu ändern?

Oder besteht die Möglichkeit den Datentyp der Nummer auf DINT zu vergrößern, dann könnte ich meine Artikelnummer auch als Variablen Nummer hinterlegen.

Vielen Dank vorab.
 
TIA legt ja für jeden Datensatz Name, Anzeigename und Nummer an.
Der Anzeigename wird in der Rezepturanzeige angezeigt, in einer Drop-Down-Liste.
Man kann:
A: die Liste aufklappen, den Artikel auswählen
B: gleich in diese Zeile den Namen eingeben, solange es diesen gibt, wird immer der erste gefundene komplett angezeigt
C: die Liste aufklappen, dann mit der Tastatur in diese Zeile anfangen den Namen einzugeben, der erste gefundene wird in der Liste gekennzeichnet, man kann dan diesen oder auch den nächsten auswählen.

Ich hab das jetzt nur in einer Runtime getestet, beim Panel sollte es aber auch so laufen. Man kann diesen Namen im Eingabefeld auch ändern, indem man nach der Auswahl einen anderen Namen eingibt und den Datensatz speichert.

PS: Anzeigename = deine Artikelnummer
 
Hi Ralle,

erstmal Danke für deinen Aufwand!
die Sachen funktionieren auch soweit alle, da meine Datensatznamen aber z.B. "AKDF63-A123HD82hK" heißen und ich mehr als 200 Einträge habe, wäre es für mich die schönste Lösung wenn ich einfach durch die Artikelnummer den richtigen Datensatz auswählen kann...
Also so wie es in der Rezepturanzeige mit der Nummer schon funktioniert, nur will ich die Funktion nicht mit der Tia-Datensatznummer sondern mit meiner Artikelnummer...

Gibt es da eine Lösung, ohne ein eigenes Rezept-Bild erstellen zu müssen?
 
Meine Artikelnummer hat 7 Zahlen, die Nummer akzeptiert maximal 5, darum die Frage vorhin ob es irgendwie möglich ist den Datentyp der Nummer zu ändern😃 manchmal fällt mir eine richtige Formulierung etwas schwerer....
 
Gibt es die Möglichkeit den Baustein von dem "Rezeptur-Fenster" auf zu machen, das ich sehen kann welche Funktionen hinter der Nr. Auswahl steht?
 
Guten Morgen, nein tatsächlich nicht ich weiß gar nicht wie ich das in einem Datenbaustein realisieren soll, kann ich da auch eine Artikelnummer anlegen und unter dieser Artikelnummer andere Attribute speichern?
bisher sind es ca. 200 Datensätze.

@Ralle

Mein Gedanke war es, einfach ein EA Feld in der HMI zu konfigurieren das dieselben Ereignisse/Funktionen hat wie das Nr.: Feld der Rezeptur (siehe Foto) mir geht es ja nur darum das der Datentyp der Nr.: für meine Artikelnummer zu klein ist.
 

Anhänge

  • Standardrezeptur.png
    Standardrezeptur.png
    28,3 KB · Aufrufe: 27
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du für das Feld Data Record Name eine Variable hinterlegst und dort deine Artikelnummer als Name einträgst, dann kannst du ganz einfach in diese Variabledie gewünschte ArtikelNummer eintragen und somit das richtige Rezept öffnen bzw. aktivieren / zur SPS übertragen.
 
Danke für die Antwort, dann habe ich aber leider nur noch die Artikelnummer und den Name dazu nichtmehr wenn ich das richtig verstanden hab?
 
Wie Ralle ja auch schon geschrieben hat, der Anzeigename = deine ArtikelNummer zum auswählen, alles andere kann dann ja im Rezept stehen. Du wolltest doch nur nach der Artikelnummer suchen, von welchem Namen sprichst du denn jetzt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde die Artikelnummer in das Feld DataRecordName eintragen, von mit aus gemeinsam mit einem sprechenden Namen.
"08154411_LemonGreen" z.B. Dann kann man danach suchen, den Namen auch ändern etc.
Bei allen anderen Varianten, wo z.Bsp. die Nummer im Rezept als Eintrag enthalten ist, muß man nacheinander alle Rezepte durchsuchen, bis man den richtigen Artikelnummer findet. Oder man führt die Artikelnummern in einem Datenbaustein, der auch die Rezeptnummern enthält und sucht darüber. Das aber konsistent zu halten, erfordert sicherlich einigen Aufwand.
 
Wenn ich die Artikelnummer als Datensatzname verwende oder in Kombination mit der Artikelbezeichnung, dann öffnet sich ja ein DropDown-Menü, um da eben nicht alle 200 Einträge durchscrollen zu müssen bis ich meinen Datensatz habe, wäre es für mich besser die Artikelnummer separat zu haben.

Drück ich auf das Nummernfenster, neben dem Datensatzname, kann ich die Nummer vom Datensatz XY eingeben und bestätige, anschließend wird der gesuchte Datensatz unter Datensatzname angezeigt. Das E/A-Feld Nr.: hat genau die Funktion die ich gerne hätte, nur eben nicht mit der Standard Datensatznummer sondern mit meiner Artikelnummer. Leider kann ich meine Artikelnummer nicht als Datensatznummer verwenden, da meine Artikelnummern zu groß sind. Tia akzeptiert für die Nummer maximal "65535"
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    11,1 KB · Aufrufe: 15
Wenn du bei dem DatensatzName eine Variable hinterlegst und diese als E/A Feld auf die Seite deiner Rezptur anzeigst, dann kannst du da deine Nummer eingeben und in der Rezeptur wird der richtige Datensatz angezeigt.
Wenn dein DatensatzName nach dem Muster "08154411_LemonGreen" aufgebaut ist, wer soll sich da eigentlich 200 verschiedene Datensätze merken können? Da muss derjenige doch auch in einer Liste nach der genauen Bezeichnung suchen und die dann in das Feld eintragen. Das führt doch erst Recht zu jeder Menge Eingabefehlern. Da ist die Nummer 1-200 oder nur die Artikelnummer sicherlich wesentlich einfacher.
Alternativ könntest du auch mehrere Rezepturen anlegen, je nachdem wie eure Artikelnummer aussehen und dann Bereich zusammenfassen. Wenn die Nummern natürlich völlig durcheinandern sind, wird das schwierig.
 
Erstmal Danke für eure Hilfe. 😃

@Ralle Das wäre eine schöne Lösung, funktioniert bei mir aber leider nur bedingt. Mein HMI hat einen Benutzermodus und einen Adminmodus, im Benutzermodus soll es nur möglich sein den gewählten Datensatz in die PLC laden zu können, wenn ich den Bearbeitungsmodus aktiviere kann ich zwar wie gewünscht die Nummer auch bei dem Datensatzname eingeben, aber leider auch Änderungen am Datensatz durchführen bzw. neue erstellen.


@schwimmer ich hab das mal versucht, klappt bei mir aber leider nicht... Er greift dann zwar über das EA-Feld auf die Nummer zu, aber da begrenzt er mich dann wieder in der Feldlänge mit 5 zahlen...
 

Anhänge

  • HMI.PNG
    HMI.PNG
    15,5 KB · Aufrufe: 8
  • EA-Feld.PNG
    EA-Feld.PNG
    20,9 KB · Aufrufe: 8
  • Rezepturdatensatz.PNG
    Rezepturdatensatz.PNG
    5,8 KB · Aufrufe: 8
  • Testprojekt.zip
    Testprojekt.zip
    841,7 KB · Aufrufe: 3
Die Variable habe ich so angelegt:
1666175739311.png
Hab es eben nochmals probiert, so klappt es bei mir.
Du kannst auch neben dem Eingabefeld noch einen Touchkey machen und an den die Funktion SchreibeDatensatzInSteuerung hängen.
1666176262734.png
Dann wird dir der Datensatz von der eingetragenen Artikelnummer an die CPU geschickt.
 
Zuletzt bearbeitet:
Zurück
Oben