TIA TIA Portal V19 Wunschliste [Diskussion]

Status
Für weitere Antworten geschlossen.
Leider muss man sich ja Flanken etc. immer noch bei TIA so basteln (in SCL) wie zu Step5-Zeiten. Andere Hersteller haben da EDGE_POS / EDGE_NEG etc... Vielleicht schafft es Siemens ja im TIA V19 auch :)
Es gibt bei TIA und aktuellen CPUen (S7-1x00) schon seit Jahren (der folgende Screenshot ist von V16, gab's alles aber auch schon davor)
8 verschiedene integrierte Flankenbildungen:

1691847508140.png

Was genau vermisst Du denn dabei immer noch?

PS:
Bei SCL (wer lesen kann, ist klar im Vorteil 🙄) sind es nur die letzten 2, aber das dürften die Äquivalente zu den erwähnten Bausteinen sein.
 
Zuletzt bearbeitet:
Es wäre schön, wenn Safetyvariablen Profisave-Variablen auch im Belegungsplan auftauchen würden.
 
Weiss nicht, ob das hier schonmal stand, wünsche mir für SCL jeweils einen einfachen/kurzen Befehl für Setzten, Rücksetzen ...,
Sooo schwer zu "workarounden" ist das doch nicht:
Code:
// Setzen in SCL/ST:
zsv := zsv OR bedingung ; // 'zsv' : die bedingt zu setzende (statische!) Variable

// Rücksetzen in SCL/ST:
zrv := zrv AND NOT bedingung ; // 'zrv' : die bedingt zu "rücksetzende" (statische!) Variable
Wenn man die Variable, die man setzen bzw. rücksetzen möchte, direkt rechts vom ':=' wiederholt und ihr Name nicht zu laaang geraten ist, dann sollte einem ins Auge springen, was hier passiert!
Weiss nicht, ob das hier schonmal stand, wünsche mir für SCL jeweils einen einfachen/kurzen Befehl für ... Positive Flanke und Negative Flanke.
Leider muss man sich ja Flanken etc. immer noch bei TIA so basteln (in SCL) wie zu Step5-Zeiten. Andere Hersteller haben da EDGE_POS / EDGE_NEG etc... Vielleicht schafft es Siemens ja im TIA V19 auch :)
Bei S5 gab es keine Befehle, um bei positiven bzw. bei negativen Flanken ein 1 Zyklus langes ImpulsSignal zu bilden.
Das habe ich NIE als Nachteil empfunden - ganz im Gegenteil - es hat mir sehr geholfen, mittels zu Fuss gestrickter FlankenErkennungen das simple FunktionsPrinzip auf Anhieb zu verstehen und ins Gedächtnis einzubrennen.

Wenn ich hier im Forum immer wieder mal sehe, wie viele ProgrammierFrischlinge es offensichtlich (noch) nicht verstanden haben, dann weiss ich immer nicht, ob ich deswegen lachen oder weinen soll (lachen wäre zwar egoistischer, aber immerhin auch gesünder).
Dass der "FlankenMerker" statisch sein muss und keinesfalls anderweitig verwendet werden darf, weiss man dann, ohne darüber nachdenken zu müssen. Dass er kein "Merker" sein muss und nur deshalb so genannt wird, weil er sich den vorherigen Zustand von irgendwas zum Vergleich mit dem aktuellen Zustand merken muss.
Dass man nicht mehrere "FlankenMerker" für ein und dasselbe Signal benötigt, wenn man auf beide Flanken (nur-positive einerseits aber auch nur-negative andererseits) getrennt oder sogar durcheinander gemischt auf beliebige Flanken (egal, ob positiv oder negativ) prüfen will, muss man dann auch nicht lange diskutieren.
Beliebige Flanken (egal, ob positiv oder negativ) lassen sich übrigens leicht erkennen, wenn man den vorherigen Zustand per XOR mit dem aktuellen Zustand verknüpft.

