TIA S7-1200 - ENO Ausgang in FB/FC setzen/rücksetzen

smartie

Level-1
Beiträge
298
Reaktionspunkte
22
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

weiß von euch jemand ob die Möglichkeit besteht in einer S7-1200 in KOP/FUP den ENO Ausgang eines selbserstellten Funkionbausteins
(oder einer Funktion) je nach Bedarf selbst zu steuern. - Ich weiß das das in der S7-300 in AWL möglich war, aber für die S7-1200 finde
ich gar keine Infos.

Hintergrund:
Ich habe einen Funktionsbaustein in KOP/FUP erstellt und möchte diesen gerne in meinem Pogrammfluss einbinden, so dass die Aktionen
rechts von meinem FB nur ausgeführt werden wenn die Bearbeitung des FB (nach meinen Kriterien) fehlerfrei ausgeführt wurden.

Weiß jemand ob das in KOP/FUP möglich ist? - Wenn nicht, ist es vielleicht in SCL möglich?

Gruß smartie
 
Es gibt vermutlich in der TIA-Hilfe, ganz sicher aber im Step7-Systemhandbuch extra ein Kapitel "Programmflusssteuerung / EN-/ENO-Mechanismus", wo ausführlich erklärt wird, wie der ENO-Ausgang in SCL und FUP/KOP beeinflusst wird. Das würde ich als erstes mal lesen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.
In KOP/FUP wird EN und ENO zwar benutzt, du kannst sie aber nicht ohne weiteres
beinflussen, wie es mit SAVE und BIE-Abfrage in AWL bei STEP7 möglich ist.

In SCL kannst du es nutzen, wenn du die Bausteineigenschaft "ENO automatisch setzen"
aktivierst und deine programmierten Anweisungen fehlerfrei bearbeitet wurden.
 
Es gibt vermutlich in der TIA-Hilfe, ganz sicher aber im Step7-Systemhandbuch extra ein Kapitel "Programmflusssteuerung / EN-/ENO-Mechanismus",
wo ausführlich erklärt wird, wie der ENO-Ausgang in SCL und FUP/KOP beeinflusst wird. Das würde ich als erstes mal lesen.

Gibt es tatsächlich, hab ich vor meiner Fragestellung auch gelesen. - Sonst hätte ich mir auch nicht die Zeit genommen hier eine Frage zu stellen....

- Im Systemhandbuch Systemhandbuch, 03/2014 auf Seite 199/200. Aber leider steht da als Überschrift 'EN und ENO in KOP, FUP und SCL'. Behandelt wird aber
eigentlich nur was der ENO Ausgang eigentlich ist und wie er in SCL beinflusst wird.

Ob und wie ich Ihn in KOP/FUP beeinflussen kann steht leider nicht eindeutig dabei.

So wie ich es sehe kann ich den ENO-Ausgang in SCL auch nur beinflussen in dem ich eine Funktion einbinde die ich bewusst dazu bringe einen Fehler zu erzeugen.
Ist dies der Fall würde der ENO-Ausgang auf FALSE wechseln. - So richtig "professionell" finde ich das nicht.

- Kennt jemand evtl. eine andere Lösung?

Gruß smartie
 
.
Bei KOP/FUP kannst du auch bewusst einen Fehler erzeugen, aber sonst hast du alles richtig erkannt.

Bei der 1200 wirst du aber mit diesen Einschränkungen leben müssen, leider.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Information. Ich habe es jetzt so gelöst das ich meinen Funktionsbaustein um einen Status-Ausgang erweitert habe, den ich dann
im Programmfluss mit einem Vergleicher abfrage.

Gruß smartie
 
- Im Systemhandbuch Systemhandbuch, 03/2014 auf Seite 199/200. Aber leider steht da als Überschrift 'EN und ENO in KOP, FUP und SCL'. ...
- Kennt jemand evtl. eine andere Lösung?
Ja, die TIA-Hilfe, die dem Handbuch entsprechen dürfte ;):
TIA-Hilfe F1 schrieb:
Mit dem Freigabeausgang ENO können Sie den Fehlerstatus des Bausteins abfragen. Er führt Signal "1", sobald die Bausteinbearbeitung beginnt. Wenn Sie den Ausgang ENO im Programmcode nicht explizit auf "0" setzen, behält er Signal "1".
Sie können ihn jedoch explizit auf "0" setzen, um eine Fehleraussage an den aufgerufenen Baustein zurückzumelden. In KOP oder FUP wird der Ausgang ENO mit der Anweisung "RET: Zurück springen" gesetzt.
TIA-Hilfe: Beschreibung RET schrieb:
Mit der Anweisung "Zurück springen" beenden Sie die Bearbeitung eines Bausteins. Hierdurch ergeben sich drei Arten, wie die Bearbeitung eines Bausteins beendet werden kann:

  • Ohne Aufruf der Anweisung "Zurück springen"
    Nach der Ausführung des letzten Netzwerks wird der Baustein verlassen. Das ENO der Aufruffunktion wird auf den Signalzustand "1" gesetzt.
  • Aufruf der Anweisung "Zurück springen" mit Vorverknüpfung (siehe Beispiel)
    Hat der linke Anschluss den Signalzustand "1", wird der Baustein verlassen. Das ENO der Aufruffunktion entspricht dem Operanden.
  • Aufruf der Anweisung "Zurück springen" ohne Vorverknüpfung
    Der Baustein wird verlassen. Das ENO der Aufruffunktion entspricht dem Operanden.
    Hinweis In einem Netzwerk darf nur eine springende Spule verwendet werden ("Zurück springen", "Springen bei VKE = 1", "Springen bei VKE = 0").
Wenn das Verknüpfungsergebnis (VKE) am Eingang der Anweisung "Zurück springen" "1" ist, wird die Programmbearbeitung im aktuell aufgerufenen Baustein beendet und im aufrufenden Baustein (z. B. im aufrufenden OB) nach der Aufruffunktion fortgesetzt. Der Status (ENO) der Aufruffunktion wird durch den Parameter der Anweisung bestimmt. Dieser kann die folgenden Werte annehmen:

  • RLO
  • TRUE/FALSE
  • <Operand>
Um die Werte des Parameters einzustellen, doppelklicken Sie auf die Anweisung und wählen Sie in der Klappliste den entsprechenden Wert aus.
Die folgende Tabelle zeigt den Status der Aufruffunktion, wenn die Anweisung "Zurück springen" in einem Netzwerk innerhalb des aufgerufenen Bausteins programmiert ist:
VKEParameterwertENO der Aufruffunktion
1RLO1
TRUE1
FALSE0
<Operand><Operand>
0RLODie Programmbearbeitung wird im nächsten Netzwerk des aufgerufenen Bausteins fortgesetzt.
TRUE
FALSE
<Operand>
Beispiel:
 
Zuletzt bearbeitet:
.
Hi hucki,

schön wäre es, die Quellen deiner Zitate für Mitleser irgendwie erkennbar zu machen, damit nicht
erst gesucht werden muss.
Vor allem wird die Mnemonik Deutsch-Englisch ("RLO") auch schon einigen zu schaffen machen.

Zum Thema:
Der TE will sein ENO gezielt auf "0" setzen, die RET-Anweisung setzt ihn jedoch auf "1" und beendet
überdies den aufgerufenen Baustein.
Weitere Kriterien des TE, die im aufgerufenen Baustein das ENO bei ihrer fehlerfreien Bearbeitung
auch beinflussen können, werden wegen des Rücksprungs dann gar nicht mehr bearbeitet.

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
schön wäre es, die Quellen deiner Zitate für Mitleser irgendwie erkennbar zu machen,
:confused:
Steht doch dran am Zitat, das es aus der TIA Hilfe ist!
Muss ich jetzt noch erklären, dass man dazu im TIA auf F1 drücken muss?
PS: Ach sieh einer an, sogar das hab' ich beim 1. Zitat noch mit als Quellenangabe reingetackert!




