TIA Scoreboard in HMI einfügen.

Zuviel Werbung?
-> Hier kostenlos registrieren
Ich schaffe es aber nicht die Variablen tmp_Score & t_Score in den PLC-Datentyp einzufügen und F1 & das Internet geben auch keine guten Hinweise.
Ist meine Anleitung in #12 wirklich so schlecht? Ist das Anlegen des Datentyps t_Score wirklich so schwer?
OK, jetzt noch ein Bild von dem Datentyp. Nun gibt es von beinahe jedem Handgriff ein Bild... lies nochmal den Beitrag #12. Die Ergebnisliste in Deinem DB "DB_Scoreboard" hast Du anscheinend hingekriegt? Oder brauchst Du das auch noch als Bild?
Im DB_Score ändern oder erstellen wir nun die Ergebnisliste als Array of "t_Score", einen Eintrag länger als im HMI angezeigt werden soll:
Code:
DB_Score

Static
  Ergebnisliste : Array[0..5] of "t_Score"      [v] Remanenz
 

Anhänge

  • t_Score_anlegen.png
    t_Score_anlegen.png
    55,6 KB · Aufrufe: 13
Ja das hat funktioniert es anzulegen DANKE und den DB hab ich auch geschafft.

Dennoch wird mir der tmp_Score als Fehler angezeigt.
 
Bei tmp_Score steht "Der Operant "tmp_Score" ist nicht definiert".
Funktioniert auch nicht mit #tmp_Score.
Gleiches Problem bei #i
Du musst bei allen "i" und "n" und "tmp_Score" und "swapped" die Anführungsstriche entfernen und ein # davor schreiben, genauso wie ich den Code in #12 geschrieben habe. Da sind keine Schreibfehler von mir, die Du einfach ändern kannst, sondern das muß genau so geschrieben werden. Variablen mit # vor dem Name sind lokale Variablen aus dem Codebaustein. Variablen mit "" sind globale PLC-Variablen (oder Variablen mit Sonderzeichen im Name). Vermutlich hast Du die ganzen Variablen fälschlicherweise unter "PLC-Variablen" als globale Variablen angelegt, da musst Du die wieder löschen - eventuell korrigiert das TIA dann die Anführungsstriche im Code automatisch zu #.
"i" --> #i
"n" --> #n
"tmp_Score" --> #tmp_Score
"swapped" --> #swapped

PS: warum ist in dem Code das erste mal "Menschzeit" mit Anführungsstrichen geschrieben und die nächsten Male ohne " ? Das ist auch was verkehrt.

Harald
 

Anhänge

  • Korrektur.png
    Korrektur.png
    106,6 KB · Aufrufe: 12
Zuletzt bearbeitet:
Ich hab jetzt im Quell-Datentyp 2x String

Jedoch ist sagt TIA, dass die Werte #i, #n & #swapped nicht definierte Werte sind.

Muss ich in SCL einen Befehl schreiben, dass er die Daten von dort nehmen muss

Und wie krieg ich jetzt im FC_Score den Fehler weg?
 

Anhänge

  • 1682061156169.png
    1682061156169.png
    62,4 KB · Aufrufe: 15
  • 1682061133620.png
    1682061133620.png
    40,8 KB · Aufrufe: 15
  • 1682061047527.png
    1682061047527.png
    117,2 KB · Aufrufe: 15
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du die Struktur der Datensätze in der Ergebnisliste ändern willst, dann musst Du die Änderung im Datentyp t_Score machen und den Datentyp übersetzen. Und danach das gesamte Programm übersetzen. Wenn die Fehlermeldungen kommen, weil der Datentyp geändert wurde, dann sollten sie dann weg sein. Wenn die Fehlermeldungen nicht weggehen, dann hast Du was anderes falsch gemacht.

Mach doch erstmal ein Projekt GENAU so wie ich in #12 geschrieben habe. Und wenn das dann fehlerfrei übersetzt wurde, dann kannst Du anfangen, eigene Änderungen daran vorzunehmen.

Wenn Du nun zum Datensatz noch eine "Roboterzeit" zufügst, nach welcher Zeit sollen die Datensätze dann sortiert werden?

Harald
 
Wenn Du die Struktur der Datensätze in der Ergebnisliste ändern willst, dann musst Du die Änderung im Datentyp t_Score machen und den Datentyp übersetzen. Und danach das gesamte Programm übersetzen. Wenn die Fehlermeldungen kommen, weil der Datentyp geändert wurde, dann sollten sie dann weg sein. Wenn die Fehlermeldungen nicht weggehen, dann hast Du was anderes falsch gemacht.

Mach doch erstmal ein Projekt GENAU so wie ich in #12 geschrieben habe. Und wenn das dann fehlerfrei übersetzt wurde, dann kannst Du anfangen, eigene Änderungen daran vorzunehmen.

Wenn Du nun zum Datensatz noch eine "Roboterzeit" zufügst, nach welcher Zeit sollen die Datensätze dann sortiert werden?

Harald
Das mit dem Datensatz hat funktioniert, Dankeschön!

Es soll nach Menschzeit sortiert sein.

Dennoch erkennt er die # nicht, siehe Screenshot.
Ich habe dein Programm kopiert, eingefügt und die Variablen angepasst (DB.Scoreboard, .Menschzeit)
 

Anhänge

  • 1682064734623.png
    1682064734623.png
    156,5 KB · Aufrufe: 14
entweder in der Bausteinschnittstelle oder rechte Maustaste auf die unterringelte Variable und dann auf "Variable definieren" klicken.
 

Anhänge

  • Bausteinschnittstelle.png
    Bausteinschnittstelle.png
    154,5 KB · Aufrufe: 9
Zuviel Werbung?
-> Hier kostenlos registrieren
gut, ich habe nur V16. In den Youtube-Videos von TIA V17 kann ich da keinen/kaum einen Unterschied erkennen. Hast du die Bausteinschnittstelle auch aufgeklappt?
Ansonsten musst du halt mal einen Screenshot von deinen Baustein machen.
 

Anhänge

  • Bausteinschnittstelle1.png
    Bausteinschnittstelle1.png
    167,2 KB · Aufrufe: 4
Ich hab die ganze Zeit im FC_Score gesucht, da werd ich Ihn nicht finden😅
Im SCL Programm hab ichs jetzt eingefügt

gut, ich habe nur V16. In den Youtube-Videos von TIA V17 kann ich da keinen/kaum einen Unterschied erkennen. Hast du die Bausteinschnittstelle auch aufgeklappt?
Ansonsten musst du halt mal einen Screenshot von deinen Baustein machen.

i & n funktionieren, aber tmp_Score & swapped nicht

Hab den Datentyp von tmp_Score von String auf t_Score geändert, weil das der korrekte Datentyp ist.
Geht immer noch nicht
 

Anhänge

  • 1682077013094.png
    1682077013094.png
    100,5 KB · Aufrufe: 7
Zuletzt bearbeitet:
Moin MaxH,

in deinem DB ist die Ergebnisliste ja ein struct. Du musst noch den namen hinzufügen:

Code:
"DB_Scoreboard".Ergebnisliste[#i].name

Des Weiteren ist name in Deinem DB ein string[10] (enthält 10+2 byte); tmp_Score in der temporären Variablendeklaration der FC aber ein string (enthält 254+2 byte). Das kannst Du nicht zuweisen. Die Datentypen müssen gleich sein.

Und #swapped := true geht nicht, weil es keine deklarierte Variable swapped, sondern nur #swapped gibt. Man könnte auch #"#swapped' im Code schreiben, aber das wollen wir mal lieber lassen ;)
 
Zurück
Oben