# TIA FundBüro



## Heinileini (31 Januar 2019)

Paul schrieb:


> PS: Ich muss aufpassen, sonst schlägt das hier noch vom TIA FRUST in die TIA Lobhudelei um ....


Um Himmels Willen, NEIN! Wir wollen doch nicht gleich übertreiben!
Tja, TIA immer nur im Zusammenhang mit dem Wort Frust, das ist zu einseitig. Da hast Du natürlich Recht, Paul und sieh es mir bitte nach, nein, wisse es zu schätzen, dass ich hier Deinen Beitrag als Aufhänger benutze.

Das hat TIA nicht verdient. TIA hat doch so viele schöne Seiten, die im ÜberlebensKampf gegen TIA allzu leicht übersehen werden.
Wer trotz des Ärgers mit TIA seinen Blick für die schönen/amüsanten/bizarren/skurrilen Seiten von TIA behalten hat, ist *
herzlich eingeladen, seine TIA-Fun-dSachen hier im TIA-Fun-dBüro einzustellen* und - falls ausnahmsweise nicht selbsterklärend - gerne auch zu kommentieren!

Warum ausgerechnet FundBüro? Da fallen mir spontan zwei Gründe ein:
- im FundBüro werden u.a. Dinge abgegeben, die keiner vermisst
- wer etwas sinnvolles, brauchbares gefunden hat, der ist nicht auf das FundBüro als Deponie angewiesen.

Allen, die auf einen FinderLohn spekulieren, sei gesagt: bestimmt ist Deine FundSache so überwältigend, dass sie eine Lawine von Klicks auf 


	

		
			
		

		
	
 auslöst.


Sooo, ich mache jetzt einfach mal den Anfang mit einem aus einem anderen Thread geklauten Beitrag . . .




Wartezeiten empfindet man zwar fast immer als negativ, aber wenn man negative WarteZeiten jetzt (oder demnächst, bei künftigen CPUs) auch programmieren kann, ist das doch unglaublich positiv!

Die Wirkungsweise ist zwar nicht beschrieben, aber ich vermute, die in den letzten -n µs durchlaufenen Befehle werden aufgerubbelt und die gesparte Zeit dem nächsten PLC-Zyklus gutgeschrieben.

Das kommt allen HochSprachenProgrammierern sehr entgegen, deren Belange Siemens offensichtlich um jeden Preis berücksichtigen will.
Endlich ein WAIT-Befehl für PLC-Programme! Noch dazu die Möglichkeit, vertane Zeiten wieder reinzuholen. Dem Trial-and-Error mit Backtracking steht jetzt nichts mehr im Wege.


Ein von Siemens perfekt getarnter GeheimTipp für Praktiker:


"Best before date"! Das ist es doch! Programme und Daten mit VerfallsDatum! Soll vermutlich heissen: funktioniert bis zum nächsten Update.

Freue mich auf eure Beiträge . . .

Grunz, Heinileini


----------



## PN/DP (1 Februar 2019)

Das TIA ist von Anfang an sooo innovativ, da wurden sogar uralte Basic Datentypen neu erfunden, wie z.B. die Ganzzahl-Datentypen SINT, INT, DINT und (jetzt wirklich neu!) LINT.

In TIA V10.5 wurde z.B. der Datentyp INT so beschrieben:


> Eine Variable vom Datentyp INT hat eine Länge von 16 Bit und besteht aus zwei Komponenten: einem Vorzeichen und einem Zahlenwert. Die Signalzustände der Bits 0 bis 14 stehen für den Stellenwert der Zahl. Der Signalzustand von Bit 15 stellt das Vorzeichen dar. Das Vorzeichen kann die Werte "0" (positiv) oder "1" (negativ) annehmen.


:???:

Für die TIA-Version V11 wurden die Datentyp-Beschreibungen fachmännisch überarbeitet  und halten sich seitdem hartnäckig unverändert bis zur aktuellen V15.1 mit diesen Formulierungen:


> Ein Operand vom Datentyp SINT (Short INT) hat eine Länge von 8 Bit und besteht aus zwei Komponenten: einem Vorzeichen und einem Zahlenwert im Zweierkomplement. Die Signalzustände der Bits 0 bis 6 stehen für die Größe der Zahl. Der Signalzustand von Bit 7 stellt das Vorzeichen dar. Das Vorzeichen kann den Signalzustand "0" für positiv oder "1" für negativ annehmen. [...]
> 
> Ein Operand vom Datentyp INT hat eine Länge von 16 Bit und besteht aus zwei Komponenten: einem Vorzeichen und einem Zahlenwert im Zweierkomplement. Die Signalzustände der Bits 0 bis 14 stehen für die Größe der Zahl. Der Signalzustand von Bit 15 stellt das Vorzeichen dar. [...]
> 
> ...


*omg*

Kein Wunder daß bei Siemens-Steuerungen der Speicher immer so knapp ist, wenn so verschwenderisch Datentypen mit extra Vorzeichenbits verwendet werden ... 

Gut daß wir alten Step7-classic-Anwender es besser wissen und noch nie in die TIA-Beschreibungen schauen mussten, und so werden wir auch nicht verwirrt von diesen neuen Ganzzahl-Datentyp-Formaten! Natürlich wissen wir, daß das irgendwie nicht stimmen kann, weil wir mit PLCSIM oder einer SPS leicht nachprüfen können, z.B.:
Wenn man in einem INT (16-Bit-Ganzzahl) den positven Wert 12345 schreibt und dann nur das Bit 15 auf 1 setzt (ohne die laut Beschreibung für die Größe verantwortlichen Bits 0 bis 14 zu ändern), dann ändert sich nicht nur das Vorzeichen sondern auch die Größe (Betrag) der Zahl, aus +12345 wird -20423  Zur Probe andersrum: -12345 --> Bit 15 auf 0 --> +20423 :sm14:


Bei SINT/INT/DINT/LINT liegt natürlich wie international üblich der Wert als Zweierkomplement in komplett allen 8/16/32/64 Bits des Datentyps, es gibt kein extra Vorzeichenbit. Bei Zweierkomplement kann man zwar am höchstwertigen Bit das Vorzeichen ablesen, das Bit ist aber nicht "DAS" Vorzeichenbit.

Im Anhang das Bild stammt aus dem Systemhandbuch SIMATIC STEP 7 Basic/Professional V15.1 und SIMATIC WinCC V15.1 Teil 12 PLC programmieren

 Harald


----------



## Senator42 (1 Februar 2019)

