Welcher Befehl (AWL), um DW <> 0 abzufragen?

Flux

Well-known member
Beiträge
314
Punkte Reaktionen
11
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,

mit welchem Befehl kann ich am schnellsten prüfen, ob mind. ein Bit in einem DW (Meldungen) gesetzt ist ?

Momentan mach ich das über
Code:
      L     MD     0
      L     0
      >D    
      =     "Lampe"
 

wolder

Well-known member
Beiträge
549
Punkte Reaktionen
78
selbst wenn, kommst du nicht auf unter 4 Zeilen, da du das Staturword erst in den Akku laden müßtest.

Kürzer geht es nicht.

Gruß wolder
 

Rainer Hönle

Well-known member
Beiträge
5.669
Punkte Reaktionen
991
Ich würde allerdings nicht auf >D abfragen, da die Bedingung bei gesetztem obersten Bit nicht zutrifft obwohl ein Bit gesetzt ist. Eine Prüfung auf ungleich ist da sicherer.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
17.564
Punkte Reaktionen
5.167
Zuviel Werbung?
->Hier kostenlos registrieren
mit welchem Befehl kann ich am schnellsten prüfen, ob mind. ein Bit in einem DW (Meldungen) gesetzt ist ?

Momentan mach ich das über
Code:
      L     MD     0
      L     0
      >D    
      =     "Lampe"
Das funktioniert leider nicht korrekt. Es muß auf <>D (<>0) abgefragt werden. Vor dem Optimieren ist zunächst die Funktion sicherzustellen:
Code:
      L     MD     0
      L     0
      [COLOR="#FF0000"]<>D[/COLOR]
      =     "Lampe"
Weniger als 4 AWL-Zeilen für den ersten Vergleich sind tatsächlich nicht möglich (Folge-Vergleiche lassen sich optimieren), es läßt sich höchstens die Größe des MC7-Kompilats optimieren (Arbeitsspeicherbedarf für Programmcode). Dies hier ist 2 Byte kürzer:
Code:
      L     MD     0
      L     B#16#0
      <>D
      =     "Lampe"

Harald
 

JoopB

Well-known member
Beiträge
879
Punkte Reaktionen
188
L MD 0
L 0
>D
= "Lampe"

mit >D geht die lampe nicht an wenn M0.7 (Hochste bit von MD) hoch ist. Wert ist dan negatief = < 0

Code:
  L     MD     0
      L     L#0
      <>D    
      =     "Lampe"

Edit: Harold warr schneller

Joop
 

Jochen Kühner

Well-known member
Beiträge
4.154
Punkte Reaktionen
474

Flinn

Well-known member
Beiträge
344
Punkte Reaktionen
52
Zuviel Werbung?
->Hier kostenlos registrieren
Das funktioniert leider nicht korrekt. Es muß auf <>D (<>0) abgefragt werden. Vor dem Optimieren ist zunächst die Funktion sicherzustellen:
Code:
      L     MD     0
      L     0
      [COLOR=#ff0000]<>D[/COLOR]
      =     "Lampe"
Weniger als 4 AWL-Zeilen für den ersten Vergleich sind tatsächlich nicht möglich (Folge-Vergleiche lassen sich optimieren), es läßt sich höchstens die Größe des MC7-Kompilats optimieren (Arbeitsspeicherbedarf für Programmcode). Dies hier ist 2 Byte kürzer:
Code:
      L     MD     0
      L     B#16#0
      <>D
      =     "Lampe"

Harald

Auch wenn es in diesem Fall funktionell das Gleiche ist: Ich finde es schöner, wenn die Datentypbreite zusammenpasst.
Hier also mein Vorschlag. Die 2 Byte Speicher sollten heutzutage nicht so wichtig sein.
Code:
      L     MD     0
      [B][COLOR=#0000cd]L     L#0[/COLOR][/B]
      <>D
      =     "Lampe"

Gruß,
Flinn
 

Toki0604

Well-known member
Beiträge
670
Punkte Reaktionen
132
@Rudi,
deinen Kommentar verstehe ich gerade nicht.
Woran erkennst du das das sein Bestreben ist andere Nutzer zu verwirren?

Gruß, Toki
 

Rudi

Well-known member
Beiträge
1.490
Punkte Reaktionen
91
@Rudi,
deinen Kommentar verstehe ich gerade nicht.
Woran erkennst du das das sein Bestreben ist andere Nutzer zu verwirren?

Gruß, Toki

Daraus: Zitat "Gibts evtl ein Statusbit, was mir anzeigt ob MD4 <> 0000_0000_hex ist?"
Den anderen Code versteht jeder. Aber das ist ja bei vielen so gewollt. ( aus meiner langjährigen Erfahrung mit Programmierern ).
 

Toki0604

Well-known member
Beiträge
670
Punkte Reaktionen
132
Hi Rudi,
ich komme aus der Instandhaltung. Dort ist es so das wenn solch ein Code auftaucht, der Programmierer eher massiv in Frage gestellt wird,
als das er für sein "können" bewundert wird. Wir haben solche Codes auch schon (kostenlos) vom Hersteller überarbeiten lassen, oder der Geschäftsführung
nahegelegt dort keine Maschinen mehr zu kaufen. Im Gegensatz dazu haben wird auch bei anderen Herstellern erwähnt das die ordentlich programmiert haben
und (für die Geschäftsführung wichtig) Fehlersuchen damit bedeutend einfacher und schneller gehen.
Aus meiner Erfahrung erzeugt man damit keine Abhängigkeit die Geld bringt, sondern Abneigung dem Hersteller gegenüber.
Kopierschutz der Anlage? Auch Quatsch weil das Programm zwar ein wichtiger, aber dennoch verschwindend kleiner Teil des Gesamten ist.
Wenn es aber so "gewollt" ist...
Vielleicht aber will der TE auch nur alle Möglichkeiten checken ;-)

Gruß, Toki
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
17.564
Punkte Reaktionen
5.167
s005.gif


Harald
 
Oben