Navigation:  » - «

  ENO - Ausgang

Kapitelübersicht

 

Aus dem ENO-Ausgang von Blöcken kommt ein boolescher Wert, der “1” ist, wenn zwei Bedingungen erfüllt sind:

1.) Am EN-Eingang muss eine “1” anliegen, oder er muss unbeschaltet sein.

2.) Bei der Bearbeitung des Blockes darf kein Fehler aufgetreten sein.

 

Intern entspricht der ENO-Ausgang dem BIE-Bit (BInär-Ergebnis). Dies ist zu sehen, wenn man sich die AWL-Darstellung folgenden Netzwerkes ansieht:

 

 

entspricht in AWL:

 


U  E   1.1

// Wenn nicht E 1.1


SPBNB _001

// Dann springe nach _001 und übertrage



// vorher das VKE (=0) ins BIE - Bit


L   30000

// Sonst führe die Addition durch


L    1000



+I



T   MW  10



UN OV

// Ist ein Überlauf (=Fehler) aufgetreten?


SAVE

// Speichere den (negierte) Überlauf im BIE


CLR

// Setze das VKE zurück (Warum überhaupt?)

_001:

U  BIE

// Lade das BIE


=  M   2.1

// Speichere das BIE in M 2.1

 

Zum Verständnis dieses Codes sollten Sie bei SPBNB, bei SAVE, bei CLRund bei BIE nachlesen.

 

Der ENO-Ausgang wird häufig dazu verwendet, die Ausführung weiterer Operationen von der erfolgten (und erfolgreichen!) Durchführung einer vorhergehenden Operation abhängig zu machen: z.B:

 

 

Hier wird nur dann, wenn die Addition keinen Überlauf produziert hat, die Division durchgeführt. Dadurch wird vermieden, dass im MW12 ein unsinniger Wert gespeichert wird. Im Fehlerfall wird der Merker M5.2 auf 1 gesetztund kann dem weiteren Programm anzeigen, dass ein Fehler aufgetreten und behandelt werden muss.

 

Wenn Sie eigene Funktionen oder Funktionsbausteine schreibenund von der ENO-Ausgang Funktionalität Gebrauch machen wollen, müssen Sie das BIE-Bit im aufgerufenen Block auf Null setzen, wenn ein Fehler aufgetreten ist. Durch SPBNB wird das BIE-Bit automatisch auf 1 gesetzt, wenn der Sprung nicht durchgeführt wird. Sie brauchen das BIE-Bit als nicht zu setzen, wenn kein Fehler aufgetreten ist.

 

Siehe auch:

EN-Eingang