TIA TIA 15.1 + KTP700 Basic : Warum werden Punkte zu Unterstrichen

Kieler

Level-2
Beiträge
763
Reaktionspunkte
86
Zuviel Werbung?
-> Hier kostenlos registrieren
In der S7-1200 habe ich einen DB mit dem Namen "Antriebe". In diesem gibt es eine Variable Pumpe1. In Zukunft kann ich sie in meinem SPS Programm als "Antriebe".Pumpe1 ansprechen. Wenn ich jetzt bei der Projektierung des KTP darauf zugreife, wird das Signal zu Antriebe_Pumpe1 gewandelt. Warum ist das so? Was ist der Sinn dahinter?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist eine Runtime-Einstellung für Variablen des Panels um nur gültige Zeichen zu haben.
Das verstehe ich nicht.
Wieso kann ein Zeichen im SPS Programm gültig sein und in der HMI nicht? Ich denke wir haben die totale Integration? Da ich in meinen Variablennamen auch Unterstriche verwende, war der Punkt für mich immer deutlich übersichtlicher.
Die Stelle von dem Foto habe ich auch gefunden. Ich habe daran auch herum gespielt, dass hat aber nichts gebracht. Er hat die Punkte aber trotz ersetzt. War das früher auch schon so? Ich kann mich nicht erinnern.
 
Das verstehe ich nicht.
Wieso kann ein Zeichen im SPS Programm gültig sein und in der HMI nicht? Ich denke wir haben die totale Integration?
Weil in der PLC der Punkt die Strukturbestandteile voneinander abtrennt.
In der HMI hat der interne Variablenname aber keine Strukturbestandteile mehr, sondern ist ein kompletter Name.

Wenn Du die komplette Struktur eines udts als eine Variable übergibst, behältst Du auch im HMI die Punkte, weil die Struktur auch im HMI erhalten bleibt.
 
Weil in der PLC der Punkt die Strukturbestandteile voneinander abtrennt.
In der HMI hat der interne Variablenname aber keine Strukturbestandteile mehr, sondern ist ein kompletter Name.

Wenn Du die komplette Struktur eines udts als eine Variable übergibst, behältst Du auch im HMI die Punkte, weil die Struktur auch im HMI erhalten bleibt.

Das erklärt es und auch wieder nicht. Du hast vermutlich recht mit dem, was Du schreibst. Aber Sinn ergibt es trotzdem nicht. Auch in meiner HMI möchte ich strukturiert arbeiten und natürlich sollen die Signale im gesamten Projekt denselben Namen haben. Was soll das?
 
Auch in meiner HMI möchte ich strukturiert arbeiten und natürlich sollen die Signale im gesamten Projekt denselben Namen haben.
Wenn Du Deine DBs aus udts erstellst und diese udts im HMI bekannt machst, haben deine Variablen denselben Namen.

Dann scheitert's allerdings wieder daran, dass einige Funktionen des HMI blöderweise nicht mit solchen strukturierten Variablen funktionieren und man diese deshalb noch ein weiteres Mal als Einzelvariable ins HMI ziehen muss.


PS:
Du kannst die Unterstriche aber auch nachträglich in Punkte ändern oder halt schon das automatische Ersetzen in den Runtime-Einstellungen abwählen.
Im Allgemeinen wird es halt als unsaubere Programmierung angesehen, wenn Variablennamen (nicht Strukturen) andere Sonderzeichen als den Unterstrich enthalten. Daher der Standard zum Austausch.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du Deine DBs aus udts erstellst und diese udts im HMI bekannt machst, haben deine Variablen denselben Namen.

Ich habe anscheinend in der letzten Zeit zu viel mit anderen Systemen gearbeitet. Die UDTs habe ich ja schon in TIA angelegt. Warum als noch einmal in der TIA (HMI) anlegen? Da ist nichts "integriert". Warum gibt es überhaupt HMI Variablen? Er soll doch direkt die Variablen aus der SPS nehmen.
 
Ich habe anscheinend in der letzten Zeit zu viel mit anderen Systemen gearbeitet. Die UDTs habe ich ja schon in TIA angelegt. Warum als noch einmal in der TIA (HMI) anlegen? Da ist nichts "integriert". Warum gibt es überhaupt HMI Variablen? Er soll doch direkt die Variablen aus der SPS nehmen.
Nicht neu anlegen.
Sondern den DB in einem Stück übergeben, anstatt der einzelnen Variablen.
DB-Namen als Variablen-Namen angeben und als Typ dann den udt bzw. gleich auf den db verweisen - so hat man alles in einem Stück.


Hatte ein Post vorher auch noch was angehangen:
Du kannst die Unterstriche aber auch nachträglich in Punkte ändern oder halt schon das automatische Ersetzen in den Runtime-Einstellungen abwählen.
Im Allgemeinen wird es halt als unsaubere Programmierung angesehen, wenn Variablennamen (nicht Strukturen) andere Sonderzeichen als den Unterstrich enthalten. Daher der Standard zum Austausch.
 
Ich auch nicht.
Vermutlich waren die HMI-Entwickler nicht mit der Möglichkeit zum Verwenden von Sonderzeichen einverstanden? :icon_rolleyes:
Nö, denn Sonderzeichen inkl. Punkt können ja verwendet werden:
Du kannst die Unterstriche aber auch nachträglich in Punkte ändern oder halt schon das automatische Ersetzen in den Runtime-Einstellungen abwählen.
Im Allgemeinen wird es halt als unsaubere Programmierung angesehen, wenn Variablennamen (nicht Strukturen) andere Sonderzeichen als den Unterstrich enthalten. Daher der Standard zum Austausch.
Ist halt nicht die feine englische ...
 
Es ist schön, dass du den Iststand verteidigst. Aber es ist einfach völlig inkonsequent, es in einem Teil von TIA zu verwenden und an einem anderem zu verteufeln.
Auch in der PLC sind die Sonderzeichen mit Ausnahme des Unterstrichs genauso verpönt!
Der Punkt trennt die Struktur, genau wie in der HMI, und ist kein Bestandteil eines Namens.


Und ich verteidige da auch nix, sondern nehme es, wie es nun mal ist, und versuche auch ansonsten, mich weitestgehend an gängige Styleguides zu halten.
(Gelingt nur nicht immer.)


Und wie gesagt, Du bist ja nicht gezwungen, Dich an diese Standards zu halten.
;)
 
Zuletzt bearbeitet:
Die Variablen sind zwar in der PLC in einer Struktur, im HMI aber nicht (TIA kann Strukturen nur mit Bildbausteinen). Im HMI sind das alles einzelne Variablen. Deshalb gehört da bei der HMI-Variable m.E. auch kein Punkt hin.

Harald
 
Zurück
Oben