sieht also aus als wenn es eine (reinen) unsigned INT nicht gibt. Damit kann ich Leben ;-) und die Norm scheint da ja auch über Jahre gut genug zu sein und wurde diesbezüglich nicht angepasst
Einen reinen unsigned INT gibt es nicht? Wenn nicht und man benötigt *) ihn, macht man ihn sich. Und schon gibt es ihn.
Inwieweit die eine oder andere SPS einen solchen Typ kennt und verarbeiten kann, ist nicht das Thema.
Man glaubt gar nicht, wie viele Arten und Varianten von Kodierungen schon erdacht wurden. Allein schon, weil wir das DezimalSystem bevorzugen, aber Computer "lieber" im DualSystem arbeiten.
Zum Glück beschränken sich die "gängigen" DatenTypen aber auf eine ganz kleine Anzahl sehr logischer und äusserst praktischer GrundPrinzipien.
Die sollte man kennen. Dann kann man sich damit "austoben".
Schwieriger wird es bei DatenTypen für GleitkommaZahlen. Wie viele der Bits spendiere ich für die Mantisse, wieviele für den Exponenten, oder halte ich mich ganz einfach an eine Norm?
Noch schwieriger wird es bei Texten. Lange Jahre haben wir uns mit 7 bzw. 8 Bit pro Zeichen begnügt. Aber die Globalisierung hat dafür gesorgt, dass nun entweder grundsätzlich 2 Byte pro Zeichen reserviert werden müssen oder aber variable 1 bis 4(?) Byte pro Zeichen.
Eher unangenehm wird es bei DatenTypen zur Darstellung von "Datümern" (ich vermeide hier bewusst den Begriff "Daten") und (Uhr-)Zeiten.
Da gibt es (noch) keine wirkliche Übereinstimmung zwischen verschiedenen Systemen. Und es kommt das Problem hinzu, dass die Bestandteile zwar aussehen wie DezimalZahlen, aber im Zusammenhang doch keine sind. Zu allem Überfluss kommen noch so schreckliche Dinge wie Jahre und Monate mit unterschiedlichen Längen, Wochen, WochenTage und KalenderWochen hinzu ...
Wie ist dann ein Zählwert definiert (BCR Binary counter reading)?
Kommt drauf an. Darauf, wer es wofür und in welchem "Umfeld" definiert.
Würde man heute noch einen Zähler so auslegen, dass er im BCD-Code geladen werden muss und wahlweise im BCD-Code oder als DualZahl ausgelesen werden kann, so wie es bei den S5-Zählern war (womit ich aber nicht behaupten will, dass das mit BCR gemeint ist)?
Außerdem gibt es noch diese Stufenschaltermeldung. Dort funktioniert im Übrigen ein unsigned short INT (0-255). Aber nur in einer Richtung (hoch zur Leittechnik).
Das liegt aber nicht am DatenTyp (unsigned short INT). Die Wirksamkeit in der umgekehrten Richtung scheitert daran, dass der StufenSchalter ein Sensor ist und kein Aktor.
*) :
Ja, Verschwendung bzw. NichtVerschwendung alias Sparsamkeit ist ein Thema. Immernoch, obwohl die Bytes nicht annähernd mehr so teuer sind, wie sie es mal waren und obwohl die ÜbertragungsGeschwindigkeiten nicht annähernd mehr so lähmend langsam sind, wie sie mal es waren und obwohl die Kapazitäten der einzelnen SpeicherMedien nicht annähernd mehr so begrenzt sind, wie sie es mal waren.