FlipFlop via FC zum mehrfachen Aufruf...

zastu

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute, auch auf die Gefahr hin das das hier schon mal ausdiskutiert wurde stelle ich die Frage trotzdem mal...

Kennt jemand eine Möglichkeit einen FC zu proggen den ich mehrfach aufrufen und als FlipFlop verweden kann...

Sprich eine Eingangsvariable kommt und schaltet die Ausgangsvariable auf true bzw false, ich möchte dafür ungern einen FB verwenden da die hierfür nötigen Instanz-DBs sämtliche gewonnen Vorteile nichtig machen würden.

Würde mich freuen wenn jemand eine Lösung kennt
 
Hi,

vielleicht könntest du dein Problem etwas genauer definieren. :confused:
Für ein einfaches FlipFlop brauchst ja keinen eigenen FC... das gibts ja als fertige Funktion in Step7...

Also ich versteh dein Problem noch nicht so ganz :confused:

Gruß

PhilippL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die Ausgangsvariable als INOUT definiert wird, sollte es mit der Ausgangsvariable selbst als "Speicher" für das FlipFlop gehen. Du kannst aber auch einen Merker oder ein Merker-/Datenword zusätzlich als INOUT mit an den FC übergeben und dieses dann als "Speicher" für den Zustand deines FlopFlop nutzen. Das wäre dann in etwa analog zu einer Stat-Var in einem FB, und zum Instanz-DB.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bisherige Lösung sieht wie folgt aus...
Wir haben einen FC mit einer IN und 2 IN/OUT Variablen gebaut.
Als IN kommt z.B. der Eingang eines Tasters, als erste IN/OUT wird ein Merker übergeben der intern als Puls genutzt wird und die zweite IN/OUT wird für den Ausgang z.B: eine Lampe genutzt...
 
mensch ist doch nicht so schwer

Code:
UNCTION "Flip-Flop" : VOID
TITLE =
VERSION : 0.1

VAR_INPUT
  Signal : BOOL ; 
END_VAR
VAR_IN_OUT
  Hilfsmerker : BOOL ; 
  Work : BOOL ; 
END_VAR
BEGIN
NETWORK
TITLE =
      U     #Signal; 
      FP    #Hilfsmerker; 
      X     #Work; 
      =     #Work; 
END_FUNCTION

schönen gruß an die Wesser
 
Ich kenns halt nur als 'FlipFlop', durch mehrmaliges betätigen eines Eingangs einen Ausgang an und wieder aus schalten Eltacko sagt man glaub ich auch noch dazu ^^
 
Wie währe es den jetzt mit einen kleinen feedback, hilft dir das Beispiel aus Beitrag #8 weiter
oder suchst du etwas völlig anderes?
Sind das auch wieder Hausaufgaben oder ist das eine pracktische Anwendung?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mensch ist doch nicht so schwer

Code:
UNCTION "Flip-Flop" : VOID
TITLE =
VERSION : 0.1

VAR_INPUT
  Signal : BOOL ; 
END_VAR
VAR_IN_OUT
  Hilfsmerker : BOOL ; 
  Work : BOOL ; 
END_VAR
BEGIN
NETWORK
TITLE =
      U     #Signal; 
      FP    #Hilfsmerker; 
      X     #Work; 
      =     #Work; 
END_FUNCTION
schönen gruß an die Wesser


Danke das Funktioniert soweit ... ist aber auch die Lösung die wir bereits in erwegung gezogen hatten. Ohne zu übergebenden Hilfsmerker wird man aber denke ich auch nicht auskommen ^^

Gruß an die Hasen aus dem Paderporner Dom
 
Verstehe ich alles nicht ganz,
du brauchst doch nur

U E..
FP M..
X A..
= A..

für deine Anwendung, d. h. einen Merker für jede Flanke, wozu den Rest?
 
Danke das Funktioniert soweit ... ist aber auch die Lösung die wir bereits in erwegung gezogen hatten. Ohne zu übergebenden Hilfsmerker wird man aber denke ich auch nicht auskommen ^^

Gruß an die Hasen aus dem Paderporner Dom

um irgendeinen Flankenmerker wirst du wohl nicht herumkommen, wenn
du nicht so eine Angst vor Instanzen haben würdest, könntest du schnell
einen FB davon machen und brauchst dann nur noch einen Eingang bzw.
einen Ausgang, den "Hilfsmerker" kannst du dann intern im FB erzeugen
und mußt ihn dann nicht mehr von außen anlegen.

Richtig schön wird es dann wenn du ihn dann als Multiinstanz nutzt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab hier mal was gebastelt das kommt ohne Flanke aus. Vielleicht läuft das ja auch als eigenstädiger FC zur mehrfachverwendung.

U #Eingang
UN #Pulse
NOT
SPB jump
UN #Ausgang
= #Ausgang
jump: U #Eingang
= #Pulse
 
Ich hab hier mal was gebastelt das kommt ohne Flanke aus. Vielleicht läuft das ja auch als eigenstädiger FC zur mehrfachverwendung.

genau das

Code:
U #Eingang
UN #Pulse
= #Ausgang
 
U #Eingang
= #Pulse

ist eine flankenauswertung schätzelein, nichts anderes macht der befehl FP ... :rolleyes:
 
Ich hab hier mal was gebastelt das kommt ohne Flanke aus. Vielleicht läuft das ja auch als eigenstädiger FC zur mehrfachverwendung.

U #Eingang
UN #Pulse
NOT
SPB jump
UN #Ausgang
= #Ausgang
jump: U #Eingang
= #Pulse

kleiner verschreiber, was :ROFLMAO:
du meinst wohl du kommst ohne den Befehl "FP" oder "FN" aus
aber, den Flankenmerker brauchst du doch das wäre bei dir
"#Pulse".
Ich sage da nur zurück in die Steinzeit, wenn du es ganz ohne
Flankenmerker haben möchtest mach doch ein Stromstoßrelais
Hardwaremäßig vor deinen Eingang http://www.elektro-wandelt.de/zaehl...230v+16a+s12+100+230vuc.html?campaign=froogle
Ich habe die Dinger mal auf dem Bau gesehen und kann mich
für die Funktionsfähigkeit dieser Relais verbürgen :ROFLMAO:.
 
Zurück
Oben