In diesem Sinne wünsche ich allen, dass sie das VorhandenSein von FlankenErkennungen in SCL erst seeehr spät entdecken. ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mein Beitrag bezieht sich in erster Linie auf den Vergleich zum sehr einfachen und eindeutigen S und R in AWL 😉
SCL ist halt nicht so wirklich schön auf den ersten Blick für boolsche Verknüpfungen. Nicht umsonst sieht man ja oft diese IF THEN ELSE Orgien... oder Monsterklammerkonstrukte...

Flanken sind nochmal ne andere Geschichte...

Nichts destotrotz, ich versuch S R sowie Flanken und Sprünge nach Möglichkeit zu vermeiden und nutze sie nur, wenns nen berechtigten Grund gibt. Nichts geht über einfache logische Verknüpfungen 😉
 
Ich muss Ducati beipflichten, einfache befehle
wie S, R, oder Flanken in SCL finde ich auch
wünschenswert.
Ich glaube das wir älteren alle diese Verknüpfungs-
Orgien hinbekommen, allerdings tragen Sie nicht zur
Übersichtlichkeit bei. Ehrlich gesagt habe ich auch kein
Bock Instanz-Monster für ein paar einfache Flanken zu
erstellen. Die Steuerungen haben genug Speicher und Leistung
das Sie das im Hintergrund mit erzeugen können.
Ein Zugriff auf einen Eingang als Flanke ähnlich wie ein Peripherie
Zugriff mit einer Kennung #Eingang:FN oder #Merker:FP.
Und so ein blödes S & R in SCL schadet nicht, es gibt es in allen
anderen Sprachen in TIA selbst in Graph.
 
Mein Wunsch wäre, die Flankenerkennungen bei TIA von aktuell 8 Varianten auf 2 zu reduzieren. Und wie Heinileini schon schrieb, wenn man selber den Altzustand speichert, geht positive wie negative Flankenerkennung mit einer einzigen Variable. Wenn ich die TIA FB Instanzen R_TRIG/F_TRIG verwende, dann sind das immer gleich 3. Bei Siemens ist Speicher immer noch sehr teuer. Und da TIA eine unnütze Warnung auswirft wenn ich in SCL direkt die Instanz Q lese, muss ich dafür eine weitere Variable anlegen

So eine automatische Flankenerkennung wäre nett, aber dann müsste an anderer Stelle definiert werden, ab wo der Altzustand gespeichert werden soll. Also entweder über eine Kennung im Programmablauf, oder über Tasks wie OB1, OB35 usw. Das macht es dann schon wieder komplizierter zu verwenden, aber ohne dieses ist das Verhalten nicht eindeutig definiert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Codesys Lösung zu den Flanken finde ich gut.
Da ist eine Flanke im Handling gleich wie Negation bei Siemens.
Du klickst in FUP auf einen Eingang eines Logikelements und kannst da wählen ob du ne pos. oder neg. Flanke willst.
Um Zustände speichern braucht man sich nicht kümmern.
 
Zuletzt bearbeitet:
Ich hätte auch noch eine Punkt zum Debuggen.
Und zwar kann man Übergabevariablen dienals Struktur übergeben werden nicjt direkt beobachten.
Es wäre mega, wenn man die zur Zeit markierte Variable einfach in einem weiteren Fenster beobachten kann.
Bei einer Struktur oder UDT sollte man dann natürlich die gasamte Datensammlung sehen können.
Ggf. könnte man die Variabke auch gerne in das Fenster rein zeihen, oder rechte Maustaste im debuggfenster anzeigen klicken oder oder oder.

Das würde mir viel Zeit beim suchen ersparen.

Grüße
Hans
 
Ich hätte auch noch eine Punkt zum Debuggen.
Und zwar kann man Übergabevariablen dienals Struktur übergeben werden nicjt direkt beobachten.
Es wäre mega, wenn man die zur Zeit markierte Variable einfach in einem weiteren Fenster beobachten kann.
Bei einer Struktur oder UDT sollte man dann natürlich die gasamte Datensammlung sehen können.
Ggf. könnte man die Variabke auch gerne in das Fenster rein zeihen, oder rechte Maustaste im debuggfenster anzeigen klicken oder oder oder.