Es fehlt jetzt nur noch "Doku Frust"  :-(
Übersetzung: Beschreibungen die keinem nützen.


----------



## Heinileini (1 Februar 2019)

PN/DP schrieb:


> Kein Wunder daß bei Siemens-Steuerungen der Speicher immer so knapp ist, wenn so verschwenderisch Datentypen mit extra Vorzeichenbits verwendet werden ...


Ein klein wenig "Verschwendung" kann ich nur bei INT feststellen. Nur bei INT gibt es die Darstellung im ZweierKomplement und zusätzlich (als BonusBit?) das VorzeichenBit! Das ist der pure Luxus. Zwei Vorzeichen bei einer einzigen Ganzzahl.
Bisher musste man immer auf GleitKommaZahlen in ExponentialDarstellung ausweichen, wenn man nicht auf das zweite Vorzeichen pro Zahl verzichten konnte. Das ist der technische Fortschritt, auf den die Welt gewartet hat.
Nein, als Verschwendung kann man das kaum bezeichnen.
Beweis durch GegenBeispiel:
Es gibt doch jetzt auch einzelne Bits mit 7 (in Worten, nein sorry, in Bytes: sieben) VorzeichenBits. 
Harald, halt Dich fest, 7 VorzeichenBits für ein einziges Vorzeichen, das immer nur positiv sein darf!!! Also rechnerisch eigentlich *7 Bits für ein halbes Vorzeichen*!

PS:
Sorry, lesen müsste man können! Und auch in der nächsten Zeile weiterlesen. Bei SINT, DINT und LINT hat TIA ja auch ZweierKomplement plus VorzeichenBit spendiert.


----------



## Heinileini (1 Februar 2019)

Senator42 schrieb:


> Beschreibungen die keinem nützen.


Solche Beschreibungen nützen den Herstellern, die jetzt PLCs entwickeln, die sich selbst programmieren.
Die alten Hasen, die wissen, wie es geht, sind bald ausgestorben. Und Programmierer, die herkömmliche PLCs programmieren könn(t)en gibt es dann nicht mehr, denn die NachwuchsKräfte hat man erfolgreich in den IT-Wald geschickt.


----------



## Plan_B (2 Februar 2019)

Heinileini schrieb:


> Zwei Vorzeichen bei einer einzigen Ganzzahl.



Das war jz nicht ernst gemeint??
Und wo ist das "Bonusbit"?


----------



## PN/DP (2 Februar 2019)

andy_ schrieb:


> Und wo ist das "Bonusbit"?


Bei einer Ganzzahl im Zweierkomplement hat das höchstwertige Bit immer den selben Zustand wie das Vorzeichen. Bei INT nach TIA ist das höchstwertige Bit des Zweierkomplements das Bit 14, und "zusätzlich als Bonus" enthält der INT noch das Vorzeichen in Bit 15.

Harald


----------



## Thomas_v2.1 (2 Februar 2019)

So wäre die Beschreibung mit dem Vorzeichenbit meiner Meinung nach wenigstens technisch richtig.

"Ein Operand vom Datentyp INT hat eine Länge von 16 Bit und besteht aus zwei Komponenten: einem Vorzeichen und einem Zahlenwert.
Bei gesetztem Vorzeichenbit wird der Zahlenwert (Absolutwert) in den 15 Bits im Zweierkomplement abgelegt.
Die Signalzustände der Bits 0 bis 14 stehen für die Größe der Zahl. Der Signalzustand von Bit 15 stellt das Vorzeichen dar."


----------



## PN/DP (2 Februar 2019)

Auch das Bit 15 steht immer für die Größe der Zahl, d.h. die Größe ist in den Bits 0 bis 15 codiert und nicht nur in den Bits 0 bis 14.

Harald


----------



## Heinileini (2 Februar 2019)

andy_ schrieb:


> Das war jz nicht ernst gemeint??
> Und wo ist das "Bonusbit"?


Das war ein verzweifelter Versuch, den von Siemens vermutlich ernst gemeinten Beschreibungen der GanzzahlDatenTypen irgendeinen Sinn zu deren Rechtfertigung abzuringen. 
Dass dabei etwas sinnvolles herauskommt, hattest Du nicht wirklich erwartet!?
Auf den Begriff BonusBit möchte ich nicht näher eingehen - das war vor ca. 25 Jahren ein running gag unter Kollegen, dessen Ursprung ich nicht mehr weiss. Ich fand lediglich, dass BonusBit angenehm positiv klingt und deshalb den RechtfertigungsVersuch unterstützen könnte . . .

PS: 
Ob die 7 VorzeichenBit für ein halbes Vorzeichen beim DatenTyp BOOL wohl erst gemeint waren?


----------



## Heinileini (2 Februar 2019)

PN/DP schrieb:


> Auch das Bit 15 steht immer für die Größe der Zahl, d.h. die Größe ist in den Bits 0 bis 15 codiert und nicht nur in den Bits 0 bis 14.


Wie gut, Harald, dass Du das Thema aufgegriffen hast!
Bei SPS-Frischlingen und IT-Lehrern war es klar, aber es besteht offenbar noch mehr KlärungsBedarf, als befürchtet.


----------



## Onkel Dagobert (2 Februar 2019)

Könnte mal einer von euch "Größe der Zahl" definieren?


----------



## Thomas_v2.1 (2 Februar 2019)

PN/DP schrieb:


> Auch das Bit 15 steht immer für die Größe der Zahl, d.h. die Größe ist in den Bits 0 bis 15 codiert und nicht nur in den Bits 0 bis 14.



Wer sagt das?

Meine angepasste Beschreibung der Codierung mit explizitem Vorzeichenbit ist einwandfrei, und liefert das gleiche Bitmuster wie bei der alternativen Beschreibung mit dem Zweierkomplement über alle 16 Bits.

Beispiel: Ich möchte die Binärdarstellung der Zahl -4711 aus meiner Beschreibung ableiten.

Bit15 = gesetzt weil Zahl negativ

Weil die Zahl negativ ist, bilden wir vom Absolutwert von -4711 das Zweierkomplement der 15 Bits des Zahlenwerts.

4711 = 
x001 0010 0110 0111
Alle 15 Bits negieren
x110 1101 1001 1000
Plus 1
x110 1101 1001 1001

x ist Bit 15 weil die Zahl negativ ist, ergibt
1110 1101 1001 1001

Wenn Siemens das so beschrieben hätte, könnte man zwar sagen das ist unüblich, aber wenigstens richtig. So wie es jetzt beschrieben wurde, ist es zweifelsfrei falsch.


----------



## Heinileini (2 Februar 2019)

Thomas_v2.1 schrieb:


> Beispiel: Ich möchte die Binärdarstellung der Zahl -4711 aus meiner Beschreibung ableiten.


Das funktioniert tatsächlich . . . für Beispiele, die sich mit 15 Bit begnügen.
Dein Verfahren, Thomas, könnte man immer weiter treiben: 14 Bit für's ZweierKomplement, dann 13 Bit, . . . bis 1 Bit für's ZweierKomplement.
Aber irgendwann gehen Dir dann die Beispiele aus ;o(

Zum Glück passt "Die Genialität einer ZahlenDarstellung liegt in ihrer Einfachheit" besonders gut zum ZweierKomplement *ohne* BonusBit.




Onkel Dagobert schrieb:


> Könnte mal einer von euch "Größe der Zahl" definieren?


Nach "System Siemens" oder "System genial einfach"?


----------



## Onkel Dagobert (2 Februar 2019)

Heinileini schrieb:


> .. Nach "System Siemens" oder "System genial einfach"?


Danke Heinileini, diese Antwort genügt mir eigentlich schon.


----------



## Heinileini (2 Februar 2019)

Onkel Dagobert schrieb:


> Danke Heinileini, diese Antwort genügt mir eigentlich schon.


Grosse Erleichterung. Im Falle "System Siemens" hätte ich nämlich nur auf Haralds Bild aus #2 verweisen können.
Dort ist nämlich die "DrehKo-Variante" (variable Kapazität) beschrieben und die überfordert locker mein VorstellungsVermögen.


----------



## Onkel Dagobert (2 Februar 2019)

Bei negativen Zahlen muss das Zweierkomplement gebildet werden. In den Erklärungen in den Siemens-Unterlagen wurde das nicht explizit erwähnt. Ist das der Grund für die ganze Aufregung? Oder bin ich mal wieder der Einzige, der den Gag nicht versteht?


----------



## PN/DP (2 Februar 2019)

In der TIA-Beschreibung ist durchaus erwähnt daß die Zahlen im Zweierkomplement gespeichert werden. Es wird aber behauptet, daß die Größe (Wert) der Zahl in den Bits ohne das höchste Bit liegen würde, und ein zusätzliches Vorzeichen-Bit im höchstwertigen Bit vorhanden wäre (auch als Bild mit extra dicker Linie zwischen Vorzeichenbit und den anderen Bits so gemalt) - und das ist falsch. 

Ein Zweierkomplement enthält keine zwei Komponenten, wie in TIA behauptet, sondern alle Bits zusammen bilden den Wert. Eine Codierung im Zweierkomplement benötigt überhaupt kein Vorzeichen-Bit, weil das Vorzeichen-Bit immer den selben Zustand wie das höchstwertige Bit hat und es deshalb redundant wäre das Vorzeichen-Bit mit abzuspeichern. Das Vorzeichen-Bit kann jederzeit aus dem höchstwertigen Bit rekonstruiert/abgelesen werden, das höchstwertige Bit ist aber nicht das Vorzeichen-Bit sondern gehört zu den die Größe codierenden "Wert-bildenden" Bits.

Harald


----------



## Onkel Dagobert (2 Februar 2019)

Das ist natürlich fatal :icon_cry: .


----------



## Heinileini (2 Februar 2019)

Im Eifer des Gefechts haben wir doch tatsächlich einen grossen Vorteil der Siemenschen GewaltenTeilung in VorzeichenBit und Betrag total übersehen:
in diesem ZahlenFormat ist es endlich möglich, eine positive Null ganz klar von einer negativen Null zu unterscheiden!
Jetzt können wir SPSler endlich nachvollziehen, was uns Geschäftsführung und Kaufleute schon ewig mit der Unterscheidung zwischen roter und schwarzer Null sagen wollten.


----------



## Onkel Dagobert (3 Februar 2019)

Apropos Nullen, bei Siemens (TIA V15.1) gibt es keine! Wenn man mal was von den Grafiken brauchen könnte, ...


----------



## Heinileini (3 Februar 2019)

Onkel Dagobert schrieb:


> Apropos Nullen, bei Siemens (TIA V15.1) gibt es keine!


Das ist eben der Haken an der Sache: wenn man nicht aufpasst, heben sich positive Null und negative Null gegenseitig auf.


----------



## vollmi (4 Februar 2019)

Onkel Dagobert schrieb:


> Apropos Nullen, bei Siemens (TIA V15.1) gibt es keine! Wenn man mal was von den Grafiken brauchen könnte, ...



Musste halt etwas runden. ^^


----------



## PN/DP (5 April 2019)

Die berühmte TIA Entwicklung Post-it Wand mit Kundenanforderungen
Mister Automation Ep17: Besuch der TIA Portal Entwicklung und Systemtest in Fürth zur V15.1
bei 1:00 3:08

(Running Gag im Forum seit hier)


----------



## Ralle (5 April 2019)

PN/DP schrieb:


> Die berühmte TIA Entwicklung Post-it Wand mit Kundenanforderungen
> Mister Automation Ep17: Besuch der TIA Portal Entwicklung und Systemtest in Fürth zur V15.1
> bei 1:00 3:08
> 
> (Running Gag im Forum seit hier)



Boah, ich liebe es: "Das Team committed sich am Anfang der 14 Tage auf mehrere User-Stories"! Die denglischen sich da auch einen ab ubd findesn ganz toll. 
Ob das dann im shopfloor auch so ankommt?


----------



## Heinileini (8 Oktober 2019)

Herbert schrieb:


> Ende des Jahres kommt ja bekanntlich die V16 raus. Hier wird es auf der WinCC eine Neuerung geben.
> Es wird ein WinCC *Unfried* mit neue Hardware geben (*Unfried* Comfort Panels).Hier ein Link zu den Infos:


Ja, ich weiss: TippFehler, die finde, darf ich behalten.
Aber manchmal bin ich mir so unsicher, ob das, was ich gefunden habe, wirklich ein lapsus digiti ist.
"Unfried" könnte ja auch ein intentional misspelling sein?
Aber, wenn es tatsächlich so sein sollte, ist dann der deutsche "Unfried[']" gemeint oder das englische "unfried"?

Grübel, grübel ...

Gruss, Heinileini


----------