Der TE will sein ENO gezielt auf "0" setzen, die RET-Anweisung setzt ihn jedoch auf "1" und beendet
überdies den aufgerufenen Baustein.
Weitere Kriterien des TE, die im aufgerufenen Baustein das ENO bei ihrer fehlerfreien Bearbeitung
auch beinflussen können, werden wegen des Rücksprungs dann gar nicht mehr bearbeitet.
Wie bist Du denn heute drauf? Missfällt Dir, das Deutschland im Halbfinale gegen Brasilien ran muss?
:p

Aber mal ernsthaft. Mit dem RET-Befehl kann man den ENO gezielt auf HIGH, LOW oder den Zustand des angegebenen Operanden setzen.
Steht im obigen Zitat der TIA-Hilfe, hab' ich doch extra fett und grün markiert und sogar noch ein Beispielbildchen gepostet

Er hat sich eine solche Variable doch schon erstellt und führt sie jetzt auf den Output.
Statt dessen kann er sich den Output sparen und diese Variable in der letzten Zeile des Bausteins auf den RET-Befehl führen. Dann wird der Baustein genauso beendet wie vorher, nur das der ENO jetzt von seinen eigenen Vorstellungen (= Zustand der Variable; #ENO_regeln in meinem Beispiel) abhängig ist.
Und er kann jetzt seinen nächsten Baustein wie gewünscht mit EN direkt an den ENO dieses hängen, ohne die Output-Variable umständlich verknüpfen zu müssen.
 
Zuletzt bearbeitet:
.
Hey hucki,
sicher ist das ein möglicher Weg, aber nun bleib´ mal geschmeidig, auch wenn es schon spät (früh) ist !

Und Brasilien werden wir nächste Woche auch noch niederringen ;)

Zum Thema:

Jeder hat seine eigene Programmier-Philosophie, warum soll das ENO umständlich bedient werden ?
Es kann doch der vorgegebene (nachvollziehbare) Mechanismus benutzt werden, wie er vorgegeben ist.

Und noch die stellvertretende Frage für die Mitleser: was ist denn nun RLO ? :cool:

Gruss nach D.
 
warum soll das ENO umständlich bedient werden ?
Es kann doch der vorgegebene (nachvollziehbare) Mechanismus benutzt werden, wie er vorgegeben ist.
Weil er den ENO bis dato nicht oder nur umständlich (durch fehlerhaften Zusatzcode) nach seinen Vorstellungen selbst beeinflussen konnte.
Diese Variante missfiel ihm aber offenbar, so das er sich lieber für eine zusätzliche Output-Variable entschied, die er aber eben auch (in FUP/KOP) zusätzlich auswerten muss.


Und noch die stellvertretende Frage für die Mitleser: was ist denn nun RLO ? :cool:
Keine Ahnung!
Wer von uns beiden ist denn der Profi beim Programmieren?
Hat mich ehrlich gesagt (PS: in dem Moment) auch nicht die Bohne interessiert.

Entscheidend war doch nur, das er auch in FUP/KOP den ENO wie gewünscht gezielt auf TRUE, FALSE oder den Zustand einer angegebenen boolschen Variable setzen kann, wenn er das möchte. Und das ohne irgendwelchen absichtlich falschen Code.


Vor allem wird die Mnemonik Deutsch-Englisch ("RLO") auch schon einigen zu schaffen machen.
Hab' ein deutsches TIA mit deutscher Hilfe. Wenn das englische Mnemonik ist, dann beschwer' Dich bei Siemens.
:p


:ROFLMAO:
 
Zuletzt bearbeitet:
Und noch die stellvertretende Frage für die Mitleser: was ist denn nun RLO ? :cool:
Dank bikes Link kann ich Dir nun verkünden, das RLO für Result of Logic Operation steht.
Damit hat Bike wohl Recht (wenn mein rudimentäres Englisch mich nicht im Stich lässt), dass es die englische Bezeichnung für das VKE ist.
Du hast ebenfalls Recht, dass die TIA-Hilfe da offensichtlich deutsche und englische Mnemonik in einen Topf wirft.
Und ich kann immer noch nichts dafür.
:p

:ROFLMAO:
 
Dank bikes Link kann ich Dir nun verkünden, das RLO für Result of Logic Operation steht.
Damit hat Bike wohl Recht (wenn mein rudimentäres Englisch mich nicht im Stich lässt), dass es die englische Bezeichnung für das VKE ist.

Ich gebe dir ja Recht das RLO englische Bezeichnung für das VKE ist.
aber bike schreibt etwas etwas anderes

Ist RLO nicht das VKE in deutsch?

danach ist die deutsche Bezeichnung RLO und die englische VKE
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist RLO nicht das VKE in deutsch?
danach ist die deutsche Bezeichnung RLO und die englische VKE
Bike vergisst doch gern mal so kleine Wörter, wie das "was" zwischen nicht und das und das "ist" am Ende des Satzes, so das sich das Geschriebene vom Gemeinten im Sinn verkehrt.
Ist halt noch einen Zacken schärfer als bei Joda.
:ROFLMAO:


PS: Andererseits - wenn das Siemens auch so sieht, hätten sie ja doch nicht Englisch und Deutsch vermischt und ich muss mich bei ihnen entschuldigen.
:ROFLMAO:
 
Zuletzt bearbeitet:
- Im Systemhandbuch Systemhandbuch, 03/2014 auf Seite 199/200. Aber leider steht da als Überschrift 'EN und ENO in KOP, FUP und SCL'
Da beziehst Du Dich auf die ENO-Kurzbeschreibung im S7-1200 Systemhandbuch
Ich schrieb jedoch im Beitrag #2 "ganz sicher aber im Step7-Systemhandbuch extra ein Kapitel "Programmflusssteuerung / EN-/ENO-Mechanismus", wo ausführlich erklärt wird, wie der ENO-Ausgang in SCL und FUP/KOP beeinflusst wird."

Da Du bis jetzt noch nicht geschrieben hast, mit welcher TIA-Version Du arbeitest, hatte ich keine Seitenzahl für das Kapitel angegeben, weil die eh' in jeder Handbuchausgabe anders ist.

So, nun beziehe ich mich explizit auf Systemhandbuch STEP 7 Professional V13.0, Ausgabe: 02/2014

Da findet man auf Seite 2559 das angesprochene Kapitel "9.1.1.6 Programmflusssteuerung"
und die von Hucki in #7 zitierte Beschreibung der Anweisung "--(RET): Zurück springen" ab Seite 3539 (KOP) und ab Seite 3850 (FUP).


In KOP/FUP wird EN und ENO zwar benutzt, du kannst sie aber nicht ohne weiteres
beinflussen, wie es mit SAVE und BIE-Abfrage in AWL bei STEP7 möglich ist.
Glücklicherweise kennt das Step7-Systemhandbuch (und die TIA Hilfe) nicht die unwissende Meinung von SoftMachine und schreibt auf Seite 2560 einfach folgendes:
EN-/ENO-Mechanismus für Bausteinaufrufe in KOP/FUP schrieb:
Mit dem Freigabeausgang ENO können Sie den Fehlerstatus des Bausteins abfragen. Er führt Signal "1", sobald die Bausteinbearbeitung beginnt. Wenn Sie den Ausgang ENO im Programmcode nicht explizit auf "0" setzen, behält er Signal "1".
Sie können ihn jedoch explizit auf "0" setzen, um eine Fehleraussage an den aufgerufenen Baustein zurückzumelden. In KOP oder FUP wird der Ausgang ENO mit der Anweisung "RET: Zurück springen" gesetzt.


Der TE will sein ENO gezielt auf "0" setzen, die RET-Anweisung setzt ihn jedoch auf "1" und beendet
überdies den aufgerufenen Baustein.
Weitere Kriterien des TE, die im aufgerufenen Baustein das ENO bei ihrer fehlerfreien Bearbeitung
auch beinflussen können, werden wegen des Rücksprungs dann gar nicht mehr bearbeitet.
Ein weiteres Beispiel für "keine Ahnung und ich mag' auch nicht nachlesen". :roll:
"Überdies" macht es sogar Sinn, ENO nur beim Beenden des Bausteins gezielt zu beeinflussen.


Ein paar Beispiele, wie man ENO in KOP gezielt zuweist:
Code:
// Baustein beenden und ENO auf 1 setzen:
|                          TRUE
|--------------------------(RET)
|


// Baustein beenden und ENO auf 0 setzen:
|                          FALSE
|--------------------------(RET)
|


// Baustein bedingt beenden und ENO auf 0 setzen:

|  #Fehler                 FALSE
|----| |-------------------(RET)
|


// Baustein beenden und ENO auf den Wert der Variablen #Ergebnis setzen:

|                        #Ergebnis
|--------------------------(RET)
|

Harald
 
Parameter RLO bedeutet VKE

Vor allem wird die Mnemonik Deutsch-Englisch ("RLO") auch schon einigen zu schaffen machen.
Anscheinend nur Dir...

Und noch die stellvertretende Frage für die Mitleser: was ist denn nun RLO ? :cool:
Auch das ist unmittelbar bei der RET-Anweisung erklärt, man müsste allerdings lesen. :cool:

Der Parameter heißt in allen Sprachen RLO, so wie es auch in allen Sprachen die Parameter TRUE und FALSE gibt.
Müssen Deiner Meinung nach RLO, TRUE und FALSE zu deutsch übersetzt werden?

Extra für Dich die Quelle:
Systemhandbuch STEP 7 Professional V13.0, Ausgabe: 02/2014
Kapitel "--(RET): Zurück springen / Parameter" auf Seite 3540 (Seite 3381 im englischen Handbuch)
deutsches Step7-Systemhandbuch schrieb:
Die folgende Tabelle zeigt die Parameter der Anweisung "Zurück springen":

ParameterDeklarationDatentypSpeicherbereichBeschreibung
Status der
aufrufenden
Funktion bei VKE = 1:
RLO-- Wird auf den
Signalzustand des
VKE gesetzt.
TRUE-- 1
FALSE-- 0
englisches Step7-Systemhandbuch schrieb:
The following table shows the parameters of the "Return" instruction:

ParameterDeclarationData typeMemory areaDescription
Status of the
calling function
with RLO = 1:
RLO-- Is set to the signal
status of the RLO.
TRUE-- 1
FALSE-- 0

Der RET-Parameter RLO macht allerdings nicht wirklich Sinn, weil er immer 1 an ENO zuweist. Da kann man übersichtlicher auch TRUE nehmen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe es jetzt so gelöst das ich meinen Funktionsbaustein um einen Status-Ausgang erweitert habe, den ich dann
im Programmfluss mit einem Vergleicher abfrage.
An den OUT kannst du aber keine VKE-"Linie" dranzeichnen, und wenn Du hinter dem automatisch erzeugten ENO-Ausgang was dranhängst, da kann es passieren, daß der ENO mal unabsichtlich/unerwartet 0 wird.

Harald
 
.
RLO ?
>schmunzel<
Was eine einfache Frage auslösen kann...


@ Harald

Alles von dir war doch auch schon längst genannt, die dazwischen
gestreuten Pamphlete sprechen sicher für dich. :rolleyes: >HINWEIS<

Kannst du eigentlich aus deinem Erfahrungsschatz heraus eigene
Kenntnisse präsentieren oder nur deine "Bibelzitate" aus den
Handbüchern zu suchen und hier zusammenzustellen ?

Gruss
 
Also wenn man die Bibel nicht versteht, darf man kein Handbuch von BigS lesen wollen.
Ich bewundere Menschen wie Harald, die sich das antun und wirklich den "Mist" lesen.
Ob es sein muss, sei dahingestellt.

Und zu einigen Antworten in diesem Thread hier fällt mir nur folgender Satz ein:
Dear Lord, please grant me the ability to punch people in the face over standard TCP/IP.

Nix für ungut


bike
 
Zurück
Oben