Das würde mir viel Zeit beim suchen ersparen.

Grüße
Hans
Screenshot 2023-08-21 085957.png

Meinst du das? Wenn ja: Struktur markieren -> Diagnose -> Beobachtungswert

Geht auch mit indirekt addressierten Strukturen (zB im Baustein dann)
Screenshot 2023-08-21 090207.png
 
Mega, Danke für den Tipp! Das kannte ich noch nicht und wird mit viel Helfen meine Softwarestruktur durchzubekommen:)
Wie lange geht das schon?
Grüße
Bestimmt seit V15.1, da hab ich's schon gesehen und genutzt.. aber ist nicht so ein Feature was "klar ersichtlich" ist, meiner Meinung nach.

Ist auch für Strukturen ganz gut, die irgendwie durch 3-4 Ebenen geschliffen werden und als InOut parametriert sind, so siehst du was in den Baustein reingeht und was die Werte sind die wieder rauskommen
 
Ich meine sogar schon früher. Feature ist gut versteckt. Kann man aber auch mit r.M.k auf die Variale und dann beobachte öffnen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich meine sogar schon früher. Feature ist gut versteckt. Kann man aber auch mit r.M.k auf die Variale und dann beobachte öffnen.
Das ist ja Mega, also Siemens macht ja immer so wahnsinns Präsentationen wenn Sie eine neue Version rausbringen, aber das man dieses wie ich finde "Mega Feature" solange versteckt versteh ich nicht 😅🙈
 
Generell hätt ich gerne die Möglichkeit, statische Variablen direkt im FB, wenn man online ist, mit einem Wert zu beschreiben, zu setzen etc. Das geht ja mit DB-Variablen und bei Merkern, aber nicht bei den statischen Variablen. Wenn man beim Debuggen ist, immer erst den IDB zu öffnen und die Variable zu suchen ist etwas lästig.
 
Generell hätt ich gerne die Möglichkeit, statische Variablen direkt im FB, wenn man online ist, mit einem Wert zu beschreiben, zu setzen etc. Das geht ja mit DB-Variablen und bei Merkern, aber nicht bei den statischen Variablen. Wenn man beim Debuggen ist, immer erst den IDB zu öffnen und die Variable zu suchen ist etwas lästig.
Das hab ich auch nie verstanden, wieso ich im FB mit der dazugehörigen Instanz die Variable nicht steuern kann sondern erst im DB alles aufmachen muss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Generell hätt ich gerne die Möglichkeit, statische Variablen direkt im FB, wenn man online ist, mit einem Wert zu beschreiben, zu setzen etc. Das geht ja mit DB-Variablen und bei Merkern, aber nicht bei den statischen Variablen. Wenn man beim Debuggen ist, immer erst den IDB zu öffnen und die Variable zu suchen ist etwas lästig.
Das hab ich auch nie verstanden, wieso ich im FB mit der dazugehörigen Instanz die Variable nicht steuern kann sondern erst im DB alles aufmachen muss
Das liegt daran, weil der FB mehrmals instanziiert sein kann und dann unklar ist, welche Instanz DB dann gemeint ist.
 
Man könnte ja beim Start des Beobachtens oder Öffnen eines FBs im Beobachten-Modus ein PopUp anzeigen, mit der Auswahlmöglichkeit einer Instanz. Das hat TwinCAT/Codesys in meinen Augen ganz gut gelöst.
So etwas gibt es im TIA auch bereits.

Wenn man Online ist, kann man am rechten Rand die Aufrufumgebung anpassen und die Instanz wählen, für die man die Werte sehen möchte. Aber man kann sie nicht manipulieren/steuern.
1692733703146.png
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben