Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Erstellen eigener log. Bausteine

  1. #11
    Manticor Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Um auszuschließen, dass ich beim Funktionsaufruf Probleme mit lokalen Variablen bekomme, hab ich mal die Funktion im OB1 aufgerufen.

    CALL FC 2
    C:=E0.1
    D:=E0.2
    Q:=A0.1

    Funktioniert wunderbar



    CALL FC 2
    C:=#E0.2
    D:=#Merker1
    Q:=#Merker2


    CALL FC 2
    C:=#Takt
    D:=E1.1
    Q:=#Merker1

    U #Merker1
    = #Q1

    U #Merker1
    = #Q2

    Wieder der gleiche Fehler, dass alle Ausgänge eine Eins liefern.


    Kann es sein, dass ich vielleicht bei FC2 noch ein Endezeichen einsetzen muß, damit sie nicht unendlich läuft. Denn ich habe gerade getestet 2mal FC2 aufzurufen ohne, dass sie in Verbindung stehen und ich hatte wieder das gleiche Problem.

    Was mich unabhängig von meinen Flip Flop Problem interessiert ist, ob es keine Möglichkeite gibt mit Simatic einen eigenen Baustein zu definieren, den ich später zum Bau anderer Bausteinen mehrmals einsetzen kann. Ich hab gehört, dass die in Elau/Epas möglich sein soll.



    @Hagen
    hier mal einen kleine Wertetabelle, da ich nicht weiß wie ich es erklären soll.

    D(Eingang) C(Takt) Q(Ausgang)
    0 0 alter Zustand
    1 0 alter Zustand
    1 1 1
    0 0 1
    0 1 0

    Diese Flip Flop schaltet also immer das am Eingang anliegende Signal durch, wenn ein Takt anliegt.



    Vielen Dank euch allen für eure Antworten

  2. #12
    Registriert seit
    19.06.2003
    Beiträge
    2.205
    Danke
    85
    Erhielt 269 Danke für 179 Beiträge

    Standard

    Zitat Zitat von Manticor
    Um auszuschließen, dass ich beim Funktionsaufruf Probleme mit lokalen Variablen bekomme, hab ich mal die Funktion im OB1 aufgerufen.

    CALL FC 2
    C:=E0.1
    D:=E0.2
    Q:=A0.1

    Funktioniert wunderbar
    Du hast immer noch nicht deinen FC2 gepostet. Nach deiner Wahrheitstabelle unten funtioniert er etwa so:
    UN C
    BEB
    U D
    = Q

    Wenn C high wird D nach Q übertragen.
    Dein D-Flip-Flop ist dann Pegelgetriggert.
    Auch mit realen solchen Bausteinen funktioniert dein Lauflicht so NICHT, da der Pegel sofort zu nächsten durchgereicht wird, wenn C high ist.

    Mein voriger Vorschlag ging dahin, die Übernahme in das Nachfolger Flip-Flop vor der Änderung des Vorgängers durchzuführen.
    Dies würde funktionieren, wenn die SPS nach dem Wechsel low->high an C nur einen einzigen Zyklus durchliefe.
    Sie macht jedoch mehrere Zyklen mit dem high Pegel an C und schiebt pro Zyklus eins weiter. Das geht so schnell, dass du meinst, alle Flip-Flops kippten gleichzeitig.

    Du darfst nur einmal auf den Wechsel low-->high von C regieren.
    Das kannst du auf zwei Arten erreichen:
    1. Du bildest deine Flip-Flops im FC2 als Flankengetriggerte D-FlipFlops aus:
    U C
    UN CALT
    u D
    S Q

    UC
    UN CALT
    UN D
    R Q

    U C
    = CALT

    hier stimmt die Bedingung Clock und nicht Clock Alt nur für einen Zyklus nach der steigenden Flanke.
    Du brauchst aber den Hilfsmerker CALT, der INOUT und pro Aufruf ein anderes Bit sein muss.
    Dies ist eine möglichst exakte Nachbildung der Flankengetriggerten Flip-Flops wie sie z.B. ein 74374 enthält.

    Wenn du das nicht brauchst, gehts auch noch anders:

    1. Du rufst den umgebenden FC(1? ,der der die Aufrufe von FC2 enthält), nur auf wenn eine Flanke an C auftritt.

    2. Oder du bildest die einen Impuls:
    U C
    UN CALT
    = CIMP
    U C
    = CALT
    jetzt setzt du CIMP überall da ein, wo du C verwendet hast.

    3. Du sparst dir die Modellierung der Flipflops ganz:
    U Q2
    U CIMP
    S Q3

    UN Q2
    U CIMP
    R Q3

    U Q1
    U CIMP
    S Q2

    UN Q1
    U CIMP
    R Q2

    U Q0
    U CIMP
    S Q1

    UN Q0
    U CIMP
    R Q1

    U E
    U CIMP
    S Q0

    UN E
    U CIMP
    R Q0

    bildet das Schieberegister in einem "Rutsch" nach.
    Aber dann kanst du auch gleich Worte schieben...

  3. #13
    Manticor Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke sehr, ich werde es gleich mal testen!

Ähnliche Themen

  1. Eigener AMS/ADS Client
    Von Neals im Forum CODESYS und IEC61131
    Antworten: 29
    Letzter Beitrag: 15.01.2016, 20:46
  2. BAUSTEINHILFE eigener Bausteine mittels Taste "F1"
    Von churchill im Forum PC- und Netzwerktechnik
    Antworten: 32
    Letzter Beitrag: 03.07.2007, 09:09
  3. eigener Hilfetext in STEP7 Bibliothek
    Von Anonymous im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 09.05.2007, 12:33
  4. Eigener Bereich Antriebstechnik
    Von Maxl im Forum Stammtisch
    Antworten: 8
    Letzter Beitrag: 17.02.2006, 01:55
  5. Bausteine erstellen
    Von Anonymous im Forum Stammtisch
    Antworten: 2
    Letzter Beitrag: 28.10.2004, 09:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •