-> Hier kostenlos registrieren
Mit GATHER und SCATTER kannst du ganz leicht zwischen einem WORD und einer 16-Bit-Struktur hin und her kopieren. Die Befehle sind praktisch für Statuswörter fürs HMI zusammenstellen oder Requests wieder aufzuteilen.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
ja scheint nützlich zu sein, hab jetzt ein array mit 16 bits, kann im array aber selber keine eindeutigen namen vergeben, mal sehen ob ich das an anderer stelle machen kann damit man auf die tabelle gänzlich verzichten kannMit GATHER und SCATTER kannst du ganz leicht zwischen einem WORD und einer 16-Bit-Struktur hin und her kopieren. Die Befehle sind praktisch für Statuswörter fürs HMI zusammenstellen oder Requests wieder aufzuteilen.
ja hab das genauso gemacht, dankeGerade mal nachgeschaut (TIA15.1) - IEC-Prüfung ist bei mir eingeschaltet und keine orange Unterstreichung. Aber wenn das zu unsicher ist, kann man sich die int-Variable in eine word-Variable kopieren:
Anhang anzeigen 77038
Probier's mit einer Struktur mit 16 Bools. So kannst du deine Namen vergeben - mit Kommentar.ja scheint nützlich zu sein, hab jetzt ein array mit 16 bits, kann im array aber selber keine eindeutigen namen vergeben, mal sehen ob ich das an anderer stelle machen kann damit man auf die tabelle gänzlich verzichten kann
das läuft aufjedenfall, falls ich die bits manipulieren wollen würde, müsste ich die in eine funktion einspeisen als InOut über einen DB ode?Probier's mit einer Struktur mit 16 Bools. So kannst du deine Namen vergeben - mit Kommentar.
[Edit] Es müssen aber exakt 16 Bools sein!
In SCL ist Slice auf Integer/Ganzzahlen nicht erlaubt. In FUP/KOP beugt sich Siemens den "schlampigen" Programmierern und lässt diesen Mist zu - wie lange noch?Hinweis: Slice Zugriffe sollte man nicht auf Integer-Variablen anwenden. Bei IEC nicht erlaubt.
Siehe auch folgende Diskussion:Wenn ich in meinem TIA V15.1 Update 5 in einem SCL-Baustein die IEC-Prüfung aktiviere, dann werden Slice-Zugriffe auf INT/DINT/UDINT... als ungültige Syntax angemeckert.
Doch, kannst Du.... hab jetzt ein array mit 16 bits, kann im array aber selber keine eindeutigen namen vergeben, ...
ich hab mir einen datentypen erstellt da ich die ohnehin öfters verwenden werde und diesen als merker im datenbaustein aufgerufen. da konnte ich auch jedem eintrag einen namen geben und falls es in zukunft änderungen geben sollte lässt sich das leichter anpassen.Doch, kannst Du.
Dafür erstellst Du Dir (globale) Konstanten mit dem gewünschten eindeutigem Namen und weist denen jeweils einen Wert des ARRAY-Bereichs zu.
Z.B.:
Konstante
FEHLER_1 := 1
Und beim ARRAY verwendest Du dann diese Konstanten statt Zahlen, um auf die einzelnen Felder zuzugreifen
MyFehlerArray["FEHLER_1"] := ...
So hast Du "sprechende" Namen und
Schleifen u.ä. kannst Du trotzdem auf herkömmlichen Weg über das ARRAY rattern lassen.
PS:
Im DB z.B siehst Du diese Konstante dann zwar nicht, dafür hast Du dort aber den Kommentar.
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen