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

Flux

Level-1
Beiträge
314
Reaktionspunkte
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"
 
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
 
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.
 
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
 
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
 
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
 
@Rudi,
deinen Kommentar verstehe ich gerade nicht.
Woran erkennst du das das sein Bestreben ist andere Nutzer zu verwirren?

Gruß, Toki
 
@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 ).
 
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
 
s005.gif


Harald
 
Zurück
Oben